export interface EventListenerOptions {
    capture?: boolean;
}
export interface AddEventListenerOptions extends EventListenerOptions {
    once?: boolean;
    passive?: boolean;
    signal?: AbortSignal;
}
export declare class Emitter<EventMap> {
    private readonly et;
    on<K extends keyof EventMap>(type: K, listener: (ev: EventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
    emit<K extends keyof EventMap>(event: EventMap[K]): boolean;
    off<K extends keyof EventMap>(type: K, listener: (ev: EventMap[K]) => any, options?: boolean | EventListenerOptions): void;
}
