import WebAwesomeElement from '../../internal/webawesome-element.js'; /** * @summary Tracks immediate child elements and fires events as they move in and out of view. Useful for lazy loading, * scroll-triggered animations, and viewport-aware interactions. * @documentation https://webawesome.com/docs/components/intersection-observer * @status stable * @since 2.0 * * @slot - Elements to track. Only immediate children of the host are monitored. * * @event {{ entry: IntersectionObserverEntry }} wa-intersect - Fired when a tracked element begins or ceases intersecting. */ export default class WaIntersectionObserver extends WebAwesomeElement { static css: import("lit").CSSResult; private intersectionObserver; private observedElements; /** Element ID to define the viewport boundaries for tracked targets. */ root: string | null; /** Offset space around the root boundary. Accepts values like CSS margin syntax. */ rootMargin: string; /** One or more space-separated values representing visibility percentages that trigger the observer callback. */ threshold: string; /** * CSS class applied to elements during intersection. Automatically removed when elements leave * the viewport, enabling pure CSS styling based on visibility state. */ intersectClass: string; /** If enabled, observation ceases after initial intersection. */ once: boolean; /** Deactivates the intersection observer functionality. */ disabled: boolean; connectedCallback(): void; disconnectedCallback(): void; private handleSlotChange; /** Converts threshold property string into numeric array. */ private parseThreshold; /** Locates and returns the root element using the specified ID. */ private resolveRoot; /** Initializes or reinitializes the intersection observer instance. */ private startObserver; /** Halts the intersection observer and cleans up. */ private stopObserver; handleDisabledChange(): void; handleOptionsChange(): void; render(): import("lit-html").TemplateResult<1>; } declare global { interface HTMLElementTagNameMap { 'wa-intersection-observer': WaIntersectionObserver; } }