import { AsyncEventEmitter } from "@vladfrangu/async_event_emitter";
import type { Region } from "./region";
export interface RegionsEvents {
    connect: [region: Region];
    disconnect: [handle: string];
}
export declare class Regions extends AsyncEventEmitter<RegionsEvents> {
    private regions;
    private currentRegion?;
    has(handle: string | number | bigint): boolean;
    get(handle: string | number | bigint): Region | undefined;
    set(handle: string | number | bigint, region: Region): this;
    delete(handle: string | number | bigint): boolean;
    entries(): MapIterator<[string, Region]>;
    values(): MapIterator<Region>;
    keys(): MapIterator<string>;
    get current(): Region;
    get size(): number;
}
