import { Comparator, Session } from '../../index';
export type ColumnComparator<T = any> = {
    compare(a: T, b: T): number;
    compareIgnoreCase?(a: T, b: T): number;
    /**
     * @returns whether it was possible to install a compare function.
     */
    install(session: Session): boolean;
    [key: string]: any;
};
export declare const comparators: {
    /**
     * Text comparator, used to compare strings with support for internationalization (i18n).
     * The collator object is only installed once.
     */
    TEXT: ColumnComparator<string>;
    /**
     * Numeric comparator, used to compare numeric values. Used for numbers, dates, etc.
     */
    NUMERIC: ColumnComparator<number>;
    /**
     * Alphanumeric comparator.
     */
    ALPHANUMERIC: ColumnComparator<string | number>;
    /**
     * Applies the comparator to each pair until one pair doesn't return 0 or all pairs are compared.
     * @param comparator a function that takes 2 parameters and returns -1, 0 or 1.
     * @param pairs array of pairs, where a pair is an array with 2 values.
     */
    compare<T>(comparator: Comparator<T>, ...pairs: T[][]): number;
};
//# sourceMappingURL=comparators.d.ts.map