/// <reference types="react" />
import type { ProTableProps } from './index';
import type { DensitySize } from './DensityIcon';
import type { ActionType } from './typing';
export type ColumnsState = {
    show?: boolean;
    fixed?: 'right' | 'left' | undefined;
    order?: number;
};
export type UseContainerProps = {
    columnsStateMap?: Record<string, ColumnsState>;
    onColumnsStateChange?: (map: Record<string, ColumnsState>) => void;
    size?: DensitySize;
    onSizeChange?: (size: DensitySize) => void;
};
declare function useContainer(props?: UseContainerProps): {
    action: import("react").MutableRefObject<ActionType | undefined>;
    setAction: (newAction?: ActionType) => void;
    sortKeyColumns: import("react").MutableRefObject<string[]>;
    setSortKeyColumns: (keys: string[]) => void;
    propsRef: import("react").MutableRefObject<ProTableProps<any, any, any> | undefined>;
    columnsMap: Record<string, ColumnsState>;
    keyWords: string | undefined;
    setKeyWords: (k: string | undefined) => void;
    setTableSize: (updater: DensitySize | ((origin: DensitySize) => DensitySize), ignoreDestroy?: boolean | undefined) => void;
    tableSize: DensitySize;
    setColumnsMap: (updater: Record<string, ColumnsState> | ((origin: Record<string, ColumnsState>) => Record<string, ColumnsState>), ignoreDestroy?: boolean | undefined) => void;
};
declare const Container: import("unstated-next").Container<{
    action: import("react").MutableRefObject<ActionType | undefined>;
    setAction: (newAction?: ActionType) => void;
    sortKeyColumns: import("react").MutableRefObject<string[]>;
    setSortKeyColumns: (keys: string[]) => void;
    propsRef: import("react").MutableRefObject<ProTableProps<any, any, any> | undefined>;
    columnsMap: Record<string, ColumnsState>;
    keyWords: string | undefined;
    setKeyWords: (k: string | undefined) => void;
    setTableSize: (updater: DensitySize | ((origin: DensitySize) => DensitySize), ignoreDestroy?: boolean | undefined) => void;
    tableSize: DensitySize;
    setColumnsMap: (updater: Record<string, ColumnsState> | ((origin: Record<string, ColumnsState>) => Record<string, ColumnsState>), ignoreDestroy?: boolean | undefined) => void;
}, UseContainerProps>;
export type ContainerType = typeof useContainer;
export { useContainer };
export default Container;
