import type { AdapterHelloCapabilities, AdapterImplementation } from "../protocol/types.js"; import { type PsbtWireFacts } from "../psbt/wire-facts.js"; import type { ScenarioResult } from "../scenarios/definition.js"; export type CheckpointComparison = "structure"; export interface CheckpointRecord { scenario: string; stage: string; psbtPath: string; factsPath: string; facts: PsbtWireFacts; comparison?: CheckpointComparison; } export type ScenarioRecord = ScenarioResult; export interface RunAdapterRecord extends AdapterImplementation { readonly capabilities?: AdapterHelloCapabilities; } export interface RunSelectors { requested: { scenarios?: string[]; category?: string; externalOnly?: boolean; }; executed: { scenarios: string[]; categories: string[]; }; } export interface RunManifest { schema: "psbt-lab.run/0.1"; runId: string; suite: "proof"; startedAt: string; completedAt: string; outcome: "passed" | "failed"; core?: { version: number; subversion: string; blocks: number; connections: number; }; selectors?: RunSelectors; adapters: RunAdapterRecord[]; scenarios: ScenarioRecord[]; checkpoints: CheckpointRecord[]; } export declare class ArtifactRun { #private; readonly directory: string; readonly runId: string; private constructor(); static create(root: string, runId: string): Promise; checkpoint(scenario: string, stage: string, psbt: string, comparison?: CheckpointComparison): Promise; writeManifest(manifest: RunManifest): Promise; writeReportJson(value: unknown): Promise; writeReportMarkdown(value: string): Promise; writeReportHtml(value: string): Promise; } //# sourceMappingURL=artifacts.d.ts.map