export interface Callback {
    (error: any): void;
}
export interface EventListener {
    (...args: any[]): void;
}
export interface EventEmitterOn<Event extends string> {
    on(event: Event | 'error', listener: EventListener): void;
}
export interface EventEmitterOff<Event extends string> {
    off(event: Event | 'error', listener: EventListener): void;
}
export interface EventEmitterAddListener<Event extends string> {
    addListener(event: Event | 'error', listener: EventListener): void;
}
export interface EventEmitterRemoveListener<Event extends string> {
    removeListener(event: Event | 'error', listener: EventListener): void;
}
export declare type EventEmitter<Event extends string> = (EventEmitterOn<Event> | EventEmitterAddListener<Event>) & (EventEmitterOff<Event> | EventEmitterRemoveListener<Event>);
