import { IEventHandler } from "./interfaces/IEventHandler";
import { DeviceEvent } from "./interfaces/DeviceEvent";
export declare class EventHandlerOrchestrator {
    private handlers;
    private readonly logger;
    constructor();
    /**
     * Register a handler with the orchestrator
     */
    registerHandler(handler: IEventHandler): void;
    /**
     * Register multiple handlers
     */
    registerHandlers(handlers: IEventHandler[]): void;
    /**
     * Process a single event through the handler hierarchy
     */
    processEvent(event: DeviceEvent): Promise<void>;
    /**
     * Process multiple events
     */
    processEvents(events: DeviceEvent[]): Promise<void>;
    /**
     * Get all registered handlers
     */
    getHandlers(): IEventHandler[];
    /**
     * Get handlers that can handle a specific event type
     */
    getHandlersForEventType(eventType: string): IEventHandler[];
    /**
     * Clear all registered handlers
     */
    clearHandlers(): void;
}
