import { ComponentEvent, PowerfulTableLabelValue } from '../../index';

declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<globalThis.ExtractPropTypes<{
    btnConfig: {
        type: PropType<import('./powerful-table-data').PowerfulTableProps<any>["btnConfig"]>;
        default: undefined;
    };
    size: {
        type: PropType<import('./powerful-table-data').PowerfulTableProps<any>["size"]>;
        default: string;
        validator: (val: string) => boolean;
    };
    list: {
        type: PropType<import('./powerful-table-data').PowerfulTableProps<any>["list"]>;
        default: () => never[];
    };
    selectData: {
        type: PropType<import('./powerful-table-data').PowerfulTableProps<any>["list"]>;
        default: () => never[];
    };
    isSelect: {
        type: PropType<import('./powerful-table-data').PowerfulTableProps<any>["isSelect"]>;
        default: boolean;
    };
    selectable: {
        type: PropType<import('./powerful-table-data').PowerfulTableProps<any>["selectable"]>;
        default: undefined;
    };
    selectCompare: {
        type: PropType<import('./powerful-table-data').PowerfulTableProps<any>["selectCompare"]>;
        default: () => string[];
    };
    header: {
        type: PropType<import('./powerful-table-data').PowerfulTableProps<any>["header"]>;
        default: () => never[];
    };
    paginationProperty: {
        type: PropType<import('./powerful-table-data').PowerfulTableProps<any>["paginationProperty"]>;
        default: () => {};
    };
    operateData: {
        type: PropType<import('./powerful-table-data').PowerfulTableProps<any>["operateData"]>;
        default: () => {}[];
    };
    isPagination: {
        type: BooleanConstructor;
        default: boolean;
    };
    tree: {
        type: PropType<import('./powerful-table-data').PowerfulTableProps<any>["tree"]>;
        default: () => {
            props: {
                children: string;
                hasChildren: string;
            };
        };
    };
    property: {
        type: PropType<import('./powerful-table-data').PowerfulTableProps<any>["property"]>;
        default: () => {};
    };
    listRequest: {
        type: PropType<import('./powerful-table-data').PowerfulTableProps<any>["listRequest"]>;
        default: undefined;
    };
}>, {
    $slots: import('vue').SetupContext["slots"];
    $attrs: import('vue').SetupContext["attrs"];
    $refs: {
        multipleTable: import('vue').Ref<InstanceType<typeof import('../../../node_modules/element-plus').ElTable> | null>;
        filterComponents: import('vue').Ref<InstanceType<any | any | any>[] | null>;
    };
    props: import('./powerful-table-data').PowerfulTableProps<any>;
    injectProps: import('../../index').InjectProps;
    headerLists: import('../../index').PowerfulTableHeader<any>[];
    powerfulTableData: import('./powerful-table-data').PowerfulTableData<any>;
    stateData: import('./powerful-table-data').StateData<any>;
    resetList: ((params?: object) => void) | undefined;
    getListData: ((params?: object) => void) | undefined;
    handleSelectionChange: (e: any[]) => void;
    anewRender: () => void;
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
    "btn-plus-change": (...args: any[]) => void;
    "btn-plus-refresh": () => void;
    "btn-click": (payload: {
        props: import('../../index').PowerfulTableHeaderProps<any>;
        params: any;
        row: any;
        index: number;
        btnIndex: number[];
    }) => void;
    "size-change": (payload: {
        params: {
            pageNum: number;
            pageSize: number;
        };
        select: any[];
    }) => void;
    "component-event": (componentEvent: ComponentEvent, ...args: any[]) => void;
    "sort-custom": (payload: {
        column: any;
        prop: string;
        order: string;
    }) => void;
    "batch-operate": (payload: {
        ids: (string | number)[];
        item: PowerfulTableLabelValue;
        rows: any[];
    }) => void;
    select: (...args: any[]) => void;
    "selection-change": (...args: any[]) => void;
    "select-all": (...args: any[]) => void;
    "cell-mouse-enter": (...args: any[]) => void;
    "cell-mouse-leave": (...args: any[]) => void;
    "cell-click": (...args: any[]) => void;
    "cell-dblclick": (...args: any[]) => void;
    "cell-contextmenu": (...args: any[]) => void;
    "row-click": (...args: any[]) => void;
    "row-contextmenu": (...args: any[]) => void;
    "row-dblclick": (...args: any[]) => void;
    "header-click": (...args: any[]) => void;
    "header-contextmenu": (...args: any[]) => void;
    "filter-change": (...args: any[]) => void;
    "current-change": (...args: any[]) => void;
    "header-dragend": (...args: any[]) => void;
    "expand-change": (...args: any[]) => void;
}, string, import('vue').PublicProps, Readonly<globalThis.ExtractPropTypes<{
    btnConfig: {
        type: PropType<import('./powerful-table-data').PowerfulTableProps<any>["btnConfig"]>;
        default: undefined;
    };
    size: {
        type: PropType<import('./powerful-table-data').PowerfulTableProps<any>["size"]>;
        default: string;
        validator: (val: string) => boolean;
    };
    list: {
        type: PropType<import('./powerful-table-data').PowerfulTableProps<any>["list"]>;
        default: () => never[];
    };
    selectData: {
        type: PropType<import('./powerful-table-data').PowerfulTableProps<any>["list"]>;
        default: () => never[];
    };
    isSelect: {
        type: PropType<import('./powerful-table-data').PowerfulTableProps<any>["isSelect"]>;
        default: boolean;
    };
    selectable: {
        type: PropType<import('./powerful-table-data').PowerfulTableProps<any>["selectable"]>;
        default: undefined;
    };
    selectCompare: {
        type: PropType<import('./powerful-table-data').PowerfulTableProps<any>["selectCompare"]>;
        default: () => string[];
    };
    header: {
        type: PropType<import('./powerful-table-data').PowerfulTableProps<any>["header"]>;
        default: () => never[];
    };
    paginationProperty: {
        type: PropType<import('./powerful-table-data').PowerfulTableProps<any>["paginationProperty"]>;
        default: () => {};
    };
    operateData: {
        type: PropType<import('./powerful-table-data').PowerfulTableProps<any>["operateData"]>;
        default: () => {}[];
    };
    isPagination: {
        type: BooleanConstructor;
        default: boolean;
    };
    tree: {
        type: PropType<import('./powerful-table-data').PowerfulTableProps<any>["tree"]>;
        default: () => {
            props: {
                children: string;
                hasChildren: string;
            };
        };
    };
    property: {
        type: PropType<import('./powerful-table-data').PowerfulTableProps<any>["property"]>;
        default: () => {};
    };
    listRequest: {
        type: PropType<import('./powerful-table-data').PowerfulTableProps<any>["listRequest"]>;
        default: undefined;
    };
}>> & Readonly<{
    "onBtn-plus-change"?: ((...args: any[]) => any) | undefined;
    "onBtn-plus-refresh"?: (() => any) | undefined;
    "onBtn-click"?: ((payload: {
        props: import('../../index').PowerfulTableHeaderProps<any>;
        params: any;
        row: any;
        index: number;
        btnIndex: number[];
    }) => any) | undefined;
    "onSize-change"?: ((payload: {
        params: {
            pageNum: number;
            pageSize: number;
        };
        select: any[];
    }) => any) | undefined;
    "onComponent-event"?: ((componentEvent: ComponentEvent, ...args: any[]) => any) | undefined;
    "onSort-custom"?: ((payload: {
        column: any;
        prop: string;
        order: string;
    }) => any) | undefined;
    "onBatch-operate"?: ((payload: {
        ids: (string | number)[];
        item: PowerfulTableLabelValue;
        rows: any[];
    }) => any) | undefined;
    onSelect?: ((...args: any[]) => any) | undefined;
    "onSelection-change"?: ((...args: any[]) => any) | undefined;
    "onSelect-all"?: ((...args: any[]) => any) | undefined;
    "onCell-mouse-enter"?: ((...args: any[]) => any) | undefined;
    "onCell-mouse-leave"?: ((...args: any[]) => any) | undefined;
    "onCell-click"?: ((...args: any[]) => any) | undefined;
    "onCell-dblclick"?: ((...args: any[]) => any) | undefined;
    "onCell-contextmenu"?: ((...args: any[]) => any) | undefined;
    "onRow-click"?: ((...args: any[]) => any) | undefined;
    "onRow-contextmenu"?: ((...args: any[]) => any) | undefined;
    "onRow-dblclick"?: ((...args: any[]) => any) | undefined;
    "onHeader-click"?: ((...args: any[]) => any) | undefined;
    "onHeader-contextmenu"?: ((...args: any[]) => any) | undefined;
    "onFilter-change"?: ((...args: any[]) => any) | undefined;
    "onCurrent-change"?: ((...args: any[]) => any) | undefined;
    "onHeader-dragend"?: ((...args: any[]) => any) | undefined;
    "onExpand-change"?: ((...args: any[]) => any) | undefined;
}>, {
    size: import('../../index').Size | undefined;
    header: import('../../index').PowerfulTableHeader<any>[];
    list: any[];
    property: Partial<import('../../../node_modules/element-plus').TableProps<any>> | undefined;
    selectable: ((row: any, index: number) => boolean) | undefined;
    tree: import('../../index').PowerfulTableTree<any> | undefined;
    btnConfig: import("../../index").BtnConfig.Config<any> | undefined;
    isSelect: boolean | undefined;
    selectCompare: string[] | undefined;
    paginationProperty: Partial<import('../../../node_modules/element-plus').PaginationProps> | undefined;
    operateData: import('../../index').PowerfulTableOperateData | undefined;
    listRequest: {
        listApi: (params: object) => Promise<any>;
        listQuery?: object;
        pageSizeKey?: string;
        pageNoKey?: string;
        responseKey?: string;
        listsKey?: string;
        totalKey?: string;
    } | undefined;
    selectData: any[];
    isPagination: boolean;
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>, Partial<Record<string, (_: {
    item: import('../../index').PowerfulTableHeader<any>;
    index: number;
}) => any>> & Partial<Record<string, (_: {
    row: any;
    index: any;
    click: (event: Event) => void;
}) => any>> & {
    "btn-left"?(_: {}): any;
    "btn-right"?(_: {}): any;
    empty?(_: {}): any;
}>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
