import { BufferedSeekingInput } from '../BufferedSeekingInput';
/**
 * Cache for scrub BufferedSeekingInput instances
 * Since scrub segments are 30s long, we can reuse the same input for many seeks
 * within that time range, making scrub seeking very efficient
 */
export declare class ScrubInputCache {
    private cache;
    private maxCacheSize;
    /**
     * Get or create BufferedSeekingInput for a scrub segment
     */
    getOrCreateInput(segmentId: number, createInputFn: () => Promise<BufferedSeekingInput | undefined>): Promise<BufferedSeekingInput | undefined>;
    /**
     * Clear the entire cache (called when video changes)
     */
    clear(): void;
    /**
     * Get cache statistics
     */
    getStats(): {
        size: number;
        segmentIds: number[];
    };
}
