/** * Non-reactive instance state for the inspector details pane: reactive * controllers, `@lit/task` instances, signals and plain class fields. Runs in * the inspected page and reads a live element, so everything is duck-typed (no * dependency on the libraries) and read-only: no `run()`, no `set()`, no * getter on an unrecognised object, and a signal that could run user code is * never evaluated. */ import type { InspectorExtra } from '../../../types/inspector.js'; /** * Calls `onChange` when a context provider on `el` hands its subscribers a * new value. A provider's `setValue` does not update its own host, so the * host's details would otherwise show the old value until something else * renders it. Wraps each provider's own `updateObservers` (an instance arrow * function, kept by name in the production build) on this element only; * returns a function that puts them back. */ export declare const onProviderChange: (el: Element, onChange: () => void) => (() => void); /** * The element's non-reactive instance state, capped at {@link MAX_EXTRAS}: * controllers and tasks first (in registration order), then signals and tasks * held in own fields, then plain own fields. Never throws. */ export declare const collectExtras: (el: Element) => InspectorExtra[]; /** * The live value behind the extra named `name`, as {@link collectExtras} * names it, or `undefined` when there is none or it cannot be read. */ export declare const extraValue: (el: Element, name: string) => { value: unknown; } | undefined; //# sourceMappingURL=extras.d.ts.map