import type { AudioSampleSink } from 'mediabunny'; export declare const makeAudioManager: ({ getTotalCacheStats, }: { getTotalCacheStats: () => { count: number; totalSize: number; }; }) => { getIterator: ({ src, timeInSeconds, audioSampleSink, isMatroska, actualMatroskaTimestamps, logLevel, maxCacheSize, }: { src: string; timeInSeconds: number; audioSampleSink: AudioSampleSink; isMatroska: boolean; actualMatroskaTimestamps: { observeTimestamp: (startTime: number) => void; getRealTimestamp: (observedTimestamp: number) => number | null; }; logLevel: "error" | "info" | "trace" | "verbose" | "warn"; maxCacheSize: number; }) => Promise<{ src: string; getSamples: (ts: number, dur: number) => Promise; waitForCompletion: () => Promise; canSatisfyRequestedTime: (timestamp: number) => boolean; logOpenFrames: () => void; getCacheStats: () => { count: number; size: number; }; getLastUsed: () => number; prepareForDeletion: () => void; startTimestamp: number; clearBeforeThreshold: (threshold: number) => void; getOldestTimestamp: () => number; getNewestTimestamp: () => number | null; }>; getCacheStats: () => { count: number; totalSize: number; }; getIteratorMostInThePast: () => { src: string; getSamples: (ts: number, dur: number) => Promise; waitForCompletion: () => Promise; canSatisfyRequestedTime: (timestamp: number) => boolean; logOpenFrames: () => void; getCacheStats: () => { count: number; size: number; }; getLastUsed: () => number; prepareForDeletion: () => void; startTimestamp: number; clearBeforeThreshold: (threshold: number) => void; getOldestTimestamp: () => number; getNewestTimestamp: () => number | null; } | null; logOpenFrames: () => void; deleteDuplicateIterators: (logLevel: "error" | "info" | "trace" | "verbose" | "warn") => void; clearAll: () => void; dispose: () => void; };