/** * Names an element so it can be found again after a reload, when the numeric * ids the inspector uses have been minted afresh. * * An element the transform stamped with its template call site is named by * that site and its place among the elements stamped with the same site, in * document order (shadow trees included, each after its host). Anything else * is named by its tag and its path from the document: child indexes, with a * hop into a shadow root marked. Both shift when a list reorders or a * conditional renders differently; a key that finds the wrong element of the * right tag is caught by `setProp`'s guards, or not at all, which is the * price of matching without help from the app. */ import type { ElementKey } from '../../../types/inspector.js'; export type { ElementKey }; /** * Every element in document order, each shadow tree right after its host: * a closed one too, where Lit keeps it on the element, as the tree does. */ export declare function deepElements(root: ParentNode): Generator; /** The key `el` would be found by after a reload. */ export declare const keyOf: (el: Element) => ElementKey; /** Whether `key` names `el`. */ export declare const matchesKey: (el: Element, key: ElementKey) => boolean; /** The element `key` names in `doc`, if there is one. */ export declare const findByKey: (key: ElementKey, doc?: Document) => Element | undefined; //# sourceMappingURL=element-key.d.ts.map