import { VBindingsInit } from "./VBindingsInit"; /** * A dictionary representing bindings for a virtual node. * The key is the binding name, and the value is the binding value. * Supports hierarchical lookup through parent bindings. */ export declare class VBindings { #private; /** * Creates a new instance of VBindings. * @param parent The parent bindings, if any. */ constructor(args?: VBindingsInit); /** * Gets the raw bindings. * If a key is not found locally, it searches parent bindings recursively. */ get raw(): Record; /** * Indicates whether there are any changed identifiers. */ get hasChanges(): boolean; /** * Gets the list of changed identifiers. */ get changes(): string[]; /** * Indicates whether this is the root bindings (i.e., has no parent). */ get isRoot(): boolean; /** * Clears the set of changed identifiers. */ clearChanges(): void; /** * Sets a binding value. * @param key The binding name. * @param value The binding value. */ set(key: string, value: any): void; /** * Gets a binding value. * @param key The binding name. * @returns The binding value, or undefined if not found. */ get(key: string): any; /** * Checks if a binding exists. * @param key The binding name. * @param recursive Whether to search parent bindings. Default is true. * @returns True if the binding exists, false otherwise. */ has(key: string, recursive?: boolean): boolean; /** * Removes a local binding. * @param key The binding name. */ remove(key: string): void; /** * Sets a binding value without triggering onChange callback. * This is useful for internal updates that shouldn't trigger reactivity. * @param key The binding name. * @param value The binding value. */ setSilent(key: string, value: any): void; /** * Manually adds an identifier to the set of changed identifiers. * This is useful for computed properties that need to mark themselves as changed * without triggering a new update cycle. * @param key The identifier to mark as changed. */ markChanged(key: string): void; /** * Resolves a local path alias for the given identifier by walking up the bindings chain. * Returns the resolved source path, or undefined if no alias is found. */ resolveAlias(identifier: string): string | undefined; /** * Checks whether a reactive change path matches a given identifier, taking local path * aliases into account. Falls back to ReactiveProxy.doesChangeMatchIdentifier for * global aliases (computed properties etc.). */ doesChangeMatchIdentifier(changePath: string, identifier: string): boolean; }