export declare class BetterMap extends Map { getOrThrow(key: K): V; getOrSet(key: K, factory: () => V): V; map(fn: (value: V, key: K) => T): BetterMap; reduce(fn: (acc: T, value: V, key: K) => T, initial: T): T; toObject(): Record; } export declare class DefaultMap extends BetterMap { private readonly factory; constructor(factory: () => V, initial?: [K, V][]); get(key: K): V; }