declare class Counter<K extends string> {
    private readonly map;
    constructor(init?: Array<[K, number]> | Record<K, number>);
    forEach(callbackfn: (value: number, key: K, map: Map<K, number>) => void, thisArg?: any): void;
    [Symbol.toStringTag]: string;
    get size(): number;
    clear(): void;
    delete(key: K): boolean;
    has(key: K): boolean;
    get(key: K): number;
    incr(key: K, n?: number): this;
    decr(key: K, n?: number): this;
    entries(): MapIterator<[K, number]>;
    [Symbol.iterator](): MapIterator<[K, number]>;
    keys(): MapIterator<K>;
}

export { Counter };
