import type { AutopilotChatEventInterceptor } from './ChatModel';
export type EventHandler<T = any> = (data?: T) => void;
export declare class EventBus {
    private handlers;
    private interceptors;
    subscribe(event: string, handler: EventHandler): () => void;
    publish(event: string, data?: any): Promise<void>;
    intercept(event: string, interceptor: AutopilotChatEventInterceptor): () => void;
    clear(event?: string): void;
}
//# sourceMappingURL=EventBus.d.ts.map