import { Logger } from '../types/cli.types';
import { CacheClearSummary, CloudFormationCacheClearOptions, CloudFrontCacheClearOptions, S3CacheClearOptions } from './cache-clearing.types';
export * from './cache-clearing.types';
export { clearS3Cache, validateS3CacheClearOptions } from './s3-cache-clearing';
export { clearCloudFrontCache, validateCloudFrontCacheClearOptions } from './cloudfront-cache-clearing';
export { clearCloudFormationCache, validateCloudFormationCacheClearOptions } from './cloudformation-cache-clearing';
/**
 * Options for clearing all cache types
 */
export interface ClearAllCachesOptions {
    /** S3 cache clearing options (optional) */
    s3?: S3CacheClearOptions;
    /** CloudFront cache clearing options (optional) */
    cloudfront?: CloudFrontCacheClearOptions;
    /** CloudFormation cache clearing options (optional) */
    cloudformation?: CloudFormationCacheClearOptions;
    /** Whether this is a dry-run (preview without executing) */
    dryRun?: boolean;
    /** Enable verbose logging */
    verbose?: boolean;
}
/**
 * Clear all specified cache types and return a summary
 *
 * This function orchestrates clearing multiple cache types and provides
 * partial failure resilience - if one cache type fails, others will still
 * be attempted.
 *
 * @param options - Cache clearing options for all cache types
 * @param logger - Logger instance for output
 * @returns Promise<CacheClearSummary>
 */
export declare function clearAllCaches(options: ClearAllCachesOptions, logger: Logger): Promise<CacheClearSummary>;
/**
 * Format cache clearing summary for display
 *
 * @param summary - Cache clearing summary to format
 * @returns Formatted string for display
 */
export declare function formatCacheClearSummary(summary: CacheClearSummary): string;
