import { BitcoinNetwork } from '../shared/wallets/interfaces'; import { BitcoinWallet, SignPsbtOptions } from '../shared/wallets/interfaces/BitcoinWallet'; /** * Configuration for MockBitcoinWallet. */ export interface MockBitcoinWalletConfig { publicKeyHex?: string; address?: string; network?: BitcoinNetwork; shouldFailSigning?: boolean; /** * 32-byte hex key `signMessage` signs BIP-322 proofs with. Defaults to * the privkey-1 test key, whose x-only pubkey is the default * `publicKeyHex` (the secp256k1 generator's x coordinate). PoP flows * verify the witness against `publicKeyHex`: overriding only this key * derives the matching `publicKeyHex`, and a divergent pair throws at * sign time. Test material only — never a real key. */ privateKeyHex?: string; /** * Optional override for `deriveContextHash`. When omitted the mock * returns a deterministic 64-char lowercase hex string derived from * `(appName, context)` so tests can assert pass-through wiring * without pinning a specific value. Override to inject spec test * vectors or to simulate failure modes. */ deriveContextHash?: (appName: string, context: string) => Promise; } /** Mock Bitcoin wallet for testing. */ export declare class MockBitcoinWallet implements BitcoinWallet { private config; constructor(config?: MockBitcoinWalletConfig); getPublicKeyHex(): Promise; getAddress(): Promise; signPsbt(psbtHex: string, _options?: SignPsbtOptions): Promise; signPsbts(psbtsHexes: string[], _options?: SignPsbtOptions[]): Promise; signMessage(message: string, type: "bip322-simple" | "ecdsa"): Promise; getNetwork(): Promise; deriveContextHash(appName: string, context: string): Promise; /** Updates configuration for testing different scenarios. */ updateConfig(updates: Partial): void; /** Resets to default configuration. */ reset(): void; } //# sourceMappingURL=MockBitcoinWallet.d.ts.map