export declare class TypedEventEmitter<TEvents extends Record<string, unknown[]>> {
    private emitter;
    on<K extends keyof TEvents>(event: K, listener: (...args: TEvents[K]) => void): this;
    off<K extends keyof TEvents>(event: K, listener: (...args: TEvents[K]) => void): this;
    emit<K extends keyof TEvents>(event: K, ...args: TEvents[K]): boolean;
    once<K extends keyof TEvents>(event: K, listener: (...args: TEvents[K]) => void): this;
    removeAllListeners<K extends keyof TEvents>(event?: K): this;
}
