export interface EncryptedSharePayload {
    id: string;
    encryptedData: string;
}
export interface DecryptedSharePayload {
    id: string;
    data: string;
}
export interface ShareEncryptionResult {
    encryptedShares: EncryptedSharePayload[];
    symmetricKeyBase64: string;
    encryptedKey: string;
}
export interface ShareEncryptionService {
    encryptShares(shares: Array<{
        id: string;
        data?: string;
    }>, existingSymmetricKeyBase64?: string, masterKey?: string): Promise<ShareEncryptionResult>;
    decryptShares(shares: Array<{
        id: string;
        encryptedData: string;
    }>, dekBase64: string): Promise<DecryptedSharePayload[]>;
    unwrapDEKWithMasterKey(masterKeyWrappedDEKBase64: string, masterKeyHex: string): Promise<string>;
}
