import { Logger } from '../../types/cli.types';
/**
 * Error types for cache clear command
 */
export declare enum CacheClearErrorType {
    CONFIGURATION = "configuration",
    CREDENTIALS = "credentials",
    RESOURCE = "resource",
    SERVICE = "service",
    PERMISSION = "permission",
    THROTTLING = "throttling",
    NETWORK = "network",
    UNKNOWN = "unknown"
}
/**
 * Base error class for cache clear operations
 */
export declare class CacheClearError extends Error {
    readonly type: CacheClearErrorType;
    readonly troubleshooting: string[];
    readonly context?: Record<string, any>;
    constructor(message: string, type: CacheClearErrorType, troubleshooting?: string[], context?: Record<string, any>);
}
/**
 * Configuration error for cache clear command
 */
export declare class CacheClearConfigurationError extends CacheClearError {
    constructor(message: string, troubleshooting?: string[], context?: Record<string, any>);
}
/**
 * Credentials error for cache clear command
 */
export declare class CacheClearCredentialsError extends CacheClearError {
    constructor(message: string, troubleshooting?: string[], context?: Record<string, any>);
}
/**
 * Resource error for cache clear command
 */
export declare class CacheClearResourceError extends CacheClearError {
    constructor(message: string, troubleshooting?: string[], context?: Record<string, any>);
}
/**
 * Service error for cache clear command
 */
export declare class CacheClearServiceError extends CacheClearError {
    constructor(message: string, troubleshooting?: string[], context?: Record<string, any>);
}
/**
 * Error handler for cache clear command
 * Provides clear error messages and troubleshooting hints following the same patterns as other commands
 */
export declare class CacheClearErrorHandler {
    private readonly logger;
    constructor(logger: Logger);
    /**
     * Handle and display error with appropriate message and troubleshooting hints
     */
    handleError(error: Error | CacheClearError, context?: Record<string, any>): void;
    /**
     * Handle specific cache clear errors
     */
    private handleCacheClearError;
    /**
     * Handle generic errors
     */
    private handleGenericError;
    /**
     * Provide configuration-specific troubleshooting
     */
    private provideConfigurationTroubleshooting;
    /**
     * Provide credentials-specific troubleshooting
     */
    private provideCredentialsTroubleshooting;
    /**
     * Provide resource-specific troubleshooting
     */
    private provideResourceTroubleshooting;
    /**
     * Provide service-specific troubleshooting
     */
    private provideServiceTroubleshooting;
    /**
     * Provide permission-specific troubleshooting
     */
    private providePermissionTroubleshooting;
    /**
     * Provide throttling-specific troubleshooting
     */
    private provideThrottlingTroubleshooting;
    /**
     * Provide network-specific troubleshooting
     */
    private provideNetworkTroubleshooting;
    /**
     * Create configuration error with appropriate troubleshooting
     */
    static createConfigurationError(message: string, context?: Record<string, any>): CacheClearConfigurationError;
    /**
     * Create credentials error with appropriate troubleshooting
     */
    static createCredentialsError(message: string, context?: Record<string, any>): CacheClearCredentialsError;
    /**
     * Create resource error with appropriate troubleshooting
     */
    static createResourceError(message: string, context?: Record<string, any>): CacheClearResourceError;
    /**
     * Create service error with appropriate troubleshooting
     */
    static createServiceError(message: string, context?: Record<string, any>): CacheClearServiceError;
    /**
     * Classify AWS error and create appropriate CacheClearError
     */
    static classifyAwsError(error: any, context?: Record<string, any>): CacheClearError;
    /**
     * Check if error is a credentials error
     */
    private static isCredentialsError;
    /**
     * Check if error is a permission error
     */
    private static isPermissionError;
    /**
     * Check if error is a resource error
     */
    private static isResourceError;
    /**
     * Check if error is a throttling error
     */
    private static isThrottlingError;
    /**
     * Check if error is a network error
     */
    private static isNetworkError;
}
