import CryptoService from '../cryptoService';
import { SessionCredentials } from '../types';
export interface EncryptedCredentials {
    credentialsKey: CryptoKey;
    ciphertextB64: string;
    ivB64: string;
}
/**
 * Handles encryption and decryption of session credentials.
 * Single responsibility: credentials encryption/decryption operations.
 */
export declare class CredentialsEncrypter {
    private cryptoService;
    /**
     * Keep crypto operations delegated so this class only handles credential payload flow.
     */
    constructor(cryptoService: CryptoService);
    /**
     * Encrypt credentials with a one-time key that can be wrapped by higher layers.
     */
    encrypt(credentials: SessionCredentials): Promise<EncryptedCredentials>;
    /**
     * Decrypt previously encrypted credentials and restore the structured object.
     */
    decrypt(encrypted: EncryptedCredentials): Promise<SessionCredentials>;
}
//# sourceMappingURL=CredentialsEncrypter.d.ts.map