export = LazySet; /** * Like Set but with an addAll method to eventually add items from another iterable. * Access methods make sure that all delayed operations are executed. * Iteration methods deopts to normal Set performance until clear is called again (because of the chance of modifications during iteration). * @template T */ declare class LazySet { /** * @template T * @param {import("../serialization/ObjectMiddleware").ObjectDeserializerContext} context context * @returns {LazySet} lazy set */ static deserialize({ read, }: import('../serialization/ObjectMiddleware').ObjectDeserializerContext): LazySet; /** * @param {Iterable=} iterable init iterable */ constructor(iterable?: Iterable | undefined); /** @type {Set} */ _set: Set; /** @type {Set>} */ _toMerge: Set>; /** @type {Array>} */ _toDeepMerge: Array>; _needMerge: boolean; _deopt: boolean; _flatten(): void; _merge(): void; _isEmpty(): boolean; get size(): number; /** * @param {T} item an item * @returns {LazySet} itself */ add(item: T): LazySet; /** * @param {Iterable | LazySet} iterable a immutable iterable or another immutable LazySet which will eventually be merged into the Set * @returns {LazySet} itself */ addAll(iterable: Iterable | LazySet): LazySet; clear(): void; /** * @param {T} value an item * @returns {boolean} true, if the value was in the Set before */ delete(value: T): boolean; entries(): IterableIterator<[T, T]>; /** * @param {function(T, T, Set): void} callbackFn function called for each entry * @param {any} thisArg this argument for the callbackFn * @returns {void} */ forEach( callbackFn: (arg0: T, arg1: T, arg2: Set) => void, thisArg: any, ): void; /** * @param {T} item an item * @returns {boolean} true, when the item is in the Set */ has(item: T): boolean; keys(): IterableIterator; values(): IterableIterator; /** * @param {import("../serialization/ObjectMiddleware").ObjectSerializerContext} context context */ serialize({ write, }: import('../serialization/ObjectMiddleware').ObjectSerializerContext): void; [Symbol.iterator](): IterableIterator; get [Symbol.toStringTag](): string; }