import type { AudioBufferSlice } from '../make-iterator-with-priming'; export declare const HEALTHY_BUFFER_THRESHOLD_SECONDS = 1; export declare const ALLOWED_GLOBAL_TIME_ANCHOR_SHIFT = 0.1; export type QueuedNode = { node: AudioBufferSourceNode; timestamp: number; buffer: AudioBuffer; sourceDurationInSeconds: number; scheduledTime: number; playbackRate: number; scheduledAtAnchor: number; }; export type QueuedPeriod = { from: number; until: number; }; export type MakeAudioIteratorOptions = { startFromSecond: number; iterator: AsyncGenerator; unscheduleAudioNode: (node: AudioBufferSourceNode) => void; }; export declare const makeAudioIterator: ({ startFromSecond, iterator, unscheduleAudioNode, }: MakeAudioIteratorOptions) => { destroy: () => void; getNextFn: () => Promise>; isDestroyed: () => boolean; addQueuedAudioNode: (queuedNode: QueuedNode) => void; guessNextTimestamp: () => number; getQueuedPeriod: () => { from: number; until: number; } | null; }; export type AudioIterator = ReturnType; export declare const isAlreadyQueued: (time: number, queuedPeriod: { from: number; until: number; } | null | undefined) => boolean;