/**
 * @fileoverview Centralized SSE event type registry — single source of truth.
 *
 * All Server-Sent Event type strings used by the backend (`broadcast()` calls)
 * and referenced by the frontend (`SSE_EVENTS` in `constants.js`).
 * Both files MUST be kept in sync.
 *
 * 120 event constants organized by category:
 * - **Core** (1): init
 * - **Session lifecycle** (17): created, updated, deleted, terminal, idle, working, ...
 * - **Session: Ralph** (6): ralphLoopUpdate, todoUpdate, completionDetected, ...
 * - **Session: Bash tools** (3): bashToolStart, bashToolEnd, bashToolsUpdate
 * - **Session: Plan** (4): planTaskUpdate, planCheckpoint, planRollback, planTaskAdded
 * - **Tasks** (4): created, completed, failed, updated
 * - **Mux** (4): created, killed, died, statsUpdated
 * - **Respawn** (24): stateChanged, cycleStarted/Completed, step*, aiCheck*, planCheck*, timer*, log, ...
 * - **Subagents** (7): discovered, updated, tool_call, tool_result, progress, message, completed
 * - **Scheduled** (6): created, updated, completed, stopped, log, deleted
 * - **Teams** (4): created, updated, removed, taskUpdated
 * - **Transcript** (4): complete, plan_mode, tool_start, tool_end
 * - **Plan orchestration** (5): started, progress, subagent, completed, cancelled
 * - **Tunnel** (7): started, stopped, progress, error, qrRotated, qrRegenerated, qrAuthUsed
 * - **Image** (1): detected
 * - **Hooks** (6): idle_prompt, permission_prompt, elicitation_dialog, stop, teammate_idle, task_completed
 * - **Orchestrator** (12): stateChanged, planProgress, planReady, phase*, verification, task*, completed, error
 * - **Clipboard** (1): write
 * - **Cases** (4): created, linked, deleted, order-changed
 *
 * Naming convention: `domain:action` (e.g., `session:created`, `respawn:stateChanged`)
 *
 * Key export: `SseEvent` namespace object — import for destructured access.
 *
 * Usage:
 *   import { SseEvent } from './sse-events.js';
 *   ctx.broadcast(SseEvent.SessionCreated, { id: session.id });
 *
 * When adding a new event:
 * 1. Add the constant here with JSDoc
 * 2. Add the matching entry in `src/web/public/constants.js` SSE_EVENTS object
 * 3. Add the frontend listener in the appropriate `addListener()` call
 */
