declare module 'eventemitter3'
{
    export default class EventEmitter<Event extends string | symbol = string | symbol>
    {
        on(event: Event, fn: (...args: any[]) => void, context?: unknown): this;
        once(event: Event, fn: (...args: any[]) => void, context?: unknown): this;
        off(event: Event, fn?: (...args: any[]) => void, context?: unknown, once?: boolean): this;
        emit(event: Event, ...args: any[]): boolean;
        removeAllListeners(event?: Event): this;
    }
}
