import { type AdapterManifest } from "../conformance/manifest.js"; import { type BuiltInFixtureId, type PreparedFixtureSet } from "../core/fixtures.js"; import type { CoreRpc } from "../core/rpc.js"; import { type CompiledUserFixturePlan } from "../custom/fixtures.js"; import type { CustomSuiteManifest } from "../custom/manifest.js"; import { AdapterProcess, type AdapterProcessOptions } from "../protocol/adapter-process.js"; import type { NegotiatedAdapter } from "../protocol/types.js"; import { ArtifactRun, type RunManifest } from "../runner/artifacts.js"; import { classifyRegression } from "./bdk-regression.js"; import { type CorePolicyResult, ScenarioExecutionContext } from "./context.js"; import type { ScenarioDefinition } from "./definition.js"; import { classifyHappyPath } from "./happy-path.js"; export { classifyHappyPath, classifyRegression }; export type PolicyResult = CorePolicyResult; declare const BUILT_IN_ADAPTER_IDS: readonly ["rust-bitcoin", "btcsuite-go", "bitcoinjs-lib", "bdkpython", "bdk-wallet-current", "rust-psbt-v2", "libwally", "musig2-rust-signer-1", "musig2-scure-signer-2", "hwi-simulator"]; export type BuiltInAdapterId = (typeof BUILT_IN_ADAPTER_IDS)[number]; export interface ProofOptions { rpc: CoreRpc; artifactRoot: string; projectDirectory: string; adapterTimeoutMs?: number; adapterManifest?: AdapterManifest; customSuite?: CustomSuiteManifest; selectors?: ProofSelectors; } export interface ProofResult { artifactDirectory: string; manifest: RunManifest; } export interface ProofScenarioSummary { readonly id: string; readonly title: string; readonly category: string; } export interface ProofSelectors { readonly scenarios?: readonly string[]; readonly category?: string; readonly externalOnly?: boolean; } export interface ProofScenarioResources { readonly core: boolean; readonly fixtures: readonly BuiltInFixtureId[]; readonly adapters: readonly BuiltInAdapterId[]; } export interface ResolvedProofSelection { readonly scenarioIds: readonly string[]; readonly resources: ProofScenarioResources; readonly filtered: boolean; readonly externalOnly?: boolean; } export declare const PROOF_SCENARIOS: readonly ProofScenarioSummary[]; interface FixtureCommitment { readonly id: string; readonly unsignedTxSha256: `sha256:${string}`; } export interface DockerAdapterOptions { readonly platform?: string; readonly env?: Readonly>; } export interface ProofRuntimeAdapter { request: AdapterProcess["request"]; restart?(): Promise; close(): Promise; } export interface ProofRuntimeArtifacts { readonly directory: string; checkpoint: ArtifactRun["checkpoint"]; writeManifest: ArtifactRun["writeManifest"]; writeReportJson: ArtifactRun["writeReportJson"]; writeReportMarkdown: ArtifactRun["writeReportMarkdown"]; writeReportHtml: ArtifactRun["writeReportHtml"]; } export interface ProofDependencies { createArtifacts(root: string, runId: string): Promise; prepareFixtures(rpc: CoreRpc, customPlans?: readonly CompiledUserFixturePlan[], requiredFixtureIds?: readonly BuiltInFixtureId[]): Promise; createAdapter(image: string, projectDirectory: string, options?: DockerAdapterOptions): ProofRuntimeAdapter; createExternalAdapter?(options: AdapterProcessOptions): ProofRuntimeAdapter; createCatalog(fixtures: PreparedFixtureSet | undefined, externalAdapters?: ReadonlyMap, selectedIds?: readonly string[], externalOnly?: boolean): readonly ScenarioDefinition[]; } export interface ProofScenarioRegistration extends ProofScenarioSummary { readonly resources: ProofScenarioResources; create(fixtures: PreparedFixtureSet | undefined): ScenarioDefinition; } export declare const PROOF_SCENARIO_REGISTRATIONS: readonly ProofScenarioRegistration[]; export declare function resolveProofSelection(selectors?: ProofSelectors): ResolvedProofSelection; export declare function assertProofSelectionCompatibility(selection: ResolvedProofSelection, manifests: { readonly adapter: boolean; readonly suite: boolean; }): void; export declare function serializeFixtureCommitments(fixtures: readonly FixtureCommitment[]): string; export declare function dockerAdapterProcessOptions(image: string, projectDirectory: string, options?: DockerAdapterOptions): AdapterProcessOptions; export declare function createProofCatalog(fixtures: PreparedFixtureSet | undefined, externalAdapters?: ReadonlyMap, selectedIds?: readonly string[], externalOnly?: boolean): readonly ScenarioDefinition[]; export declare function runProofWithDependencies(options: ProofOptions, dependencies: ProofDependencies): Promise; export declare function runProof(options: ProofOptions): Promise; //# sourceMappingURL=proof.d.ts.map