/// <reference types="react" />
/// <reference types="lodash" />
import DataSet from '../data-set';
import { PerformanceTableCustomized, TableProps, TableQueryBarHookProps, TableRowSelection } from './Table.d';
import { ColumnProps } from './Column.d';
import { 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: any;
    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(): TableQueryBarHookProps;
    /**
     * 表头支持编辑
     */
    get columnTitleEditable(): boolean;
    get dataSet(): DataSet;
    loadCustomized(): Promise<void>;
    updateProps(props: any, node: any): void;
    get prefixCls(): any;
    get proPrefixCls(): string;
    get columnHideable(): boolean;
    get customizable(): boolean | undefined;
    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: ((customized?: PerformanceTableCustomized | null | undefined) => void) & import("lodash").Cancelable;
    get columnDraggable(): boolean;
    setCheckboxPropsCache: (cache: CheckboxPropsCache) => CheckboxPropsCache;
    constructor(node: any);
}
