import type { AbortRegistry } from "../runtime/abort-registry.js"; import { type ActionPlan } from "../../../domain/sentinel/action/action-plan.js"; import { type PolicyDecision } from "../policy-gate/gate.js"; import { type StepHandlerResult } from "./step-handlers.js"; import type { VerificationReport } from "../verifier/verifier.js"; export interface ExecuteRequest { readonly workspaceRoot: string; readonly actionId: string; readonly executionEnabled?: boolean; readonly abortRegistry?: AbortRegistry; } export type ExecuteOutcomeStatus = "completed" | "failed" | "rejected" | "verifying"; export interface ExecuteOutcome { readonly status: ExecuteOutcomeStatus; readonly action: ActionPlan; readonly decision: PolicyDecision; readonly stepResults: readonly StepHandlerResult[]; readonly verification: VerificationReport | null; readonly worktreePath: string; readonly branch: string | null; readonly diff: string; readonly summary: string; } export declare class ActionRunRefusedError extends Error { readonly decision: PolicyDecision; constructor(decision: PolicyDecision); } export declare class ActionNotFoundError extends Error { readonly actionId: string; constructor(actionId: string); } export declare class SafeExecutor { private readonly executionEnabled; constructor(executionEnabled?: boolean); run(request: ExecuteRequest): Promise; private buildBlockedOutcome; } export declare function discardWorktree(workspaceRoot: string, actionId: string, branch?: string): Promise; //# sourceMappingURL=executor.d.ts.map