import type { PropType } from 'vue';
import type { PaginationProps } from '../../composables/data-iterator';
interface TableHeaderProps {
    $type?: 'selection';
    value: string;
    text?: string;
    align?: 'start' | 'center' | 'end';
    sortable?: boolean;
    fixed?: boolean | 'start' | 'end';
    width?: string | number;
    minWidth?: string | number;
    maxWidth?: string | number;
    [key: string]: any;
}
export declare const Table: import("vue").DefineComponent<{
    beautifyScrollbar: {
        type: BooleanConstructor;
        default: boolean;
    };
    elevation: {
        type: (StringConstructor | NumberConstructor)[];
        validator(v: any): boolean;
    };
    shape: Omit<{
        type: PropType<"circle" | "tile" | "rounded-sm" | "rounded" | "rounded-lg" | "pill">;
        default: string;
    }, "type" | "default"> & {
        type: PropType<NonNullable<"circle" | "tile" | "rounded-sm" | "rounded" | "rounded-lg" | "pill">>;
        default: NonNullable<"circle" | "tile" | "rounded-sm" | "rounded" | "rounded-lg" | "pill">;
    };
    border: {
        type: PropType<NonNullable<string | number | boolean>>;
        default: NonNullable<string | number | boolean>;
    };
    density: {
        type: PropType<"high" | "low" | "medium" | "ultra-low" | "ultra-high" | undefined>;
        default: string;
        validator: (v: any) => boolean;
    };
    size: {
        type: PropType<import("../../composables/size").Size | undefined>;
        default: string;
    };
    height: (StringConstructor | NumberConstructor)[];
    maxHeight: (StringConstructor | NumberConstructor)[];
    maxWidth: (StringConstructor | NumberConstructor)[];
    minHeight: (StringConstructor | NumberConstructor)[];
    minWidth: (StringConstructor | NumberConstructor)[];
    width: (StringConstructor | NumberConstructor)[];
    absolute: BooleanConstructor;
    bottom: (StringConstructor | BooleanConstructor | NumberConstructor)[];
    fixed: BooleanConstructor;
    left: (StringConstructor | BooleanConstructor | NumberConstructor)[];
    position: {
        type: PropType<"fixed" | "static" | "relative" | "absolute" | "sticky">;
        validator: (v: any) => boolean;
    };
    right: (StringConstructor | BooleanConstructor | NumberConstructor)[];
    top: (StringConstructor | BooleanConstructor | NumberConstructor)[];
    color: StringConstructor;
    textColor: StringConstructor;
    variant: {
        type: PropType<"contained" | "outlined" | "plain" | "text" | "contained-text" | "contained-outlined">;
        default: string;
        validator: (v: any) => boolean;
    };
    theme: StringConstructor;
    tag: {
        type: StringConstructor;
        default: string;
    };
    remote: BooleanConstructor;
    items: {
        type: PropType<Record<string, any>[]>;
        default: () => never[];
    };
    mustSort: BooleanConstructor;
    multiSort: BooleanConstructor;
    sortBy: {
        type: PropType<string | string[]>;
        default: () => never[];
    };
    sortDesc: {
        type: PropType<boolean | boolean[]>;
        default: () => never[];
    };
    customSort: {
        type: PropType<import("../../composables/data-iterator").DataIteratorSortFunction>;
        default: typeof import("@veno-ui/utils").sortItems;
    };
    locale: {
        type: StringConstructor;
        default: string;
    };
    pagination: {
        type: PropType<Partial<{
            page: number;
            perPage: number;
            perPageOptions: number[];
            total: number;
            totalVisible: number;
            showQuickJumper: boolean;
            showPerPageSelect: boolean;
        }>>;
        defualt: () => {
            page: number;
            perPage: number;
            perPageOptions: number[];
            total: number;
            totalVisible: number;
            showQuickJumper: boolean;
            showPerPageSelect: boolean;
        };
    };
    /**
     * @zh 隐藏边框
     */
    hideBorder: BooleanConstructor;
    /**
     * @zh 隐藏表头
     */
    hideHeader: BooleanConstructor;
    /**
     * @zh 固定表头
     */
    fixedHeader: BooleanConstructor;
    /**
     * @zh 表头
     */
    headers: {
        type: PropType<TableHeaderProps[]>;
        default: () => never[];
    };
    /**
     * @zh 已选择的
     */
    selected: {
        type: PropType<Record<string, any>[]>;
        default: () => never[];
    };
    /**
     * @zh 排序的图标
     */
    sortIcon: {
        type: StringConstructor;
        default: string;
    };
    /**
     * @zh 排序激活时的颜色
     */
    sortActiveColor: {
        type: StringConstructor;
        default: string;
    };
    /**
     * @zh 加载中
     */
    loading: BooleanConstructor;
    /**
     * @zh 唯一键
     */
    itemKey: {
        type: StringConstructor;
        default: string;
    };
    /**
     * @zh 隐藏分页
     */
    hidePagination: BooleanConstructor;
}, {
    exportCSV(name: string): void;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    'update:pagination': (_: PaginationProps) => boolean;
    'update:sortBy': (_: string | string[]) => boolean;
    'update:sortDesc': (_: boolean | boolean[]) => boolean;
    'update:options': (_: Record<string, any>) => boolean;
    'update:selected': (_: Record<string, any>[]) => boolean;
}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
    beautifyScrollbar: {
        type: BooleanConstructor;
        default: boolean;
    };
    elevation: {
        type: (StringConstructor | NumberConstructor)[];
        validator(v: any): boolean;
    };
    shape: Omit<{
        type: PropType<"circle" | "tile" | "rounded-sm" | "rounded" | "rounded-lg" | "pill">;
        default: string;
    }, "type" | "default"> & {
        type: PropType<NonNullable<"circle" | "tile" | "rounded-sm" | "rounded" | "rounded-lg" | "pill">>;
        default: NonNullable<"circle" | "tile" | "rounded-sm" | "rounded" | "rounded-lg" | "pill">;
    };
    border: {
        type: PropType<NonNullable<string | number | boolean>>;
        default: NonNullable<string | number | boolean>;
    };
    density: {
        type: PropType<"high" | "low" | "medium" | "ultra-low" | "ultra-high" | undefined>;
        default: string;
        validator: (v: any) => boolean;
    };
    size: {
        type: PropType<import("../../composables/size").Size | undefined>;
        default: string;
    };
    height: (StringConstructor | NumberConstructor)[];
    maxHeight: (StringConstructor | NumberConstructor)[];
    maxWidth: (StringConstructor | NumberConstructor)[];
    minHeight: (StringConstructor | NumberConstructor)[];
    minWidth: (StringConstructor | NumberConstructor)[];
    width: (StringConstructor | NumberConstructor)[];
    absolute: BooleanConstructor;
    bottom: (StringConstructor | BooleanConstructor | NumberConstructor)[];
    fixed: BooleanConstructor;
    left: (StringConstructor | BooleanConstructor | NumberConstructor)[];
    position: {
        type: PropType<"fixed" | "static" | "relative" | "absolute" | "sticky">;
        validator: (v: any) => boolean;
    };
    right: (StringConstructor | BooleanConstructor | NumberConstructor)[];
    top: (StringConstructor | BooleanConstructor | NumberConstructor)[];
    color: StringConstructor;
    textColor: StringConstructor;
    variant: {
        type: PropType<"contained" | "outlined" | "plain" | "text" | "contained-text" | "contained-outlined">;
        default: string;
        validator: (v: any) => boolean;
    };
    theme: StringConstructor;
    tag: {
        type: StringConstructor;
        default: string;
    };
    remote: BooleanConstructor;
    items: {
        type: PropType<Record<string, any>[]>;
        default: () => never[];
    };
    mustSort: BooleanConstructor;
    multiSort: BooleanConstructor;
    sortBy: {
        type: PropType<string | string[]>;
        default: () => never[];
    };
    sortDesc: {
        type: PropType<boolean | boolean[]>;
        default: () => never[];
    };
    customSort: {
        type: PropType<import("../../composables/data-iterator").DataIteratorSortFunction>;
        default: typeof import("@veno-ui/utils").sortItems;
    };
    locale: {
        type: StringConstructor;
        default: string;
    };
    pagination: {
        type: PropType<Partial<{
            page: number;
            perPage: number;
            perPageOptions: number[];
            total: number;
            totalVisible: number;
            showQuickJumper: boolean;
            showPerPageSelect: boolean;
        }>>;
        defualt: () => {
            page: number;
            perPage: number;
            perPageOptions: number[];
            total: number;
            totalVisible: number;
            showQuickJumper: boolean;
            showPerPageSelect: boolean;
        };
    };
    /**
     * @zh 隐藏边框
     */
    hideBorder: BooleanConstructor;
    /**
     * @zh 隐藏表头
     */
    hideHeader: BooleanConstructor;
    /**
     * @zh 固定表头
     */
    fixedHeader: BooleanConstructor;
    /**
     * @zh 表头
     */
    headers: {
        type: PropType<TableHeaderProps[]>;
        default: () => never[];
    };
    /**
     * @zh 已选择的
     */
    selected: {
        type: PropType<Record<string, any>[]>;
        default: () => never[];
    };
    /**
     * @zh 排序的图标
     */
    sortIcon: {
        type: StringConstructor;
        default: string;
    };
    /**
     * @zh 排序激活时的颜色
     */
    sortActiveColor: {
        type: StringConstructor;
        default: string;
    };
    /**
     * @zh 加载中
     */
    loading: BooleanConstructor;
    /**
     * @zh 唯一键
     */
    itemKey: {
        type: StringConstructor;
        default: string;
    };
    /**
     * @zh 隐藏分页
     */
    hidePagination: BooleanConstructor;
}>> & {
    "onUpdate:selected"?: ((_: Record<string, any>[]) => any) | undefined;
    "onUpdate:pagination"?: ((_: Partial<{
        page: number;
        perPage: number;
        perPageOptions: number[];
        total: number;
        totalVisible: number;
        showQuickJumper: boolean;
        showPerPageSelect: boolean;
    }>) => any) | undefined;
    "onUpdate:sortBy"?: ((_: string | string[]) => any) | undefined;
    "onUpdate:sortDesc"?: ((_: boolean | boolean[]) => any) | undefined;
    "onUpdate:options"?: ((_: Record<string, any>) => any) | undefined;
}, {
    fixed: boolean;
    loading: boolean;
    tag: string;
    variant: "contained" | "outlined" | "plain" | "text" | "contained-text" | "contained-outlined";
    absolute: boolean;
    size: import("../../composables/size").Size | undefined;
    density: "high" | "low" | "medium" | "ultra-low" | "ultra-high" | undefined;
    border: NonNullable<string | number | boolean>;
    shape: NonNullable<"circle" | "tile" | "rounded-sm" | "rounded" | "rounded-lg" | "pill">;
    selected: Record<string, any>[];
    items: Record<string, any>[];
    beautifyScrollbar: boolean;
    itemKey: string;
    remote: boolean;
    mustSort: boolean;
    multiSort: boolean;
    sortBy: string | string[];
    sortDesc: boolean | boolean[];
    customSort: import("../../composables/data-iterator").DataIteratorSortFunction;
    locale: string;
    sortIcon: string;
    sortActiveColor: string;
    hideBorder: boolean;
    hideHeader: boolean;
    fixedHeader: boolean;
    headers: TableHeaderProps[];
    hidePagination: boolean;
}>;
export {};
