import { RouterState } from "react-router-redux"; export declare type StateKeyType = string | number; /** A representation of a fragment of state */ export interface IStateFragment { /** The state data */ state: T | undefined; /** The state's status */ status: StateStatus; /** The states key (also used to define key within a state fragment dictionary */ stateKey?: StateKeyType; /** The state's timestamp */ timestamp: number; } /** Defines a State Fragment Dictionary */ export interface IStateFragmentDictionary { [id: string]: IStateFragment; [id: number]: IStateFragment; } /** Default implementation of a State Fragment */ export declare class StateFragment implements IStateFragment { state: TFragment | undefined; status: StateStatus; stateKey: StateKeyType; timestamp: number; constructor(state?: TFragment | undefined, status?: StateStatus, stateKey?: StateKeyType); /** Creates a new State Fragment for a status and state key */ static createFrom(fragment: { status?: StateStatus; stateKey?: StateKeyType; }): StateFragment; } /** Indicates the Status of Redux state*/ export declare const enum StateStatus { /** State not set */ NotSet = 0, /** State load pending */ Pending = 1, /** State loaded */ Ok = 2, /** Error while loading state */ Error = 3, } /** Defines the State Shape */ export interface IState { /** The react-router state */ routing: RouterState; /** State for user specific content */ user: TUser; /** State for system state (generally unprotected global content) */ system: TSystem; }