import { type Posture } from "../config/posture.js"; import { AihError } from "../errors.js"; import { type Action, type Plan, type PlanContext } from "../internals/plan.js"; import type { Check } from "../internals/verify.js"; import type { AcceptanceTuple } from "./acceptance.js"; import type { BaselineCatalog } from "./catalog.js"; import type { OrgBaselineEvidence } from "./org.js"; import type { BaselineEvidenceLock } from "./schema.js"; import { type BaselineAuthorization, type BaselineHeldComponent } from "./verify.js"; export interface CaptureBaselineGateInput { ctx: PlanContext; allowPartial?: boolean; sourceRoot: string; catalog: BaselineCatalog; componentIds: readonly string[]; vendorLock: BaselineEvidenceLock; vendorLockSha256: string; orgEvidence?: OrgBaselineEvidence; /** When set, only accepted-with-conditions decisions for this exact tuple apply. */ acceptanceTuple?: AcceptanceTuple; } export interface BaselineGate { allowPartial: boolean; sourceRoot: string; catalog: BaselineCatalog; componentIds: readonly string[]; posture: Posture; vendorLock: BaselineEvidenceLock; vendorLockSha256: string; orgEvidence?: OrgBaselineEvidence; acceptanceTuple?: AcceptanceTuple; authorizations: BaselineAuthorization[]; held: BaselineHeldComponent[]; } export declare class BaselineEvidenceBlockedError extends AihError { readonly checks: Check[]; constructor(checks: Check[]); } export declare function captureBaselineGate(input: CaptureBaselineGateInput): BaselineGate; export declare function baselineInstallPhasePlan(_ctx: PlanContext, gate: BaselineGate, buildActions: (authorizations: readonly BaselineAuthorization[], held: readonly BaselineHeldComponent[]) => readonly Action[] | Promise): Promise;