import type { FixtureDescriptorId } from "../core/fixture-profiles.js"; import type { ParserExpectedOutcome } from "../fuzz/differential.js"; import type { PsbtMutationRecipe } from "../psbt/mutation.js"; export declare const CUSTOM_SUITE_SCHEMA: "psbt-lab.suite/0.2"; export declare const LEGACY_CUSTOM_SUITE_SCHEMA: "psbt-lab.suite/0.1"; export interface UserFixtureInputSpec { readonly descriptor: FixtureDescriptorId; readonly sequence: number; } export type UserFixtureOutputSpec = { readonly descriptor: FixtureDescriptorId; readonly amountSats: number; } | { readonly descriptor: FixtureDescriptorId; readonly remainder: true; }; export interface UserFixtureSpec { readonly id: string; readonly inputs: readonly UserFixtureInputSpec[]; readonly outputs: readonly UserFixtureOutputSpec[]; readonly feeSats: number; readonly locktime: number; readonly transactionVersion: 2; } export interface UserParserFixtureSpec { readonly id: string; readonly psbt: string; readonly sha256: `sha256:${string}`; } export interface UserAdapterStepSpec { readonly id: string; readonly adapter: string; readonly operation: "roundtrip" | "sign" | "finalize-inputs"; readonly input: string; } export interface UserCombineStepSpec { readonly id: string; readonly adapter: string; readonly operation: "combine"; readonly inputs: readonly string[]; } export interface UserCoreStepSpec { readonly id: string; readonly operation: "core-finalize" | "core-policy-check"; readonly input: string; } export interface UserMutateStepSpec { readonly id: string; readonly operation: "mutate"; readonly input: string; readonly recipes: readonly PsbtMutationRecipe[]; } export interface UserCompareParsersStepSpec { readonly id: string; readonly operation: "compare-parsers"; readonly input: string; readonly adapters: readonly string[]; readonly expected: Readonly>; } export type UserScenarioStepSpec = UserAdapterStepSpec | UserCombineStepSpec | UserCoreStepSpec | UserMutateStepSpec | UserCompareParsersStepSpec; export interface UserScenarioSpec { readonly id: string; readonly title: string; readonly fixture: string; readonly steps: readonly UserScenarioStepSpec[]; } export interface CustomSuiteManifest { readonly schema: typeof CUSTOM_SUITE_SCHEMA | typeof LEGACY_CUSTOM_SUITE_SCHEMA; readonly fixtures: readonly UserFixtureSpec[]; readonly parserFixtures?: readonly UserParserFixtureSpec[]; readonly scenarios: readonly UserScenarioSpec[]; } export declare function parseCustomSuiteManifest(value: unknown): CustomSuiteManifest; export declare function loadCustomSuiteManifest(path: string): Promise; //# sourceMappingURL=manifest.d.ts.map