import { type CacheConfig } from '../../shared/cache';
import type { EnhancedVideoProps, ProcessedVideoResult, TsVideosConfig } from '../../types';
/**
 * Get cached video processing result
 */
export declare function getCachedVideoResult(src: string, options: Partial<EnhancedVideoProps>, config?: TsVideosConfig): Promise<ProcessedVideoResult | null>;
/**
 * Set cached video processing result
 */
export declare function setCachedVideoResult(src: string, options: Partial<EnhancedVideoProps>, result: ProcessedVideoResult, config?: TsVideosConfig): Promise<void>;
/**
 * Clear video processing cache
 */
export declare function clearVideoCache(): Promise<void>;
/**
 * Video processor cache configuration
 */
export declare interface VideoCacheConfig extends CacheConfig {
  cacheTranscoded?: boolean
  cacheThumbnails?: boolean
  cacheManifests?: boolean
}
/**
 * Video processor cache class
 */
export declare class VideoProcessorCache {
  constructor(config?: Partial<VideoCacheConfig>);
  get(src: string, options: Partial<EnhancedVideoProps>): Promise<ProcessedVideoResult | null>;
  set(src: string, options: Partial<EnhancedVideoProps>, result: ProcessedVideoResult): Promise<void>;
  clear(): Promise<void>;
  updateConfig(config: Partial<VideoCacheConfig>): void;
}
