import { VNode } from "../VNode"; import { VBindingsPreparer } from "../VBindingsPreparer"; import { VDirective } from "./VDirective"; import { VDirectiveParseContext } from "./VDirectiveParseContext"; import { VDOMUpdater } from "../VDOMUpdater"; /** * Directive for observing element intersection with viewport or ancestor elements using IntersectionObserver. * The `v-intersection` directive allows you to respond to changes in an element's visibility. * * Example usage: *
Observable content
*
Observable content
* * The handler receives IntersectionObserverEntry array as the first argument and $ctx as the second: * handleIntersection(entries, $ctx) { * const entry = entries[0]; * if (entry.isIntersecting) { * console.log('Element is visible!'); * } * } * * Options can be provided via :options or :options.intersection attribute: * :options="{root: null, threshold: 0.5, rootMargin: '0px'}" * :options.intersection="{root: null, threshold: 0.5, rootMargin: '0px'}" * * This directive is useful for lazy-loading, infinite scrolling, animation triggers, * and other features that depend on element visibility. */ export declare class VIntersectionDirective implements VDirective { #private; /** * @param context The context for parsing the directive. */ constructor(context: VDirectiveParseContext); /** * @inheritdoc */ get name(): string; /** * @inheritdoc */ get vNode(): VNode; /** * @inheritdoc */ get needsAnchor(): boolean; /** * @inheritdoc */ get bindingsPreparer(): VBindingsPreparer | undefined; /** * @inheritdoc */ get domUpdater(): VDOMUpdater | undefined; /** * @inheritdoc */ get templatize(): boolean; /** * @inheritdoc */ get dependentIdentifiers(): string[]; /** * @inheritdoc */ get onMount(): (() => void) | undefined; /** * @inheritdoc */ get onMounted(): (() => void) | undefined; /** * @inheritdoc */ get onUpdate(): (() => void) | undefined; /** * @inheritdoc */ get onUpdated(): (() => void) | undefined; /** * @inheritdoc */ get onUnmount(): (() => void) | undefined; /** * @inheritdoc */ get onUnmounted(): (() => void) | undefined; /** * @inheritdoc */ destroy(): void; }