@sebastianp265/safe-server-side-storage-client
Version:
Library for Confidential Server-Side Message Storage Using the Labyrinth Protocol
37 lines • 1.64 kB
TypeScript
import { VirtualDeviceEncryptedRecoverySecretsSerialized } from "./VirtualDeviceEncryptedRecoverySecrets";
import { VirtualDeviceKeyBundle, VirtualDevicePublicKeyBundleSerialized } from "../key-bundles/VirtualDeviceKeyBundle";
export type GetVirtualDeviceRecoverySecretsResponse = {
epochId: string;
virtualDeviceEncryptedRecoverySecrets: VirtualDeviceEncryptedRecoverySecretsSerialized;
expectedVirtualDevicePublicKeyBundle: VirtualDevicePublicKeyBundleSerialized;
};
export type GetVirtualDeviceRecoverySecretsBody = {
virtualDeviceId: string;
};
export type GetVirtualDeviceRecoverySecretsServerClient = {
getVirtualDeviceRecoverySecrets: (getVirtualDeviceRecoverySecretsBody: GetVirtualDeviceRecoverySecretsBody) => Promise<GetVirtualDeviceRecoverySecretsResponse>;
};
export declare class VirtualDevice {
readonly id: Uint8Array;
readonly keyBundle: VirtualDeviceKeyBundle;
private constructor();
static initialize(userId: string): {
virtualDevice: VirtualDevice;
virtualDeviceDecryptionKey: Uint8Array<ArrayBufferLike>;
recoveryCode: string;
};
static fromRecoveryCode(userId: string, recoveryCode: string, webClient: GetVirtualDeviceRecoverySecretsServerClient): Promise<{
virtualDevice: VirtualDevice;
epoch: {
sequenceId: string;
rootKey: Uint8Array;
id: string;
};
}>;
}
export declare const VERSION_NUMBER = 1;
export declare const IDENTIFIER = 0;
export declare class InvalidRecoveryCodeFormatError extends Error {
constructor(message: string);
}
//# sourceMappingURL=VirtualDevice.d.ts.map