export declare type EventListener = (...args: Array<any>) => any;
export declare class EventEmitter {
    private readonly _events;
    /**
     * 监听事件
     * @param eventName 事件名
     * @param listener 监听器
     */
    on(eventName: string, listener: EventListener): void;
    /**
     * 取消监听事件
     * @param eventName 事件名
     * @param listener 监听器
     */
    off(eventName: string, listener: EventListener): void;
    /**
     * 只监听一次事件
     * @param eventName 事件名
     * @param listener 监听器
     */
    once(eventName: string, listener: EventListener): void;
    /**
     * 触发事件
     * @param eventName 事件名
     * @param args 事件参数
     */
    emit(eventName: string, ...args: Array<any>): void;
}
export default EventEmitter;
