import { CommandResult, Logger } from '../types/cli.types';
import { RuntimeConfig } from '../../utils/types/runtime.config';
import { EnvironmentValidator } from '../utils/environment-validator';
/**
 * Options for the cache clear command
 */
export interface CacheClearCommandOptions {
    /** Deployment stage (dev, staging, prod) */
    stage?: string;
    /** AWS region override */
    region?: string;
    /** AWS profile override */
    profile?: string;
    /** Enable verbose logging */
    verbose?: boolean;
    /** Dry-run mode - preview without executing */
    dryRun?: boolean;
    /** Skip confirmation prompt */
    yes?: boolean;
}
/**
 * Result returned by cache clear command
 */
export interface CacheClearResult extends CommandResult {
    /** Summary of cache clearing operations */
    summary?: {
        /** Total number of cache types attempted */
        totalCacheTypes: number;
        /** Number of successfully cleared cache types */
        clearedCacheTypes: number;
        /** Number of failed cache clearing operations */
        failedCacheTypes: number;
        /** Total operation duration in milliseconds */
        duration: number;
        /** Detailed results for each cache type */
        results?: Array<{
            cacheType: 's3' | 'cloudfront' | 'cloudformation';
            success: boolean;
            duration: number;
            itemsCleared?: number;
            error?: string;
            details?: string;
        }>;
        /** Whether this was a dry-run */
        dryRun: boolean;
    };
}
/**
 * Cache clear command handler
 *
 * Clears all cache layers for a deployed Runtime service including:
 * - S3 cache directory (HTML cache with ETag validation)
 * - CloudFront distribution cache (CDN edge cache)
 * - CloudFormation output cache (in-memory cache)
 *
 * Follows the same patterns as deploy and destroy commands for:
 * - Option parsing and validation
 * - Configuration loading using ConfigService
 * - AWS credential validation
 * - Error handling and user-friendly messages
 *
 * @param options - Command options from CLI
 * @param config - Loaded Runtime configuration
 * @param logger - Logger instance for formatted output
 * @param cwd - Current working directory
 * @param envValidator - Environment validator for AWS credentials
 * @returns Promise<CacheClearResult>
 */
export declare function cacheClearCommand(options: CacheClearCommandOptions, config: RuntimeConfig, logger: Logger, cwd: string, envValidator: EnvironmentValidator): Promise<CacheClearResult>;
