import type { InteractiveModeContext } from "../../modes/types";
import type { AgentSessionEvent } from "../../session/agent-session";
export declare class EventController {
    #private;
    private ctx;
    constructor(ctx: InteractiveModeContext);
    dispose(): void;
    subscribeToAgent(): void;
    /**
     * Clear every transcript-anchored/turn-scoped piece of state. Used by the
     * session focus proxy when re-pointing the transcript at another session:
     * components, timers, and stream-reveal state all reference the previous
     * session's transcript and must not bleed into the new one.
     */
    resetTranscriptAnchors(): void;
    handleEvent(event: AgentSessionEvent): Promise<void>;
    sendCompletionNotification(): void;
}
