export type DownstreamAuthority = 'plan_then_execute' | 'execute_now'; export interface PlanningGateState { downstream_authority: DownstreamAuthority; bypass_planning_gate_until?: string; objective_id?: string; } export interface PreToolUseGateInput { tool_name: string; tool_input?: string; } export interface PreToolUseGateDecision { allowed: boolean; reason?: string; gate_fired?: boolean; } export declare const PLANNING_GATE_BYPASS_TTL_MS: number; export declare const BYPASS_PLANNING_GATE_PHRASE = "bypass planning gate"; export declare function isImplementationToolCall(input: PreToolUseGateInput): boolean; export declare function isPlanningGateBypassActive(state: PlanningGateState, now?: Date): boolean; export declare function evaluatePreToolUseGate(toolInput: PreToolUseGateInput, gateState: PlanningGateState | null | undefined, planningComplete: boolean, now?: Date): PreToolUseGateDecision; export declare function computeBypassExpiry(now?: Date, ttlMs?: number): string; export declare function containsBypassPlanningGatePhrase(text: string): boolean; export declare function buildPlanningGateLogEvent(decision: PreToolUseGateDecision, toolInput: PreToolUseGateInput, gateState: PlanningGateState | null | undefined): Record; export declare const TRACKED_WORKFLOW_MODES: readonly ["autopilot", "autoresearch", "team", "ultragoal", "ralph", "ultrawork", "ultraqa", "ralplan", "deep-interview"]; export type TrackedWorkflowMode = (typeof TRACKED_WORKFLOW_MODES)[number]; export type WorkflowTransitionAction = 'activate' | 'start' | 'write'; export type WorkflowTransitionKind = 'allow' | 'overlap' | 'auto-complete' | 'deny'; export declare function buildWorkflowTransitionMessage(sourceMode: TrackedWorkflowMode, requestedMode: TrackedWorkflowMode): string; export interface WorkflowTransitionDecision { allowed: boolean; kind: WorkflowTransitionKind; currentModes: TrackedWorkflowMode[]; requestedMode: TrackedWorkflowMode; resultingModes: TrackedWorkflowMode[]; autoCompleteModes: TrackedWorkflowMode[]; transitionMessage?: string; denialReason?: 'rollback'; } export declare function isTrackedWorkflowMode(mode: string): mode is TrackedWorkflowMode; export declare function evaluateWorkflowTransition(currentActiveModes: Iterable, requestedMode: TrackedWorkflowMode): WorkflowTransitionDecision; export declare function buildWorkflowTransitionError(currentActiveModes: Iterable, requestedMode: TrackedWorkflowMode, action?: WorkflowTransitionAction): string; export declare function assertWorkflowTransitionAllowed(currentActiveModes: Iterable, requestedMode: TrackedWorkflowMode, action?: WorkflowTransitionAction): void; export declare function readActiveWorkflowModes(cwd: string, sessionId?: string): Promise; export declare function pickPrimaryWorkflowMode(currentPrimary: unknown, resultingModes: readonly string[], fallbackMode: string): string; //# sourceMappingURL=workflow-transition.d.ts.map