export type DependencyKey = string; export type EqualityCallback = (a: T, b: T) => boolean; export type CloneCallback = (source: T) => T; export type CopyCallback = (source: T, target: T) => void; export interface DependencyCallbacks { equals: EqualityCallback; clone?: CloneCallback; copy?: CopyCallback; } export type DependencyProp = DependencyKey | [name: DependencyKey, equals: EqualityCallback] | [name: DependencyKey, callbacks: DependencyCallbacks]; export declare class Dependencies { #private; static cloneable: boolean; clone: () => D; copy: (x: D) => D; }>(name: DependencyKey) => DependencyProp; constructor(props: DependencyProp[]); update(nextProps: Record): void; equals(nextProps: Record): boolean; changed(nextProps: Record): boolean; clear(): void; value(key: DependencyKey): any; } //# sourceMappingURL=Dependencies.d.ts.map