import { VDirective } from "./VDirective"; import { VNode } from "../VNode"; import { VBindingsPreparer } from "../VBindingsPreparer"; import { VDOMUpdater } from "../VDOMUpdater"; import { VBindDirective } from "./VBindDirective"; /** * Manages directives associated with a virtual node (VNode). * This class is responsible for parsing, storing, and managing the lifecycle of directives. * It also provides access to bindings preparers and DOM updaters from the associated directives. */ export declare class VDirectiveManager { #private; constructor(vNode: VNode); /** * The list of directives associated with the virtual node. * This may be undefined if there are no directives. */ get directives(): VDirective[] | undefined; /** * The anchor comment node used for certain directives. * This may be undefined if no directive requires an anchor. */ get anchorNode(): Comment | undefined; /** * The list of bindings preparers from the associated directives. * This may be undefined if no directive provides a bindings preparer. */ get bindingsPreparers(): VBindingsPreparer[] | undefined; /** * The list of DOM updaters from the associated directives. * This may be undefined if no directive provides a DOM updater. */ get domUpdaters(): VDOMUpdater[] | undefined; /** * Gets the directive that binds the ":key" or "v-bind:key" attribute, if any. * This directive is special and is used for optimizing rendering of lists. * If no such directive exists, this returns undefined. */ get keyDirective(): VBindDirective | undefined; /** * Gets the VBindDirective for options specific to the given directive name. * Searches in order: `:options.{directive}` -> `:options` * * @param directive The directive name (e.g., 'intersection', 'resize') * @returns The VBindDirective instance or undefined */ optionsDirective(directive: string): VBindDirective | undefined; /** * Cleans up any resources used by the directive handler. */ destroy(): void; }