import { HashMap } from "@tsplus/stdlib/collections/HashMap/definition"; import { Hash } from "@tsplus/stdlib/structure/Hash"; import { Equals } from "@tsplus/stdlib/structure/Equals"; import { Maybe } from "@tsplus/stdlib/data/Maybe/definition"; import type { Node } from "@tsplus/stdlib/collections/HashMap/_internal/node"; import { _K, _V, HashMapSym } from "@tsplus/stdlib/collections/HashMap/definition"; export type TraversalFn = (k: K, v: V) => A; export type Cont = [ len: number, children: Node[], i: number, f: TraversalFn, cont: Cont ] | undefined; export interface VisitResult { value: A; cont: Cont; } export declare class HashMapInternal implements HashMap { _editable: boolean; _edit: number; _root: Node; _size: number; readonly [HashMapSym]: HashMapSym; readonly [_K]: () => K; readonly [_V]: () => V; constructor(_editable: boolean, _edit: number, _root: Node, _size: number); [Symbol.iterator](): Iterator; [Hash.sym](): number; [Equals.sym](that: unknown): boolean; } export declare class HashMapIterator implements IterableIterator { readonly map: HashMapInternal; readonly f: TraversalFn; v: import("../../../data/Maybe").Maybe>; constructor(map: HashMapInternal, f: TraversalFn); next(): IteratorResult; [Symbol.iterator](): IterableIterator; } /** * @tsplus macro remove */ export declare function realHashMap(_: HashMap): asserts _ is HashMapInternal; export declare function applyCont(cont: Cont): import("../../../data/Maybe").Maybe>; export declare function visitLazy(node: Node, f: TraversalFn, cont?: Cont): Maybe>; export declare function visitLazyChildren(len: number, children: Node[], i: number, f: TraversalFn, cont: Cont): Maybe>; /** * Lookup the value for the specified key in the `HashMap` using a custom hash. * @tsplus fluent HashMap getHash * @tsplus location "@tsplus/stdlib/collections/HashMap/_internal/hashMap" */ export declare function getHash_(self: HashMap, key: K, hash: number): Maybe; /** * Lookup the value for the specified key in the `HashMap` using a custom hash. * @tsplus static HashMap.Aspects getHash * @tsplus pipeable HashMap getHash * @tsplus location "@tsplus/stdlib/collections/HashMap/_internal/hashMap" */ export declare const getHash: (key: K, hash: number) => (self: import("@tsplus/stdlib/collections/HashMap/definition").HashMap) => import("../../../data/Maybe").Maybe; /** * Checks if the specified key has an entry in the `HashMap`. * @tsplus fluent HashMap has * @tsplus location "@tsplus/stdlib/collections/HashMap/_internal/hashMap" */ export declare function has_(self: HashMap, key: K): boolean; /** * Checks if the specified key has an entry in the `HashMap`. * @tsplus static HashMap.Aspects has * @tsplus pipeable HashMap has * @tsplus location "@tsplus/stdlib/collections/HashMap/_internal/hashMap" */ export declare const has: (key: K) => (self: import("@tsplus/stdlib/collections/HashMap/definition").HashMap) => boolean; /** * @tsplus operator HashMap == * @tsplus fluent HashMap equals * @tsplus location "@tsplus/stdlib/collections/HashMap/_internal/hashMap" */ export declare function equals_(self: HashMap, that: HashMap): boolean; export declare function equals_(self: HashMap, that: HashMap): boolean; /** * @tsplus pipeable HashMap equals * @tsplus location "@tsplus/stdlib/collections/HashMap/_internal/hashMap" */ export declare const equals: (that: import("@tsplus/stdlib/collections/HashMap/definition").HashMap) => (self: import("@tsplus/stdlib/collections/HashMap/definition").HashMap) => boolean; //# sourceMappingURL=hashMap.d.ts.map