import { Account } from "@ledgerhq/wallet-api-core"; import BigNumber from "bignumber.js"; import type { WalletAPIClient } from "../WalletAPIClient"; export declare class AccountModule { private client; constructor(client: WalletAPIClient); /** * List accounts added by user on the connected wallet * * @param params - Filters for currencies * * @returns The list of accounts on the connected wallet * @throws {@link RpcError} if an error occurred on server side */ list(params?: { /** * Select a set of currencies by id to filter accounts against. */ currencyIds?: string[]; }): Promise; /** * Ask the connected wallet for an account matching a specific set of critterias. * * @param params - Parameters of the request. * * @returns The account selected by the user * @throws {@link RpcError} if an error occurred on server side */ request(params?: { /** * Select a set of currencies by id. Globing is enabled. * This list of currencies ids can be found [here](https://github.com/LedgerHQ/ledger-live/blob/main/libs/ledgerjs/packages/cryptoassets/src/currencies.ts) * and the list of tokens ids [here](https://github.com/LedgerHQ/ledger-live/blob/main/libs/ledgerjs/packages/cryptoassets/src/tokens.ts). * You can find more info on how the tokens ids are built for each chain / family you want to use by looking at the converter functions used [here](https://github.com/LedgerHQ/ledger-live/blob/main/libs/ledgerjs/packages/cryptoassets/src/tokens.ts#L25-L33). * You can easily search for a token in the corresponding data file using it's contract address. * For example, the USDC token id for Ethereum is `ethereum/erc20/usd__coin`. */ currencyIds?: string[]; showAccountFilter?: boolean; drawerConfiguration?: { assets?: { filter?: string; leftElement?: string; rightElement?: string; }; networks?: { leftElement?: string; rightElement?: string; }; }; useCase?: string; uiUseCase?: string; }): Promise; /** * Let user verify it's account address on his device through Ledger Live * * @param accountId - id of the account * * @returns The verified address or an error message if the verification doesn't succeed */ receive(accountId: string): Promise; /** * Get the public key of an account from the connected wallet. * * The returned key uses the family's own encoding (e.g. Tezos returns a * base58 public key). Only families with a resolver on the wallet support * this; others reject with a "not implemented" error. * * @param accountId - id of the account * @param derivationPath - optional derivation path (used by UTXO families) * * @returns The account public key * @throws {@link RpcError} if an error occurred on server side */ getPublicKey(accountId: string, derivationPath?: string): Promise; /** * Heuristic max amount that can be sent from this account in a single * transaction (fees, UTXO/input limits, etc.). The wallet forwards * `estimateMaxSpendable` unchanged; it is not clamped to `spendableBalance`. * * @param accountId - id of the account * * @returns The max spendable amount, in the account's atomic unit * @throws {@link RpcError} if an error occurred on server side */ getMaxSpendable(accountId: string): Promise; } //# sourceMappingURL=Account.d.ts.map