import { Comparer } from './Comparer'; export interface BuildableComparer { build(): Comparer; } interface BaseComparerBuilder extends BuildableComparer { sortKey(selector: (x: T) => TComparable): ThenComparerBuilder; sortKeyDescending(selector: (x: T) => TComparable): ThenComparerBuilder; } export interface ThenComparerBuilder extends BuildableComparer { thenKey(selector: (x: T) => TComparable): ThenComparerBuilder; thenKeyDescending(selector: (x: T) => TComparable): ThenComparerBuilder; } export declare class ComparerBuilder implements BaseComparerBuilder, ThenComparerBuilder { static create(): ComparerBuilder; thenKey(selector: (x: T) => TComparable): ThenComparerBuilder; thenKeyDescending(selector: (x: T) => TComparable): ThenComparerBuilder; private comparers; constructor(comparers?: Array> | undefined); sortKey(selector: (x: T) => TComparable): ThenComparerBuilder; sortKeyDescending(selector: (x: T) => TComparable): ThenComparerBuilder; private createComparer; build(): Comparer; } export {};