import { TemplateResult as TemplateResult$1 } from "../node_modules/lit-html/development/lit-html.js"; import * as _$lit from "lit"; import { LitElement } from "lit"; //#region src/gui/EFOverlayItem.d.ts /** * Position changed event detail. */ interface OverlayItemPosition { x: number; y: number; width: number; height: number; rotation: number; } /** * Individual overlay item that tracks a target element. * Must be a direct child of ef-overlay-layer. * * NEW ARCHITECTURE: This component is now PASSIVE - it does not run its own RAF loop. * Instead, it registers with its parent EFOverlayLayer, which manages position updates * for all children in a synchronized RAF loop. This eliminates race conditions and * ensures transforms are applied before positions are read. */ declare class EFOverlayItem extends LitElement { static styles: _$lit.CSSResult[]; elementId?: string; target?: HTMLElement | string; private currentPosition; private resolveTarget; /** * Update position based on target element. * Called by parent EFOverlayLayer in its synchronized RAF loop. * PUBLIC API - called by parent layer. */ updatePosition(): void; connectedCallback(): void; disconnectedCallback(): void; render(): TemplateResult$1<1>; } declare global { interface HTMLElementTagNameMap { "ef-overlay-item": EFOverlayItem; } } //#endregion export { EFOverlayItem, OverlayItemPosition }; //# sourceMappingURL=EFOverlayItem.d.ts.map