import { type PropType } from 'vue';
import type { BeforeDragEnd } from '../draggable/useDraggable';
import type { ExtractPublicPropTypes } from '../_util/interface';
import type { ColumnChildren } from './column';
import type { RowKey, RowType } from './interface';
export declare const tableProps: {
    readonly data: {
        readonly type: PropType<object[]>;
        readonly default: () => object[];
    };
    readonly rowKey: PropType<RowKey>;
    readonly bordered: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly showHeader: {
        readonly type: BooleanConstructor;
        readonly default: true;
    };
    readonly emptyText: {
        readonly type: StringConstructor;
    };
    readonly size: {
        readonly type: PropType<"small" | "middle">;
        readonly default: "middle";
    };
    readonly spanMethod: FunctionConstructor;
    readonly rowClassName: PropType<string | object | [] | (({ row, rowIndex, }: {
        row: RowType;
        rowIndex: number;
    }) => string | [] | object)>;
    readonly rowStyle: PropType<object | (({ row, rowIndex }: {
        row: RowType;
        rowIndex: number;
    }) => object)>;
    readonly height: NumberConstructor;
    readonly virtualScroll: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly virtualScrollOption: {
        readonly type: PropType<{
            keeps: number;
            estimateSize: number;
        }>;
        readonly default: () => {};
    };
    readonly layout: {
        readonly type: PropType<"fixed" | "auto">;
        readonly default: "fixed";
    };
    readonly draggable: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly beforeDragend: PropType<BeforeDragEnd>;
    readonly checkedKeys: {
        readonly type: PropType<string[] | number[]>;
        readonly default: () => string[] | number[];
    };
    readonly expandedKeys: {
        readonly type: PropType<string[] | number[]>;
        readonly default: () => string[] | number[];
    };
    readonly columns: {
        readonly type: PropType<ColumnChildren>;
        readonly default: () => ColumnChildren;
    };
    readonly horizontalLine: {
        readonly type: BooleanConstructor;
        readonly default: true;
    };
    readonly verticalLine: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly hoverable: {
        readonly type: BooleanConstructor;
        readonly default: true;
    };
    readonly striped: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly alwaysScrollbar: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
};
export type TableProps = ExtractPublicPropTypes<typeof tableProps>;
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    readonly data: {
        readonly type: PropType<object[]>;
        readonly default: () => object[];
    };
    readonly rowKey: PropType<RowKey>;
    readonly bordered: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly showHeader: {
        readonly type: BooleanConstructor;
        readonly default: true;
    };
    readonly emptyText: {
        readonly type: StringConstructor;
    };
    readonly size: {
        readonly type: PropType<"small" | "middle">;
        readonly default: "middle";
    };
    readonly spanMethod: FunctionConstructor;
    readonly rowClassName: PropType<string | object | [] | (({ row, rowIndex, }: {
        row: RowType;
        rowIndex: number;
    }) => string | object | [])>;
    readonly rowStyle: PropType<object | (({ row, rowIndex }: {
        row: RowType;
        rowIndex: number;
    }) => object)>;
    readonly height: NumberConstructor;
    readonly virtualScroll: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly virtualScrollOption: {
        readonly type: PropType<{
            keeps: number;
            estimateSize: number;
        }>;
        readonly default: () => {};
    };
    readonly layout: {
        readonly type: PropType<"fixed" | "auto">;
        readonly default: "fixed";
    };
    readonly draggable: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly beforeDragend: PropType<BeforeDragEnd>;
    readonly checkedKeys: {
        readonly type: PropType<string[] | number[]>;
        readonly default: () => string[] | number[];
    };
    readonly expandedKeys: {
        readonly type: PropType<string[] | number[]>;
        readonly default: () => string[] | number[];
    };
    readonly columns: {
        readonly type: PropType<ColumnChildren>;
        readonly default: () => ColumnChildren;
    };
    readonly horizontalLine: {
        readonly type: BooleanConstructor;
        readonly default: true;
    };
    readonly verticalLine: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly hoverable: {
        readonly type: BooleanConstructor;
        readonly default: true;
    };
    readonly striped: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly alwaysScrollbar: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("update:expandedKeys" | "update:checkedKeys" | "select" | "dragend" | "dragstart" | "cellClick" | "expandChange" | "headerClick" | "headerResize" | "rowClick" | "selectAll" | "selectionChange" | "sortChange" | "afterSort")[], "update:expandedKeys" | "update:checkedKeys" | "select" | "dragend" | "dragstart" | "cellClick" | "expandChange" | "headerClick" | "headerResize" | "rowClick" | "selectAll" | "selectionChange" | "sortChange" | "afterSort", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    readonly data: {
        readonly type: PropType<object[]>;
        readonly default: () => object[];
    };
    readonly rowKey: PropType<RowKey>;
    readonly bordered: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly showHeader: {
        readonly type: BooleanConstructor;
        readonly default: true;
    };
    readonly emptyText: {
        readonly type: StringConstructor;
    };
    readonly size: {
        readonly type: PropType<"small" | "middle">;
        readonly default: "middle";
    };
    readonly spanMethod: FunctionConstructor;
    readonly rowClassName: PropType<string | object | [] | (({ row, rowIndex, }: {
        row: RowType;
        rowIndex: number;
    }) => string | object | [])>;
    readonly rowStyle: PropType<object | (({ row, rowIndex }: {
        row: RowType;
        rowIndex: number;
    }) => object)>;
    readonly height: NumberConstructor;
    readonly virtualScroll: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly virtualScrollOption: {
        readonly type: PropType<{
            keeps: number;
            estimateSize: number;
        }>;
        readonly default: () => {};
    };
    readonly layout: {
        readonly type: PropType<"fixed" | "auto">;
        readonly default: "fixed";
    };
    readonly draggable: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly beforeDragend: PropType<BeforeDragEnd>;
    readonly checkedKeys: {
        readonly type: PropType<string[] | number[]>;
        readonly default: () => string[] | number[];
    };
    readonly expandedKeys: {
        readonly type: PropType<string[] | number[]>;
        readonly default: () => string[] | number[];
    };
    readonly columns: {
        readonly type: PropType<ColumnChildren>;
        readonly default: () => ColumnChildren;
    };
    readonly horizontalLine: {
        readonly type: BooleanConstructor;
        readonly default: true;
    };
    readonly verticalLine: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly hoverable: {
        readonly type: BooleanConstructor;
        readonly default: true;
    };
    readonly striped: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly alwaysScrollbar: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
}>> & Readonly<{
    onDragend?: (...args: any[]) => any;
    onDragstart?: (...args: any[]) => any;
    onSelect?: (...args: any[]) => any;
    "onUpdate:expandedKeys"?: (...args: any[]) => any;
    "onUpdate:checkedKeys"?: (...args: any[]) => any;
    onCellClick?: (...args: any[]) => any;
    onExpandChange?: (...args: any[]) => any;
    onHeaderClick?: (...args: any[]) => any;
    onHeaderResize?: (...args: any[]) => any;
    onRowClick?: (...args: any[]) => any;
    onSelectAll?: (...args: any[]) => any;
    onSelectionChange?: (...args: any[]) => any;
    onSortChange?: (...args: any[]) => any;
    onAfterSort?: (...args: any[]) => any;
}>, {
    readonly size: "small" | "middle";
    readonly data: object[];
    readonly bordered: boolean;
    readonly expandedKeys: string[] | number[];
    readonly checkedKeys: string[] | number[];
    readonly layout: "fixed" | "auto";
    readonly virtualScroll: boolean;
    readonly draggable: boolean;
    readonly showHeader: boolean;
    readonly virtualScrollOption: {
        keeps: number;
        estimateSize: number;
    };
    readonly columns: ColumnChildren;
    readonly horizontalLine: boolean;
    readonly verticalLine: boolean;
    readonly hoverable: boolean;
    readonly striped: boolean;
    readonly alwaysScrollbar: boolean;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
export default _default;
