export interface BtnType {
    [x: string]: any;
    func?: (row: any, index: number, data: any[]) => void;
    label?: string | ((row: any) => string);
    disabled?: boolean | ((row: any) => boolean);
    show?: boolean | ((row: any) => boolean);
}
export interface ColType {
    width?: string;
    show?: boolean | ((column: ColType) => boolean);
    isParent?: boolean;
    color?: string | ((arg: any) => string);
    tooltip?: string | ((arg: any) => string);
    filterList?: any[];
    filtered?: any[];
    checkAll?: boolean;
    filterAllChange?: (arg: any) => void;
    filterChange?: (arg: any) => void;
    filterKey?: string;
    label?: string;
    inputFunc?: (arg: any) => void;
    changeFunc?: (arg: any) => void;
    sort?: boolean | string;
    key: string;
    fixed?: string;
    resizable?: boolean;
    showTooltip?: boolean;
    renderHeader?: (arg: any) => void;
    editType?: string;
    rules?: any[];
    maxlength?: number;
    placeholder?: string;
    func?: (arg: any) => void;
    [x: string]: any;
}
export interface OptionsType {
    selectionChange?: (val: any) => void;
    singleChange?: (val: any) => void;
    rowDblClick?: (row: any) => void;
    singleSelection?: (data: any) => void;
    defaultSort?: {
        prop: string;
        order: string;
    };
    ['highlight-current-row']?: boolean;
    type?: string;
    spanMethod?: (param: any) => void;
    expand?: boolean;
}
declare const _default: import("vue").DefineComponent<{
    attributes: {
        type: ObjectConstructor;
        default: () => {};
    };
    events: {
        type: ObjectConstructor;
        default: () => {};
    };
    options: {
        type: () => OptionsType;
        default: () => {};
    };
    columns: {
        type: () => ColType[];
        default: () => never[];
    };
    operation: {
        type: () => BtnType;
        default: () => {};
    };
    tableData: {
        type: ArrayConstructor;
        default: () => never[];
    };
    tableDataTemp: {
        type: ArrayConstructor;
        default: () => any[];
    };
    timeStamp: {
        type: (StringConstructor | NumberConstructor)[];
        default: string;
    };
}, {
    props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
        attributes: {
            type: ObjectConstructor;
            default: () => {};
        };
        events: {
            type: ObjectConstructor;
            default: () => {};
        };
        options: {
            type: () => OptionsType;
            default: () => {};
        };
        columns: {
            type: () => ColType[];
            default: () => never[];
        };
        operation: {
            type: () => BtnType;
            default: () => {};
        };
        tableData: {
            type: ArrayConstructor;
            default: () => never[];
        };
        tableDataTemp: {
            type: ArrayConstructor;
            default: () => any[];
        };
        timeStamp: {
            type: (StringConstructor | NumberConstructor)[];
            default: string;
        };
    }>> & {
        onSortChange?: ((...args: any[]) => any) | undefined;
        onFilterChange?: ((...args: any[]) => any) | undefined;
        onFilterConfirm?: ((...args: any[]) => any) | undefined;
        onFilterReset?: ((...args: any[]) => any) | undefined;
    }>>;
    emit: (event: "sortChange" | "filterChange" | "filterConfirm" | "filterReset", ...args: any[]) => void;
    tData: import("vue").Ref<{
        tableData: unknown[];
    }>;
    tableSingleSelection: import("vue").Ref<any>;
    initTable: () => void;
    handleCommand: (btn: BtnType, row: any, index: number) => void;
    handleLabel: (btn: BtnType, row: any) => string | undefined;
    handleSelectionChange: (val: any) => void;
    handleSingleChange: (val: any) => void;
    rowDblClick: (row: any) => void;
    operationDisabled: (btn: BtnType, row: any) => boolean;
    operationShow: (btn: BtnType, row: any) => boolean;
    columnShow: (column: ColType) => boolean;
    sortChange: ({ prop, order, }: {
        column: any;
        prop: any;
        order: any;
    }) => void;
    handleSingleSelection: () => void;
    filterChange: (params: any) => void;
    filterConfirm: () => void;
    filterReset: () => void;
    tableColumn: import("vue").DefineComponent<{
        col: {
            type: () => import("./table-column.vue").ColType;
            default: () => {};
        };
    }, {
        props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
            col: {
                type: () => import("./table-column.vue").ColType;
                default: () => {};
            };
        }>> & {
            onFilterChange?: ((...args: any[]) => any) | undefined;
            onFilterConfirm?: ((...args: any[]) => any) | undefined;
            onFilterReset?: ((...args: any[]) => any) | undefined;
        }>>;
        col: import("vue").Ref<{
            [x: string]: any;
            width?: string | undefined;
            show?: boolean | ((column: import("./table-column.vue").ColType) => boolean) | undefined;
            isParent?: boolean | undefined;
            color?: string | ((arg: any) => string) | undefined;
            tooltip?: string | ((arg: any) => string) | undefined;
            filterList?: any[] | undefined;
            filtered?: any[] | undefined;
            checkAll?: boolean | undefined;
            filterAllChange?: ((arg: any) => void) | undefined;
            filterChange?: ((arg: any) => void) | undefined;
            filterKey?: string | undefined;
            label?: string | undefined;
            inputFunc?: ((arg: any) => void) | undefined;
            changeFunc?: ((arg: any) => void) | undefined;
            sort?: string | boolean | undefined;
            key: string;
            fixed?: string | undefined;
            resizable?: boolean | undefined;
            showTooltip?: boolean | undefined;
            renderHeader?: ((arg: any) => void) | undefined;
            editType?: string | undefined;
            rules?: any[] | undefined;
            maxlength?: number | undefined;
            placeholder?: string | undefined;
            func?: ((arg: any) => void) | undefined;
        }>;
        emit: (event: "filterChange" | "filterConfirm" | "filterReset", ...args: any[]) => void;
        setColor: (col: import("./table-column.vue").ColType, row: any) => string | undefined;
        setToolTip: (col: import("./table-column.vue").ColType, row: any) => string | undefined;
        handleCommand: (btn: import("./table-column.vue").ColType, row: any) => void;
        handleIconCommand: (btn: import("./table-column.vue").ColType, row: any) => void;
        handleTag: (tag: import("./table-column.vue").TagType, row: any) => string | undefined;
        handleFormInput: (col: import("./table-column.vue").ColType, index: number, row: any) => void;
        handleFormChange: (col: import("./table-column.vue").ColType, index: number, row: any) => void;
        handleFilterRenderHeader: ({ column, $index, }: {
            column: any;
            $index: number;
        }) => void;
        filterChange: (val: any[]) => void;
        handleFilterAllChange: (val: any[]) => void;
        filterConfirm: () => void;
        filterReset: () => void;
    }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("filterChange" | "filterConfirm" | "filterReset")[], "filterChange" | "filterConfirm" | "filterReset", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
        col: {
            type: () => import("./table-column.vue").ColType;
            default: () => {};
        };
    }>> & {
        onFilterChange?: ((...args: any[]) => any) | undefined;
        onFilterConfirm?: ((...args: any[]) => any) | undefined;
        onFilterReset?: ((...args: any[]) => any) | undefined;
    }, {
        col: import("./table-column.vue").ColType;
    }>;
    tableColumnParent: import("vue").DefineComponent<{
        col: {
            type: () => import("./table-column-parent.vue").ColType;
            default: () => {};
        };
    }, {
        emit: (event: "input", ...args: any[]) => void;
        input: ({ index, row }: {
            index: number;
            row: any;
        }) => void;
        tableColumn: import("vue").DefineComponent<{
            col: {
                type: () => import("./table-column.vue").ColType;
                default: () => {};
            };
        }, {
            props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
                col: {
                    type: () => import("./table-column.vue").ColType;
                    default: () => {};
                };
            }>> & {
                onFilterChange?: ((...args: any[]) => any) | undefined;
                onFilterConfirm?: ((...args: any[]) => any) | undefined;
                onFilterReset?: ((...args: any[]) => any) | undefined;
            }>>;
            col: import("vue").Ref<{
                [x: string]: any;
                width?: string | undefined;
                show?: boolean | ((column: import("./table-column.vue").ColType) => boolean) | undefined;
                isParent?: boolean | undefined;
                color?: string | ((arg: any) => string) | undefined;
                tooltip?: string | ((arg: any) => string) | undefined;
                filterList?: any[] | undefined;
                filtered?: any[] | undefined;
                checkAll?: boolean | undefined;
                filterAllChange?: ((arg: any) => void) | undefined;
                filterChange?: ((arg: any) => void) | undefined;
                filterKey?: string | undefined;
                label?: string | undefined;
                inputFunc?: ((arg: any) => void) | undefined;
                changeFunc?: ((arg: any) => void) | undefined;
                sort?: string | boolean | undefined;
                key: string;
                fixed?: string | undefined;
                resizable?: boolean | undefined;
                showTooltip?: boolean | undefined;
                renderHeader?: ((arg: any) => void) | undefined;
                editType?: string | undefined;
                rules?: any[] | undefined;
                maxlength?: number | undefined;
                placeholder?: string | undefined;
                func?: ((arg: any) => void) | undefined;
            }>;
            emit: (event: "filterChange" | "filterConfirm" | "filterReset", ...args: any[]) => void;
            setColor: (col: import("./table-column.vue").ColType, row: any) => string | undefined;
            setToolTip: (col: import("./table-column.vue").ColType, row: any) => string | undefined;
            handleCommand: (btn: import("./table-column.vue").ColType, row: any) => void;
            handleIconCommand: (btn: import("./table-column.vue").ColType, row: any) => void;
            handleTag: (tag: import("./table-column.vue").TagType, row: any) => string | undefined;
            handleFormInput: (col: import("./table-column.vue").ColType, index: number, row: any) => void;
            handleFormChange: (col: import("./table-column.vue").ColType, index: number, row: any) => void;
            handleFilterRenderHeader: ({ column, $index, }: {
                column: any;
                $index: number;
            }) => void;
            filterChange: (val: any[]) => void;
            handleFilterAllChange: (val: any[]) => void;
            filterConfirm: () => void;
            filterReset: () => void;
        }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("filterChange" | "filterConfirm" | "filterReset")[], "filterChange" | "filterConfirm" | "filterReset", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
            col: {
                type: () => import("./table-column.vue").ColType;
                default: () => {};
            };
        }>> & {
            onFilterChange?: ((...args: any[]) => any) | undefined;
            onFilterConfirm?: ((...args: any[]) => any) | undefined;
            onFilterReset?: ((...args: any[]) => any) | undefined;
        }, {
            col: import("./table-column.vue").ColType;
        }>;
    }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "input"[], "input", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
        col: {
            type: () => import("./table-column-parent.vue").ColType;
            default: () => {};
        };
    }>> & {
        onInput?: ((...args: any[]) => any) | undefined;
    }, {
        col: import("./table-column-parent.vue").ColType;
    }>;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("sortChange" | "filterChange" | "filterConfirm" | "filterReset")[], "sortChange" | "filterChange" | "filterConfirm" | "filterReset", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
    attributes: {
        type: ObjectConstructor;
        default: () => {};
    };
    events: {
        type: ObjectConstructor;
        default: () => {};
    };
    options: {
        type: () => OptionsType;
        default: () => {};
    };
    columns: {
        type: () => ColType[];
        default: () => never[];
    };
    operation: {
        type: () => BtnType;
        default: () => {};
    };
    tableData: {
        type: ArrayConstructor;
        default: () => never[];
    };
    tableDataTemp: {
        type: ArrayConstructor;
        default: () => any[];
    };
    timeStamp: {
        type: (StringConstructor | NumberConstructor)[];
        default: string;
    };
}>> & {
    onSortChange?: ((...args: any[]) => any) | undefined;
    onFilterChange?: ((...args: any[]) => any) | undefined;
    onFilterConfirm?: ((...args: any[]) => any) | undefined;
    onFilterReset?: ((...args: any[]) => any) | undefined;
}, {
    options: OptionsType;
    columns: ColType[];
    attributes: Record<string, any>;
    events: Record<string, any>;
    operation: BtnType;
    tableData: unknown[];
    tableDataTemp: unknown[];
    timeStamp: string | number;
}>;
export default _default;
