export type EventHandler<E = any> = (e: E) => void;
declare class EventEmitter<E = any> {
    private _events;
    constructor();
    private _getFns;
    on<T = E>(event: string, cb: EventHandler<T>): void;
    off(event: string, cb?: EventHandler<E>): void;
    once<T = E>(event: string, cb: EventHandler<T>): void;
    emit<T = E>(event: string, param?: T): void;
    invoke<T = E>(event: string, param?: T): Promise<any>;
}
export default EventEmitter;
