import { type ToolCliContext } from '@opensip-cli/core'; import type { createCapturingContext } from './capturing-context.js'; import type { ValidatedSuite, ValidatedSuiteStep } from './validate-suite.js'; import type { RunActionHooks } from '../../bootstrap/run-plane.js'; export interface RunStepInput { readonly suite: ValidatedSuite; readonly suiteRunId: string; readonly step: ValidatedSuiteStep; readonly ctx: ToolCliContext; readonly runActionHooks: RunActionHooks; readonly suiteOpts: Readonly>; readonly defaultChanged?: boolean; readonly fullScopeFiles?: readonly string[]; } export interface SuiteCompletionObservation { returnedEvidence: boolean; returnedEnvelope: boolean; returnedSession: boolean; } /** Execute one suite step headlessly while capturing every exit source. */ export declare function executeStep(input: { readonly args: RunStepInput; readonly opts: Readonly>; readonly capture: ReturnType; readonly hooks: RunActionHooks; }): Promise<{ readonly exitCode: number; readonly errorMessage?: string; readonly errorCode?: string; }>; /** Enforce the command's declared verdict/evidence capability after execution. */ export declare function assertStepCompletion(input: { readonly executed: Awaited>; readonly producesVerdict: boolean; readonly hasSession: boolean; readonly hasEnvelope: boolean; readonly evidenceStep: boolean; readonly evidenceCount: number; readonly capabilityMismatch: boolean; }): { readonly exitCode: number; readonly errorMessage?: string; readonly errorCode?: string; }; /** Narrow the privileged run hook to the capability declared by the suite step. */ export declare function capabilityBoundCompleteRun(step: ValidatedSuiteStep, base: RunActionHooks['completeRun'], observation: SuiteCompletionObservation): NonNullable; //# sourceMappingURL=suite-step-execution.d.ts.map