export declare type basic = number | string; export interface HashCode { hashCode(): string; } export declare type Key = basic | HashCode; export declare function isBasic(obj: any): obj is basic; export declare class HashMap implements Map { private map; private keyMap; private readonly hashCode; constructor(); [Symbol.iterator](): IterableIterator<[K, V]>; entries(): IterableIterator<[K, V]>; keys(): IterableIterator; values(): IterableIterator; [Symbol.toStringTag]: string; size: number; clear(): void; delete(key: K): boolean; forEach(callbackfn: (value: V, key: K, map: Map) => void, thisArg?: any): void; get(key: K): V | undefined; has(key: K): boolean; set(key: K, value: V): this; }