export type SortingVector = (number | string)[]; type CompareEquals = (a: T, b: T) => number; type GetVector = (t: T) => SortingVector; export declare function bucketSort(array: T[], getVector?: (t: T) => SortingVector, compareEquals?: CompareEquals): T[]; export declare function stringSort(array: T[], getString?: (t: T) => string): T[]; export declare function stringToVector(string: string): number[]; export declare function compareFull(d1: T, d2: T, getVector: GetVector, compareEquals?: CompareEquals): number; export declare function compare(vector1: SortingVector, vector2: SortingVector): number; export declare function bucketSortHelper(array: T[], getVector: GetVector, sort_range_lower_index_incl: number, sort_range_upper_index_excl: number, vector_index: number, isStringElt: boolean): { sorted_array: T[]; bucket_ranges: { lower_index_incl: number; upper_index_excl: number; }[]; }; export {};