import { type IE2EPayload, type ISyncConfigResponse } from './types'; declare class E2ECryptoService { generateE2EPayload(config: string, pin: string): { payload: IE2EPayload; dek: Buffer; }; encryptConfig(config: string, dek: Buffer): string; decryptConfig(encryptedConfig: string, dek: Buffer): string; wrapDEK(dek: Buffer, pin: string, salt: Buffer): string; unwrapDEK(encryptedDEK: string, pin: string, salt: Buffer): Buffer; decodeSalt(saltBase64: string): Buffer; private deriveKEK; private encryptWithKey; private decryptWithKey; } /** * Ensure encrypted payload includes a client KEK salt for E2E decryption. */ declare const requireClientKekSalt: (res: ISyncConfigResponse) => string; /** * Ensure encrypted payload includes an encrypted DEK for E2E decryption. */ declare const requireClientDekEncrypted: (res: ISyncConfigResponse) => string; export { E2ECryptoService, requireClientDekEncrypted, requireClientKekSalt };