import { BitcoinSignPsbt } from "@ledgerhq/wallet-api-core"; import type { WalletAPIClient } from "../WalletAPIClient"; export declare class BitcoinModule { private client; constructor(client: WalletAPIClient); /** * * @param accountId id of the bitcoin account * @param derivationPath The derivation path is a relative derivation path from the account * e.g to get the first public address of an account, one will request for the “0/0“ derivation path * @returns the address of the account for a given derivation path * * @throws {@link ServerError} if an error occurred on server side */ getAddress(accountId: string, derivationPath?: string): Promise; /** * Returns all addresses needed for the account (e.g. for WalletConnect getAccountAddresses). * Ledger only supports "payment" intention; "ordinal" or other intentions return an empty array. * * @param accountId id of the bitcoin account * @param intentions optional filter: only "payment" is supported * @returns array of address entries with address, optional publicKey, path, and intention * @throws {@link ServerError} if an error occurred on server side */ getAddresses(accountId: string, intentions?: ("payment" | "ordinal")[]): Promise<{ address: string; publicKey?: string; path?: string; intention?: string; }[]>; /** * * @param accountId id of the bitcoin account * @param derivationPath The derivation path is a relative derivation path from the account * e.g to get the first public key of an account, one will request for the "0/0" derivation path * @returns a raw hexadecimal public key of a bitcoin account at the given derivation path * * @throws {@link ServerError} if an error occurred on server side */ getPublicKey(accountId: string, derivationPath?: string): Promise; /** * * @param accountId id of the bitcoin account * @returns the xpub of the account * * @throws {@link ServerError} if an error occurred on server side */ getXPub(accountId: string): Promise; /** * Let the user sign a psbt * @param accountId - id of the account * @param psbt - The psbt base 64 string * @param broadcast - send or not the tx to the network * @param options - Extra parameters, e.g. `hwAppId` to name the device app that signs. * Which apps are accepted is up to the wallet. * * @returns {Promise<{psbtSigned: string, txHash: string}>} The base64 signed PSBT * @throws {@link RpcError} if an error occurred on server side * * @example * const { psbtSigned, txHash } = await walletApiClient.bitcoin.signPsbt("account-id", "psbt-base64", false) */ signPsbt(accountId: string, psbt: string, broadcast?: boolean, options?: BitcoinSignPsbt["params"]["options"]): Promise<{ psbtSigned: string; txHash: string | undefined; }>; } //# sourceMappingURL=Bitcoin.d.ts.map