import type { SortDirectionNumber } from '../enums/sortDirectionNumber.enum.js';
import type { Column } from './column.interface.js';
import type { GridOption } from './gridOption.interface.js';
export type SortComparer = (value1: any, value2: any, sortDirection?: SortDirectionNumber, sortColumn?: Column, gridOptions?: GridOption) => number;
/**
 * All built-in SortComparers.
 */
export interface ISortComparers {
    /** SortComparer method to sort boolean values as regular strings */
    boolean: SortComparer;
    /** SortComparer method to sort values by Date object type (uses Tempo ISO_8601 standard format, optionally include time) */
    date: SortComparer;
    /** SortComparer method to sort values by Date formatted as (YYYY-MM-DD HH:mm:ss) */
    dateIso: SortComparer;
    /** SortComparer method to sort values by Date formatted as (YYYY-MM-DDTHH:mm:ss.SSSZ) */
    dateUtc: SortComparer;
    /** SortComparer method to sort values by Date and Time (native Date object) */
    dateTime: SortComparer;
    /** SortComparer method to sort values by Date formatted as (YYYY-MM-DD HH:mm:ss) */
    dateTimeIso: SortComparer;
    /** SortComparer method to sort values by Date formatted as (YYYY-MM-DD h:mm:ss a) */
    dateTimeIsoAmPm: SortComparer;
    /** SortComparer method to sort values by Date formatted as (YYYY-MM-DD h:mm:ss A) */
    dateTimeIsoAM_PM: SortComparer;
    /** SortComparer method to sort values by Date formatted as (YYYY-MM-DD HH:mm) */
    dateTimeShortIso: SortComparer;
    /** SortComparer method to sort values by Date formatted as Euro date (DD/MM/YYYY) */
    dateEuro: SortComparer;
    /** SortComparer method to sort values by Date formatted as Euro short date (D/M/YY) */
    dateEuroShort: SortComparer;
    /** SortComparer method to sort values by Date formatted as (DD/MM/YYYY HH:mm) */
    dateTimeShortEuro: SortComparer;
    /** SortComparer method to sort values by Date formatted as (DD/MM/YYYY HH:mm:ss) */
    dateTimeEuro: SortComparer;
    /** SortComparer method to sort values by Date formatted as (DD/MM/YYYY hh:mm:ss a) */
    dateTimeEuroAmPm: SortComparer;
    /** SortComparer method to sort values by Date formatted as (DD/MM/YYYY hh:mm:ss A) */
    dateTimeEuroAM_PM: SortComparer;
    /** SortComparer method to sort values by Date formatted as (D/M/YY H:m:s) */
    dateTimeEuroShort: SortComparer;
    /** SortComparer method to sort values by Date formatted as (D/M/YY h:m:s a) */
    dateTimeEuroShortAmPm: SortComparer;
    /** SortComparer method to sort values by Date formatted as (D/M/YY h:m:s A) */
    dateTimeEuroShortAM_PM: SortComparer;
    /** SortComparer method to sort values by Date formatted as US date (MM/DD/YYYY) */
    dateUs: SortComparer;
    /** SortComparer method to sort values by Date formatted as US short date (M/D/YY) */
    dateUsShort: SortComparer;
    /** SortComparer method to sort values by Date formatted as (MM/DD/YYYY HH:mm) */
    dateTimeShortUs: SortComparer;
    /** SortComparer method to sort values by Date formatted as (MM/DD/YYYY HH:mm:s) */
    dateTimeUs: SortComparer;
    /** SortComparer method to sort values by Date formatted as (MM/DD/YYYY hh:mm:ss a) */
    dateTimeUsAmPm: SortComparer;
    /** SortComparer method to sort values by Date formatted as (MM/DD/YYYY hh:mm:ss A) */
    dateTimeUsAM_PM: SortComparer;
    /** SortComparer method to sort values by Date formatted as (M/D/YY H:m:s) */
    dateTimeUsShort: SortComparer;
    /** SortComparer method to sort values by Date formatted as (M/D/YY h:m:s a) */
    dateTimeUsShortAmPm: SortComparer;
    /** SortComparer method to sort values by Date formatted as (M/D/YY h:m:s A) */
    dateTimeUsShortAM_PM: SortComparer;
    /** SortComparer method to sort values as numeric fields */
    numeric: SortComparer;
    /**
     * SortComparer method to sort object values with a "dataKey" provided in your column definition, it's data content must be of type string
     * Example:
     * columnDef = { id='user', field: 'user', ..., dataKey: 'firstName', SortComparer: SortComparers.objectString }
     * collection = [{ firstName: 'John', lastName: 'Doe' }, { firstName: 'Bob', lastName: 'Cash' }]
     */
    objectString: SortComparer;
    /** SortComparer method to sort values as regular strings */
    string: SortComparer;
}
//# sourceMappingURL=sorter.interface.d.ts.map