@geogirafe/lib-geoportal
Version:
GeoGirafe is a flexible application to build online geoportals.
22 lines (21 loc) • 900 B
TypeScript
import GirafeSingleton from '../../base/GirafeSingleton';
import State from './state';
import ConfigManager from '../configuration/configmanager';
export type Callback = (oldValue: any, value: any, parents?: any) => void | Promise<void>;
declare class StateManager extends GirafeSingleton {
private readonly girafeState;
private readonly stateProxy;
get state(): State;
private readonly callbacks;
configManager: ConfigManager;
constructor(type: string);
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;