import { EventMap } from '../core/EventEmitter';
export interface IEventEmitter {
    on<K extends keyof EventMap>(event: K, callback: (data: EventMap[K]) => void): () => void;
    once<K extends keyof EventMap>(event: K, callback: (data: EventMap[K]) => void): void;
    emit<K extends keyof EventMap>(event: K, data: EventMap[K]): void;
    removeAllListeners<K extends keyof EventMap>(event: K): void;
    listenerCount<K extends keyof EventMap>(event: K): number;
}
