import type { Ref } from 'vue';
import type { SizeType, TableActionType } from './types/table';
declare type Recordable<T = any> = Record<string, T>;
declare const _default: import("vue").DefineComponent<{
    clickToRowSelect: import("vue-types").VueTypeValidableDef<boolean> & {
        default: boolean;
    } & {
        default: boolean;
    };
    isTreeTable: import("vue-types").VueTypeValidableDef<boolean> & {
        default: boolean;
    } & {
        default: boolean;
    };
    tableSetting: import("vue-types").VueTypeShape<import("./types/table").TableSetting>;
    inset: import("vue-types").VueTypeValidableDef<boolean> & {
        default: boolean;
    };
    sortFn: {
        type: import("vue").PropType<(sortInfo: import("./types/table").SorterResult) => any>;
        default: (sortInfo: import("./types/table").SorterResult) => {
            sort: string;
            dir: string;
        };
    };
    filterFn: {
        type: import("vue").PropType<(data: Partial<{
            [x: string]: string[];
        }>) => any>;
        default: (data: Partial<Record<string, string[]>>) => Partial<Record<string, string[]>>;
    };
    showTableSetting: import("vue-types").VueTypeValidableDef<boolean> & {
        default: boolean;
    };
    autoCreateKey: import("vue-types").VueTypeValidableDef<boolean> & {
        default: boolean;
    } & {
        default: boolean;
    };
    striped: import("vue-types").VueTypeValidableDef<boolean> & {
        default: boolean;
    } & {
        default: boolean;
    };
    showSummary: import("vue-types").VueTypeValidableDef<boolean> & {
        default: boolean;
    };
    summaryFunc: {
        type: import("vue").PropType<(...arg: any[]) => any[]>;
        default: null;
    };
    summaryData: {
        type: import("vue").PropType<{
            [x: string]: any;
        }[]>;
        default: null;
    };
    indentSize: import("vue-types").VueTypeValidableDef<number> & {
        default: number;
    } & {
        default: number;
    };
    canColDrag: import("vue-types").VueTypeValidableDef<boolean> & {
        default: boolean;
    } & {
        default: boolean;
    };
    api: {
        type: import("vue").PropType<(...arg: any[]) => Promise<any>>;
        default: null;
    };
    beforeFetch: {
        type: import("vue").PropType<(...arg: any[]) => any>;
        default: null;
    };
    afterFetch: {
        type: import("vue").PropType<(...arg: any[]) => any>;
        default: null;
    };
    handleSearchInfoFn: {
        type: import("vue").PropType<(...arg: any[]) => any>;
        default: null;
    };
    fetchSetting: {
        type: import("vue").PropType<import("./types/table").FetchSetting>;
        default: () => {
            pageField: string;
            sizeField: string;
            listField: string;
            totalField: string;
        };
    };
    immediate: import("vue-types").VueTypeValidableDef<boolean> & {
        default: boolean;
    } & {
        default: boolean;
    };
    emptyDataIsShowTable: import("vue-types").VueTypeValidableDef<boolean> & {
        default: boolean;
    } & {
        default: boolean;
    };
    searchInfo: {
        type: import("vue").PropType<{
            [x: string]: any;
        }>;
        default: null;
    };
    defSort: {
        type: import("vue").PropType<{
            [x: string]: any;
        }>;
        default: null;
    };
    useSearchForm: import("vue-types").VueTypeValidableDef<boolean> & {
        default: boolean;
    };
    formConfig: {
        type: import("vue").PropType<Partial<import("tav-ui/es/components/form").FormProps>>;
        default: null;
    };
    showTableAction: import("vue-types").VueTypeValidableDef<boolean> & {
        default: boolean;
    } & {
        default: boolean;
    };
    filter: {
        type: import("vue").PropType<import("./props").FilterForms>;
        default: null;
    };
    filterExclusion: {
        type: BooleanConstructor;
        default: boolean;
    };
    useAdd: {
        type: import("vue").PropType<import("./props").useAction>;
        default(): {
            ifShow: boolean;
        };
    };
    useDelete: {
        type: import("vue").PropType<import("./props").useAction>;
        default(): {
            ifShow: boolean;
        };
    };
    useImport: {
        type: import("vue").PropType<import("./props").useAction>;
        default(): {
            ifShow: boolean;
        };
    };
    useExport: {
        type: import("vue").PropType<import("./props").useAction>;
        default(): {
            ifShow: boolean;
        };
    };
    useRefresh: {
        type: import("vue").PropType<import("./props").useAction>;
        default(): {
            ifShow: boolean;
        };
    };
    columns: {
        type: import("vue").PropType<import("./types/table").BasicColumn[]>;
        default: () => never[];
    };
    showIndexColumn: import("vue-types").VueTypeValidableDef<boolean> & {
        default: boolean;
    } & {
        default: boolean;
    };
    indexColumnProps: {
        type: import("vue").PropType<import("./types/table").BasicColumn>;
        default: null;
    };
    actionColumn: {
        type: import("vue").PropType<import("./types/table").BasicColumn>;
        default: null;
    };
    ellipsis: import("vue-types").VueTypeValidableDef<boolean> & {
        default: boolean;
    } & {
        default: boolean;
    };
    isCanResizeParent: {
        type: BooleanConstructor;
        default: boolean;
    };
    tablePaddingDistance: {
        type: NumberConstructor;
        default: number;
    };
    formRefMarginTopDistance: {
        type: NumberConstructor;
        default: number;
    };
    canResize: import("vue-types").VueTypeValidableDef<boolean> & {
        default: boolean;
    } & {
        default: boolean;
    };
    clearSelectOnPageChange: import("vue-types").VueTypeValidableDef<boolean> & {
        default: boolean;
    };
    resizeHeightOffset: import("vue-types").VueTypeValidableDef<number> & {
        default: number;
    } & {
        default: number;
    };
    rowSelection: {
        type: import("vue").PropType<import("./types/table").TableRowSelection<any> | null>;
        default: null;
    };
    title: {
        type: import("vue").PropType<string | ((data: {
            [x: string]: any;
        }) => string)>;
        default: null;
    };
    titleHelpMessage: {
        type: import("vue").PropType<string | string[]>;
    };
    maxHeight: import("vue-types").VueTypeValidableDef<number> & {
        default: number;
    };
    fullHeight: {
        type: BooleanConstructor;
        default: boolean;
    };
    dataSource: {
        type: import("vue").PropType<{
            [x: string]: any;
        }[]>;
        default: null;
    };
    rowKey: {
        type: import("vue").PropType<string | ((record: {
            [x: string]: any;
        }) => string)>;
        default: string;
    };
    bordered: import("vue-types").VueTypeValidableDef<boolean> & {
        default: boolean;
    };
    pagination: {
        type: import("vue").PropType<boolean | import("..").PaginationProps>;
        default: null;
    };
    paginationControl: {
        type: import("vue").PropType<"backend" | "frontend">;
        default: string;
    };
    loading: import("vue-types").VueTypeValidableDef<boolean> & {
        default: boolean;
    };
    masking: import("vue-types").VueTypeValidableDef<boolean> & {
        default: boolean;
    };
    rowClassName: {
        type: import("vue").PropType<(record: import("./types/table").TableCustomRecord<any>, index: number) => string>;
    };
    scroll: {
        type: import("vue").PropType<{
            x: number | true;
            y: number;
        }>;
        default: null;
    };
    beforeEditSubmit: {
        type: import("vue").PropType<(data: {
            record: {
                [x: string]: any;
            };
            index: number;
            key: string | number;
            value: any;
        }) => Promise<any>>;
    };
    size: {
        type: import("vue").PropType<SizeType>;
        default: string;
    };
    permission: {
        type: import("vue").PropType<Partial<import("./props").PermissionButton>>;
        default(): {
            add: undefined;
            delete: undefined;
            import: undefined;
            export: undefined;
            refresh: undefined;
        };
    };
    keepScrollTop: {
        type: BooleanConstructor;
        default: boolean;
    };
}, {
    tableData: Ref<Recordable<any>[], Recordable<any>[]>;
    filterElRef: Ref<null, null>;
    useFilter: import("vue").ComputedRef<{
        isVisible: boolean;
        isInputFormVisible: boolean;
        isPannelFormVisible: boolean;
    }>;
    getFilterProps: import("vue").ComputedRef<import("./types/table").FilterForms | undefined>;
    useInnerCustomAction: import("vue").ComputedRef<{
        isVisible: boolean;
        isAddVisible: boolean;
        addHandle: (() => void) | undefined;
        isDeleteVisible: boolean;
        deleteHandle: (() => void) | undefined;
        isImportVisible: boolean;
        importHandle: (() => void) | undefined;
        isExportVisible: boolean;
        exportHandle: (() => void) | undefined;
        isRefreshVisible: boolean;
    }>;
    tableElRef: Ref<null, null>;
    getBindValues: import("vue").ComputedRef<Recordable<any>>;
    getLoading: import("vue").ComputedRef<boolean | undefined>;
    registerForm: (formInstance: import("tav-ui/es/components/form").FormActionType) => void;
    handleSearchInfoChange: (info: {
        [x: string]: any;
    }) => void;
    getEmptyDataIsShowTable: import("vue").ComputedRef<boolean>;
    handleTableChange: (...args: any[]) => void;
    getRowClassName: (record: import("./types/table").TableCustomRecord<{
        [x: string]: any;
    }>, index: number) => string;
    wrapRef: Ref<null, null>;
    tableAction: TableActionType;
    redoHeight: () => void;
    getFormProps: any;
    replaceFormSlotKey: (key: string) => string;
    getFormSlotKeys: import("vue").ComputedRef<string[]>;
    getWrapperClass: import("vue").ComputedRef<unknown[]>;
    columns: import("vue").ComputedRef<import("./types/table").BasicColumn[]>;
    formRef: Ref<null, null>;
    actionRef: Ref<null, null>;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("change" | "register" | "fetch-success" | "fetch-error" | "selection-change" | "row-click" | "row-dbClick" | "row-contextmenu" | "row-mouseenter" | "row-mouseleave" | "edit-end" | "edit-cancel" | "edit-row-end" | "edit-change" | "expanded-rows-change" | "columns-change")[], "change" | "register" | "fetch-success" | "fetch-error" | "selection-change" | "row-click" | "row-dbClick" | "row-contextmenu" | "row-mouseenter" | "row-mouseleave" | "edit-end" | "edit-cancel" | "edit-row-end" | "edit-change" | "expanded-rows-change" | "columns-change", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
    clickToRowSelect?: unknown;
    isTreeTable?: unknown;
    tableSetting?: unknown;
    inset?: unknown;
    sortFn?: unknown;
    filterFn?: unknown;
    showTableSetting?: unknown;
    autoCreateKey?: unknown;
    striped?: unknown;
    showSummary?: unknown;
    summaryFunc?: unknown;
    summaryData?: unknown;
    indentSize?: unknown;
    canColDrag?: unknown;
    api?: unknown;
    beforeFetch?: unknown;
    afterFetch?: unknown;
    handleSearchInfoFn?: unknown;
    fetchSetting?: unknown;
    immediate?: unknown;
    emptyDataIsShowTable?: unknown;
    searchInfo?: unknown;
    defSort?: unknown;
    useSearchForm?: unknown;
    formConfig?: unknown;
    showTableAction?: unknown;
    filter?: unknown;
    filterExclusion?: unknown;
    useAdd?: unknown;
    useDelete?: unknown;
    useImport?: unknown;
    useExport?: unknown;
    useRefresh?: unknown;
    columns?: unknown;
    showIndexColumn?: unknown;
    indexColumnProps?: unknown;
    actionColumn?: unknown;
    ellipsis?: unknown;
    isCanResizeParent?: unknown;
    tablePaddingDistance?: unknown;
    formRefMarginTopDistance?: unknown;
    canResize?: unknown;
    clearSelectOnPageChange?: unknown;
    resizeHeightOffset?: unknown;
    rowSelection?: unknown;
    title?: unknown;
    titleHelpMessage?: unknown;
    maxHeight?: unknown;
    fullHeight?: unknown;
    dataSource?: unknown;
    rowKey?: unknown;
    bordered?: unknown;
    pagination?: unknown;
    paginationControl?: unknown;
    loading?: unknown;
    masking?: unknown;
    rowClassName?: unknown;
    scroll?: unknown;
    beforeEditSubmit?: unknown;
    size?: unknown;
    permission?: unknown;
    keepScrollTop?: unknown;
} & {
    scroll: {
        x: number | true;
        y: number;
    };
    size: SizeType;
    filter: import("./props").FilterForms;
    inset: boolean;
    loading: boolean;
    title: string | ((data: {
        [x: string]: any;
    }) => string);
    permission: Partial<import("./props").PermissionButton>;
    ellipsis: boolean;
    api: (...arg: any[]) => Promise<any>;
    bordered: boolean;
    immediate: boolean;
    maxHeight: number;
    filterExclusion: boolean;
    columns: import("./types/table").BasicColumn[];
    formConfig: Partial<import("tav-ui/es/components/form").FormProps>;
    fetchSetting: import("./types/table").FetchSetting;
    dataSource: {
        [x: string]: any;
    }[];
    clickToRowSelect: boolean;
    isTreeTable: boolean;
    sortFn: (sortInfo: import("./types/table").SorterResult) => any;
    filterFn: (data: Partial<{
        [x: string]: string[];
    }>) => any;
    showTableSetting: boolean;
    autoCreateKey: boolean;
    striped: boolean;
    showSummary: boolean;
    summaryFunc: (...arg: any[]) => any[];
    summaryData: {
        [x: string]: any;
    }[];
    indentSize: number;
    canColDrag: boolean;
    beforeFetch: (...arg: any[]) => any;
    afterFetch: (...arg: any[]) => any;
    handleSearchInfoFn: (...arg: any[]) => any;
    emptyDataIsShowTable: boolean;
    searchInfo: {
        [x: string]: any;
    };
    defSort: {
        [x: string]: any;
    };
    useSearchForm: boolean;
    showTableAction: boolean;
    useAdd: import("./props").useAction;
    useDelete: import("./props").useAction;
    useImport: import("./props").useAction;
    useExport: import("./props").useAction;
    useRefresh: import("./props").useAction;
    showIndexColumn: boolean;
    indexColumnProps: import("./types/table").BasicColumn;
    actionColumn: import("./types/table").BasicColumn;
    isCanResizeParent: boolean;
    tablePaddingDistance: number;
    formRefMarginTopDistance: number;
    canResize: boolean;
    clearSelectOnPageChange: boolean;
    resizeHeightOffset: number;
    rowSelection: import("./types/table").TableRowSelection<any> | null;
    fullHeight: boolean;
    rowKey: string | ((record: {
        [x: string]: any;
    }) => string);
    pagination: boolean | import("..").PaginationProps;
    paginationControl: "backend" | "frontend";
    masking: boolean;
    keepScrollTop: boolean;
} & {
    rowClassName?: ((record: import("./types/table").TableCustomRecord<any>, index: number) => string) | undefined;
    tableSetting?: import("./types/table").TableSetting | undefined;
    titleHelpMessage?: string | string[] | undefined;
    beforeEditSubmit?: ((data: {
        record: {
            [x: string]: any;
        };
        index: number;
        key: string | number;
        value: any;
    }) => Promise<any>) | undefined;
}> & {
    onChange?: ((...args: any[]) => any) | undefined;
    onRegister?: ((...args: any[]) => any) | undefined;
    "onFetch-success"?: ((...args: any[]) => any) | undefined;
    "onFetch-error"?: ((...args: any[]) => any) | undefined;
    "onSelection-change"?: ((...args: any[]) => any) | undefined;
    "onRow-click"?: ((...args: any[]) => any) | undefined;
    "onRow-dbClick"?: ((...args: any[]) => any) | undefined;
    "onRow-contextmenu"?: ((...args: any[]) => any) | undefined;
    "onRow-mouseenter"?: ((...args: any[]) => any) | undefined;
    "onRow-mouseleave"?: ((...args: any[]) => any) | undefined;
    "onEdit-end"?: ((...args: any[]) => any) | undefined;
    "onEdit-cancel"?: ((...args: any[]) => any) | undefined;
    "onEdit-row-end"?: ((...args: any[]) => any) | undefined;
    "onEdit-change"?: ((...args: any[]) => any) | undefined;
    "onExpanded-rows-change"?: ((...args: any[]) => any) | undefined;
    "onColumns-change"?: ((...args: any[]) => any) | undefined;
}, {
    scroll: {
        x: number | true;
        y: number;
    };
    size: SizeType;
    filter: import("./props").FilterForms;
    inset: boolean;
    loading: boolean;
    title: string | ((data: {
        [x: string]: any;
    }) => string);
    permission: Partial<import("./props").PermissionButton>;
    ellipsis: boolean;
    api: (...arg: any[]) => Promise<any>;
    bordered: boolean;
    immediate: boolean;
    maxHeight: number;
    filterExclusion: boolean;
    columns: import("./types/table").BasicColumn[];
    formConfig: Partial<import("tav-ui/es/components/form").FormProps>;
    fetchSetting: import("./types/table").FetchSetting;
    dataSource: {
        [x: string]: any;
    }[];
    clickToRowSelect: boolean;
    isTreeTable: boolean;
    sortFn: (sortInfo: import("./types/table").SorterResult) => any;
    filterFn: (data: Partial<{
        [x: string]: string[];
    }>) => any;
    showTableSetting: boolean;
    autoCreateKey: boolean;
    striped: boolean;
    showSummary: boolean;
    summaryFunc: (...arg: any[]) => any[];
    summaryData: {
        [x: string]: any;
    }[];
    indentSize: number;
    canColDrag: boolean;
    beforeFetch: (...arg: any[]) => any;
    afterFetch: (...arg: any[]) => any;
    handleSearchInfoFn: (...arg: any[]) => any;
    emptyDataIsShowTable: boolean;
    searchInfo: {
        [x: string]: any;
    };
    defSort: {
        [x: string]: any;
    };
    useSearchForm: boolean;
    showTableAction: boolean;
    useAdd: import("./props").useAction;
    useDelete: import("./props").useAction;
    useImport: import("./props").useAction;
    useExport: import("./props").useAction;
    useRefresh: import("./props").useAction;
    showIndexColumn: boolean;
    indexColumnProps: import("./types/table").BasicColumn;
    actionColumn: import("./types/table").BasicColumn;
    isCanResizeParent: boolean;
    tablePaddingDistance: number;
    formRefMarginTopDistance: number;
    canResize: boolean;
    clearSelectOnPageChange: boolean;
    resizeHeightOffset: number;
    rowSelection: import("./types/table").TableRowSelection<any> | null;
    fullHeight: boolean;
    rowKey: string | ((record: {
        [x: string]: any;
    }) => string);
    pagination: boolean | import("..").PaginationProps;
    paginationControl: "backend" | "frontend";
    masking: boolean;
    keepScrollTop: boolean;
}>;
export default _default;
