import type { Buffer, EncryptedMessage, UnpackedMessageContext, Wallet, WalletConfig, WalletConfigRekey, WalletCreateKeyOptions, WalletExportImportConfig, WalletSignOptions, WalletVerifyOptions } from '@aries-framework/core'; import { Key, KeyType, Logger, SigningProviderRegistry } from '@aries-framework/core'; import { IndySdk } from '../types'; export declare class IndySdkWallet implements Wallet { private walletConfig?; private walletHandle?; private logger; private signingKeyProviderRegistry; private indySdk; constructor(indySdk: IndySdk, logger: Logger, signingKeyProviderRegistry: SigningProviderRegistry); get isProvisioned(): boolean; get isInitialized(): boolean; get handle(): number; get supportedKeyTypes(): KeyType[]; /** * Dispose method is called when an agent context is disposed. */ dispose(): Promise; 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 a key with an optional private key and keyType. * The keypair is also automatically stored in the wallet afterwards * * Bls12381g1g2 and X25519 are not supported. */ createKey({ seed, privateKey, keyType }: WalletCreateKeyOptions): Promise; /** * sign a Buffer with an instance of a Key class * * Bls12381g1g2, Bls12381g1 and X25519 are not supported. * * @param data Buffer The data that needs to be signed * @param key Key The key that is used to sign the data * * @returns A signature for the data */ sign({ data, key }: WalletSignOptions): Promise; /** * Verify the signature with the data and the used key * * Bls12381g1g2, Bls12381g1 and X25519 are not supported. * * @param data Buffer The data that has to be confirmed to be signed * @param key Key The key that was used in the signing process * @param signature Buffer The signature that was created by the signing process * * @returns A boolean whether the signature was created with the supplied data and key * * @throws {WalletError} When it could not do the verification * @throws {WalletError} When an unsupported keytype is used */ verify({ data, key, signature }: WalletVerifyOptions): Promise; pack(payload: Record, recipientKeys: string[], senderVerkey?: string): Promise; unpack(messagePackage: EncryptedMessage): Promise; generateNonce(): Promise; private retrieveKeyPair; private storeKeyPair; generateWalletKey(): Promise; }