/// <reference types="react" />
/// <reference types="lodash" />
import { Config, ConfigKeys, DefaultConfig } from '../../../es/configure';
import DataSet from '../data-set';
import PerformanceTable, { PerformanceTableCustomized, TableProps, TableQueryBarProps, TableRowSelection } from './Table';
import { ColumnProps } from './Column';
import { TableAutoHeightType, TableColumnResizeTriggerType, TableHeightType } from '../table/enum';
export declare function getRowSelection(props: TableProps): TableRowSelection;
export declare function mergeDefaultProps(originalColumns: ColumnProps[], customizedColumns?: object, parent?: ColumnProps | null, defaultKey?: number[], columnSort?: {
    left: number;
    center: number;
    right: number;
}): any[];
export interface CheckboxPropsCache {
    [key: string]: any;
}
export default class TableStore {
    node: PerformanceTable;
    searchText: string;
    highlightRowIndexs: number[];
    originalChildren: any[];
    checkboxPropsCache: CheckboxPropsCache;
    selectionDirty?: boolean;
    props: any;
    originalColumns: ColumnProps[];
    customizedActiveKey: string[];
    tempCustomized: PerformanceTableCustomized;
    customized: PerformanceTableCustomized;
    totalHeight?: number;
    height?: number;
    loading?: boolean;
    rowZIndex?: number[];
    selectedRowKeys: string[] | number[];
    get queryBar(): TableQueryBarProps | false | undefined;
    /**
     * 表头支持编辑
     */
    get columnTitleEditable(): boolean;
    get dataSet(): DataSet | undefined;
    get tableColumnResizeTrigger(): TableColumnResizeTriggerType;
    loadCustomized(): Promise<void>;
    updateProps(props: any, node: any): void;
    get prefixCls(): string | undefined;
    get proPrefixCls(): string;
    get columnHideable(): boolean;
    get customizable(): boolean | undefined;
    get autoHeight(): boolean | {
        type: TableAutoHeightType;
        diff: number;
    };
    get heightType(): TableHeightType;
    get originalHeightType(): TableHeightType;
    openCustomizationModal(modal: any): void;
    customizedColumnHeader(): JSX.Element;
    initColumns(): void;
    handleLoadCustomized(): void;
    changeCustomizedColumnValue(columnKey: string, value: object): void;
    saveCustomized(customized?: PerformanceTableCustomized | null): void;
    saveCustomizedDebounce: import("lodash").DebouncedFunc<(customized?: PerformanceTableCustomized | null | undefined) => void>;
    get columnDraggable(): boolean;
    setCheckboxPropsCache: (cache: CheckboxPropsCache) => CheckboxPropsCache;
    getConfig<T extends ConfigKeys>(key: T): T extends keyof DefaultConfig ? DefaultConfig[T] : Config[T];
    constructor(node: PerformanceTable);
}
