export type SubagentEventType = 'start' | 'thinking' | 'tool_call' | 'tool_done' | 'log' | 'progress' | 'finished' | 'error' | 'cancelled';
export interface SubagentEvent {
    id: string;
    subagent_id: string;
    type: SubagentEventType;
    message: string;
    data?: Record<string, unknown>;
    timestamp: string;
}
declare class SubagentEventBus {
    private emitter;
    private buffers;
    private readonly BUFFER_CAP;
    constructor();
    emit(subagentId: string, type: SubagentEventType, message: string, data?: Record<string, unknown>): SubagentEvent;
    on(subagentId: string, listener: (ev: SubagentEvent) => void): () => void;
    onAll(listener: (ev: SubagentEvent) => void): () => void;
    history(subagentId: string): SubagentEvent[];
    private persist;
}
export declare const subagentEvents: SubagentEventBus;
export {};
//# sourceMappingURL=events.d.ts.map