/** * Utilities for working with collections * * @packageDocumentation */ /** determines if two sets are equal */ export declare function setEqual(first: Set, second: Set): boolean; /** determines if two sets intersect */ export declare function setIntersect(first: Set, second: Set): boolean; /** * returns a single arbitrary element from the Set, or undefined if empty */ export declare function setNext(elems: Set): T | undefined; /** * removes a single arbitrary element from the Set, or undefined if missing * * @remarks * if the set contains undefined, then this doesn't distinguish in output, * but will properly remove it. */ export declare function setPop(elems: Set): T | undefined; /** * push val onto key list for multimap */ export declare function listMultimapPush(multimap: Map, key: K, val: V): void; /** * add val to key set for multimap */ export declare function setMultimapAdd(multimap: Map>, key: K, val: V): void; /** * delete val from key set for multimap */ export declare function setMultimapDelete(multimap: Map>, key: K, val: V): void;