export type Mapper = (a: A) => B; export type ArrayMapper = (a: A, i: number, xs: A[]) => B; export type ObjectMapper = (value: A[keyof A], key: keyof A, object: A) => B; export type SetMapper = (a: A, xs: Set) => B; export type MapValueMapper = (v: AV, k: AK, xs: Map) => BV; export type MapKeyMapper = (v: AV, k: AK, xs: Map) => BK; export type NodeListElementMapper = (a: A, i: number, xs: NodeListOf | HTMLCollectionOf) => B; export declare namespace maps { function array(xs: A[], f: ArrayMapper): B[]; function object(x: A, f: ObjectMapper): B; function set(xs: Set, f: SetMapper): Set; function map(xs: Map, valueMapper: MapValueMapper, keyMapper?: MapKeyMapper): Map; function nodeList(xs: NodeListOf | HTMLCollectionOf, f: NodeListElementMapper): any[]; function any(o: any, f: (a: any) => any): any; } export declare const map_array: typeof maps.array; export declare const map_object: typeof maps.object; export declare const map_set: typeof maps.set; export declare const map_map: typeof maps.map; export declare const map_nodeList: typeof maps.nodeList; export declare const map_any: typeof maps.any;