import Maybe from '../Maybe'; import { Cast, Dict } from '../Dict/Dict'; import { Set as ISet, Key } from './index'; export declare class Set implements ISet { private readonly dict; static empty: Set; static singleton(key: K): Set>; static fromList(keys: Array): Set>; constructor(dict: Dict); min(): Maybe; max(): Maybe; member(key: K): boolean; insert(key: K): Set; remove(key: K): Set; toggle(key: K): Set; size(): number; isEmpty(): boolean; map(fn: (key: K) => R): Set; filter(fn: (key: K) => boolean): Set; partition(fn: (key: K) => boolean): [Set, Set]; foldl(fn: (key: K, acc: R) => R, acc: R): R; foldr(fn: (key: K, acc: R) => R, acc: R): R; union(another: Set): Set; intersect(another: Set): Set; diff(another: Set): Set; keys(): Array; tap(fn: (that: Set) => R): R; }