import { IATableFilter, IATableSortation, TATableDefs, TATableFilterType, TATableFilteration } from '../AComponents/ATable/ATable';
import { IItem } from './objF';
type TDefaultPredicate = {
    [key in TATableFilterType]: IATableFilter<any>[key]['predicate'];
};
export declare const defaultPredicate: TDefaultPredicate;
/**
 * tableF : table functions
 */
export declare const tableF: {
    applyFilteration: <T extends IItem>(items: T[], defs: TATableDefs<T>, filteration: TATableFilteration<T>) => T[];
    applySortation: <T extends IItem>(items: T[], defs: TATableDefs<T>, sortation?: IATableSortation<T>) => T[];
    applyPagination: <T extends IItem>(items: T[], page: number, pageSize: number) => T[];
    getPages: (totalCount: number, pageSize: number) => number[];
    getRangedPages: (page: number, totalCount: number, pageSize: number, pageRange: number) => {
        pages: number[];
        rangedPages: number[];
    };
    downloadCsv: <T extends IItem>(name: string, items: T[], defs: TATableDefs<T>) => void;
    getSingleFilterValue: <T extends IItem>(filteration: TATableFilteration<T>) => string | undefined;
    getMultiFilterValues: <T extends IItem, K extends IItem = any>(filteration: TATableFilteration<T, K>) => Partial<K>;
    getSelectFilterValue: <T extends IItem>(filteration: TATableFilteration<T>) => {
        selectedKey: string | number | keyof T;
        value: undefined;
    } | {
        selectedKey: string | number | keyof T;
        value: string | number | Date | import('../..').IDateRange;
    } | undefined;
};
export {};
