import type { EncryptedMessage, WalletConfig, WalletExportImportConfig, WalletConfigRekey } from '../types'; import type { Buffer } from '../utils/buffer'; import type { Wallet, DidInfo, DidConfig, UnpackedMessageContext } from './Wallet'; import { AgentConfig } from '../agent/AgentConfig'; export declare class IndyWallet implements Wallet { private walletConfig?; private walletHandle?; private logger; private publicDidInfo; private indy; constructor(agentConfig: AgentConfig); get isProvisioned(): boolean; get isInitialized(): boolean; get publicDid(): DidInfo | undefined; get handle(): number; get masterSecretId(): string; private walletStorageConfig; private walletCredentials; /** * @throws {WalletDuplicateError} if the wallet already exists * @throws {WalletError} if another error occurs */ create(walletConfig: WalletConfig): Promise; /** * @throws {WalletDuplicateError} if the wallet already exists * @throws {WalletError} if another error occurs */ createAndOpen(walletConfig: WalletConfig): Promise; /** * @throws {WalletNotFoundError} if the wallet does not exist * @throws {WalletError} if another error occurs */ open(walletConfig: WalletConfig): Promise; /** * @throws {WalletNotFoundError} if the wallet does not exist * @throws {WalletError} if another error occurs */ rotateKey(walletConfig: WalletConfigRekey): Promise; /** * @throws {WalletNotFoundError} if the wallet does not exist * @throws {WalletError} if another error occurs */ private _open; /** * @throws {WalletNotFoundError} if the wallet does not exist * @throws {WalletError} if another error occurs */ delete(): Promise; export(exportConfig: WalletExportImportConfig): Promise; import(walletConfig: WalletConfig, importConfig: WalletExportImportConfig): Promise; /** * @throws {WalletError} if the wallet is already closed or another error occurs */ close(): Promise; /** * Create master secret with specified id in currently opened wallet. * * If a master secret by this id already exists in the current wallet, the method * will return without doing anything. * * @throws {WalletError} if an error occurs */ private createMasterSecret; initPublicDid(didConfig: DidConfig): Promise; createDid(didConfig?: DidConfig): Promise; pack(payload: Record, recipientKeys: string[], senderVerkey?: string): Promise; unpack(messagePackage: EncryptedMessage): Promise; sign(data: Buffer, verkey: string): Promise; verify(signerVerkey: string, data: Buffer, signature: Buffer): Promise; generateNonce(): Promise; }