/**
 * SMTP Client Authentication Handler
 * Authentication mechanisms implementation
 */
import type { ISmtpConnection, ISmtpAuthOptions, ISmtpClientOptions } from './interfaces.js';
import type { CommandHandler } from './command-handler.js';
export declare class AuthHandler {
    private options;
    private commandHandler;
    constructor(options: ISmtpClientOptions, commandHandler: CommandHandler);
    /**
     * Authenticate using the configured method
     */
    authenticate(connection: ISmtpConnection): Promise<void>;
    /**
     * Authenticate using AUTH PLAIN
     */
    private authenticatePlain;
    /**
     * Authenticate using AUTH LOGIN
     */
    private authenticateLogin;
    /**
     * Authenticate using OAuth2
     */
    private authenticateOAuth2;
    /**
     * Select appropriate authentication method
     */
    private selectAuthMethod;
    /**
     * Check if OAuth2 token is expired
     */
    private isTokenExpired;
    /**
     * Refresh OAuth2 access token
     */
    private refreshOAuth2Token;
    /**
     * Validate authentication configuration
     */
    validateAuthConfig(auth: ISmtpAuthOptions): string[];
}
