import { NameAnd } from "./nameAnd"; export declare function unique(ts: T[] | undefined, tagFn: (t: T) => string): T[]; export declare function keep(obj: T, ...keys: K[]): T; export declare const chain: (...fns: ((from: From) => To | undefined)[]) => (from: From) => To | undefined; export declare function collect(t: T[], filter: (t: T) => boolean, map: (t: T) => T1): T1[]; export declare function flatten(t: T[][]): T[]; export declare function flatMap(ts: From[], fn: (from: From) => To[]): To[]; export declare function foldK(vs: V[], zero: Acc, foldFn: (acc: Acc, v: V) => Promise): Promise; export declare function mapK(vs: V[], fn: (v: V) => Promise): Promise; export declare function mapAndRecoverK(vs: V[], fn: (v: V) => Promise, recover: (v: V, e: any) => To): Promise; export declare function flatMapK(ts: From[], fn: (from: From) => Promise): Promise; export declare function objectSortedByKeys(o: NameAnd): NameAnd; export declare function objectSortedByKeysWithPriority(o: NameAnd, ...priorityOrder: string[]): NameAnd;