import { Collection } from "@tsplus/stdlib/collections/Collection/definition"; import { Maybe } from "@tsplus/stdlib/data/Maybe/definition"; /** * An implementation of a weak map that supports the Collection protocol. * * NOTE: this is truly weak only in the case FinalizationRegistry is available, * otherwise it is backed by a classical map and will not be weak (i.e. in * engines that don't natively support ES2021). * * @tsplus type IterableWeakMap */ export interface IterableWeakMap extends Collection<[K, V]> { set(this: this, key: K, value: V): void; get(this: this, key: K): V | undefined; has(this: this, key: K): boolean; delete(this: this, key: K): boolean; [Symbol.iterator](this: this): IterableIterator<[K, V]>; entries(this: this): IterableIterator<[K, V]>; keys(this: this): IterableIterator; values(this: this): IterableIterator; } /** * @tsplus type IterableWeakMap.Ops */ export interface IterableWeakMapOps { readonly $: IterableWeakMapAspects; } export declare const IterableWeakMap: IterableWeakMapOps; /** * @tsplus type IterableWeakMap.Aspects */ export interface IterableWeakMapAspects { } /** * @tsplus pipeable-index IterableWeakMap * @tsplus static IterableWeakMap.Aspects getMaybe * @tsplus pipeable IterableWeakMap getMaybe * @tsplus location "@tsplus/stdlib/collections/weak/IterableWeakMap" */ export declare function getMaybe(key: K): (self: IterableWeakMap) => import("../../data/Maybe").Maybe; /** * @tsplus static IterableWeakMap.Ops make * @tsplus static IterableWeakMap.Ops __call * @tsplus location "@tsplus/stdlib/collections/weak/IterableWeakMap" */ export declare function make(iterable: Collection<[K, V]>): IterableWeakMap; /** * @tsplus getter IterableWeakMap toCollection * @tsplus location "@tsplus/stdlib/collections/weak/IterableWeakMap" */ export declare function toCollection(self: IterableWeakMap): Collection<[K, V]>; //# sourceMappingURL=IterableWeakMap.d.ts.map