import { EventHandler, EventName, Events, Arguments } from '@eggjs/eventbus-decorator';
import type { EggPrototype } from '@eggjs/tegg-types';
export declare class EventHandlerFactory {
    private handlerProtoMap;
    registerHandler(event: EventName, proto: EggPrototype): void;
    hasListeners(event: EventName): boolean;
    getHandlerProtos(event: EventName): Array<EggPrototype>;
    getHandler(proto: EggPrototype): Promise<EventHandler<keyof Events>>;
    getHandlers(event: EventName): Promise<Array<EventHandler<keyof Events>>>;
    handle(eventName: EventName, proto: EggPrototype, args: Arguments<any>): Promise<void>;
}
