import { IEventNames, ListenerType } from '../interface';
export default class TreeEventTarget {
    /** 事件 listeners */
    private listenersMap;
    on<T extends keyof IEventNames>(eventName: T, listener: ListenerType<T> | Array<ListenerType<T>>): void;
    off<T extends keyof IEventNames>(eventName: T, listener?: ListenerType<T>): void;
    emit<T extends keyof IEventNames>(eventName: T, ...args: Parameters<IEventNames[T]>): void;
    disposeListeners(): void;
}
//# sourceMappingURL=tree-event-target.d.ts.map