import type { WalletCreateKeyOptions } from './Wallet'; import type { WalletConfig, WalletConfigRekey, WalletExportImportConfig } from '../types'; import { AgentContext } from '../agent'; import { Logger } from '../logger'; import { StorageUpdateService } from '../storage'; export declare class WalletApi { private agentContext; private wallet; private storageUpdateService; private logger; private _walletConfig?; constructor(storageUpdateService: StorageUpdateService, agentContext: AgentContext, logger: Logger); get isInitialized(): boolean; get isProvisioned(): boolean; get walletConfig(): WalletConfig | undefined; initialize(walletConfig: WalletConfig): Promise; createAndOpen(walletConfig: WalletConfig): Promise; create(walletConfig: WalletConfig): Promise; open(walletConfig: WalletConfig): Promise; close(): Promise; rotateKey(walletConfig: WalletConfigRekey): Promise; generateNonce(): Promise; delete(): Promise; export(exportConfig: WalletExportImportConfig): Promise; import(walletConfig: WalletConfig, importConfig: WalletExportImportConfig): Promise; /** * Create a key for and store it in the wallet. You can optionally provide a `privateKey` * or `seed` for deterministic key generation. * * @param privateKey Buffer Private key (formerly called 'seed') * @param seed Buffer (formerly called 'seed') * @param keyType KeyType the type of key that should be created * * @returns a `Key` instance * * @throws {WalletError} When an unsupported `KeyType` is provided * @throws {WalletError} When the key could not be created */ createKey(options: WalletCreateKeyOptions): Promise; }