import { type ReleaseRecord } from "../engine/contracts.ts"; export interface VerifiedArtifact { schemaVersion: 1; sourceRevision: string; artifactDigest: string; compilerDigest: string; harnessVersion: string; environment: "preview" | "production"; policyId: string; outputDirectory: string; checkedAt: string; } export interface DeploymentReceipt { provider: string; environment: string; deploymentId: string; url?: string; artifactDigest: string; issuedAt: string; } export interface HostingAdapter { id: string; deployPreview(artifact: VerifiedArtifact): Promise; publish(artifact: VerifiedArtifact): Promise; status?(deploymentId: string): Promise; attachDomain?(deploymentId: string, domain: string): Promise; rollback?(deploymentId: string): Promise; } export declare function prepareVerifiedRelease(siteRoot: string, environment?: "preview" | "production"): Promise; /** Explicit build-only release: policyId records that review gates were skipped. */ export declare function prepareQuickRelease(siteRoot: string, environment?: "preview" | "production"): Promise; export declare function deployVerifiedArtifact(siteRoot: string, artifact: VerifiedArtifact, adapter: HostingAdapter): Promise<{ release: ReleaseRecord; deployment: DeploymentReceipt; }>;