export interface IStateManager {
readonly changed: Observable<IStateChange>;
readonly contextChanged: Observable<IContextChanged>;
readonly startChangeCycle: Observable<IChangeCycleIndex>;
readonly endChangeCycle: Observable<IChangeCycleIndex>;
isWatched(
context: unknown,
index: unknown,
indexWatchRule?: IIndexWatchRule,
): boolean;
watchState(
context: unknown,
index: unknown,
options?: IStateOptions,
): unknown;
subscribeStateEvents(
context: unknown,
index: unknown,
listener: IStateEventListener,
): () => void;
releaseState(
context: unknown,