/** Sent to each SSE client on initial connection with full app state. */
export declare const Init: "init";
/** New session spawned. */
export declare const SessionCreated: "session:created";
/** Session state changed (status, config, tokens, etc.). */
export declare const SessionUpdated: "session:updated";
/** Session permanently removed. */
export declare const SessionDeleted: "session:deleted";
/** Raw PTY terminal output chunk. */
export declare const SessionTerminal: "session:terminal";
/** Client should re-fetch the full terminal buffer (e.g. after reconnect). */
export declare const SessionNeedsRefresh: "session:needsRefresh";
/** Terminal buffer cleared (e.g. /clear command). */
export declare const SessionClearTerminal: "session:clearTerminal";
/** Claude finished a prompt — includes result and cost. */
export declare const SessionCompletion: "session:completion";
/** Session-level error. */
export declare const SessionError: "session:error";
/** Claude CLI process exited. */
export declare const SessionExit: "session:exit";
/** Session transitioned to idle (waiting for input). */
export declare const SessionIdle: "session:idle";
/** Session transitioned to working (Claude is processing). */
export declare const SessionWorking: "session:working";
/** Auto-clear triggered for the session. */
export declare const SessionAutoClear: "session:autoClear";
/** Auto-compact triggered for the session. */
export declare const SessionAutoCompact: "session:autoCompact";
/** Usage-limit pause detected; auto-resume scheduled. */
export declare const SessionLimitPauseScheduled: "session:limitPauseScheduled";
/** Auto-resume prompt sent after a usage-limit reset. */
export declare const SessionLimitResume: "session:limitResume";
/** Pending usage-limit auto-resume cancelled (session resumed or feature disabled). */
export declare const SessionLimitResumeCancelled: "session:limitResumeCancelled";
/** CLI version/model info detected from session output. */
export declare const SessionCliInfo: "session:cliInfo";
/** General session message (e.g. status text). */
export declare const SessionMessage: "session:message";
/** Session entered interactive mode (claude or shell). */
export declare const SessionInteractive: "session:interactive";
/** Prompt sent to session for execution. */
export declare const SessionRunning: "session:running";
/** Ralph loop state changed (enabled/disabled, iteration count). */
export declare const SessionRalphLoopUpdate: "session:ralphLoopUpdate";
/** Ralph todo items updated. */
export declare const SessionRalphTodoUpdate: "session:ralphTodoUpdate";
/** Ralph completion phrase detected in output. */
export declare const SessionRalphCompletionDetected: "session:ralphCompletionDetected";
/** Ralph status block parsed from output. */
export declare const SessionRalphStatusUpdate: "session:ralphStatusUpdate";
/** Circuit breaker state changed (CLOSED/HALF_OPEN/OPEN). */
export declare const SessionCircuitBreakerUpdate: "session:circuitBreakerUpdate";
/** Exit gate condition met (e.g. completion phrase found). */
export declare const SessionExitGateMet: "session:exitGateMet";
/** Bash tool invocation started. */
export declare const SessionBashToolStart: "session:bashToolStart";
/** Bash tool invocation completed. */
export declare const SessionBashToolEnd: "session:bashToolEnd";
/** Active bash tools list changed. */
export declare const SessionBashToolsUpdate: "session:bashToolsUpdate";
/** Plan task status updated. */
export declare const SessionPlanTaskUpdate: "session:planTaskUpdate";
/** Plan checkpoint created. */
export declare const SessionPlanCheckpoint: "session:planCheckpoint";
/** Plan rolled back to a previous version. */
export declare const SessionPlanRollback: "session:planRollback";
/** New task added to plan. */
export declare const SessionPlanTaskAdded: "session:planTaskAdded";
/** Background task created. */
export declare const TaskCreated: "task:created";
/** Background task completed successfully. */
export declare const TaskCompleted: "task:completed";
/** Background task failed. */
export declare const TaskFailed: "task:failed";
/** Background task state updated. */
export declare const TaskUpdated: "task:updated";
/** tmux session created. */
export declare const MuxCreated: "mux:created";
/** tmux session killed. */
export declare const MuxKilled: "mux:killed";
/** tmux session died unexpectedly. */
export declare const MuxDied: "mux:died";
/** tmux session stats refreshed. */
export declare const MuxStatsUpdated: "mux:statsUpdated";
/** Respawn loop started for a session. */
export declare const RespawnStarted: "respawn:started";
/** Respawn loop stopped. */
export declare const RespawnStopped: "respawn:stopped";
/** Respawn state machine transitioned. */
export declare const RespawnStateChanged: "respawn:stateChanged";
/** New respawn cycle started. */
export declare const RespawnCycleStarted: "respawn:cycleStarted";
/** Respawn cycle completed. */
export declare const RespawnCycleCompleted: "respawn:cycleCompleted";
/** Respawn blocked (e.g. by circuit breaker or active teammates). */
export declare const RespawnBlocked: "respawn:blocked";
/** Respawn step sent to session (update prompt, clear, kickstart). */
export declare const RespawnStepSent: "respawn:stepSent";
/** Respawn step completed. */
export declare const RespawnStepCompleted: "respawn:stepCompleted";
/** Idle/completion detection status updated. */
export declare const RespawnDetectionUpdate: "respawn:detectionUpdate";
/** Auto-accept sent for permission prompt. */
export declare const RespawnAutoAcceptSent: "respawn:autoAcceptSent";
/** AI idle check started. */
export declare const RespawnAiCheckStarted: "respawn:aiCheckStarted";
/** AI idle check completed with result. */
export declare const RespawnAiCheckCompleted: "respawn:aiCheckCompleted";
/** AI idle check failed. */
export declare const RespawnAiCheckFailed: "respawn:aiCheckFailed";
/** AI check cooldown state changed. */
export declare const RespawnAiCheckCooldown: "respawn:aiCheckCooldown";
/** Plan completion check started. */
export declare const RespawnPlanCheckStarted: "respawn:planCheckStarted";
/** Plan completion check completed with result. */
export declare const RespawnPlanCheckCompleted: "respawn:planCheckCompleted";
/** Plan completion check failed. */
export declare const RespawnPlanCheckFailed: "respawn:planCheckFailed";
/** Respawn timer started (idle, duration, etc.). */
export declare const RespawnTimerStarted: "respawn:timerStarted";
/** Respawn timer cancelled. */
export declare const RespawnTimerCancelled: "respawn:timerCancelled";
/** Respawn timer completed. */
export declare const RespawnTimerCompleted: "respawn:timerCompleted";
/** Respawn action logged (for monitor UI). */
export declare const RespawnActionLog: "respawn:actionLog";
/** Respawn debug log message. */
export declare const RespawnLog: "respawn:log";
/** Respawn error occurred. */
export declare const RespawnError: "respawn:error";
/** Respawn configuration updated. */
export declare const RespawnConfigUpdated: "respawn:configUpdated";
/** New subagent (background agent) discovered. */
export declare const SubagentDiscovered: "subagent:discovered";
/** Subagent state updated. */
export declare const SubagentUpdated: "subagent:updated";
/** Subagent tool call detected. */
export declare const SubagentToolCall: "subagent:tool_call";
/** Subagent tool result received. */
export declare const SubagentToolResult: "subagent:tool_result";
/** Subagent progress update. */
export declare const SubagentProgress: "subagent:progress";
/** Subagent message (assistant text). */
export declare const SubagentMessage: "subagent:message";
/** Subagent finished. */
export declare const SubagentCompleted: "subagent:completed";
/** Scheduled run created. */
export declare const ScheduledCreated: "scheduled:created";
/** Scheduled run state updated. */
export declare const ScheduledUpdated: "scheduled:updated";
/** Scheduled run completed. */
export declare const ScheduledCompleted: "scheduled:completed";
/** Scheduled run stopped. */
export declare const ScheduledStopped: "scheduled:stopped";
/** Scheduled run log entry added. */
export declare const ScheduledLog: "scheduled:log";
/** Scheduled run deleted. */
export declare const ScheduledDeleted: "scheduled:deleted";
/** Agent team created. */
export declare const TeamCreated: "team:created";
/** Agent team config updated (e.g. new member joined). */
export declare const TeamUpdated: "team:updated";
/** Agent team removed. */
export declare const TeamRemoved: "team:removed";
/** Agent team task updated. */
export declare const TeamTaskUpdated: "team:taskUpdated";
/** Transcript complete event detected. */
export declare const TranscriptComplete: "transcript:complete";
/** Plan mode detected in transcript. */
export declare const TranscriptPlanMode: "transcript:plan_mode";
/** Tool invocation started in transcript. */
export declare const TranscriptToolStart: "transcript:tool_start";
/** Tool invocation ended in transcript. */
export declare const TranscriptToolEnd: "transcript:tool_end";
/** Plan generation started. */
export declare const PlanStarted: "plan:started";
/** Plan generation progress update. */
export declare const PlanProgress: "plan:progress";
/** Plan subagent event (research or planner agent). */
export declare const PlanSubagent: "plan:subagent";
/** Plan generation completed. */
export declare const PlanCompleted: "plan:completed";
/** Plan generation cancelled. */
export declare const PlanCancelled: "plan:cancelled";
/** Cloudflare tunnel started. */
export declare const TunnelStarted: "tunnel:started";
/** Cloudflare tunnel stopped. */
export declare const TunnelStopped: "tunnel:stopped";
/** Tunnel startup progress. */
export declare const TunnelProgress: "tunnel:progress";
/** Tunnel error. */
export declare const TunnelError: "tunnel:error";
/** QR code rotated (new token generated). */
export declare const TunnelQrRotated: "tunnel:qrRotated";
/** QR code force-regenerated. */
export declare const TunnelQrRegenerated: "tunnel:qrRegenerated";
/** QR auth token consumed by a client. */
export declare const TunnelQrAuthUsed: "tunnel:qrAuthUsed";
/** New image file detected (e.g. screenshot upload). */
export declare const ImageDetected: "image:detected";
/** New document/image attachment detected in a session working directory. */
export declare const AttachmentDetected: "attachment:detected";
/** Claude Code hook: session idle, waiting for input. */
export declare const HookIdlePrompt: "hook:idle_prompt";
/** Claude Code hook: tool requesting permission. */
export declare const HookPermissionPrompt: "hook:permission_prompt";
/** Claude Code hook: elicitation dialog (Claude asking a question). */
export declare const HookElicitationDialog: "hook:elicitation_dialog";
/** Claude Code hook: response complete. */
export declare const HookStop: "hook:stop";
/** Claude Code hook: teammate went idle. */
export declare const HookTeammateIdle: "hook:teammate_idle";
/** Claude Code hook: teammate task completed. */
export declare const HookTaskCompleted: "hook:task_completed";
/** Orchestrator state machine transitioned. */
export declare const OrchestratorStateChanged: "orchestrator:stateChanged";
/** Orchestrator plan generation progress update. */
export declare const OrchestratorPlanProgress: "orchestrator:planProgress";
/** Orchestrator plan generated and ready for approval. */
export declare const OrchestratorPlanReady: "orchestrator:planReady";
/** Orchestrator phase started executing. */
export declare const OrchestratorPhaseStarted: "orchestrator:phaseStarted";
/** Orchestrator phase completed successfully. */
export declare const OrchestratorPhaseCompleted: "orchestrator:phaseCompleted";
/** Orchestrator phase failed. */
export declare const OrchestratorPhaseFailed: "orchestrator:phaseFailed";
/** Orchestrator verification result for a phase. */
export declare const OrchestratorVerification: "orchestrator:verification";
/** Orchestrator task assigned to session. */
export declare const OrchestratorTaskAssigned: "orchestrator:taskAssigned";
/** Orchestrator task completed. */
export declare const OrchestratorTaskCompleted: "orchestrator:taskCompleted";
/** Orchestrator task failed. */
export declare const OrchestratorTaskFailed: "orchestrator:taskFailed";
/** All orchestrator phases completed successfully. */
export declare const OrchestratorCompleted: "orchestrator:completed";
/** Orchestrator error. */
export declare const OrchestratorError: "orchestrator:error";
/** Clipboard content pushed to browser. */
export declare const ClipboardWrite: "clipboard:write";
/** New case directory created. */
export declare const CaseCreated: "case:created";
/** Existing directory linked as a case. */
export declare const CaseLinked: "case:linked";
/** Case deleted or unlinked. */
export declare const CaseDeleted: "case:deleted";
/** Case ordering changed. */
export declare const CaseOrderChanged: "case:order-changed";
/**
 * All SSE event types as a namespace object.
 * Convenient for destructured imports or passing as a group.
 */
