import { EnvConfigRuntime } from '../../core/config/env.config.runtime';
/**
 * Lazy environment validator that defers validation until needed
 *
 * This class wraps EnvConfigRuntime with lazy initialization and friendly error handling.
 * Environment validation is deferred until a command explicitly requests the configuration,
 * allowing commands that don't require AWS credentials to run without validation.
 */
export declare class EnvironmentValidator {
    private _config;
    private _validationAttempted;
    private _validationError;
    private readonly verbose;
    /**
     * Create a new EnvironmentValidator
     *
     * @param verbose - Whether to show technical details in error messages
     */
    constructor(verbose?: boolean);
    /**
     * Get validated environment configuration
     *
     * This method performs lazy validation on first call and caches the result.
     * Subsequent calls return the cached configuration without re-validating.
     *
     * @throws {FriendlyEnvironmentError} If validation fails
     * @returns {EnvConfigRuntime} The validated environment configuration
     */
    getConfig(support?: boolean): EnvConfigRuntime;
    /**
     * Check if environment is valid without throwing
     *
     * This method performs validation if not already attempted and returns
     * whether the environment is valid. Unlike getConfig(), this method
     * does not throw an error if validation fails.
     *
     * @returns {boolean} True if environment is valid, false otherwise
     */
    isValid(support?: boolean): boolean;
    /**
     * Perform validation (private)
     *
     * This method attempts to create an EnvConfigRuntime instance and catches
     * any ZodError that occurs during validation. The validation result is
     * cached to avoid repeated validation attempts.
     */
    private validate;
}
