import { Option } from "./Option"; import { WithEquality, Ordering, ToOrderable } from "./Comparison"; import { HashMap } from "./HashMap"; import { Seq } from "./Seq"; import { Collection } from "./Collection"; import { Stream } from "./Stream"; /** * @hidden */ export declare function shuffle(array: any[]): any[]; /** * @hidden */ export declare function arrangeBy(collection: Collection, getKey: (v: T) => K & WithEquality): Option>; /** * @hidden */ export declare function seqHasTrueEquality(seq: Seq): boolean; /** * @hidden */ export declare function zipWithIndex(seq: Seq): Seq<[T, number]>; /** * @hidden */ export declare function sortOn(seq: Seq, getKeys: Array | { desc: ToOrderable; }>): Seq; /** * @hidden */ export declare function distinctBy(seq: Collection, keyExtractor: (x: T) => U & WithEquality): Collection; /** * Utility function to help converting a value to string * util.inspect seems to depend on node. * @hidden */ export declare function toStringHelper(obj: any | null, options?: { quoteStrings: boolean; }): string; /** * @hidden */ export declare function minBy(coll: Collection, compare: (v1: T, v2: T) => Ordering): Option; /** * @hidden */ export declare function minOn(coll: Collection, getSortable: ToOrderable): Option; /** * @hidden */ export declare function maxBy(coll: Collection, compare: (v1: T, v2: T) => Ordering): Option; /** * @hidden */ export declare function maxOn(coll: Collection, getSortable: ToOrderable): Option; /** * @hidden */ export declare function sumOn(coll: Collection, getNumber: (v: T) => number): number; /** * @hidden */ export declare function reduce(coll: Collection, combine: (v1: T, v2: T) => T): Option; /** * @hidden */ export declare function sliding(seq: Seq, count: number): Stream>;