import type{LyraDefinitionRoot}from'./definition-registry.js'; /** Shared ceilings for iterative traversal of a rendered tree, including caller-owned open roots. */ export interface RenderedTreeTraversalOptions{ /** Maximum retained elements. Default 10,000. */ readonly maxElements?:number; /** Maximum supplied/open-shadow roots. Default 2,000. */ readonly maxRoots?:number; /** Maximum light/shadow nesting depth. Default 256. */ readonly maxDepth?:number; /** Maximum root/element visits. Default 100,000. */ readonly maxWork?:number;}export type RenderedTreeTraversalLimit=keyof RenderedTreeTraversalOptions;export interface RenderedTreeTraversalLimits{readonly maxElements:number;readonly maxRoots:number;readonly maxDepth:number;readonly maxWork:number;}export interface RenderedTreeTraversalState{work:number; /** Optional operation-wide retained-element set shared by repeated scans. */ readonly elements?:Set; /** Optional operation-wide retained-root set shared by repeated scans. */ readonly roots?:Set;}export interface RenderedTreeTraversalResult{readonly roots:readonly LyraDefinitionRoot[];readonly elements:readonly Element[]; /** Rendered-tree depth for every newly retained root in this scan. */ readonly rootDepths:ReadonlyMap; /** Rendered-tree depth for every newly retained element in this scan. */ readonly elementDepths:ReadonlyMap;} /** A truthful, inspectable failure instead of a partial traversal result. */ export declare class RenderedTreeTraversalError extends Error{readonly operation:string;readonly limit:RenderedTreeTraversalLimit;readonly maximum:number;readonly name="RenderedTreeTraversalError";constructor(operation:string,limit:RenderedTreeTraversalLimit,maximum:number);}export declare const DEFAULT_RENDERED_TREE_TRAVERSAL_LIMITS:RenderedTreeTraversalLimits;export declare function renderedTreeTraversalLimits(options:RenderedTreeTraversalOptions,operation:string):RenderedTreeTraversalLimits; /** Uses the owner realm's native accessor so an own consumer getter cannot abort sibling work. */ export declare function nativeElementLocalName(element:Element):string|undefined; /** * Iteratively collects a rendered light/open-shadow tree. A limit throws before the candidate is * retained, so callers never mistake a partial prefix for complete discovery. */ export declare function collectRenderedTree(root:LyraDefinitionRoot,limits:RenderedTreeTraversalLimits,state:RenderedTreeTraversalState,operation:string,initialDepth?:number):RenderedTreeTraversalResult;