import type { SessionEventName } from "./pty-types.ts";
export type CoordinatorEventSource = "pty_manager" | "adapter_fast_path" | "session_ready_forward" | "hook" | "unknown";
export interface CoordinatorSessionSnapshot {
    id: string;
    type?: string;
    status?: string;
}
interface CoordinatorEventBase<TName extends SessionEventName> {
    sessionId: string;
    name: TName;
    source: CoordinatorEventSource;
    timestamp: number;
    rawData: unknown;
    session?: CoordinatorSessionSnapshot;
}
export interface CoordinatorReadyEvent extends CoordinatorEventBase<"ready"> {
}
export interface CoordinatorBlockedEvent extends CoordinatorEventBase<"blocked"> {
    promptText: string;
    promptType?: string;
    promptInfo?: Record<string, unknown>;
    autoResponded: boolean;
}
export interface CoordinatorLoginRequiredEvent extends CoordinatorEventBase<"login_required"> {
    instructions?: string;
    url?: string;
    deviceCode?: string;
    method?: string;
    promptSnippet?: string;
}
export interface CoordinatorTaskCompleteEvent extends CoordinatorEventBase<"task_complete"> {
    response: string;
}
export interface CoordinatorToolRunningEvent extends CoordinatorEventBase<"tool_running"> {
    toolName?: string;
    description?: string;
}
export interface CoordinatorStoppedEvent extends CoordinatorEventBase<"stopped"> {
    reason?: string;
}
export interface CoordinatorErrorEvent extends CoordinatorEventBase<"error"> {
    message: string;
}
export interface CoordinatorMessageEvent extends CoordinatorEventBase<"message"> {
    content?: string;
}
export type CoordinatorNormalizedEvent = CoordinatorReadyEvent | CoordinatorBlockedEvent | CoordinatorLoginRequiredEvent | CoordinatorTaskCompleteEvent | CoordinatorToolRunningEvent | CoordinatorStoppedEvent | CoordinatorErrorEvent | CoordinatorMessageEvent;
export declare function normalizeCoordinatorEvent(sessionId: string, event: string, data: unknown): CoordinatorNormalizedEvent | null;
export {};
//# sourceMappingURL=coordinator-event-normalizer.d.ts.map