import { CSSProperties, PropType, ExtractPropTypes, DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
import { CustomSlotsType, LiteralUnion } from '../_util/type';
import { SizeType } from '../config-provider';
import { SpinProps } from '../spin';
import { TooltipProps, TooltipPlacement, AdjustOverflow } from '../tooltip';
import { TableProps as RcTableProps } from '../vc-table/Table';
import { DefaultRecordType, RenderExpandIconProps, TableLayout, RowClassName, PanelRender, TableComponents, GetComponentProps, ColumnType, Key, ExpandedRowRender, RenderExpandIcon, TableSticky, TransformCellText } from '../vc-table/interface';
import { ColumnType, ColumnsType, FilterValue, GetPopupContainer, GetRowKey, SortOrder, SorterResult, TableCurrentDataSource, TableLocale, TablePaginationConfig, TableRowSelection } from './interface';
import { SpinSize } from '../spin/Spin';
import { VueTypeValidableDef } from 'vue-types';
import { TriggerType } from '../tooltip/abstractTooltipProps';
import { PresetColorType } from '../_util/colors';
import { AlignType, BuildInPlacements } from '../vc-trigger/interface';
export type { ColumnsType, TablePaginationConfig };
export interface TableProps<RecordType = DefaultRecordType> extends Omit<RcTableProps<RecordType>, 'transformColumns' | 'internalHooks' | 'internalRefs' | 'data' | 'columns' | 'scroll' | 'emptyText' | 'canExpandable' | 'onUpdateInternalRefs'> {
    dropdownPrefixCls?: string;
    dataSource?: RcTableProps<RecordType>['data'];
    columns?: ColumnsType<RecordType>;
    pagination?: false | TablePaginationConfig;
    loading?: boolean | SpinProps;
    size?: SizeType;
    bordered?: boolean;
    locale?: TableLocale;
    onChange?: (pagination: TablePaginationConfig, filters: Record<string, FilterValue | null>, sorter: SorterResult<RecordType> | SorterResult<RecordType>[], extra: TableCurrentDataSource<RecordType>) => void;
    onResizeColumn?: (w: number, col: ColumnType) => void;
    rowSelection?: TableRowSelection<RecordType>;
    getPopupContainer?: GetPopupContainer;
    scroll?: RcTableProps<RecordType>['scroll'] & {
        scrollToFirstRowOnChange?: boolean;
    };
    sortDirections?: SortOrder[];
    showSorterTooltip?: boolean | TooltipProps;
}
export declare const tableProps: () => {
    prefixCls: {
        type: PropType<string>;
        default: string;
    };
    columns: {
        type: PropType<ColumnsType>;
        default: ColumnsType;
    };
    rowKey: {
        type: PropType<string | GetRowKey<any> | undefined>;
        default: string | GetRowKey<any> | undefined;
    };
    tableLayout: {
        type: PropType< TableLayout | undefined>;
        default: TableLayout | undefined;
    };
    rowClassName: {
        type: PropType<string | RowClassName<any> | undefined>;
        default: string | RowClassName<any> | undefined;
    };
    title: {
        type: PropType< PanelRender<any> | undefined>;
        default: PanelRender<any> | undefined;
    };
    footer: {
        type: PropType< PanelRender<any> | undefined>;
        default: PanelRender<any> | undefined;
    };
    id: {
        type: PropType<string | undefined>;
        default: string | undefined;
    };
    showHeader: {
        type: BooleanConstructor;
        default: boolean;
    };
    components: {
        type: PropType< TableComponents<any> | undefined>;
        default: TableComponents<any> | undefined;
    };
    customRow: {
        type: PropType< GetComponentProps<any> | undefined>;
        default: GetComponentProps<any> | undefined;
    };
    customHeaderRow: {
        type: PropType< GetComponentProps< ColumnType<any>[]> | undefined>;
        default: GetComponentProps< ColumnType<any>[]> | undefined;
    };
    direction: {
        type: PropType<"ltr" | "rtl" | undefined>;
        default: "ltr" | "rtl" | undefined;
    };
    expandFixed: {
        type: PropType<boolean | "left" | "right" | undefined>;
        default: boolean | "left" | "right" | undefined;
    };
    expandColumnWidth: NumberConstructor;
    expandedRowKeys: {
        type: PropType< Key[] | undefined>;
        default: Key[] | undefined;
    };
    defaultExpandedRowKeys: {
        type: PropType< Key[] | undefined>;
        default: Key[] | undefined;
    };
    expandedRowRender: {
        type: PropType< ExpandedRowRender<any> | undefined>;
        default: ExpandedRowRender<any> | undefined;
    };
    expandRowByClick: {
        type: BooleanConstructor;
        default: boolean;
    };
    expandIcon: {
        type: PropType< RenderExpandIcon<any> | undefined>;
        default: RenderExpandIcon<any> | undefined;
    };
    onExpand: {
        type: PropType<((expanded: boolean, record: any) => void) | undefined>;
        default: ((expanded: boolean, record: any) => void) | undefined;
    };
    onExpandedRowsChange: {
        type: PropType<((expandedKeys: Key[]) => void) | undefined>;
        default: ((expandedKeys: Key[]) => void) | undefined;
    };
    'onUpdate:expandedRowKeys': {
        type: PropType<((expandedKeys: Key[]) => void) | undefined>;
        default: ((expandedKeys: Key[]) => void) | undefined;
    };
    defaultExpandAllRows: {
        type: BooleanConstructor;
        default: boolean;
    };
    indentSize: NumberConstructor;
    /** @deprecated Please use `EXPAND_COLUMN` in `columns` directly */
    expandIconColumnIndex: NumberConstructor;
    showExpandColumn: {
        type: BooleanConstructor;
        default: boolean;
    };
    expandedRowClassName: {
        type: PropType< RowClassName<any> | undefined>;
        default: RowClassName<any> | undefined;
    };
    childrenColumnName: {
        type: PropType<string | undefined>;
        default: string | undefined;
    };
    rowExpandable: {
        type: PropType<((record: any) => boolean) | undefined>;
        default: ((record: any) => boolean) | undefined;
    };
    sticky: {
        type: PropType<boolean | TableSticky | undefined>;
        default: boolean | TableSticky | undefined;
    };
    dropdownPrefixCls: StringConstructor;
    dataSource: {
        type: PropType<any[] | undefined>;
        default: any[] | undefined;
    };
    pagination: {
        type: PropType<false | TablePaginationConfig>;
        default: false | TablePaginationConfig;
    };
    loading: {
        type: PropType<boolean | Partial< ExtractPropTypes<{
            prefixCls: StringConstructor;
            spinning: {
                type: BooleanConstructor;
                default: undefined;
            };
            size: PropType<SpinSize>;
            wrapperClassName: StringConstructor;
            tip: VueTypeValidableDef<any>;
            delay: NumberConstructor;
            indicator: VueTypeValidableDef<any>;
        }>>>;
        default: boolean | Partial< ExtractPropTypes<{
            prefixCls: StringConstructor;
            spinning: {
                type: BooleanConstructor;
                default: undefined;
            };
            size: PropType<SpinSize>;
            wrapperClassName: StringConstructor;
            tip: VueTypeValidableDef<any>;
            delay: NumberConstructor;
            indicator: VueTypeValidableDef<any>;
        }>>;
    };
    size: {
        type: PropType<SizeType>;
        default: SizeType;
    };
    bordered: {
        type: BooleanConstructor;
        default: boolean;
    };
    locale: {
        type: PropType<TableLocale>;
        default: TableLocale;
    };
    onChange: {
        type: PropType<(pagination: TablePaginationConfig, filters: Record<string, FilterValue | null>, sorter: SorterResult | SorterResult[], extra: TableCurrentDataSource) => void>;
        default: (pagination: TablePaginationConfig, filters: Record<string, FilterValue | null>, sorter: SorterResult | SorterResult[], extra: TableCurrentDataSource) => void;
    };
    onResizeColumn: {
        type: PropType<(w: number, col: ColumnType) => void>;
        default: (w: number, col: ColumnType) => void;
    };
    rowSelection: {
        type: PropType<TableRowSelection<any>>;
        default: TableRowSelection<any>;
    };
    getPopupContainer: {
        type: PropType<GetPopupContainer>;
        default: GetPopupContainer;
    };
    scroll: {
        type: PropType<{
            x?: number | true | string;
            y?: number | string;
        } & {
            scrollToFirstRowOnChange?: boolean;
        }>;
        default: {
            x?: number | true | string;
            y?: number | string;
        } & {
            scrollToFirstRowOnChange?: boolean;
        };
    };
    sortDirections: {
        type: PropType<SortOrder[]>;
        default: SortOrder[];
    };
    showSorterTooltip: {
        type: PropType<boolean | Partial< ExtractPropTypes<{
            title: VueTypeValidableDef<any>;
            trigger: PropType< TriggerType | TriggerType[]>;
            open: {
                type: BooleanConstructor;
                default: undefined;
            };
            visible: {
                type: BooleanConstructor;
                default: undefined;
            };
            placement: PropType<TooltipPlacement>;
            color: PropType<LiteralUnion<PresetColorType>>;
            transitionName: StringConstructor;
            overlayStyle: {
                type: PropType<CSSProperties>;
                default: CSSProperties;
            };
            overlayInnerStyle: {
                type: PropType<CSSProperties>;
                default: CSSProperties;
            };
            overlayClassName: StringConstructor;
            openClassName: StringConstructor;
            prefixCls: StringConstructor;
            mouseEnterDelay: NumberConstructor;
            mouseLeaveDelay: NumberConstructor;
            getPopupContainer: PropType<(triggerNode: HTMLElement) => HTMLElement>;
            arrowPointAtCenter: {
                type: BooleanConstructor;
                default: undefined;
            };
            arrow: {
                type: PropType<boolean | {
                    pointAtCenter?: boolean;
                }>;
                default: boolean | {
                    pointAtCenter?: boolean;
                };
            };
            autoAdjustOverflow: {
                type: PropType<boolean | AdjustOverflow>;
                default: boolean | AdjustOverflow;
            };
            destroyTooltipOnHide: {
                type: BooleanConstructor;
                default: undefined;
            };
            align: {
                type: PropType<AlignType>;
                default: AlignType;
            };
            builtinPlacements: {
                type: PropType<BuildInPlacements>;
                default: BuildInPlacements;
            };
            children: ArrayConstructor;
            onVisibleChange: PropType<(vis: boolean) => void>;
            'onUpdate:visible': PropType<(vis: boolean) => void>;
            onOpenChange: PropType<(vis: boolean) => void>;
            'onUpdate:open': PropType<(vis: boolean) => void>;
        }>>>;
        default: boolean | Partial< ExtractPropTypes<{
            title: VueTypeValidableDef<any>;
            trigger: PropType< TriggerType | TriggerType[]>;
            open: {
                type: BooleanConstructor;
                default: undefined;
            };
            visible: {
                type: BooleanConstructor;
                default: undefined;
            };
            placement: PropType<TooltipPlacement>;
            color: PropType<LiteralUnion<PresetColorType>>;
            transitionName: StringConstructor;
            overlayStyle: {
                type: PropType<CSSProperties>;
                default: CSSProperties;
            };
            overlayInnerStyle: {
                type: PropType<CSSProperties>;
                default: CSSProperties;
            };
            overlayClassName: StringConstructor;
            openClassName: StringConstructor;
            prefixCls: StringConstructor;
            mouseEnterDelay: NumberConstructor;
            mouseLeaveDelay: NumberConstructor;
            getPopupContainer: PropType<(triggerNode: HTMLElement) => HTMLElement>;
            arrowPointAtCenter: {
                type: BooleanConstructor;
                default: undefined;
            };
            arrow: {
                type: PropType<boolean | {
                    pointAtCenter?: boolean;
                }>;
                default: boolean | {
                    pointAtCenter?: boolean;
                };
            };
            autoAdjustOverflow: {
                type: PropType<boolean | AdjustOverflow>;
                default: boolean | AdjustOverflow;
            };
            destroyTooltipOnHide: {
                type: BooleanConstructor;
                default: undefined;
            };
            align: {
                type: PropType<AlignType>;
                default: AlignType;
            };
            builtinPlacements: {
                type: PropType<BuildInPlacements>;
                default: BuildInPlacements;
            };
            children: ArrayConstructor;
            onVisibleChange: PropType<(vis: boolean) => void>;
            'onUpdate:visible': PropType<(vis: boolean) => void>;
            onOpenChange: PropType<(vis: boolean) => void>;
            'onUpdate:open': PropType<(vis: boolean) => void>;
        }>>;
    };
    transformCellText: {
        type: PropType< TransformCellText<any> | undefined>;
        default: TransformCellText<any> | undefined;
    };
};
declare const Table: DefineComponent<ExtractPropTypes<{
    prefixCls: {
        type: PropType<string>;
        default: string;
    };
    columns: {
        type: PropType<ColumnsType>;
        default: ColumnsType;
    };
    rowKey: {
        type: PropType<string | GetRowKey<any> | undefined>;
        default: string | GetRowKey<any> | undefined;
    };
    tableLayout: {
        type: PropType< TableLayout | undefined>;
        default: TableLayout | undefined;
    };
    rowClassName: {
        type: PropType<string | RowClassName<any> | undefined>;
        default: string | RowClassName<any> | undefined;
    };
    title: {
        type: PropType< PanelRender<any> | undefined>;
        default: PanelRender<any> | undefined;
    };
    footer: {
        type: PropType< PanelRender<any> | undefined>;
        default: PanelRender<any> | undefined;
    };
    id: {
        type: PropType<string | undefined>;
        default: string | undefined;
    };
    showHeader: {
        type: BooleanConstructor;
        default: boolean;
    };
    components: {
        type: PropType< TableComponents<any> | undefined>;
        default: TableComponents<any> | undefined;
    };
    customRow: {
        type: PropType< GetComponentProps<any> | undefined>;
        default: GetComponentProps<any> | undefined;
    };
    customHeaderRow: {
        type: PropType< GetComponentProps< ColumnType<any>[]> | undefined>;
        default: GetComponentProps< ColumnType<any>[]> | undefined;
    };
    direction: {
        type: PropType<"ltr" | "rtl" | undefined>;
        default: "ltr" | "rtl" | undefined;
    };
    expandFixed: {
        type: PropType<boolean | "left" | "right" | undefined>;
        default: boolean | "left" | "right" | undefined;
    };
    expandColumnWidth: NumberConstructor;
    expandedRowKeys: {
        type: PropType< Key[] | undefined>;
        default: Key[] | undefined;
    };
    defaultExpandedRowKeys: {
        type: PropType< Key[] | undefined>;
        default: Key[] | undefined;
    };
    expandedRowRender: {
        type: PropType< ExpandedRowRender<any> | undefined>;
        default: ExpandedRowRender<any> | undefined;
    };
    expandRowByClick: {
        type: BooleanConstructor;
        default: boolean;
    };
    expandIcon: {
        type: PropType< RenderExpandIcon<any> | undefined>;
        default: RenderExpandIcon<any> | undefined;
    };
    onExpand: {
        type: PropType<((expanded: boolean, record: any) => void) | undefined>;
        default: ((expanded: boolean, record: any) => void) | undefined;
    };
    onExpandedRowsChange: {
        type: PropType<((expandedKeys: Key[]) => void) | undefined>;
        default: ((expandedKeys: Key[]) => void) | undefined;
    };
    'onUpdate:expandedRowKeys': {
        type: PropType<((expandedKeys: Key[]) => void) | undefined>;
        default: ((expandedKeys: Key[]) => void) | undefined;
    };
    defaultExpandAllRows: {
        type: BooleanConstructor;
        default: boolean;
    };
    indentSize: NumberConstructor;
    /** @deprecated Please use `EXPAND_COLUMN` in `columns` directly */
    expandIconColumnIndex: NumberConstructor;
    showExpandColumn: {
        type: BooleanConstructor;
        default: boolean;
    };
    expandedRowClassName: {
        type: PropType< RowClassName<any> | undefined>;
        default: RowClassName<any> | undefined;
    };
    childrenColumnName: {
        type: PropType<string | undefined>;
        default: string | undefined;
    };
    rowExpandable: {
        type: PropType<((record: any) => boolean) | undefined>;
        default: ((record: any) => boolean) | undefined;
    };
    sticky: {
        type: PropType<boolean | TableSticky | undefined>;
        default: boolean | TableSticky | undefined;
    };
    dropdownPrefixCls: StringConstructor;
    dataSource: {
        type: PropType<any[] | undefined>;
        default: any[] | undefined;
    };
    pagination: {
        type: PropType<false | TablePaginationConfig>;
        default: false | TablePaginationConfig;
    };
    loading: {
        type: PropType<boolean | Partial< ExtractPropTypes<{
            prefixCls: StringConstructor;
            spinning: {
                type: BooleanConstructor;
                default: undefined;
            };
            size: PropType<SpinSize>;
            wrapperClassName: StringConstructor;
            tip: VueTypeValidableDef<any>;
            delay: NumberConstructor;
            indicator: VueTypeValidableDef<any>;
        }>>>;
        default: boolean | Partial< ExtractPropTypes<{
            prefixCls: StringConstructor;
            spinning: {
                type: BooleanConstructor;
                default: undefined;
            };
            size: PropType<SpinSize>;
            wrapperClassName: StringConstructor;
            tip: VueTypeValidableDef<any>;
            delay: NumberConstructor;
            indicator: VueTypeValidableDef<any>;
        }>>;
    };
    size: {
        type: PropType<SizeType>;
        default: SizeType;
    };
    bordered: {
        type: BooleanConstructor;
        default: boolean;
    };
    locale: {
        type: PropType<TableLocale>;
        default: TableLocale;
    };
    onChange: {
        type: PropType<(pagination: TablePaginationConfig, filters: Record<string, FilterValue | null>, sorter: SorterResult | SorterResult[], extra: TableCurrentDataSource) => void>;
        default: (pagination: TablePaginationConfig, filters: Record<string, FilterValue | null>, sorter: SorterResult | SorterResult[], extra: TableCurrentDataSource) => void;
    };
    onResizeColumn: {
        type: PropType<(w: number, col: ColumnType) => void>;
        default: (w: number, col: ColumnType) => void;
    };
    rowSelection: {
        type: PropType<TableRowSelection<any>>;
        default: TableRowSelection<any>;
    };
    getPopupContainer: {
        type: PropType<GetPopupContainer>;
        default: GetPopupContainer;
    };
    scroll: {
        type: PropType<{
            x?: number | true | string;
            y?: number | string;
        } & {
            scrollToFirstRowOnChange?: boolean;
        }>;
        default: {
            x?: number | true | string;
            y?: number | string;
        } & {
            scrollToFirstRowOnChange?: boolean;
        };
    };
    sortDirections: {
        type: PropType<SortOrder[]>;
        default: SortOrder[];
    };
    showSorterTooltip: {
        type: PropType<boolean | Partial< ExtractPropTypes<{
            title: VueTypeValidableDef<any>;
            trigger: PropType< TriggerType | TriggerType[]>;
            open: {
                type: BooleanConstructor;
                default: undefined;
            };
            visible: {
                type: BooleanConstructor;
                default: undefined;
            };
            placement: PropType<TooltipPlacement>;
            color: PropType<LiteralUnion<PresetColorType>>;
            transitionName: StringConstructor;
            overlayStyle: {
                type: PropType<CSSProperties>;
                default: CSSProperties;
            };
            overlayInnerStyle: {
                type: PropType<CSSProperties>;
                default: CSSProperties;
            };
            overlayClassName: StringConstructor;
            openClassName: StringConstructor;
            prefixCls: StringConstructor;
            mouseEnterDelay: NumberConstructor;
            mouseLeaveDelay: NumberConstructor;
            getPopupContainer: PropType<(triggerNode: HTMLElement) => HTMLElement>;
            arrowPointAtCenter: {
                type: BooleanConstructor;
                default: undefined;
            };
            arrow: {
                type: PropType<boolean | {
                    pointAtCenter?: boolean;
                }>;
                default: boolean | {
                    pointAtCenter?: boolean;
                };
            };
            autoAdjustOverflow: {
                type: PropType<boolean | AdjustOverflow>;
                default: boolean | AdjustOverflow;
            };
            destroyTooltipOnHide: {
                type: BooleanConstructor;
                default: undefined;
            };
            align: {
                type: PropType<AlignType>;
                default: AlignType;
            };
            builtinPlacements: {
                type: PropType<BuildInPlacements>;
                default: BuildInPlacements;
            };
            children: ArrayConstructor;
            onVisibleChange: PropType<(vis: boolean) => void>;
            'onUpdate:visible': PropType<(vis: boolean) => void>;
            onOpenChange: PropType<(vis: boolean) => void>;
            'onUpdate:open': PropType<(vis: boolean) => void>;
        }>>>;
        default: boolean | Partial< ExtractPropTypes<{
            title: VueTypeValidableDef<any>;
            trigger: PropType< TriggerType | TriggerType[]>;
            open: {
                type: BooleanConstructor;
                default: undefined;
            };
            visible: {
                type: BooleanConstructor;
                default: undefined;
            };
            placement: PropType<TooltipPlacement>;
            color: PropType<LiteralUnion<PresetColorType>>;
            transitionName: StringConstructor;
            overlayStyle: {
                type: PropType<CSSProperties>;
                default: CSSProperties;
            };
            overlayInnerStyle: {
                type: PropType<CSSProperties>;
                default: CSSProperties;
            };
            overlayClassName: StringConstructor;
            openClassName: StringConstructor;
            prefixCls: StringConstructor;
            mouseEnterDelay: NumberConstructor;
            mouseLeaveDelay: NumberConstructor;
            getPopupContainer: PropType<(triggerNode: HTMLElement) => HTMLElement>;
            arrowPointAtCenter: {
                type: BooleanConstructor;
                default: undefined;
            };
            arrow: {
                type: PropType<boolean | {
                    pointAtCenter?: boolean;
                }>;
                default: boolean | {
                    pointAtCenter?: boolean;
                };
            };
            autoAdjustOverflow: {
                type: PropType<boolean | AdjustOverflow>;
                default: boolean | AdjustOverflow;
            };
            destroyTooltipOnHide: {
                type: BooleanConstructor;
                default: undefined;
            };
            align: {
                type: PropType<AlignType>;
                default: AlignType;
            };
            builtinPlacements: {
                type: PropType<BuildInPlacements>;
                default: BuildInPlacements;
            };
            children: ArrayConstructor;
            onVisibleChange: PropType<(vis: boolean) => void>;
            'onUpdate:visible': PropType<(vis: boolean) => void>;
            onOpenChange: PropType<(vis: boolean) => void>;
            'onUpdate:open': PropType<(vis: boolean) => void>;
        }>>;
    };
    transformCellText: {
        type: PropType< TransformCellText<any> | undefined>;
        default: TransformCellText<any> | undefined;
    };
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly< ExtractPropTypes<{
    prefixCls: {
        type: PropType<string>;
        default: string;
    };
    columns: {
        type: PropType<ColumnsType>;
        default: ColumnsType;
    };
    rowKey: {
        type: PropType<string | GetRowKey<any> | undefined>;
        default: string | GetRowKey<any> | undefined;
    };
    tableLayout: {
        type: PropType< TableLayout | undefined>;
        default: TableLayout | undefined;
    };
    rowClassName: {
        type: PropType<string | RowClassName<any> | undefined>;
        default: string | RowClassName<any> | undefined;
    };
    title: {
        type: PropType< PanelRender<any> | undefined>;
        default: PanelRender<any> | undefined;
    };
    footer: {
        type: PropType< PanelRender<any> | undefined>;
        default: PanelRender<any> | undefined;
    };
    id: {
        type: PropType<string | undefined>;
        default: string | undefined;
    };
    showHeader: {
        type: BooleanConstructor;
        default: boolean;
    };
    components: {
        type: PropType< TableComponents<any> | undefined>;
        default: TableComponents<any> | undefined;
    };
    customRow: {
        type: PropType< GetComponentProps<any> | undefined>;
        default: GetComponentProps<any> | undefined;
    };
    customHeaderRow: {
        type: PropType< GetComponentProps< ColumnType<any>[]> | undefined>;
        default: GetComponentProps< ColumnType<any>[]> | undefined;
    };
    direction: {
        type: PropType<"ltr" | "rtl" | undefined>;
        default: "ltr" | "rtl" | undefined;
    };
    expandFixed: {
        type: PropType<boolean | "left" | "right" | undefined>;
        default: boolean | "left" | "right" | undefined;
    };
    expandColumnWidth: NumberConstructor;
    expandedRowKeys: {
        type: PropType< Key[] | undefined>;
        default: Key[] | undefined;
    };
    defaultExpandedRowKeys: {
        type: PropType< Key[] | undefined>;
        default: Key[] | undefined;
    };
    expandedRowRender: {
        type: PropType< ExpandedRowRender<any> | undefined>;
        default: ExpandedRowRender<any> | undefined;
    };
    expandRowByClick: {
        type: BooleanConstructor;
        default: boolean;
    };
    expandIcon: {
        type: PropType< RenderExpandIcon<any> | undefined>;
        default: RenderExpandIcon<any> | undefined;
    };
    onExpand: {
        type: PropType<((expanded: boolean, record: any) => void) | undefined>;
        default: ((expanded: boolean, record: any) => void) | undefined;
    };
    onExpandedRowsChange: {
        type: PropType<((expandedKeys: Key[]) => void) | undefined>;
        default: ((expandedKeys: Key[]) => void) | undefined;
    };
    'onUpdate:expandedRowKeys': {
        type: PropType<((expandedKeys: Key[]) => void) | undefined>;
        default: ((expandedKeys: Key[]) => void) | undefined;
    };
    defaultExpandAllRows: {
        type: BooleanConstructor;
        default: boolean;
    };
    indentSize: NumberConstructor;
    /** @deprecated Please use `EXPAND_COLUMN` in `columns` directly */
    expandIconColumnIndex: NumberConstructor;
    showExpandColumn: {
        type: BooleanConstructor;
        default: boolean;
    };
    expandedRowClassName: {
        type: PropType< RowClassName<any> | undefined>;
        default: RowClassName<any> | undefined;
    };
    childrenColumnName: {
        type: PropType<string | undefined>;
        default: string | undefined;
    };
    rowExpandable: {
        type: PropType<((record: any) => boolean) | undefined>;
        default: ((record: any) => boolean) | undefined;
    };
    sticky: {
        type: PropType<boolean | TableSticky | undefined>;
        default: boolean | TableSticky | undefined;
    };
    dropdownPrefixCls: StringConstructor;
    dataSource: {
        type: PropType<any[] | undefined>;
        default: any[] | undefined;
    };
    pagination: {
        type: PropType<false | TablePaginationConfig>;
        default: false | TablePaginationConfig;
    };
    loading: {
        type: PropType<boolean | Partial< ExtractPropTypes<{
            prefixCls: StringConstructor;
            spinning: {
                type: BooleanConstructor;
                default: undefined;
            };
            size: PropType<SpinSize>;
            wrapperClassName: StringConstructor;
            tip: VueTypeValidableDef<any>;
            delay: NumberConstructor;
            indicator: VueTypeValidableDef<any>;
        }>>>;
        default: boolean | Partial< ExtractPropTypes<{
            prefixCls: StringConstructor;
            spinning: {
                type: BooleanConstructor;
                default: undefined;
            };
            size: PropType<SpinSize>;
            wrapperClassName: StringConstructor;
            tip: VueTypeValidableDef<any>;
            delay: NumberConstructor;
            indicator: VueTypeValidableDef<any>;
        }>>;
    };
    size: {
        type: PropType<SizeType>;
        default: SizeType;
    };
    bordered: {
        type: BooleanConstructor;
        default: boolean;
    };
    locale: {
        type: PropType<TableLocale>;
        default: TableLocale;
    };
    onChange: {
        type: PropType<(pagination: TablePaginationConfig, filters: Record<string, FilterValue | null>, sorter: SorterResult | SorterResult[], extra: TableCurrentDataSource) => void>;
        default: (pagination: TablePaginationConfig, filters: Record<string, FilterValue | null>, sorter: SorterResult | SorterResult[], extra: TableCurrentDataSource) => void;
    };
    onResizeColumn: {
        type: PropType<(w: number, col: ColumnType) => void>;
        default: (w: number, col: ColumnType) => void;
    };
    rowSelection: {
        type: PropType<TableRowSelection<any>>;
        default: TableRowSelection<any>;
    };
    getPopupContainer: {
        type: PropType<GetPopupContainer>;
        default: GetPopupContainer;
    };
    scroll: {
        type: PropType<{
            x?: number | true | string;
            y?: number | string;
        } & {
            scrollToFirstRowOnChange?: boolean;
        }>;
        default: {
            x?: number | true | string;
            y?: number | string;
        } & {
            scrollToFirstRowOnChange?: boolean;
        };
    };
    sortDirections: {
        type: PropType<SortOrder[]>;
        default: SortOrder[];
    };
    showSorterTooltip: {
        type: PropType<boolean | Partial< ExtractPropTypes<{
            title: VueTypeValidableDef<any>;
            trigger: PropType< TriggerType | TriggerType[]>;
            open: {
                type: BooleanConstructor;
                default: undefined;
            };
            visible: {
                type: BooleanConstructor;
                default: undefined;
            };
            placement: PropType<TooltipPlacement>;
            color: PropType<LiteralUnion<PresetColorType>>;
            transitionName: StringConstructor;
            overlayStyle: {
                type: PropType<CSSProperties>;
                default: CSSProperties;
            };
            overlayInnerStyle: {
                type: PropType<CSSProperties>;
                default: CSSProperties;
            };
            overlayClassName: StringConstructor;
            openClassName: StringConstructor;
            prefixCls: StringConstructor;
            mouseEnterDelay: NumberConstructor;
            mouseLeaveDelay: NumberConstructor;
            getPopupContainer: PropType<(triggerNode: HTMLElement) => HTMLElement>;
            arrowPointAtCenter: {
                type: BooleanConstructor;
                default: undefined;
            };
            arrow: {
                type: PropType<boolean | {
                    pointAtCenter?: boolean;
                }>;
                default: boolean | {
                    pointAtCenter?: boolean;
                };
            };
            autoAdjustOverflow: {
                type: PropType<boolean | AdjustOverflow>;
                default: boolean | AdjustOverflow;
            };
            destroyTooltipOnHide: {
                type: BooleanConstructor;
                default: undefined;
            };
            align: {
                type: PropType<AlignType>;
                default: AlignType;
            };
            builtinPlacements: {
                type: PropType<BuildInPlacements>;
                default: BuildInPlacements;
            };
            children: ArrayConstructor;
            onVisibleChange: PropType<(vis: boolean) => void>;
            'onUpdate:visible': PropType<(vis: boolean) => void>;
            onOpenChange: PropType<(vis: boolean) => void>;
            'onUpdate:open': PropType<(vis: boolean) => void>;
        }>>>;
        default: boolean | Partial< ExtractPropTypes<{
            title: VueTypeValidableDef<any>;
            trigger: PropType< TriggerType | TriggerType[]>;
            open: {
                type: BooleanConstructor;
                default: undefined;
            };
            visible: {
                type: BooleanConstructor;
                default: undefined;
            };
            placement: PropType<TooltipPlacement>;
            color: PropType<LiteralUnion<PresetColorType>>;
            transitionName: StringConstructor;
            overlayStyle: {
                type: PropType<CSSProperties>;
                default: CSSProperties;
            };
            overlayInnerStyle: {
                type: PropType<CSSProperties>;
                default: CSSProperties;
            };
            overlayClassName: StringConstructor;
            openClassName: StringConstructor;
            prefixCls: StringConstructor;
            mouseEnterDelay: NumberConstructor;
            mouseLeaveDelay: NumberConstructor;
            getPopupContainer: PropType<(triggerNode: HTMLElement) => HTMLElement>;
            arrowPointAtCenter: {
                type: BooleanConstructor;
                default: undefined;
            };
            arrow: {
                type: PropType<boolean | {
                    pointAtCenter?: boolean;
                }>;
                default: boolean | {
                    pointAtCenter?: boolean;
                };
            };
            autoAdjustOverflow: {
                type: PropType<boolean | AdjustOverflow>;
                default: boolean | AdjustOverflow;
            };
            destroyTooltipOnHide: {
                type: BooleanConstructor;
                default: undefined;
            };
            align: {
                type: PropType<AlignType>;
                default: AlignType;
            };
            builtinPlacements: {
                type: PropType<BuildInPlacements>;
                default: BuildInPlacements;
            };
            children: ArrayConstructor;
            onVisibleChange: PropType<(vis: boolean) => void>;
            'onUpdate:visible': PropType<(vis: boolean) => void>;
            onOpenChange: PropType<(vis: boolean) => void>;
            'onUpdate:open': PropType<(vis: boolean) => void>;
        }>>;
    };
    transformCellText: {
        type: PropType< TransformCellText<any> | undefined>;
        default: TransformCellText<any> | undefined;
    };
}>> & Readonly<{}>, {
    footer: PanelRender<any> | undefined;
    title: PanelRender<any> | undefined;
    size: SizeType;
    components: TableComponents<any> | undefined;
    direction: "ltr" | "rtl" | undefined;
    tableLayout: TableLayout | undefined;
    columns: ColumnsType;
    scroll: {
        x?: number | true | string;
        y?: number | string;
    } & {
        scrollToFirstRowOnChange?: boolean;
    };
    sticky: boolean | TableSticky | undefined;
    onChange: (pagination: TablePaginationConfig, filters: Record<string, FilterValue | null>, sorter: SorterResult | SorterResult[], extra: TableCurrentDataSource) => void;
    prefixCls: string;
    rowClassName: string | RowClassName<any> | undefined;
    locale: TableLocale;
    id: string | undefined;
    getPopupContainer: GetPopupContainer;
    loading: boolean | Partial< ExtractPropTypes<{
        prefixCls: StringConstructor;
        spinning: {
            type: BooleanConstructor;
            default: undefined;
        };
        size: PropType<SpinSize>;
        wrapperClassName: StringConstructor;
        tip: VueTypeValidableDef<any>;
        delay: NumberConstructor;
        indicator: VueTypeValidableDef<any>;
    }>>;
    bordered: boolean;
    onExpand: ((expanded: boolean, record: any) => void) | undefined;
    pagination: false | TablePaginationConfig;
    expandIcon: RenderExpandIcon<any> | undefined;
    expandedRowKeys: Key[] | undefined;
    defaultExpandedRowKeys: Key[] | undefined;
    expandedRowRender: ExpandedRowRender<any> | undefined;
    expandRowByClick: boolean;
    onExpandedRowsChange: ((expandedKeys: Key[]) => void) | undefined;
    defaultExpandAllRows: boolean;
    showExpandColumn: boolean;
    expandedRowClassName: RowClassName<any> | undefined;
    childrenColumnName: string | undefined;
    rowExpandable: ((record: any) => boolean) | undefined;
    transformCellText: TransformCellText<any> | undefined;
    customRow: GetComponentProps<any> | undefined;
    rowKey: string | GetRowKey<any> | undefined;
    onResizeColumn: (w: number, col: ColumnType) => void;
    customHeaderRow: GetComponentProps< ColumnType<any>[]> | undefined;
    expandFixed: boolean | "left" | "right" | undefined;
    showHeader: boolean;
    'onUpdate:expandedRowKeys': ((expandedKeys: Key[]) => void) | undefined;
    sortDirections: SortOrder[];
    showSorterTooltip: boolean | Partial< ExtractPropTypes<{
        title: VueTypeValidableDef<any>;
        trigger: PropType< TriggerType | TriggerType[]>;
        open: {
            type: BooleanConstructor;
            default: undefined;
        };
        visible: {
            type: BooleanConstructor;
            default: undefined;
        };
        placement: PropType<TooltipPlacement>;
        color: PropType<LiteralUnion<PresetColorType>>;
        transitionName: StringConstructor;
        overlayStyle: {
            type: PropType<CSSProperties>;
            default: CSSProperties;
        };
        overlayInnerStyle: {
            type: PropType<CSSProperties>;
            default: CSSProperties;
        };
        overlayClassName: StringConstructor;
        openClassName: StringConstructor;
        prefixCls: StringConstructor;
        mouseEnterDelay: NumberConstructor;
        mouseLeaveDelay: NumberConstructor;
        getPopupContainer: PropType<(triggerNode: HTMLElement) => HTMLElement>;
        arrowPointAtCenter: {
            type: BooleanConstructor;
            default: undefined;
        };
        arrow: {
            type: PropType<boolean | {
                pointAtCenter?: boolean;
            }>;
            default: boolean | {
                pointAtCenter?: boolean;
            };
        };
        autoAdjustOverflow: {
            type: PropType<boolean | AdjustOverflow>;
            default: boolean | AdjustOverflow;
        };
        destroyTooltipOnHide: {
            type: BooleanConstructor;
            default: undefined;
        };
        align: {
            type: PropType<AlignType>;
            default: AlignType;
        };
        builtinPlacements: {
            type: PropType<BuildInPlacements>;
            default: BuildInPlacements;
        };
        children: ArrayConstructor;
        onVisibleChange: PropType<(vis: boolean) => void>;
        'onUpdate:visible': PropType<(vis: boolean) => void>;
        onOpenChange: PropType<(vis: boolean) => void>;
        'onUpdate:open': PropType<(vis: boolean) => void>;
    }>>;
    dataSource: any[] | undefined;
    rowSelection: TableRowSelection<any>;
}, CustomSlotsType<{
    emptyText?: any;
    expandIcon?: RenderExpandIconProps<any>;
    title?: any;
    footer?: any;
    summary?: any;
    expandedRowRender?: any;
    expandColumnTitle?: any;
    bodyCell?: (props: {
        text: any;
        value: any;
        record: Record<string, any>;
        index: number;
        column: ColumnType;
    }) => void;
    headerCell?: (props: {
        title: any;
        column: ColumnType;
    }) => void;
    customFilterIcon?: any;
    customFilterDropdown?: any;
    default: any;
}>, {}, {}, string, ComponentProvideOptions, true, {}, any>;
export default Table;
