import type { Binding } from '../types/binding'; import type { BindingConstructorArgs } from '../types/binding-args'; import type { BindingInitializer } from '../types/binding-initializer'; import type { ChangeListener } from '../types/change-listener'; import type { SetValueTransformer } from '../types/set-value-transformer'; /** The standard implementation of a read-write binding */ export declare class BindingImpl implements Binding { readonly isBinding = true; readonly id: string; readonly uid: string; readonly setValueTransformer: SetValueTransformer | undefined; /** The stored value of the binding */ private value_; /** An ID updated every time the value is changed. This value is unique to this runtime. */ private changeUid_; /** Registered change listeners */ private onChangeListeners_?; /** * A flag indicating whether or not this binding was modified. This is initially `false` when the binding is created and set to `true` * when `set` is called (even if the underlying value doesn't actually change). * * This can also be set manually using `setIsModified`. */ private isModified_; /** This binding is considered to be locked if `> 0` */ private lockedCount_; /** * We keep track of the most-recent mutating call made while this binding is locked. When it becomes unlocked, we apply the requested * change. */ private pending_; /** * In addition to tracking the most-recent mutating call made while this binding is locked, we also track if any of those mutating calls * were resets. If they were, when this binding becomes unlocked, we first reset and then apply the pending update. */ private hasPendingReset_; /** The value equality checker function */ private areEqual_?; /** If `true`, `areEqual_` (or the default) is used to determine if the value has changed */ private detectChanges_; /** The initializer function, which can be used to reset the binding */ private initializer_; /** * @param initializer - A function called to initialize this binding's value, which can also be called to reset its value. * @param args - Additional arguments for configuring this binding. */ constructor(initializer: BindingInitializer, args: BindingConstructorArgs); readonly get: () => GetType; readonly getChangeUid: () => string; readonly reset: () => void; readonly setRaw: (newValue: GetType) => void; readonly set: (newValue: GetType) => void; readonly isModified: () => boolean; readonly setIsModified: (newIsModified: boolean) => void; readonly isLocked: () => boolean; readonly lock: () => () => void; readonly addChangeListener: (listener: ChangeListener) => () => void; readonly triggerChangeListeners: () => number; } //# sourceMappingURL=binding-impl.d.ts.map