/** * Mirrors every telemetry emission to memory, downloadable as a file. * * The four channels (event / metric / log / trace) leave the browser for three * different backends, so checking that a change reports what it intends to * means waiting on ingestion and then reconstructing one round out of three * consoles. This keeps the same payloads locally at the moment they are * emitted, giving a single ordered file per run to diff against expectations — * including the metric labels, which are the part most easily gotten wrong and * the part hardest to read back out of an aggregated histogram. * * Recording is passive: it never alters what is sent, and a failure to record * is swallowed rather than surfaced, because a diagnostic must not be able to * break the playback path it is observing. * * **Disabled by default.** `startTelemetryCapture()` turns it on; a shipped * integration pays nothing for it and would never call the download to get the * data back out. Nothing leaves the page until `downloadTelemetryRecords()` is * called. * * Aligned with iOS / Android `TelemetryRecorder`. */ /** Begin a fresh capture, discarding anything held from a previous run. */ export declare function startTelemetryCapture(): void; /** * Stop capturing. Anything already captured stays readable via * `getTelemetryRecords` / `downloadTelemetryRecords`. */ export declare function stopTelemetryCapture(): void; /** * Everything captured so far, as JSONL. The buffer is left intact so a later * dump still covers the whole session. */ export declare function getTelemetryRecords(): string; /** Discard everything captured. Used to isolate a single run. */ export declare function resetTelemetryRecords(): void; /** * Save the capture as a .jsonl file. * * @returns the filename written, or null when nothing has been captured. */ export declare function downloadTelemetryRecords(): string | null; //# sourceMappingURL=telemetry-recorder.d.ts.map