import type { PsbtFixture } from "../core/fixtures.js"; import type { AdapterResponse } from "../protocol/types.js"; import type { ScenarioExecutionContext } from "./context.js"; import type { ScenarioAssertionEvidence, ScenarioDefinition } from "./definition.js"; interface FinalScriptSigInteropObservation { readonly rustStatus: AdapterResponse["status"]; readonly rustErrorClass: string | undefined; readonly wallyStatus: AdapterResponse["status"]; readonly wallyErrorClass: string | undefined; readonly hasWitnessWithoutScriptSig: boolean; readonly hasWitnessWithEmptyScriptSig: boolean; } export type FinalScriptSigInteropClassification = { readonly kind: "rust-requires-empty-final-scriptsig"; readonly ruleId: "bip174.final-scriptsig.empty-omitted"; } | { readonly kind: "wally-rejected-noncanonical-empty-final-scriptsig"; } | { readonly kind: "unclassified"; }; export declare function classifyFinalScriptSigInterop(observation: FinalScriptSigInteropObservation): FinalScriptSigInteropClassification; export declare function distinctMultisigContributionEvidence(unsigned: string, rustSigned: string, wallySigned: string, combined: string): ScenarioAssertionEvidence; export declare function createP2wpkhPsbtv2InteropScenarios(fixture: PsbtFixture): readonly ScenarioDefinition[]; export declare function createMultisigPsbtv2InteropScenario(fixture: PsbtFixture): ScenarioDefinition; export {}; //# sourceMappingURL=psbtv2-interop.d.ts.map