import { AvgLastNItems } from './avg_last_n_items.js';
export declare class JitterBuffer {
    bufferSizeMs: number;
    timebase: number;
    elementsList: any[];
    droppedCallback: ((info: any) => void) | undefined;
    numTotalGaps: number;
    numTotalLostStreams: number;
    avgItemDur: AvgLastNItems;
    lastReleasedTs: number | undefined;
    lastCorrectGroupId: number | undefined;
    lastCorrectObjId: number | undefined;
    lastWasLastInGroup: boolean;
    numTotalDuplicates: number;
    private releasedKeys;
    private releasedKeysOrder;
    constructor(maxSizeMs: number | undefined, droppedCallback: ((info: any) => void) | undefined, timebase: number);
    AddItem(chunk: any, groupId: number, objId: number, extraData: any, isLastInGroup?: boolean): any[];
    MarkEndOfGroup(groupId: number, lastObjId: number): any[];
    private drain;
    private isContiguous;
    private bufferedSpanMs;
    private estimateLoss;
    private releaseHead;
    private rememberReleased;
    GetStats(): {
        numTotalGaps: number;
        numTotalLostStreams: number;
        numTotalDuplicates: number;
        totalLengthMs: number;
        size: number;
        currentMaSizeMs: number;
    };
    Clear(): void;
    UpdateMaxSize(bufferSizeMs: number): void;
}
//# sourceMappingURL=jitter_buffer.d.ts.map