///
import type { TableColumnType } from 'antd';
import type { DensitySize } from '../components/ToolBar/DensityIcon';
import type { ProTableProps } from '../index';
import type { ActionType, ProColumns } from '../typing';
export type ColumnsState = {
show?: boolean;
fixed?: 'right' | 'left' | undefined;
order?: number;
disable?: boolean | {
checkbox: boolean;
};
};
export type ProTableColumn = ColumnsState & TableColumnType;
export type UseContainerProps = {
columnsStateMap?: Record;
onColumnsStateChange?: (map: Record) => void;
size?: DensitySize;
defaultSize?: DensitySize;
onSizeChange?: (size: DensitySize) => void;
columns?: ProTableColumn[] | ProColumns[];
columnsState?: ProTableProps['columnsState'];
};
declare function useContainer(props?: UseContainerProps): {
action: ActionType | undefined;
setAction: (newAction?: ActionType) => void;
sortKeyColumns: string[];
setSortKeyColumns: (keys: string[]) => void;
propsRef: import("react").MutableRefObject | undefined>;
columnsMap: Record;
keyWords: string | undefined;
setKeyWords: (k: string | undefined) => void;
setTableSize: (updater: DensitySize | ((origin: DensitySize) => DensitySize), ignoreDestroy?: boolean | undefined) => void;
tableSize: DensitySize;
prefixName: any;
setPrefixName: (name: any) => void;
setColumnsMap: (updater: Record | ((origin: Record) => Record), ignoreDestroy?: boolean | undefined) => void;
columns: ProTableColumn[] | ProColumns[] | undefined;
rootDomRef: import("react").RefObject;
clearPersistenceStorage: () => void;
defaultColumnKeyMap: Record;
};
declare const TableContext: import("react").Context<{
action: ActionType | undefined;
setAction: (newAction?: ActionType) => void;
sortKeyColumns: string[];
setSortKeyColumns: (keys: string[]) => void;
propsRef: import("react").MutableRefObject | undefined>;
columnsMap: Record;
keyWords: string | undefined;
setKeyWords: (k: string | undefined) => void;
setTableSize: (updater: DensitySize | ((origin: DensitySize) => DensitySize), ignoreDestroy?: boolean | undefined) => void;
tableSize: DensitySize;
prefixName: any;
setPrefixName: (name: any) => void;
setColumnsMap: (updater: Record | ((origin: Record) => Record), ignoreDestroy?: boolean | undefined) => void;
columns: ProTableColumn[] | ProColumns[] | undefined;
rootDomRef: import("react").RefObject;
clearPersistenceStorage: () => void;
defaultColumnKeyMap: Record;
}>;
export type ContainerType = typeof useContainer;
declare const Container: React.FC<{
initValue: UseContainerProps;
children: React.ReactNode;
}>;
export { Container, TableContext };