import { ApTableProps } from '../../';
import { Recordable } from '../../type';
import { TableColumnsType } from '@aplus-frontend/antdv';
import { InternalPagingType } from '../../ap-table/hooks/use-table-paging-ng';
import { ApFormSearchFormPopoverSorterItem } from '../../ap-form';
export interface UsePageListApTable extends ApTableProps {
    /** 是否显示默认的行选择配置
     * @default true
     */
    isShowRowSelection?: boolean;
    /** 转化ApTable查询参数 */
    transformSearchFormValues?: (values: any) => any;
    /** ApTable数据接口 */
    api?(record: any): Promise<any>;
    /** 发起请求的时候情况行选中
     * @default true
     */
    clearSelectionOnRequest?: boolean;
    /** 用于覆盖默认的class */
    class?: string;
    /**
     * 表格刷新相关
     */
    tableRefresh?: boolean | (() => boolean);
}
/**
 * 集成了列表页面的ApTable的默认配置
 * 表格header吸顶效果，表格可拖动，表格行选择
 * @version 1.0.0
 */
export declare function usePageListApTable(props?: UsePageListApTable): [ApTableProps, {
    reload: () => void;
    reset: () => void;
    getSearchFormValues: (transform?: boolean) => any;
    getApTableInstance: () => {
        submit: () => void;
        submitWith: (resetCurrent?: boolean) => void;
        reset: () => void;
        refresh: () => void;
        setSearchFormValues: (fields: Partial< Recordable>) => void;
        getSearchFormValues: (transform?: boolean) => Partial< Recordable>;
        dataSource: any;
        rowSelection?: {
            select: (item: any) => void;
            selectAll: () => void;
            unSelectAll: () => void;
            selectedRows: any[];
            unSelect: (item: any) => void;
            isSelected: (item: any) => boolean;
            clearAll: () => void;
            toggleSelect: (item: any) => void;
            selectMulti: (items: any[]) => void;
            unSelectMulti: (items: any[]) => void;
        } | undefined;
        getShownColumns: () => TableColumnsType<any>;
        scrollBar: {
            x: {
                getCurrentScroll: () => number;
                scroll: (percent: number) => void | undefined;
            };
            y: undefined;
        };
        getPaging: () => InternalPagingType;
        setPaging: (nextPaging: InternalPagingType, refreshImmediately?: boolean) => void;
        getSearchFormSorterItems: () => ApFormSearchFormPopoverSorterItem[];
        setSearchFormSorterItems: (sortedItems: ApFormSearchFormPopoverSorterItem[]) => void;
        resetSearchFormSorterItems: () => void;
    } | null | undefined;
    getSearchFormValuesAndSorted: (transform?: boolean) => any;
    clearSelection: () => void;
}];
