import { BaseTableProps, ProTableListProps, ProTableSummaryProps, StateProps, ColumnProps } from '../../../types';
import { Ref } from 'vue';
/**
 * @description table 页面操作方法封装
 * @param {Function} url 获取表格数据 api 方法 (必传)
 * @param {Object} initParam 获取数据初始化参数 (非必传，默认为{})
 * @param {Boolean} isPagination 是否有分页 (非必传，默认为true)
 * @param {Function} dataCallBack 对后台返回的数据进行处理的方法 (非必传)
 * */
export declare const useTable: (url: string | undefined, initParam?: object, isPagination?: boolean, dataCallBack?: (data: any) => any, requestError?: (error: any) => void, props?: BaseTableProps | ProTableListProps | ProTableSummaryProps) => {
    loading: Ref<boolean, boolean>;
    enumMap: Ref<Map<string, {
        [key: string]: any;
    }[]> & Omit<Map<string, {
        [key: string]: any;
    }[]>, keyof Map<any, any>>, Map<string, {
        [key: string]: any;
    }[]> | (Map<string, {
        [key: string]: any;
    }[]> & Omit<Map<string, {
        [key: string]: any;
    }[]>, keyof Map<any, any>>)>;
    getTableList: () => void;
    getSummaries: () => string[];
    search: (params?: StateProps["searchParam"]) => void;
    reset: () => void;
    handleSizeChange: (val: number) => void;
    handleCurrentChange: (val: number) => void;
    updatedTotalParam: () => void;
    flatColumnsFunc: (columns: ColumnProps[], flatArr?: ColumnProps[]) => ColumnProps<any>[];
    updatePageSize: (val: number) => void;
    tableData: Ref<any[], any[]>;
    pagination: Ref<{
        page: number;
        size: number;
        total: number;
    }, {
        page: number;
        size: number;
        total: number;
    }>;
    searchParam: Ref<{
        [key: string]: any;
    }, {
        [key: string]: any;
    }>;
    totalParam: Ref<{
        [key: string]: any;
    }, {
        [key: string]: any;
    }>;
    icon?: Ref<{
        [key: string]: any;
    } | undefined, {
        [key: string]: any;
    } | undefined> | undefined;
};
