interface IHashMap<T, U> {
    set(key: T, val: U): IHashMap<T, U>;
    get(key: T): U | undefined;
    internalMap(): Map<string, U>;
    concat(...maps: HashMap<T, U>[]): HashMap<T, U>;
    forEach(fn: (key: T, value: U) => void): void;
}
export declare class HashMap<T, U> implements IHashMap<T, U> {
    private map;
    constructor();
    set(key: T, val: U): this;
    get(key: T): U | undefined;
    internalMap(): Map<string, U>;
    concat(...maps: HashMap<T, U>[]): this;
    forEach(fn: (key: T, value: U) => void): void;
}
export {};
