import { ProviderStreamEvent, AgentDefinition } from '../types/types.js';
export type EventHandler = (event: ProviderStreamEvent) => void | Promise<void>;
export interface EventController {
    setEventHandler(handler: EventHandler | null): void;
    getEventHandler(): EventHandler | null;
    emit(event: ProviderStreamEvent): Promise<void>;
    hasEventHandler(): boolean;
}
export declare function getEventController(): EventController;
export declare function setEventHandler(handler: EventHandler | null): void;
export declare function emitEvent(event: ProviderStreamEvent, agent?: AgentDefinition, model?: string): Promise<void>;
export declare function hasEventHandler(): boolean;
//# sourceMappingURL=event_controller.d.ts.map