import { Container, ContainerIterator } from "../../ContainerBase"; export declare type HashLinkNode = { _key: K; _value: V; _pre: HashLinkNode; _next: HashLinkNode; }; export declare abstract class HashContainerIterator extends ContainerIterator { abstract readonly container: HashContainer; pre(): this; next(): this; } export declare abstract class HashContainer extends Container { /** * @description Unique symbol used to tag object. */ readonly HASH_TAG: symbol; clear(): void; /** * @description Remove the element of the specified key. * @param key - The key you want to remove. * @param isObject - Tell us if the type of inserted key is `object` to improve efficiency.
* If a `undefined` value is passed in, the type will be automatically judged. * @returns Whether erase successfully. */ eraseElementByKey(key: K, isObject?: boolean): boolean; eraseElementByIterator(iter: HashContainerIterator): HashContainerIterator; eraseElementByPos(pos: number): number; }