import { DefineComponent, PropType, Ref, ComponentOptionsMixin, PublicProps, ExtractPropTypes } from 'vue';
declare function __VLS_template(): Partial<Record<any, (_: {
    scope: any;
}) => any>> & Partial<Record<NonNullable<string | number>, (_: {
    scope: Record<string, any>;
}) => any>> & Partial<Record<NonNullable<string | number>, (_: any) => any>> & Partial<Record<NonNullable<string | number>, (_: {
    scope: Record<string, any>;
}) => any>> & Partial<Record<NonNullable<string | number>, (_: any) => any>> & {
    title?(_: {}): any;
    toolbar?(_: {}): any;
    btn?(_: {}): any;
    titleTip?(_: {}): any;
    expand?(_: {
        scope: any;
    }): any;
    default?(_: {}): any;
    pagination?(_: {}): any;
    footer?(_: {}): any;
};
declare const __VLS_component: DefineComponent<{
    table: {
        type: ObjectConstructor;
        default: () => {};
        required: boolean;
    };
    columns: {
        type: ArrayConstructor;
        default: () => never[];
    };
    btnPermissions: {
        type: ArrayConstructor;
        default: () => never[];
    };
    title: {
        type: StringConstructor;
    };
    tableTitle: StringConstructor;
    align: {
        type: PropType<"left" | "center" | "right">;
        default: string;
    };
    isTree: {
        type: BooleanConstructor;
        default: boolean;
    };
    isRowSort: {
        type: BooleanConstructor;
        default: boolean;
    };
    isRowSortIcon: {
        type: BooleanConstructor;
        default: boolean;
    };
    rowSortIconBind: {
        type: ObjectConstructor;
        default: () => {};
    };
    isCopy: {
        type: BooleanConstructor;
        default: boolean;
    };
    rowClickRadio: {
        type: BooleanConstructor;
        default: boolean;
    };
    defaultRadioCol: NumberConstructor;
    isPaginationCumulative: {
        type: BooleanConstructor;
        default: boolean;
    };
    isShowPagination: {
        type: BooleanConstructor;
        default: boolean;
    };
    isShowFooterBtn: {
        type: BooleanConstructor;
        default: boolean;
    };
    columnSetting: {
        type: BooleanConstructor;
        default: boolean;
    };
    highlightCurrentRow: {
        type: BooleanConstructor;
        default: boolean;
    };
    sortable: {
        type: (BooleanConstructor | StringConstructor)[];
    };
    isKeyup: {
        type: BooleanConstructor;
        default: boolean;
    };
    isSlotToolbar: BooleanConstructor;
    isSlotTitle: BooleanConstructor;
    border: {
        type: BooleanConstructor;
        default: boolean;
    };
    tableLoading: {
        type: BooleanConstructor;
        default: boolean;
    };
    loadingTxt: {
        type: StringConstructor;
        default: string;
    };
    useVirtual: BooleanConstructor;
    virtualShowSize: {
        type: NumberConstructor;
        default: number;
    };
    footerBtnAlign: {
        type: StringConstructor;
        default: string;
    };
}, {
    defaultRadioSelect: (index: number | any) => void;
    clearSelection: () => any;
    getSelectionRows: () => any;
    toggleRowSelection: (row: any, selected?: boolean) => any;
    toggleAllSelection: () => any;
    toggleRowExpansion: (row: any, expanded: any) => any;
    setCurrentRow: (row: any) => any;
    clearSort: () => any;
    clearFilter: (columnKey: any) => any;
    doLayout: (columnKey: any) => any;
    sort: (prop: string, order: string) => any;
    scrollTo: (options: any, yCoord: any) => any;
    setScrollTop: (top: any) => any;
    setScrollLeft: (left: any) => any;
    state: {
        tableData: any;
        columnSet: never[];
        copyTableData: never[];
    };
    radioVal: Ref<any>;
    clearValidate: () => void;
    resetFields: () => void;
    save: () => Promise<any>;
    saveMethod: (callback: (arg0: any) => any) => void;
    reSetColumnSet: () => any;
    clearRadioHandle: () => void;
    resetTselectTable: () => void;
}, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
    handleEvent: (...args: any[]) => void;
    save: (...args: any[]) => void;
    "page-change": (...args: any[]) => void;
    radioChange: (...args: any[]) => void;
    rowSort: (...args: any[]) => void;
    validateError: (...args: any[]) => void;
}, string, PublicProps, Readonly< ExtractPropTypes<{
    table: {
        type: ObjectConstructor;
        default: () => {};
        required: boolean;
    };
    columns: {
        type: ArrayConstructor;
        default: () => never[];
    };
    btnPermissions: {
        type: ArrayConstructor;
        default: () => never[];
    };
    title: {
        type: StringConstructor;
    };
    tableTitle: StringConstructor;
    align: {
        type: PropType<"left" | "center" | "right">;
        default: string;
    };
    isTree: {
        type: BooleanConstructor;
        default: boolean;
    };
    isRowSort: {
        type: BooleanConstructor;
        default: boolean;
    };
    isRowSortIcon: {
        type: BooleanConstructor;
        default: boolean;
    };
    rowSortIconBind: {
        type: ObjectConstructor;
        default: () => {};
    };
    isCopy: {
        type: BooleanConstructor;
        default: boolean;
    };
    rowClickRadio: {
        type: BooleanConstructor;
        default: boolean;
    };
    defaultRadioCol: NumberConstructor;
    isPaginationCumulative: {
        type: BooleanConstructor;
        default: boolean;
    };
    isShowPagination: {
        type: BooleanConstructor;
        default: boolean;
    };
    isShowFooterBtn: {
        type: BooleanConstructor;
        default: boolean;
    };
    columnSetting: {
        type: BooleanConstructor;
        default: boolean;
    };
    highlightCurrentRow: {
        type: BooleanConstructor;
        default: boolean;
    };
    sortable: {
        type: (BooleanConstructor | StringConstructor)[];
    };
    isKeyup: {
        type: BooleanConstructor;
        default: boolean;
    };
    isSlotToolbar: BooleanConstructor;
    isSlotTitle: BooleanConstructor;
    border: {
        type: BooleanConstructor;
        default: boolean;
    };
    tableLoading: {
        type: BooleanConstructor;
        default: boolean;
    };
    loadingTxt: {
        type: StringConstructor;
        default: string;
    };
    useVirtual: BooleanConstructor;
    virtualShowSize: {
        type: NumberConstructor;
        default: number;
    };
    footerBtnAlign: {
        type: StringConstructor;
        default: string;
    };
}>> & {
    onHandleEvent?: ((...args: any[]) => any) | undefined;
    onSave?: ((...args: any[]) => any) | undefined;
    "onPage-change"?: ((...args: any[]) => any) | undefined;
    onRadioChange?: ((...args: any[]) => any) | undefined;
    onRowSort?: ((...args: any[]) => any) | undefined;
    onValidateError?: ((...args: any[]) => any) | undefined;
}, {
    table: Record<string, any>;
    columns: unknown[];
    columnSetting: boolean;
    btnPermissions: unknown[];
    align: "center" | "left" | "right";
    isTree: boolean;
    isRowSort: boolean;
    isRowSortIcon: boolean;
    rowSortIconBind: Record<string, any>;
    isCopy: boolean;
    rowClickRadio: boolean;
    isPaginationCumulative: boolean;
    isShowPagination: boolean;
    isShowFooterBtn: boolean;
    highlightCurrentRow: boolean;
    isKeyup: boolean;
    isSlotToolbar: boolean;
    isSlotTitle: boolean;
    border: boolean;
    tableLoading: boolean;
    loadingTxt: string;
    useVirtual: boolean;
    virtualShowSize: number;
    footerBtnAlign: string;
}, {}>;
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
