import { StreamingSampleStats } from "./stats"; import { BufferingMetrics, MetricsDrainExitReason, MetricsFinishDeliveryState } from "./types"; export type BufferingMetricsState = BufferingMetrics & { isBufferingAudio: boolean; isDrainingAudio: boolean; pendingBufferedAudioBytes: number; persistedBufferedAudioBytes: number; persistedBufferedAudioSegments: number; totalBufferedAudioBytes: number; peakBufferedAudioBytes: number; bufferingDurationMs: number; drainingDurationMs: number; drainCycles: number; bufferStallCount: number; bufferingStartedAtInternal: number | null; drainingStartedAtInternal: number | null; bufferingDurationBaseMs: number; drainingDurationBaseMs: number; previousBufferedTotalBytes: number; previousBufferedAt: number | null; bufferGrowthRateStats: StreamingSampleStats; bufferDrainRateStats: StreamingSampleStats; previousDrainExitReason: MetricsDrainExitReason; }; export declare const createInitialBufferingMetrics: () => BufferingMetricsState; export declare const updateBufferingMetrics: (state: BufferingMetricsState, input: { at: number; isBufferingAudio: boolean; isDrainingAudio: boolean; pendingBufferedAudioBytes: number; persistedBufferedAudioBytes: number; persistedBufferedAudioSegments: number; totalBufferedAudioBytes: number; lastDrainProgressAt: number | null; drainCycles: number; drainExitReason: MetricsDrainExitReason; finishDeliveryState: MetricsFinishDeliveryState; }) => BufferingMetricsState; export declare const finalizeBufferingMetrics: (state: BufferingMetricsState, now: number) => BufferingMetricsState; //# sourceMappingURL=bufferingMetrics.d.ts.map