/** * intersect creates Set containing the intersection of elements between all sets * @template T * @param {Set[]} sets an array of sets being checked for shared elements * @returns {Set} returns a new Set containing the intersecting items */ export function intersect(sets: Set[]): Set; /** * Checks if a set is the subset of another set * @template T * @param {Set} bigSet a Set which contains the original elements to compare against * @param {Set} smallSet the set whose elements might be contained inside of bigSet * @returns {boolean} returns true if smallSet contains all elements inside of the bigSet */ export function isSubset(bigSet: Set, smallSet: Set): boolean; /** * @template T * @param {Set} set a set * @param {function(T): boolean} fn selector function * @returns {T | undefined} found item */ export function find(set: Set, fn: (arg0: T) => boolean): T; /** * @template T * @param {Set} set a set * @returns {T | undefined} first item */ export function first(set: Set): T; /** * @template T * @param {Set} a first * @param {Set} b second * @returns {Set} combined set, may be identical to a or b */ export function combine(a: Set, b: Set): Set;