import { paginationProps } from 'element-plus';
import type { PropType, CSSProperties, Component } from 'vue';
import type { ComponentSize } from 'element-plus';
import type { TableProps, DefaultRow } from 'element-plus/es/components/table/src/table/defaults';
import type { ITableSelectionColumns, ITableExpandColumns, ITableIndexColumns, ITableMenuColumns, ITableColumns, TableColumn, ITableProps } from './type';
type PaginationKeys = Array<keyof typeof paginationProps>;
export declare const paginationKeys: PaginationKeys;
export declare const tableProps: {
    prevIcon: {
        type: PropType<string | Component>;
        default: undefined;
    };
    nextIcon: {
        type: PropType<string | Component>;
        default: undefined;
    };
    selection: {
        type: PropType<boolean | ITableSelectionColumns>;
        default: boolean;
    };
    expand: {
        type: PropType<boolean | ITableExpandColumns>;
        default: undefined;
    };
    index: {
        type: PropType<boolean | ITableIndexColumns>;
        default: boolean;
    };
    menu: {
        type: PropType<boolean | ITableMenuColumns>;
        default: undefined;
    };
    columns: {
        type: PropType<ITableColumns>;
        default: undefined;
    };
    data: {
        type: PropType<DefaultRow[]>;
        default: () => never[];
    };
    height: (StringConstructor | NumberConstructor)[];
    maxHeight: (StringConstructor | NumberConstructor)[];
    fit: {
        type: BooleanConstructor;
        default: boolean;
    };
    stripe: BooleanConstructor;
    border: BooleanConstructor;
    rowKey: PropType<TableProps<DefaultRow>["rowKey"]>;
    showHeader: {
        type: BooleanConstructor;
        default: boolean;
    };
    showSummary: BooleanConstructor;
    sumText: StringConstructor;
    summaryMethod: PropType<TableProps<DefaultRow>["summaryMethod"]>;
    rowClassName: PropType<TableProps<DefaultRow>["rowClassName"]>;
    rowStyle: PropType<TableProps<DefaultRow>["rowStyle"]>;
    cellClassName: PropType<TableProps<DefaultRow>["cellClassName"]>;
    cellStyle: PropType<TableProps<DefaultRow>["cellStyle"]>;
    headerRowClassName: PropType<TableProps<DefaultRow>["headerRowClassName"]>;
    headerRowStyle: PropType<TableProps<DefaultRow>["headerRowStyle"]>;
    headerCellClassName: PropType<TableProps<DefaultRow>["headerCellClassName"]>;
    headerCellStyle: PropType<TableProps<DefaultRow>["headerCellStyle"]>;
    highlightCurrentRow: BooleanConstructor;
    currentRowKey: (StringConstructor | NumberConstructor)[];
    emptyText: StringConstructor;
    expandRowKeys: PropType<TableProps<DefaultRow>["expandRowKeys"]>;
    defaultExpandAll: BooleanConstructor;
    defaultSort: PropType<TableProps<DefaultRow>["defaultSort"]>;
    tooltipEffect: StringConstructor;
    spanMethod: PropType<TableProps<DefaultRow>["spanMethod"]>;
    selectOnIndeterminate: {
        type: BooleanConstructor;
        default: boolean;
    };
    indent: {
        type: NumberConstructor;
        default: number;
    };
    treeProps: {
        type: PropType<TableProps<DefaultRow>["treeProps"]>;
        default: () => {
            hasChildren: string;
            children: string;
        };
    };
    lazy: BooleanConstructor;
    load: PropType<TableProps<DefaultRow>["load"]>;
    style: {
        type: PropType<CSSProperties>;
        default: () => {};
    };
    className: {
        type: StringConstructor;
        default: string;
    };
    tableLayout: {
        type: PropType<"fixed" | "auto">;
        default: string;
    };
    scrollbarAlwaysOn: BooleanConstructor;
    flexible: BooleanConstructor;
    showOverflowTooltip: BooleanConstructor;
    align: PropType<"left" | "center" | "right">;
    headerAlign: PropType<"left" | "center" | "right">;
    size: PropType<ComponentSize>;
    pageSize: NumberConstructor;
    defaultPageSize: NumberConstructor;
    total: NumberConstructor;
    pageCount: NumberConstructor;
    pagerCount: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 7, boolean>;
    currentPage: NumberConstructor;
    defaultCurrentPage: NumberConstructor;
    layout: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, string, boolean>;
    pageSizes: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => number[]) | (() => number[]) | ((new (...args: any[]) => number[]) | (() => number[]))[], unknown, unknown, () => [10, 20, 30, 40, 50, 100], boolean>;
    popperClass: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
    prevText: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
    nextText: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
    teleported: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
    small: BooleanConstructor;
    background: BooleanConstructor;
    disabled: BooleanConstructor;
    hideOnSinglePage: BooleanConstructor;
    appendSizeTo: StringConstructor;
};
export declare const tableItemProps: {
    item: {
        type: PropType<TableColumn>;
        required: boolean;
        default: () => {};
    };
    size: PropType<ComponentSize>;
};
export declare const tableEmits: {
    'update:currentPage': (current: number) => boolean;
    'update:pageSize': (size: number) => boolean;
    load: () => boolean;
};
export declare const tableKeys: Array<keyof ITableProps>;
export {};
