import type { PropType } from 'vue';
import type { Store } from '../store';
import type { ColumnCls, rowStyle, Table } from '../table/defaults';
interface TableBodyProps {
    store: Store;
    stripe?: boolean;
    context?: Table;
    rowClassName?: ColumnCls;
    rowStyle?: rowStyle;
    fixed?: string | any;
    highlight?: boolean;
    tooltipTheme?: 'dark' | 'light';
}
declare const _default: {
    /**
     * store
     *
     * @type {Object}
     */
    store: {
        required: boolean;
        type: PropType<{
            mutations: {
                setData(states: any, data: any): void;
                toggleAllSelection(): void;
                setHoverRow(states: any, row: import("../table-column/defaults").TableColumnCtx): void;
                insertColumn(states: any, column: import("../table-column/defaults").TableColumnCtx, parent: import("../table-column/defaults").TableColumnCtx): void;
                removeColumn(states: any, column: import("../table-column/defaults").TableColumnCtx, parent: import("../table-column/defaults").TableColumnCtx): void;
                setCurrentRow(_states: any, row: any): void;
                rowSelectedChanged(_states: any, row: any): void;
                changeSortCondition(states: any, options: import("../table/defaults").Sort): void;
                sort(states: any, options: import("../table/defaults").Sort): void;
                filterChange(states: any, options: import("../table/defaults").Filter): void;
            };
            commit: (name: "sort" | "setData" | "toggleAllSelection" | "setHoverRow" | "insertColumn" | "removeColumn" | "setCurrentRow" | "rowSelectedChanged" | "changeSortCondition" | "filterChange", ...args: any[]) => void;
            updateTableScrollY: () => void;
            _toggleAllSelection: () => void;
            toggleAllSelection: () => void;
            isRowKey: () => void;
            updateSelectionByRowKey: () => void;
            updateColumns: () => void;
            scheduleLayout: (needUpdateColumns?: boolean, immediate?: boolean) => void;
            updateCurrentRowData: () => void;
            updateCurrentRow: (_currentRow: any) => void;
            isSelected: (row: import("../table-column/defaults").TableColumnCtx) => boolean;
            toggleRowSelection: (row: any, selected?: any, emitChange?: boolean) => void;
            updateAllSelected: () => void;
            clearSelection: () => void;
            cleanRedundantSelection: () => void;
            handleExecQueryData: (filter?: boolean) => void;
            updateSort: (column: any, prop: any, order: any) => void;
            assertRowKey: () => void;
            updateFilters: (columns: any, values: any) => any;
            clearSort: () => void;
            clearFilter: (columnKeys: any) => void;
            getSelectionRows: () => {
                id: string;
                prop: string;
                label: string;
                width: string | number;
                minWidth: string | number;
                children?: any[];
                isSubColumn: boolean;
                type: string;
                sortable: string | boolean;
                property: string;
                align: string;
                headerAlign: string;
                showOverflowTooltip: boolean;
                filters: {
                    text: string;
                    value: string;
                }[];
                filterMethod: (value: any, row: any, column: import("../table-column/defaults").TableColumnCtx) => void;
                filterPlacement: string;
                filterOpened?: boolean;
                index: number | ((index: number) => number);
                rawColumnKey: string;
                renderHeader: (data: {
                    column: import("../table-column/defaults").TableColumnCtx;
                    $index: number;
                }) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>;
                renderCell: (data: any) => void;
                formatter: (row: Record<string, any>, column: import("../table-column/defaults").TableColumnCtx, cellValue: any, index: number) => string | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>;
                columnWidth: number;
                className: string;
                fixed: string | boolean;
                getColumnIndex: () => number;
                currentIndex: number;
                level: number;
                rowSpan: number;
                colSpan: number;
                order: string;
                labelClassName: string;
                columns: any[];
                resizable: boolean;
                selectable: (row: any, index: string | number) => boolean;
                reserveSelection: boolean;
                sortOrders: ("descending" | "ascending")[];
                sortBy: string | string[] | ((row: any, index: number) => string);
                sortMethod: (a: any, b: any) => number;
                columnKey: string;
                filterable: boolean | ((value: any, row: any, column: import("../table-column/defaults").TableColumnCtx) => void) | {
                    text: string;
                    value: string;
                }[];
                filterMultiple: boolean;
                filteredValue: string[];
            }[];
            toggleRowExpansion: (row: any, expanded?: boolean) => void;
            toggleRowExpansionAdapter: (row: import("../table-column/defaults").TableColumnCtx, expanded: boolean) => void;
            updateExpandRows: () => void;
            setExpandRowKeysAdapter: (val: string[]) => void;
            setCurrentRowKey: (key: string) => void;
            isRowExpanded: (row: any) => boolean;
            updateTreeData: any;
            loadOrToggle: any;
            states: any;
        }>;
    };
    /**
     * 是否为斑马纹 table
     *
     * @type {Boolean}
     */
    stripe: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * 行的 className 的回调方法，也可以使用字符串为所有行设置一个固定的 className。
     *
     * @type {String | Function}
     */
    rowClassName: {
        type: PropType<ColumnCls>;
    };
    /**
     * 行的 style 的回调方法，也可以使用一个固定的 Object 为所有行设置一样的 Style。。
     *
     * @type {String | Function}
     */
    rowStyle: {
        type: PropType<rowStyle>;
    };
    /**
     * tooltip主题
     *
     * @type {String}
     */
    tooltipTheme: {
        type: PropType<"light" | "dark">;
    };
};
export default _default;
export { TableBodyProps };
