interface Comparator { (a: T, b: T): number; reversed(): Comparator; then(compare: (a: T, b: T) => number): Comparator; thenDescending(compare: (a: T, b: T) => number): Comparator; thenBy(selector: (value: T) => any): Comparator; thenByDescending(selector: (value: T) => any): Comparator; } export default Comparator; export declare function compare(comparison: (a: T, b: T) => number): Comparator;