export declare class EventEmitter<T extends Record<string, any>> {
    #private;
    /** Enables more debugging logs for memory leaks */
    verbose: boolean;
    constructor();
    on<K extends keyof T>(event: K, cb: (data: T[K]) => void): this;
    off<K extends keyof T>(event: K, cb: (data: T[K]) => void): this;
    emit<K extends keyof T>(event: K, data: T[K]): this;
    once<K extends keyof T>(event: K, cb: (data: T[K]) => any | Promise<any>): this;
    removeAllListeners<K extends keyof T>(event?: K): void;
    set maxListeners(n: number);
    get maxListeners(): number;
    export(): {
        listeners: {
            event: keyof T;
            cb: Function;
            once: boolean;
        }[];
        maxListeners: number;
        verbose: boolean;
    };
    import(data: ReturnType<EventEmitter<T>["export"]>): this;
}
