import { CryptoExchangeKeypair, CryptoExchangePrivateKey, CryptoSecretKey, CryptoSignatureKeypair, CryptoSignaturePrivateKey } from "@nmshd/crypto"; import { TransportController } from "../../core/TransportController"; import { AccountController } from "../accounts/AccountController"; import { SecretContainerCipher } from "../secrets/data/SecretContainerCipher"; import { SecretContainerPlain } from "../secrets/data/SecretContainerPlain"; import { DatawalletModification } from "../sync/local/DatawalletModification"; import { Device } from "./local/Device"; import { DeviceSecretCredentials } from "./local/DeviceSecretCredentials"; import { DeviceSharedSecret } from "./transmission/DeviceSharedSecret"; export declare enum DeviceSecretType { IdentitySynchronizationMaster = "identity_synchronization_master", IdentitySignature = "identity_signature", SharedSecretBaseKey = "shared_basekey", DeviceSecretBaseKey = "secret_basekey", DeviceSignature = "device_signature", DeviceCredentials = "device_credentials" } /** * The SecretController which acts as a single touchpoint to access any secret within the Runtime. * Each access can be audited. * */ export declare class DeviceSecretController extends TransportController { private secrets; private static readonly secretContext; private readonly baseKey?; constructor(parent: AccountController, baseKey: CryptoSecretKey); init(): Promise; storeSecret(secret: DeviceSecretCredentials | CryptoExchangeKeypair | CryptoExchangePrivateKey | CryptoSignatureKeypair | CryptoSignaturePrivateKey | CryptoSecretKey, name: string): Promise; loadSecret(name: string): Promise; deleteSecret(name: string): Promise; createDeviceSharedSecret(device: Device, deviceIndex: number, includeIdentityPrivateKey?: boolean, profileName?: string): Promise; encryptDatawalletModificationPayload(event: DatawalletModification, index: number): Promise; decryptDatawalletModificationPayload(payloadCipherBase64: string | null, index: number): Promise; private getBaseKey; } //# sourceMappingURL=DeviceSecretController.d.ts.map