import { Account } from "../account"; import { ICryptoProvider } from "../crypto/ICryptoProvider"; import { DataProvider } from "../dataProvider"; import { HexString } from "../types"; import { NetworkId } from "../types/network"; import { CryptoProviderFeature } from "../types/wallet"; type WalletParams = { dataProvider: DataProvider; cryptoProvider: ICryptoProvider; gapLimit: number; }; /** * Wallet is responsible for discovering accounts and submitting transactions. * * @example * const wallet = new Wallet({dataProvider, cryptoProvider, gapLimit}) * const account = await wallet.getOrLoadAccount(0) * const utxos = account.getUtxos() */ export declare class Wallet { private cryptoProvider; private dataProvider; private accountManager; constructor({ cryptoProvider, dataProvider, gapLimit }: WalletParams); /** * Discovers active accounts for this wallet. * * Account is considered active if it has been used at least once. That means * there is at least one used address for the account. * * Discovers up to `maxAccounts` accounts, defaulting to 20. The discovery * ends with the first inactive account. * * @param maxAccounts Maximum number of accounts to discover * @returns Promise of discovered accounts order by account index ascending */ discoverAccounts({ maxAccounts }?: { maxAccounts: number; }): Promise; /** * Returns Account with loaded addresses and UTxOs * @param index * @param reloadAccountInfo Indicates if to reload account info (addresses) when initializing the account * @param reloadUtxos Indicates if to reload UTxOs when initializing the account * @param stakeKeyHashesToDerive How many stake key hashes should be discovered and can be used for signing */ getOrLoadAccount(index: number, reloadAccountInfo?: boolean, reloadUtxos?: boolean, stakeKeyHashesToDerive?: number): Promise; getAccount(accountIndex: number): Account | undefined; /** * Submits transaction to the blockchain using this wallet's data provider. * Throws an error if the submission fails */ submitTx(txCbor: HexString): Promise; getNetworkId(): NetworkId; ensureFeatureIsSupported(feature: CryptoProviderFeature): { code: any; params: { message: any; }; } | null; } export {}; //# sourceMappingURL=Wallet.d.ts.map