///
///
import type { ScriptType as Psbtv2ScriptType } from "@ledgerhq/psbtv2";
import type { AddressFormat } from "../getWalletPublicKey";
/**
* Map from scriptPubKey hash (hex) to derivation data.
* Used to populate missing BIP32 derivations from the wallet's known addresses.
*/
export type KnownAddressDerivationsMap = Map;
/**
* Options for signPsbtBuffer. Used internally by signPsbt modules.
*/
export interface SignPsbtBufferOptions {
finalizePsbt: boolean;
accountPath: string;
addressFormat: AddressFormat;
onDeviceSignatureRequested?: () => void;
onDeviceSignatureGranted?: () => void;
onDeviceStreaming?: (arg: {
progress: number;
total: number;
index: number;
}) => void;
/** Map from scriptPubKey hash (hex) to { pubkey, path }. Built from wallet's known addresses. */
knownAddressDerivations: KnownAddressDerivationsMap;
}
/**
* Discriminator for input vs output derivation handling.
* Used to consolidate duplicate code for BIP32 derivation operations.
*/
export type DerivationElementType = "input" | "output";
/**
* Accessors for BIP32 derivation operations that abstract over inputs vs outputs.
* This allows reusing the same derivation logic for both element types.
*/
export interface DerivationAccessors {
readonly getKeyDatas: (index: number, keyType: number) => Buffer[];
readonly getBip32Derivation: (index: number, pubkey: Buffer) => {
path: number[];
masterFingerprint: Buffer;
} | undefined;
readonly getTapBip32Derivation: (index: number, pubkey: Buffer) => {
path: number[];
masterFingerprint: Buffer;
hashes: Buffer[];
} | undefined;
readonly setBip32Derivation: (index: number, pubkey: Buffer, masterFp: Buffer, path: number[]) => void;
readonly setTapBip32Derivation: (index: number, pubkey: Buffer, hashes: Buffer[], masterFp: Buffer, path: number[]) => void;
readonly bip32KeyType: number;
readonly tapBip32KeyType: number;
}
/**
* Union type for supported Bitcoin script types.
* Extends @ledgerhq/psbtv2 ScriptType with "p2sh-p2wpkh" (alias for derivation/signing).
*/
export type ScriptType = Psbtv2ScriptType | "p2sh-p2wpkh";
//# sourceMappingURL=types.d.ts.map