import type { TopTabPane } from '../types/tableTabs';
import type { TitleActionItem } from '../types/tableAction';
import type { PaginationProps, itemRender } from '../../pagination';
import type { TableRowSelection } from 'ant-design-vue/es/table/interface';
import type { ColumnPropsEx, VueNode } from '../types/column';
import type { FormProps, RegisterFn } from '../../form';
import type { VueTypeValidableDef, VueTypeDef } from 'vue-types';
import type { DefineComponent, Ref, ComputedRef, ComponentOptionsMixin, VNodeProps, AllowedComponentProps, ComponentCustomProps, VNodeArrayChildren } from 'vue';
import type { TableSetting, SorterResult, FetchSetting, TableCustomRecord, TableActionType,  SizeType } from '../types/table';
import type { Nullable, Recordable } from '../../typings/global';
declare const _default: DefineComponent<{
    clickToRowSelect: VueTypeValidableDef<boolean> & {
        default: boolean;
    };
    isTreeTable: BooleanConstructor;
    tableSetting: VueTypeValidableDef<TableSetting> & {
        default: () => TableSetting;
    };
    showTableSetting: VueTypeValidableDef<boolean> & {
        default: boolean;
    };
    inset: VueTypeValidableDef<boolean> & {
        default: boolean;
    };
    sortFn: VueTypeValidableDef<(sortInfo: SorterResult<any>) => any> & {
        default: (sortInfo: SorterResult<any>) => any;
    };
    filterFn: VueTypeValidableDef<(data: Recordable<string[]>) => any> & {
        default: (data: Recordable<string[]>) => any;
    };
    autoCreateKey: VueTypeValidableDef<boolean> & {
        default: boolean;
    };
    striped: VueTypeValidableDef<boolean> & {
        default: boolean;
    };
    indentSize: VueTypeValidableDef<number> & {
        default: number;
    };
    api: VueTypeValidableDef<(...arg: any[]) => Promise<any>>;
    beforeFetch: VueTypeValidableDef<(...arg: any[]) => any>;
    afterFetch: VueTypeValidableDef<(...arg: any[]) => any>;
    handleSearchInfoFn: VueTypeValidableDef<(...arg: any[]) => any>;
    fetchSetting: VueTypeValidableDef<Partial<FetchSetting>> & {
        default: () => Partial<FetchSetting>;
    };
    immediate: VueTypeValidableDef<boolean> & {
        default: boolean;
    };
    emptyDataIsShowTable: VueTypeValidableDef<boolean> & {
        default: boolean;
    };
    searchInfo: VueTypeValidableDef<Recordable<any>>;
    defSort: VueTypeValidableDef<Recordable<any>>;
    useSearchForm: VueTypeValidableDef<boolean>;
    formConfig: VueTypeValidableDef<Partial<FormProps>>;
    columns: VueTypeValidableDef<ColumnPropsEx<any>[]> & {
        default: () => ColumnPropsEx<any>[];
    };
    showIndexColumn: VueTypeValidableDef<boolean> & {
        default: boolean;
    };
    indexColumnProps: VueTypeValidableDef<ColumnPropsEx<any>>;
    actionColumn: VueTypeValidableDef<ColumnPropsEx<any>>;
    ellipsis: VueTypeValidableDef<boolean> & {
        default: boolean;
    };
    canResize: VueTypeValidableDef<boolean> & {
        default: boolean;
    };
    isCanResizeParent: VueTypeValidableDef<boolean> & {
        default: boolean;
    };
    clearSelectOnPageChange: VueTypeValidableDef<boolean> & {
        default: boolean;
    };
    resizeHeightOffset: VueTypeValidableDef<number> & {
        default: number;
    };
    rowSelection: VueTypeDef<TableRowSelection<any> | null> & {
        default: (() => TableRowSelection<any>) | null;
    };
    title: VueTypeDef<VueNode | ((data: Recordable<any>) => string)>;
    titleHelpMessage: VueTypeDef<string | string[]>;
    maxHeight: VueTypeValidableDef<number>;
    dataSource: VueTypeValidableDef<Recordable<any>>;
    rowKey: VueTypeDef<string | ((record: Recordable<any>) => string)>;
    bordered: VueTypeValidableDef<boolean> & {
        default: boolean;
    };
    pagination: VueTypeDef<boolean | PaginationProps>;
    loading: VueTypeValidableDef<boolean> & {
        default: boolean;
    };
    rowClassName: VueTypeValidableDef<(record: TableCustomRecord<any>, index: number) => string>;
    scroll: VueTypeValidableDef<{
        x?: string | number | true | undefined;
        y?: string | number | undefined;
        scrollToFirstRowOnChange?: boolean | undefined;
    }>;
    beforeEditSubmit: VueTypeValidableDef<(data: {
        record: Recordable<any>;
        index: number;
        key: string | number;
        value: any;
    }) => Promise<any>>;
    size: VueTypeValidableDef<SizeType> & {
        default: SizeType;
    };
    cacheName: VueTypeValidableDef<string>;
    cacheEnable: VueTypeValidableDef<boolean> & {
        default: boolean;
    };
    titleActions: VueTypeValidableDef<TitleActionItem[]>;
    showSettingColumn: VueTypeValidableDef<boolean> & {
        default: boolean;
    };
    fixTitleEmpty: VueTypeValidableDef<boolean> & {
        default: boolean;
    };
    topTabs: VueTypeValidableDef<TopTabPane[]>;
    topTabsActivedKey: VueTypeDef<string | number> & {
        default: string | number;
    };
    topTabsFetchParamkey: VueTypeValidableDef<string>;
    sticky: VueTypeDef<boolean | {
        offsetHeader?: number | undefined;
        offsetScroll?: number | undefined;
        getContainer?: (() => HTMLElement) | undefined;
    }> & {
        default: boolean | (() => {
            offsetHeader?: number | undefined;
            offsetScroll?: number | undefined;
            getContainer?: (() => HTMLElement) | undefined;
        });
    };
    stickyTitle: VueTypeValidableDef<boolean> & {
        default: boolean;
    };
    showScrollBtns: VueTypeValidableDef<boolean> & {
        default: boolean;
    };
    resizeFlow: VueTypeValidableDef<boolean> & {
        default: boolean;
    };
    customPagination: VueTypeValidableDef<boolean> & {
        default: boolean;
    };
    customPaginationSizeChangerSuffix: VueTypeValidableDef<string> & {
        default: string;
    };
}, {
    formRef: Ref<null>;
    tableElRef: Ref<null>;
    getBindValues: ComputedRef<Recordable<any>>;
    getLoading: ComputedRef<boolean | undefined>;
    registerForm: RegisterFn;
    handleSearchInfoChange: (info: Recordable<any>) => void;
    getEmptyDataIsShowTable: ComputedRef<boolean>;
    handleTableChange: (pagination: any, filter: any, sorter: any, extra: any) => void;
    getRowClassName: (record: TableCustomRecord<Recordable<any>>, index: number) => string;
    wrapRef: Ref<null>;
    tableAction: TableActionType;
    redoHeight: () => void;
    getFormProps: any;
    replaceFormSlotKey: (key: string) => string;
    getFormSlotKeys: ComputedRef<string[]>;
    getWrapperClass: ComputedRef<unknown[]>;
    columns: ComputedRef<ColumnPropsEx<any>[]>;
    SETTING_COLUMN_INDEX: string;
    getScrollX: ComputedRef<number | "100%">;
    activedKey: Ref<string | number | undefined>;
    tabs: Ref<TopTabPane[] | undefined>;
    handleTabClick: (activeKey: TopTabPane) => void;
    getScrollRef: ComputedRef<{
        x: string | number | true;
        y: Nullable<string | number>;
        scrollToFirstRowOnChange: boolean;
    }>;
    handleReset: () => void;
    getPaginationInfo: ComputedRef<false | {
        total: number;
        defaultCurrent?: number | undefined;
        current: number;
        defaultPageSize: number;
        pageSize: number;
        hideOnSinglePage?: boolean | undefined;
        pageSizeOptions: string[];
        showSizeChanger: boolean;
        showQuickJumper: boolean;
        showTotal: ((total: number) => string) | ((total: number, range: [number, number]) => any);
        simple?: boolean | undefined;
        itemRender: typeof itemRender;
        position: string[];
        size: string;
    }>;
}, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, ("change" | "columns-change" | "tab-click" | "fetch-success" | "fetch-error" | "selection-change" | "register" | "row-click" | "row-dbClick" | "row-contextmenu" | "row-mouseenter" | "row-mouseleave" | "edit-end" | "edit-cancel" | "edit-row-end" | "edit-change" | "expanded-rows-change" | "resize-column" | "formRest")[], "change" | "columns-change" | "tab-click" | "fetch-success" | "fetch-error" | "selection-change" | "register" | "row-click" | "row-dbClick" | "row-contextmenu" | "row-mouseenter" | "row-mouseleave" | "edit-end" | "edit-cancel" | "edit-row-end" | "edit-change" | "expanded-rows-change" | "resize-column" | "formRest", VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<{
    clickToRowSelect?: unknown;
    isTreeTable?: unknown;
    tableSetting?: unknown;
    showTableSetting?: unknown;
    inset?: unknown;
    sortFn?: unknown;
    filterFn?: unknown;
    autoCreateKey?: unknown;
    striped?: unknown;
    indentSize?: unknown;
    api?: unknown;
    beforeFetch?: unknown;
    afterFetch?: unknown;
    handleSearchInfoFn?: unknown;
    fetchSetting?: unknown;
    immediate?: unknown;
    emptyDataIsShowTable?: unknown;
    searchInfo?: unknown;
    defSort?: unknown;
    useSearchForm?: unknown;
    formConfig?: unknown;
    columns?: unknown;
    showIndexColumn?: unknown;
    indexColumnProps?: unknown;
    actionColumn?: unknown;
    ellipsis?: unknown;
    canResize?: unknown;
    isCanResizeParent?: unknown;
    clearSelectOnPageChange?: unknown;
    resizeHeightOffset?: unknown;
    rowSelection?: unknown;
    title?: unknown;
    titleHelpMessage?: unknown;
    maxHeight?: unknown;
    dataSource?: unknown;
    rowKey?: unknown;
    bordered?: unknown;
    pagination?: unknown;
    loading?: unknown;
    rowClassName?: unknown;
    scroll?: unknown;
    beforeEditSubmit?: unknown;
    size?: unknown;
    cacheName?: unknown;
    cacheEnable?: unknown;
    titleActions?: unknown;
    showSettingColumn?: unknown;
    fixTitleEmpty?: unknown;
    topTabs?: unknown;
    topTabsActivedKey?: unknown;
    topTabsFetchParamkey?: unknown;
    sticky?: unknown;
    stickyTitle?: unknown;
    showScrollBtns?: unknown;
    resizeFlow?: unknown;
    customPagination?: unknown;
    customPaginationSizeChangerSuffix?: unknown;
} & {
    size: SizeType;
    bordered: boolean;
    loading: boolean;
    immediate: boolean;
    sticky: boolean | {
        offsetHeader?: number | undefined;
        offsetScroll?: number | undefined;
        getContainer?: (() => HTMLElement) | undefined;
    };
    ellipsis: boolean;
    inset: boolean;
    columns: ColumnPropsEx<any>[];
    indentSize: number;
    rowSelection: TableRowSelection<any> | null;
    clickToRowSelect: boolean;
    isTreeTable: boolean;
    tableSetting: TableSetting;
    showTableSetting: boolean;
    sortFn: (sortInfo: SorterResult<any>) => any;
    filterFn: (data: Recordable<string[]>) => any;
    autoCreateKey: boolean;
    striped: boolean;
    fetchSetting: Partial<FetchSetting>;
    emptyDataIsShowTable: boolean;
    showIndexColumn: boolean;
    canResize: boolean;
    isCanResizeParent: boolean;
    clearSelectOnPageChange: boolean;
    resizeHeightOffset: number;
    cacheEnable: boolean;
    showSettingColumn: boolean;
    fixTitleEmpty: boolean;
    topTabsActivedKey: string | number;
    stickyTitle: boolean;
    showScrollBtns: boolean;
    resizeFlow: boolean;
    customPagination: boolean;
    customPaginationSizeChangerSuffix: string;
} & {
    api?: ((...arg: any[]) => Promise<any>) | undefined;
    title?: string | number | boolean | void | JSX.Element | VNodeArrayChildren | ((data: Recordable<any>) => string) | null | undefined;
    scroll?: {
        x?: string | number | true | undefined;
        y?: string | number | undefined;
        scrollToFirstRowOnChange?: boolean | undefined;
    } | undefined;
    dataSource?: Recordable<any> | undefined;
    afterFetch?: ((...arg: any[]) => any) | undefined;
    maxHeight?: number | undefined;
    rowKey?: string | ((record: Recordable<any>) => string) | undefined;
    rowClassName?: ((record: TableCustomRecord<any>, index: number) => string) | undefined;
    pagination?: boolean | PaginationProps | undefined;
    beforeFetch?: ((...arg: any[]) => any) | undefined;
    handleSearchInfoFn?: ((...arg: any[]) => any) | undefined;
    searchInfo?: Recordable<any> | undefined;
    defSort?: Recordable<any> | undefined;
    useSearchForm?: boolean | undefined;
    formConfig?: Partial<FormProps> | undefined;
    indexColumnProps?: ColumnPropsEx<any> | undefined;
    actionColumn?: ColumnPropsEx<any> | undefined;
    titleHelpMessage?: string | string[] | undefined;
    beforeEditSubmit?: ((data: {
        record: Recordable<any>;
        index: number;
        key: string | number;
        value: any;
    }) => Promise<any>) | undefined;
    cacheName?: string | undefined;
    titleActions?: TitleActionItem[] | undefined;
    topTabs?: TopTabPane[] | undefined;
    topTabsFetchParamkey?: string | undefined;
}> & {
    onChange?: ((...args: any[]) => any) | undefined;
    "onColumns-change"?: ((...args: any[]) => any) | undefined;
    "onTab-click"?: ((...args: any[]) => any) | undefined;
    "onFetch-success"?: ((...args: any[]) => any) | undefined;
    "onFetch-error"?: ((...args: any[]) => any) | undefined;
    "onSelection-change"?: ((...args: any[]) => any) | undefined;
    onRegister?: ((...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;
    "onResize-column"?: ((...args: any[]) => any) | undefined;
    onFormRest?: ((...args: any[]) => any) | undefined;
}, {
    size: SizeType;
    bordered: boolean;
    loading: boolean;
    immediate: boolean;
    sticky: boolean | {
        offsetHeader?: number | undefined;
        offsetScroll?: number | undefined;
        getContainer?: (() => HTMLElement) | undefined;
    };
    ellipsis: boolean;
    inset: boolean;
    columns: ColumnPropsEx<any>[];
    indentSize: number;
    rowSelection: TableRowSelection<any> | null;
    clickToRowSelect: boolean;
    isTreeTable: boolean;
    tableSetting: TableSetting;
    showTableSetting: boolean;
    sortFn: (sortInfo: SorterResult<any>) => any;
    filterFn: (data: Recordable<string[]>) => any;
    autoCreateKey: boolean;
    striped: boolean;
    fetchSetting: Partial<FetchSetting>;
    emptyDataIsShowTable: boolean;
    showIndexColumn: boolean;
    canResize: boolean;
    isCanResizeParent: boolean;
    clearSelectOnPageChange: boolean;
    resizeHeightOffset: number;
    cacheEnable: boolean;
    showSettingColumn: boolean;
    fixTitleEmpty: boolean;
    topTabsActivedKey: string | number;
    stickyTitle: boolean;
    showScrollBtns: boolean;
    resizeFlow: boolean;
    customPagination: boolean;
    customPaginationSizeChangerSuffix: string;
}>;
export default _default;
