export type RenderedStateTarget=HTMLElement|(()=>HTMLElement|null); /** Returns true when `element` is connected and generates at least one CSS layout box. */ export declare function hasRenderedLayoutBox(element:HTMLElement):boolean; /** * Watches a live element (or lazily resolved element) for transitions between generating and not * generating a CSS layout box. Resize and DOM observers provide the normal event-driven path; an * animation-frame fallback keeps the contract working in browsers that do not expose either * observer constructor and while a lazy target has not rendered yet. */ export declare class RenderedStateController{private readonly host;private readonly target;private readonly onChange;private started;private lastRendered?;private observedDocument?;private observedTarget?;private resizeObserver?;private mutationHub?;private observedVisibilityElements;private frame?;private frameView?;private readonly mutationSubscription;constructor(host:HTMLElement,target:RenderedStateTarget,onChange:(rendered:boolean)=>void);constructor(host:HTMLElement,onChange:(rendered:boolean)=>void); /** The most recently observed state, or a synchronous current reading before `start()`. */ get rendered():boolean; /** Starts watching and reports the current state synchronously. Idempotent. */ start():void; /** Stops all observers and frame work. The controller can be started again. */ stop():void; /** Re-reads the target immediately and returns its current state. */ check():boolean;private resolveTarget;private readCurrent;private refreshObservers;private mutationAffects;private scheduleFrame;private cancelFrame;}