export declare const SseEvent: {
    readonly Init: "init";
    readonly SessionCreated: "session:created";
    readonly SessionUpdated: "session:updated";
    readonly SessionDeleted: "session:deleted";
    readonly SessionTerminal: "session:terminal";
    readonly SessionNeedsRefresh: "session:needsRefresh";
    readonly SessionClearTerminal: "session:clearTerminal";
    readonly SessionCompletion: "session:completion";
    readonly SessionError: "session:error";
    readonly SessionExit: "session:exit";
    readonly SessionIdle: "session:idle";
    readonly SessionWorking: "session:working";
    readonly SessionAutoClear: "session:autoClear";
    readonly SessionAutoCompact: "session:autoCompact";
    readonly SessionLimitPauseScheduled: "session:limitPauseScheduled";
    readonly SessionLimitResume: "session:limitResume";
    readonly SessionLimitResumeCancelled: "session:limitResumeCancelled";
    readonly SessionCliInfo: "session:cliInfo";
    readonly SessionMessage: "session:message";
    readonly SessionInteractive: "session:interactive";
    readonly SessionRunning: "session:running";
    readonly SessionRalphLoopUpdate: "session:ralphLoopUpdate";
    readonly SessionRalphTodoUpdate: "session:ralphTodoUpdate";
    readonly SessionRalphCompletionDetected: "session:ralphCompletionDetected";
    readonly SessionRalphStatusUpdate: "session:ralphStatusUpdate";
    readonly SessionCircuitBreakerUpdate: "session:circuitBreakerUpdate";
    readonly SessionExitGateMet: "session:exitGateMet";
    readonly SessionBashToolStart: "session:bashToolStart";
    readonly SessionBashToolEnd: "session:bashToolEnd";
    readonly SessionBashToolsUpdate: "session:bashToolsUpdate";
    readonly SessionPlanTaskUpdate: "session:planTaskUpdate";
    readonly SessionPlanCheckpoint: "session:planCheckpoint";
    readonly SessionPlanRollback: "session:planRollback";
    readonly SessionPlanTaskAdded: "session:planTaskAdded";
    readonly TaskCreated: "task:created";
    readonly TaskCompleted: "task:completed";
    readonly TaskFailed: "task:failed";
    readonly TaskUpdated: "task:updated";
    readonly MuxCreated: "mux:created";
    readonly MuxKilled: "mux:killed";
    readonly MuxDied: "mux:died";
    readonly MuxStatsUpdated: "mux:statsUpdated";
    readonly RespawnStarted: "respawn:started";
    readonly RespawnStopped: "respawn:stopped";
    readonly RespawnStateChanged: "respawn:stateChanged";
    readonly RespawnCycleStarted: "respawn:cycleStarted";
    readonly RespawnCycleCompleted: "respawn:cycleCompleted";
    readonly RespawnBlocked: "respawn:blocked";
    readonly RespawnStepSent: "respawn:stepSent";
    readonly RespawnStepCompleted: "respawn:stepCompleted";
    readonly RespawnDetectionUpdate: "respawn:detectionUpdate";
    readonly RespawnAutoAcceptSent: "respawn:autoAcceptSent";
    readonly RespawnAiCheckStarted: "respawn:aiCheckStarted";
    readonly RespawnAiCheckCompleted: "respawn:aiCheckCompleted";
    readonly RespawnAiCheckFailed: "respawn:aiCheckFailed";
    readonly RespawnAiCheckCooldown: "respawn:aiCheckCooldown";
    readonly RespawnPlanCheckStarted: "respawn:planCheckStarted";
    readonly RespawnPlanCheckCompleted: "respawn:planCheckCompleted";
    readonly RespawnPlanCheckFailed: "respawn:planCheckFailed";
    readonly RespawnTimerStarted: "respawn:timerStarted";
    readonly RespawnTimerCancelled: "respawn:timerCancelled";
    readonly RespawnTimerCompleted: "respawn:timerCompleted";
    readonly RespawnActionLog: "respawn:actionLog";
    readonly RespawnLog: "respawn:log";
    readonly RespawnError: "respawn:error";
    readonly RespawnConfigUpdated: "respawn:configUpdated";
    readonly SubagentDiscovered: "subagent:discovered";
    readonly SubagentUpdated: "subagent:updated";
    readonly SubagentToolCall: "subagent:tool_call";
    readonly SubagentToolResult: "subagent:tool_result";
    readonly SubagentProgress: "subagent:progress";
    readonly SubagentMessage: "subagent:message";
    readonly SubagentCompleted: "subagent:completed";
    readonly ScheduledCreated: "scheduled:created";
    readonly ScheduledUpdated: "scheduled:updated";
    readonly ScheduledCompleted: "scheduled:completed";
    readonly ScheduledStopped: "scheduled:stopped";
    readonly ScheduledLog: "scheduled:log";
    readonly ScheduledDeleted: "scheduled:deleted";
    readonly TeamCreated: "team:created";
    readonly TeamUpdated: "team:updated";
    readonly TeamRemoved: "team:removed";
    readonly TeamTaskUpdated: "team:taskUpdated";
    readonly TranscriptComplete: "transcript:complete";
    readonly TranscriptPlanMode: "transcript:plan_mode";
    readonly TranscriptToolStart: "transcript:tool_start";
    readonly TranscriptToolEnd: "transcript:tool_end";
    readonly PlanStarted: "plan:started";
    readonly PlanProgress: "plan:progress";
    readonly PlanSubagent: "plan:subagent";
    readonly PlanCompleted: "plan:completed";
    readonly PlanCancelled: "plan:cancelled";
    readonly TunnelStarted: "tunnel:started";
    readonly TunnelStopped: "tunnel:stopped";
    readonly TunnelProgress: "tunnel:progress";
    readonly TunnelError: "tunnel:error";
    readonly TunnelQrRotated: "tunnel:qrRotated";
    readonly TunnelQrRegenerated: "tunnel:qrRegenerated";
    readonly TunnelQrAuthUsed: "tunnel:qrAuthUsed";
    readonly ImageDetected: "image:detected";
    readonly AttachmentDetected: "attachment:detected";
    readonly HookIdlePrompt: "hook:idle_prompt";
    readonly HookPermissionPrompt: "hook:permission_prompt";
    readonly HookElicitationDialog: "hook:elicitation_dialog";
    readonly HookStop: "hook:stop";
    readonly HookTeammateIdle: "hook:teammate_idle";
    readonly HookTaskCompleted: "hook:task_completed";
    readonly OrchestratorStateChanged: "orchestrator:stateChanged";
    readonly OrchestratorPlanProgress: "orchestrator:planProgress";
    readonly OrchestratorPlanReady: "orchestrator:planReady";
    readonly OrchestratorPhaseStarted: "orchestrator:phaseStarted";
    readonly OrchestratorPhaseCompleted: "orchestrator:phaseCompleted";
    readonly OrchestratorPhaseFailed: "orchestrator:phaseFailed";
    readonly OrchestratorVerification: "orchestrator:verification";
    readonly OrchestratorTaskAssigned: "orchestrator:taskAssigned";
    readonly OrchestratorTaskCompleted: "orchestrator:taskCompleted";
    readonly OrchestratorTaskFailed: "orchestrator:taskFailed";
    readonly OrchestratorCompleted: "orchestrator:completed";
    readonly OrchestratorError: "orchestrator:error";
    readonly ClipboardWrite: "clipboard:write";
    readonly CaseCreated: "case:created";
    readonly CaseLinked: "case:linked";
    readonly CaseDeleted: "case:deleted";
    readonly CaseOrderChanged: "case:order-changed";
};
//# sourceMappingURL=sse-events.d.ts.map