/**
 * 简易浏览器端使用的 EventEmitter
 */
export declare class EventEmitter {
    private listeners;
    private anyHandler;
    /**
     * 监听事件
     * @param event 事件名称
     * @param cb 回调函数
     * @returns
     */
    on(event: string, cb: Function): this;
    /**
     * 监听全部事件。
     * 此回调只能设置一个，设置后，其他通过 on 函数设置的监听器无效。
     * @returns
     */
    any(cb: (event: string, args: any[]) => any): this;
    /**
     * 触发事件
     * @param event 事件名称
     * @param a 事件参数
     * @returns
     */
    emit(event: string, ...a: any[]): this;
    /**
     * 触发异步事件，并获取返回值
     * @param event 事件名称
     * @param a 事件参数
     * @returns 如果有多个事件监听器，则返回包含所有事件监听器返回值的数组。如果只有一个事件监听器，返回此监听器返回值。
     */
    emitAsync(event: string, ...a: any[]): Promise<any>;
    /**
     * 取消监听事件
     * @param event 事件名称
     * @param listener 监听器，如果为空，则移除全部监听器
     */
    off(event: string, listener?: Function | undefined): void;
    /**
     * 监听一次事件
     * @param event 事件名
     * @param listener 监听器
     * @returns
     */
    once(event: string, listener: Function): this;
    /**
     * 清除指定事件监听器
     * @param event 事件名
     */
    clear(event: string): void;
    /**
     * 获取事件监听器
     * @param event
     * @returns
     */
    get(event: string): Function[] | undefined;
}
