import { IEqualityComparer } from "./Util.js"; import { int32 } from "./Int32.js"; import { FSharpList } from "./List.js"; export declare function distinct(xs: Iterable, comparer: IEqualityComparer): Iterable; export declare function distinctBy(projection: ((arg0: T) => Key), xs: Iterable, comparer: IEqualityComparer): Iterable; export declare function except(itemsToExclude: Iterable, xs: Iterable, comparer: IEqualityComparer): Iterable; export declare function countBy(projection: ((arg0: T) => Key), xs: Iterable, comparer: IEqualityComparer): Iterable<[Key, int32]>; export declare function groupBy(projection: ((arg0: T) => Key), xs: Iterable, comparer: IEqualityComparer): Iterable<[Key, Iterable]>; export declare function Array_distinct(xs: T[], comparer: IEqualityComparer): T[]; export declare function Array_distinctBy(projection: ((arg0: T) => Key), xs: T[], comparer: IEqualityComparer): T[]; export declare function Array_except(itemsToExclude: Iterable, xs: T[], comparer: IEqualityComparer): T[]; export declare function Array_countBy(projection: ((arg0: T) => Key), xs: T[], comparer: IEqualityComparer): [Key, int32][]; export declare function Array_groupBy(projection: ((arg0: T) => Key), xs: T[], comparer: IEqualityComparer): [Key, T[]][]; export declare function List_distinct(xs: FSharpList, comparer: IEqualityComparer): FSharpList; export declare function List_distinctBy(projection: ((arg0: T) => Key), xs: FSharpList, comparer: IEqualityComparer): FSharpList; export declare function List_except(itemsToExclude: Iterable, xs: FSharpList, comparer: IEqualityComparer): FSharpList; export declare function List_countBy(projection: ((arg0: T) => Key), xs: FSharpList, comparer: IEqualityComparer): FSharpList<[Key, int32]>; export declare function List_groupBy(projection: ((arg0: T) => Key), xs: FSharpList, comparer: IEqualityComparer): FSharpList<[Key, FSharpList]>;