import type { Router } from "../router.js"; type JsonRecord = Record; type AutoContinueRunRecord = Record & { activeRunId?: string | null; stopReason?: string | null; status?: string; stopRequested?: boolean; updatedAt?: string; }; type NextUpQueue = { items: Array<{ initiativeId: string; workstreamId: string; queueState: "queued" | "running" | "blocked" | "idle"; runnerAgentId?: string | null; runnerAgentName?: string | null; runnerSource?: string | null; initiativeTitle?: string | null; workstreamTitle?: string | null; nextTaskId?: string | null; nextTaskTitle?: string | null; sliceScope?: "task" | "milestone" | "workstream" | null; sliceTaskIds?: string[]; sliceTaskCount?: number | null; sliceMilestoneId?: string | null; canStartNow?: boolean; startReasonCode?: string | null; startReasonLabel?: string | null; dispatchableTask?: { id: string; title: string; scope: "task" | "milestone" | "workstream"; milestoneId?: string | null; } | null; executionPolicy?: { domain?: string; requiredSkills?: string[]; profile?: string | null; sliceScopePreference?: "adaptive" | "task" | "milestone" | "workstream" | null; maxSliceTasks?: number | null; maxParallelAgents?: number | null; dependencyMode?: "strict" | "relaxed" | null; } | null; autoContinue?: { status?: string | null; stopReason?: string | null; } | null; }>; degraded: string[]; }; type RegisterMissionControlActionsRoutesDeps = { parseJsonRequest: (req: TReq) => Promise; pickString: (input: Record, keys: string[]) => string | null; pickNumber: (input: Record, keys: string[]) => number | null; parseBooleanQuery: (value: string | null) => boolean | null; pickStringArray: (input: Record, keys: string[]) => string[]; dedupeStrings: (values: string[]) => string[]; resolveAgentDisplayName: (agentId: string, fallbackName: string | null) => Promise; buildNextUpQueue: (input: { initiativeId?: string | null; }) => Promise; startAutoContinueRun: (input: any) => Promise; autoContinueRuns: Map; autoContinueSliceRuns: Map; dispatchFallbackWorkstreamTurn: (input: any) => Promise<{ sessionId: string | null; pid: number | null; blockedReason: string | null; retryable: boolean; executionPolicy: { domain: string; requiredSkills: string[]; }; spawnGuardResult: unknown | null; }>; tickAutoContinueRun: (run: any) => Promise; stopAutoContinueRun: (input: any) => Promise; skipCurrentWorkstream: (initiativeId: string, workstreamId: string, reason?: string) => Promise<{ ok: boolean; skippedWorkstreamId: string; nextWorkstreamId?: string; nextWorkstreamTitle?: string; }>; updateInitiativeAutoContinueState: (input: any) => Promise; tickAllAutoContinue: () => Promise; scheduleAutoFixForWorkstream: (input: { initiativeId: string; workstreamId: string; runId?: string | null; event?: string | null; requestedByAgentId?: string | null; requestedByAgentName?: string | null; graceMs?: number | null; }) => Promise<{ requestId: string; initiativeId: string; workstreamId: string; runId: string | null; sourceEvent: string | null; graceMs: number; scheduledAt: string; dueAt: string; }>; upsertNextUpQueuePin: (input: { initiativeId: string; workstreamId: string; preferredTaskId: string | null; preferredMilestoneId: string | null; }) => { pins: unknown[]; updatedAt: string; }; removeNextUpQueuePin: (input: { initiativeId: string; workstreamId: string; }) => { pins: unknown[]; updatedAt: string; }; suppressNextUpQueueItem: (input: { initiativeId: string; workstreamId: string; }) => { suppressions: unknown[]; updatedAt: string; }; setNextUpQueuePinOrder: (input: { order: Array<{ initiativeId: string; workstreamId: string; }>; }) => { pins: unknown[]; updatedAt: string; }; clearNextUpQueueCache: (initiativeId?: string | null) => void; resolveAutoAssignments: (input: any) => Promise; buildMissionControlGraph: (initiativeId: string) => Promise; applyLocalInitiativeOverrideToGraph: (graph: unknown) => unknown; client: any; rawRequest?: (requestMethod: "GET" | "POST" | "PATCH" | "PUT" | "DELETE", requestPath: string, body?: unknown) => Promise; sendJson: (res: TRes, status: number, payload: unknown) => void; safeErrorMessage: (err: unknown) => string; }; export declare function registerMissionControlActionsRoutes(router: Router, TReq, TRes>, deps: RegisterMissionControlActionsRoutesDeps): void; export {};