import GirafeSingleton from '../../base/GirafeSingleton.js'; import State from './state.js'; import IGirafeContext from '../context/icontext.js'; export type Callback = (oldValue: any, value: any, parents?: any) => void | Promise; declare class StateManager extends GirafeSingleton { private readonly girafeState; private readonly stateProxy; get state(): State; private readonly callbacks; constructor(context: IGirafeContext); initializeSingleton(): void; private setDefaultValues; private onChange; subscribe(path: string, callback: Callback): Callback; subscribe(path: RegExp, callback: Callback): Callback; /** Unsubscribe one or multiple trackers by their callbacks. */ unsubscribe(callback: Callback): void; unsubscribe(callbacks: Callback[]): void; batchChanges(statechanges: (state: State) => void): void; } export default StateManager;