import { EventHandler, SubscriberDefinition } from '../types';
export declare class EventSubscriberRegistry {
    private readonly subscribers;
    /**
     * Register a subscriber for an event
     */
    registerHandler(definition: SubscriberDefinition): void;
    /**
     * Ergonomic registration for module services.
     */
    subscribe(eventName: string, consumerName: string, handler: EventHandler, priority?: number): void;
    /**
     * Register multiple handlers in one call.
     */
    subscribeMany(definitions: SubscriberDefinition[]): void;
    /**
     * Get all handlers for an event, sorted by priority
     */
    getHandlers(eventName: string): SubscriberDefinition[];
    /**
     * Check if event has any handlers
     */
    hasHandlers(eventName: string): boolean;
    /**
     * Get all registered event names
     */
    getEventNames(): string[];
    /**
     * Get total count of all registered handlers
     */
    getHandlerCount(): number;
    /**
     * Clear all handlers (useful for testing)
     */
    clear(): void;
}
//# sourceMappingURL=event-subscriber.registry.d.ts.map