export declare class CicularAudioSharedBuffer {
    sampleIndexToTS: Array<{
        sampleIndex: number;
        ts: number;
    }> | null;
    sharedAudiobuffers: SharedArrayBuffer[] | null;
    sharedCommBuffer: SharedArrayBuffer;
    size: number;
    contextFrequency: number;
    sharedStates: Int32Array;
    onDropped: ((info: any) => void) | null;
    lastTimestamp: number | undefined;
    maxIndexItems: number;
    constructor();
    SetCallbacks(onDropped: (info: any) => void): void;
    Init(numChannels: number, numSamples: number, contextFrequency: number): void;
    Add(aFrame: any, overrideFrameTs?: number): void;
    GetStats(): {
        currentTimestamp: number;
        queueSize: number;
        queueLengthMs: number;
        totalSilenceInsertedMs: number;
        isPlaying: number;
    };
    Play(): void;
    GetSharedBuffers(): {
        sharedAudiobuffers: SharedArrayBuffer[];
        sharedCommBuffer: SharedArrayBuffer;
    };
    Clear(): void;
    _cleanUpIndex(): void;
    _updateCurrentTimestamp(start: number, end: number): void;
    _getUsedSlots(start: number, end: number): number;
    _getFreeSlots(start: number, end: number): number;
    _isSentSample(index: number, start: number, end: number): boolean;
}
//# sourceMappingURL=audio_circular_buffer.d.ts.map