/** * lit-render timeline layers — listen to the built-in lit-debug CustomEvents * instead of patching prototypes, so they're zero-cost when the Lit debug * flag is off and perfectly accurate for the render layers. * * `globalThis.emitLitDebugLogEvents = true` gates the events, and lit-html * dispatches a CustomEvent per render whenever it's set — a real per-render * cost. So the caller drives the flag via {@link setRenderDebugEnabled} from * `recording × (lit-render OR lit-render-verbose enabled)` rather than * leaving it on for the whole session. * The events are tagged `*Unstable` in the Lit source; we tolerate missing * `kind` values gracefully. * * begin render / end render share a numeric `id` → we use it as groupId so * the panel can show a duration bar for each render call. * * `template updating` / `template instantiated[ and updated]` / `set part` / * `commit *` fire once per template-bound part on *every* render — extremely * high volume (a ticking clock or animation floods the layer). They're * emitted on the separate opt-in `lit-render-verbose` layer rather than * `lit-render`, so the common case (the begin/end render duration bar) stays * quiet by default. */ import type { TimelineEvent } from '../../../types/timeline.js'; type EmitFn = (event: TimelineEvent) => void; type RecordingFn = () => boolean; type LayerEnabledFn = () => boolean; /** * Install the lit-debug render layers (`lit-render` and the opt-in * `lit-render-verbose`). * Idempotent — calling again when already installed is a no-op. */ export declare const installRenderLayer: (emit: EmitFn, recording: RecordingFn, renderEnabled: LayerEnabledFn, verboseEnabled: LayerEnabledFn) => void; /** * Toggle Lit's debug event system. Enabling makes lit-html dispatch a * CustomEvent on every render (dev-only; no-op in prod builds), so the caller * keeps it off unless the render layer is actively recording. */ export declare const setRenderDebugEnabled: (enabled: boolean) => void; /** Remove the listener and clear the Lit debug flag. */ export declare const uninstallRenderLayer: () => void; export {}; //# sourceMappingURL=render.d.ts.map