import { AgentActivity, ActivityBatch } from './types';
export interface EncryptedData {
    data: string;
    iv: string;
    tag: string;
    algorithm: string;
}
export declare class ActivityEncryption {
    private algorithm;
    /**
     * Generate a new encryption key
     */
    static generateKey(): Uint8Array;
    /**
     * Encrypt an activity object
     */
    encryptActivity(activity: AgentActivity, key: Uint8Array): Promise<EncryptedData>;
    /**
     * Decrypt an activity object
     */
    decryptActivity(encrypted: EncryptedData, key: Uint8Array): Promise<AgentActivity>;
    /**
     * Encrypt a batch of activities
     */
    encryptBatch(batch: ActivityBatch, key: Uint8Array): Promise<EncryptedData>;
    /**
     * Decrypt a batch of activities
     */
    decryptBatch(encrypted: EncryptedData, key: Uint8Array): Promise<ActivityBatch>;
    /**
     * Create a deterministic key from user DID and passphrase
     */
    static deriveKey(userDID: string, passphrase: string): Promise<Uint8Array>;
    /**
     * Create a hash of an activity for integrity verification
     */
    static createActivityHash(activity: AgentActivity): string;
    /**
     * Create a merkle root for a batch of activities
     */
    static createBatchMerkleRoot(activities: AgentActivity[]): string;
}
//# sourceMappingURL=activity-encryption.d.ts.map