/** @packageDocumentation * @module State */ import { Store } from "redux"; import { FrameworkState } from "./FrameworkState"; import { NameToReducerMap } from "./ReducerRegistry"; /** Generic 'root' state for the ui-framework package. Since this state contains common values needed by many iModel.js applications * it is automatically added to the Redux store when using [[StateManager]]. * @beta */ export interface FrameworkRootState { frameworkState: FrameworkState; } /** * Centralized state management class using Redux actions, reducers and store. This class monitors the ReducerRegistry and will * automatically update the store when a new reducer is registered. This allows the store to be incrementally constructed as modules * and/or extensions are loaded. * @public */ export declare class StateManager { private static _LOG_CATEGORY; private _store; private _defaultReducers; private static _singletonStore; /** * StateManager construct. * @param defaultReducers Default set of Reducers used by the current application. If this object does not contain the [[FrameworkReducer]] it will automatically be added. */ constructor(defaultReducers?: NameToReducerMap); /** Method to test if the StateManager has been initialized. * @param suppressErrorLog If true and the StateManager is not initialized a log message will be output. */ static isInitialized(suppressErrorLog?: boolean): boolean; /** Return the current Redux store. Useful when using connect method to connect a Ui Component to the store. */ static get store(): Store; /** Return the current state from the Redux store. */ static get state(): any; private combineDynamicAndDefaultReducers; /** To be used only in unit test * @internal */ static clearStore(): void; } //# sourceMappingURL=StateManager.d.ts.map