/** * Breakpoints on one element: pause in the debugger when it enters * `update()` or `render()`, or when one of its reactive properties changes. * * Each is an own property on the instance, shadowing the prototype's method * for this element alone, so other instances of the class run untouched and * disarming is a `delete`. The prototype method is looked up on every call, * so a hot-patched class still runs its new code. A property breakpoint wraps * `requestUpdate`, which Lit's accessor calls with the property's name and old * value after storing the new one: it covers `noAccessor` properties and * leaves the override layer's own accessors (`prop-overrides.ts`) alone. * * The pause is a `debugger` statement here, so it only stops while the * browser's DevTools are open on the page, which the extension's panel * guarantees. Stepping out of the wrapper reaches the element's own code, or * for a property, whatever set it. */ import type { BreakTarget } from '../../../types/inspector.js'; /** * Arm or disarm `target` on `el`. False when it cannot be armed: `el` is not * a Lit element, the property is not declared, or something else already * owns that slot on the instance. Disarming always succeeds. */ export declare const setBreakpoint: (el: Element, target: BreakTarget, on: boolean) => boolean; /** Disarm every breakpoint on every element. */ export declare const clearBreakpoints: () => void; //# sourceMappingURL=breakpoints.d.ts.map