/**
 * AES-256-GCM encryption for credential storage
 */
export declare class CredentialEncryption {
    private key;
    private readonly algorithm;
    private readonly keyLength;
    private readonly ivLength;
    /**
     * Initialize encryption with a key from environment or generate machine-specific key
     */
    init(): Promise<void>;
    /**
     * Derive a key from machine-specific information
     * This ensures the key is consistent across restarts on the same machine
     */
    private deriveKeyFromMachine;
    /**
     * Encrypt a credentials object to a base64 string
     */
    encrypt(data: Record<string, string>): Promise<string>;
    /**
     * Decrypt a base64 string back to credentials object
     */
    decrypt<T extends Record<string, string> = Record<string, string>>(encrypted: string): Promise<T>;
    /**
     * Generate a secure random password
     */
    generatePassword(length?: number): string;
    /**
     * Generate an access key (alphanumeric, uppercase)
     */
    generateAccessKey(length?: number): string;
    /**
     * Generate a secret key (alphanumeric, mixed case)
     */
    generateSecretKey(length?: number): string;
    private bytesToBase64;
    private base64ToBytes;
}
export declare const credentialEncryption: CredentialEncryption;
