import type { RTCStatsDataType, Trace, TraceKey, TraceSlice } from './types';
export declare class Tracer {
    private buffer;
    private enabled;
    readonly id: string | null;
    private readonly maxBuffer;
    private keys?;
    constructor(id: string | null, maxBuffer?: number);
    setEnabled: (enabled: boolean) => void;
    trace: Trace;
    traceOnce: (key: TraceKey, tag: string, data: RTCStatsDataType) => void;
    resetTrace: (key: TraceKey) => void;
    take: () => TraceSlice;
    dispose: () => void;
    /**
     * Bounds the buffer to 2500 records by dropping the oldest ones,
     * leaving a single `traceBufferOverflow` breadcrumb at the front so the
     * consumer knows records were dropped.
     */
    private capBuffer;
}
