import { InjectionToken } from '@angular/core'; import { Action, ActionReducer, ActionReducerMap, ActionReducerFactory, StoreFeature, InitialState, MetaReducer, RuntimeChecks } from './models'; import { combineReducers } from './utils'; export interface StoreConfig { initialState?: InitialState; reducerFactory?: ActionReducerFactory; metaReducers?: MetaReducer<{ [P in keyof T]: T[P]; }, V>[]; } export interface RootStoreConfig extends StoreConfig { runtimeChecks?: Partial; } /** * An object with the name and the reducer for the feature. */ export interface FeatureSlice { name: string; reducer: ActionReducer; } export declare function _createStoreReducers(reducers: ActionReducerMap | InjectionToken>): ActionReducerMap; export declare function _createFeatureStore(configs: StoreConfig[] | InjectionToken>[], featureStores: StoreFeature[]): (StoreFeature | { key: string; reducerFactory: ActionReducerFactory | typeof combineReducers; metaReducers: MetaReducer<{ [P in keyof T]: T[P]; }, V>[]; initialState: InitialState | undefined; })[]; export declare function _createFeatureReducers(reducerCollection: Array | InjectionToken>>): ActionReducerMap[]; export declare function _initialStateFactory(initialState: any): any; export declare function _concatMetaReducers(metaReducers: MetaReducer[], userProvidedMetaReducers: MetaReducer[]): MetaReducer[]; export declare function _provideForRootGuard(): unknown;