import { SortCondition } from "./SortCondition";
import { ST_SortBy } from "./ST_SortBy";
import { IEnumerable$1, Type } from "igniteui-react-core";
import { SortDirection } from "./SortDirection";
import { ISortable } from "./ISortable";
import { SortSettings_SortOperation$1 } from "./SortSettings_SortOperation$1";
/**
 * Represents a sort condition which will sort cells based on a custom, ordered list of values.
 * <p class="body">
 * When the sort direction is ascending, the data range is sorted with the cells in the custom list appearing first, in the order they
 * appear in the list, followed by the other cells in the same relative order they had to each other before the sort. When the sort direction
 * is descending, the cells not in the list will appear first in the data region and they will appear in the same relative order they
 * had before the sort. They will be followed by the other cells in the reverse order of the list.
 * </p>
 * <p class="body">
 * The list of values specified on this sort condition are string values. If a cell being sorted has a string value, that value is used to
 * sort the cell. Otherwise, the cell text is used. For example, if the cell's value is 0.01, but it is formatted as a percentage cell,
 * the text used to sort it with this sort condition will be "1%" and not "0.01". When using the cell text, if the format string for the
 * cell includes padding characters which are repeated across the cells, they will not be included in the cell text used for comparison.
 * </p>
 * <p class="body">
 * When matching values from a cell to values in the custom list, strings are compared case-sensitively or case-insensitively based
 * on the [[SortSettings`1.caseSensitive]] setting.
 * </p>
 * <p class="body">
 * If the cell text contains any repeated padding characters, they are ignored when comparing strings.
 * </p>
 * @see [[SortSettings`1.caseSensitive]]
 * @see [[SortSettings`1.sortConditions]]
 * @see [[SortCondition.sortDirection]]
 * @see [[WorksheetCell.getText]]
 * @see [[WorksheetRow.getCellText]]
 */
export declare class CustomListSortCondition extends SortCondition {
    static $t: Type;
    private _j;
    constructor(sortDirection: SortDirection, ...list: string[]);
    /**
     * @hidden
     */
    private _m;
    /**
     * @hidden
     */
    _a(): SortCondition;
    /**
     * @hidden
     */
    _g<T extends ISortable>($t: Type, a: SortSettings_SortOperation$1<T>, b: number, c: number, d: number, e: number): number;
    /**
     * Determines whether the [[CustomListSortCondition]] is equal to the specified object.
     * @param obj The object to test for equality.
     * @return True if the object is equal to this instance; False otherwise.
     */
    equals(obj: any): boolean;
    /**
     * Gets the hash code for the [[CustomListSortCondition]].
     * @return A number which can be used to hash this instance.
     */
    getHashCode(): number;
    /**
     * @hidden
     */
    _f(a: SortCondition): boolean;
    /**
     * @hidden
     */
    protected get__d(): ST_SortBy;
    /**
     * @hidden
     */
    get _d(): ST_SortBy;
    /**
     * @hidden
     */
    _l(): string;
    /**
     * @hidden
     */
    private _k;
    /**
     * Gets the ordered list of values by which to sort.
     * <p class="body">
     * The list of values specified on this sort condition are string values. If a cell being sorted has a string value, that value is used to
     * sort the cell. Otherwise, the cell text is used. For example, if the cell's value is 0.01, but it is formatted as a percentage cell,
     * the text used to sort it with this sort condition will be "1%" and not "0.01". When using the cell text, if the format string for the
     * cell includes padding characters which are repeated across the cells, they will not be included in the cell text used for comparison.
     * </p>
     * <p class="body">
     * When matching values from a cell to values in the custom list, strings are compared case-sensitively or case-insensitively based
     * on the [[SortSettings`1.caseSensitive]] setting.
     * </p>
     * <p class="body">
     * If the cell text contains any repeated padding characters, they are ignored when comparing strings.
     * </p>
     * @see [[SortSettings`1.caseSensitive]]
     * @see [[WorksheetCell.getText]]
     * @see [[WorksheetRow.getCellText]]
     */
    get list(): IEnumerable$1<string>;
}
