import { MutableSet } from '@noshiro/ts-utils';
import type { ChildObservable, ObservableId, RootObservable, RootObservableType } from '../types';
import { ObservableBaseClass } from './observable-base-class';
export declare class RootObservableClass extends ObservableBaseClass implements RootObservable {
#private;
readonly type: Type;
protected readonly _descendantsIdSet: MutableSet;
constructor({ type, currentValueInit, }: Readonly<{
type: Type;
currentValueInit: RootObservable['currentValue'];
}>);
addDescendant(child: ChildObservable): void;
startUpdate(nextValue: A): void;
}