/**
 * Encryption service for sensitive data
 * Provides AES-256-GCM encryption for application-level encryption
 */
export declare class EncryptionService {
    private static instance;
    private encryptionKey;
    private algorithm;
    /**
     * Automatically add the encryption key to the .env file or persistent storage
     */
    private addKeyToStorage;
    /**
     * Save encryption key to persistent data directory (for Docker)
     */
    private saveKeyToPersistentStorage;
    /**
     * Find the .env file location - checks multiple possible locations
     */
    private findEnvFilePath;
    /**
     * Save encryption key to .env file (for regular environments)
     */
    private saveKeyToEnvFile;
    /**
     * Load encryption key from persistent storage (for Docker)
     */
    private loadKeyFromPersistentStorage;
    private constructor();
    static getInstance(): EncryptionService;
    /**
     * Encrypt sensitive text data
     */
    encrypt(plaintext: string): string;
    /**
     * Decrypt encrypted text data
     */
    decrypt(encryptedData: string): string;
    /**
     * Encrypt JSON objects
     */
    encryptObject(obj: Record<string, unknown>): string;
    /**
     * Decrypt JSON objects
     */
    decryptObject<T>(encryptedData: string): T;
    /**
     * Check if data appears to be encrypted
     */
    isEncrypted(data: string): boolean;
    /**
     * Generate a new encryption key
     */
    static generateKey(): string;
    /**
     * Get the current encryption key (for first-time setup display)
     * WARNING: Only use this during first-time setup when showing the key to the admin
     */
    getKeyForDisplay(): string;
}
export declare const encryptionService: EncryptionService;
//# sourceMappingURL=encryptionService.d.ts.map