import { AgentCryptoApi, IdentityVault, IdentityVaultBackup, IdentityVaultParams, IdentityVaultStatus } from '@web5/agent'; import { KeyValueStore } from '@web5/common'; import { Jwk } from '@web5/crypto'; import { BearerDid } from '@web5/dids'; export type DcxIdentityVaultInitializeParams = { /** * The password used to secure the vault. * * The password selected should be strong and securely managed to prevent unauthorized access. */ password: string; /** * An optional recovery phrase used to derive the cryptographic keys for the vault. * * Providing a recovery phrase can be used to recover the vault's content or establish a * deterministic key generation scheme. If not provided, a new recovery phrase will be generated * during the initialization process. */ recoveryPhrase?: string; /** * An array of Decentralized Web Node (DWN) endpoints associated with the DID. * * The DWN endpoints are used to resolve the DID and interact with the DID Document. */ dwnEndpoints: string[]; }; export type DcxIdentityVaultParams = IdentityVaultParams & { location?: string; }; export declare class DcxIdentityVault implements IdentityVault<{ InitializeResult: string; }> { /** Provides cryptographic functions needed for secure storage and management of the vault. */ crypto: AgentCryptoApi; /** Determines the computational intensity of the key derivation process. */ keyDerivationWorkFactor: number; /** The underlying key-value store for the vault's encrypted content. */ store: KeyValueStore; /** The cryptographic key used to encrypt and decrypt the vault's content securely. */ contentEncryptionKey: Jwk | undefined; constructor({ keyDerivationWorkFactor, store, location }?: DcxIdentityVaultParams); changePassword({ oldPassword, newPassword }: { oldPassword: string; newPassword: string; }): Promise; getStatus(): Promise; private getStoredDidDcx; getDid(): Promise; isInitialized(): Promise; isLocked(): boolean; lock(): Promise; restore({ backup, password, }: { backup: IdentityVaultBackup; password: string; }): Promise; unlock({ password }: { password: string; }): Promise; backup(): Promise; initialize({ password, recoveryPhrase, dwnEndpoints, }: DcxIdentityVaultInitializeParams): Promise; private setStatusDcx; private getStoredContentEncryptionKeyDcx; } //# sourceMappingURL=dcx-identity-vault.d.ts.map