export interface Action { type: string; } export declare interface TypedAction extends Action { readonly type: T; } export declare type ActionType = A extends ActionCreator ? ReturnType & { type: T; } : never; export declare type TypeId = () => T; export declare type InitialState = Partial | TypeId> | void; /** * A function that takes an `Action` and a `State`, and returns a `State`. * See `createReducer`. */ export interface ActionReducer { (state: T | undefined, action: V): T; } export declare type ActionReducerMap = { [p in keyof T]: ActionReducer; }; export interface ActionReducerFactory { (reducerMap: ActionReducerMap, initialState?: InitialState): ActionReducer; } export declare type MetaReducer = (reducer: ActionReducer) => ActionReducer; export interface StoreFeature { key: string; reducers: ActionReducerMap | ActionReducer; reducerFactory: ActionReducerFactory; initialState?: InitialState; metaReducers?: MetaReducer[]; } export declare type Selector = (state: T) => V; /** * @deprecated Selectors with props are deprecated, for more info see {@link https://github.com/ngrx/platform/issues/2980 Github Issue} */ export declare type SelectorWithProps = (state: State, props: Props) => Result; export declare const arraysAreNotAllowedMsg = "arrays are not allowed in action creators"; declare type ArraysAreNotAllowed = typeof arraysAreNotAllowedMsg; export declare const typePropertyIsNotAllowedMsg = "type property is not allowed in action creators"; declare type TypePropertyIsNotAllowed = typeof typePropertyIsNotAllowedMsg; export declare const emptyObjectsAreNotAllowedMsg = "empty objects are not allowed in action creators"; declare type EmptyObjectsAreNotAllowed = typeof emptyObjectsAreNotAllowedMsg; export declare type FunctionIsNotAllowed = T extends Function ? ErrorMessage : T; /** * A function that returns an object in the shape of the `Action` interface. Configured using `createAction`. */ export declare type Creator

= FunctionWithParametersType; export declare type NotAllowedCheck = T extends any[] ? ArraysAreNotAllowed : T extends { type: any; } ? TypePropertyIsNotAllowed : keyof T extends never ? EmptyObjectsAreNotAllowed : unknown; /** * See `Creator`. */ export declare type ActionCreator = C & TypedAction; export interface ActionCreatorProps { _as: 'props'; _p: T; } export declare type FunctionWithParametersType

= (...args: P) => R; export declare type ParametersType = T extends (...args: infer U) => unknown ? U : never; export interface RuntimeChecks { /** * Verifies if the state is serializable */ strictStateSerializability: boolean; /** * Verifies if the actions are serializable. Please note, you may not need to set it to `true` unless you are storing/replaying actions using external resources, for example `localStorage`. */ strictActionSerializability: boolean; /** * Verifies that the state isn't mutated */ strictStateImmutability: boolean; /** * Verifies that actions aren't mutated */ strictActionImmutability: boolean; /** * Verifies that actions are dispatched within NgZone */ strictActionWithinNgZone: boolean; /** * Verifies that action types are not registered more than once */ strictActionTypeUniqueness?: boolean; } export {};