import type { PolicyEvaluation, PolicyRequestSummary, PolicyVerdict } from "../policy/index.js"; export declare const WORKFLOW_APPROVAL_SCHEMA_VERSION: 1; export type WorkflowApprovalStatus = "pending" | "approved" | "denied"; export interface WorkflowApprovalRequest { schema_version: typeof WORKFLOW_APPROVAL_SCHEMA_VERSION; id: string; run_id: string; decision_id: string; requested_at: string; addressed_to: string; policy: { name: string; sha256: string; }; initial_verdict: Extract; request: PolicyRequestSummary; evaluation: PolicyEvaluation; request_sha256: string; } export interface WorkflowApprovalDecision { schema_version: typeof WORKFLOW_APPROVAL_SCHEMA_VERSION; approval_id: string; run_id: string; verdict: "allow" | "deny"; actor: string; reason?: string; decided_at: string; } export interface WorkflowApproval { request: WorkflowApprovalRequest; decision?: WorkflowApprovalDecision; status: WorkflowApprovalStatus; } export interface CreateWorkflowApprovalInput { coordRoot: string; runId: string; decisionId: string; addressedTo?: string; policy: { name: string; sha256: string; }; request: PolicyRequestSummary; evaluation: PolicyEvaluation; now?: () => string; } export interface ResolveWorkflowApprovalInput { coordRoot: string; approvalId: string; verdict: "allow" | "deny"; actor: string; reason?: string; now?: () => string; } export declare function workflowApprovalId(runId: string, decisionId: string): string; export declare function createWorkflowApproval(input: CreateWorkflowApprovalInput): { approval: WorkflowApproval; created: boolean; }; export declare function resolveWorkflowApproval(input: ResolveWorkflowApprovalInput): { approval: WorkflowApproval; applied: boolean; }; export declare function readWorkflowApproval(coordRoot: string, approvalId: string): WorkflowApproval; export declare function listWorkflowApprovals(coordRoot: string, options?: { status?: WorkflowApprovalStatus; runId?: string; }): WorkflowApproval[]; export declare function renderWorkflowApproval(approval: WorkflowApproval): string; export declare function assertWorkflowRunId(runId: string): void; //# sourceMappingURL=approvals.d.ts.map