import { ShareEncryptionService, ShareEncryptionResult, DecryptedSharePayload } from '../../domain/services/share-encryption-service';
import { HttpClient } from '../../../../../core/modules/_shared/infrastructure/http/http-client';
export declare class WebCryptoShareEncryptionService implements ShareEncryptionService {
    private readonly httpClient;
    private static readonly BASE64_CHUNK_SIZE;
    constructor(httpClient: HttpClient);
    encryptShares(shares: Array<{
        id: string;
        data?: string;
    }>, existingSymmetricKeyBase64?: string, masterKey?: string): Promise<ShareEncryptionResult>;
    unwrapDEKWithMasterKey(masterKeyWrappedDEKBase64: string, masterKeyHex: string): Promise<string>;
    decryptShares(shares: Array<{
        id: string;
        encryptedData: string;
    }>, dekBase64: string): Promise<DecryptedSharePayload[]>;
    private fetchEncryptKey;
    private generateSymmetricKey;
    private importSymmetricKey;
    private encryptData;
    private decryptData;
    private wrapKeyWithRsa;
    private wrapKeyWithMasterKeyThenRsa;
    private pemToDer;
    private bytesToBase64;
    private base64ToBytes;
}
