import { ModificationTree, RenderableStateDescriber, RSDList, RSDObject, StateDependencies, ViewState } from '../types'; import { Observable } from '../viewModel/Observable'; import { DataPath } from './DataPath'; import { Renderable } from './Renderable'; export declare const vdomUtils: { parseDataPath(dataName: string): DataPath; /** N for "New", means merge into new object */ mergeStateDependenciesN(deps: StateDependencies, newDeps: StateDependencies): StateDependencies; /** N for "New", means merge into new object */ mergeModificationTreeN(tree: ModificationTree, newTree: ModificationTree): ModificationTree; /** N for "New", means merge into new object */ mergeStateN(state: ViewState, newState: ViewState): ViewState; mergeStateDependenciesWithChildren(deps: StateDependencies, children: Renderable[]): void; /** return true if needs update */ checkStateDependencies(modifiedState: ViewState, stateDependencies: StateDependencies): boolean; mergeStateDescribers(describer: RenderableStateDescriber, newDescriber: true | RSDObject | RSDList): void; /** * NOTE: only for typing purpose, not actionaly needed. * ViewModel and ViewModelList can be correctly handled as ViewState */ observableToViewState(target: string | number | boolean | Observable): ViewState; };