/**
 * Encrypted Data Adapter - Implements DataAccessPort with transparent encryption
 * This adapter provides AES-256-GCM encryption for vault data storage
 */
import { DataAccessPort } from '@vqp/core';
export interface EncryptedDataConfig {
    vaultPath: string;
    policiesPath?: string;
    encryptionKey?: string;
    keyDerivation?: {
        iterations: number;
        salt?: string;
        keyLength: number;
    };
    cacheEnabled?: boolean;
    compressionEnabled?: boolean;
}
export declare class EncryptedDataAdapter implements DataAccessPort {
    private config;
    private static readonly ALGORITHM;
    private static readonly DEFAULT_ITERATIONS;
    private static readonly DEFAULT_KEY_LENGTH;
    private static readonly VAULT_VERSION;
    private dataCache;
    private policiesCache;
    private encryptionKey;
    private accessCounts;
    constructor(config: EncryptedDataConfig);
    getData(path: string[]): Promise<any>;
    validateDataAccess(path: string[], requester: string): Promise<boolean>;
    hasData(path: string[]): Promise<boolean>;
    /**
     * Encrypts and saves vault data
     */
    saveVault(data: any): Promise<void>;
    /**
     * Clears the data cache
     */
    clearCache(): void;
    /**
     * Updates the encryption key and re-encrypts all data
     */
    rotateEncryptionKey(newEncryptionKey: string): Promise<void>;
    private initializeEncryptionKey;
    private loadVault;
    private decryptVaultData;
    private loadPolicies;
    private extractNestedData;
    private hasExplicitAccess;
    private matchesWildcard;
    private checkRateLimit;
}
//# sourceMappingURL=encrypted-adapter.d.ts.map