import { Store, ReducersMapObject, Middleware } from 'redux'; import { Epic } from 'redux-observable'; import { CrafterState, CrafterNamespacedState, LookupTable, Item } from '@craftercms/models'; /** * Retrieves a crafter-redux store based on a config, combining craftercms states/epics with * optional extra states/epics from config */ export declare function createReduxStore(config?: { namespace?: string; namespaceCrafterState?: boolean; reducerMixin?: ReducersMapObject; epicsArray?: Epic[]; additionalMiddleWare?: Middleware[]; reduxDevTools?: boolean; }): Store; /** * Creates a redux store with all the crafter-redux details attached. Optionally, custom app reducers and/or epics * may be supplied to create the store as required by client application. Crafter state props may be nested under * a namespace by setting the namespaceCrafterSate flag to true. The specific namespace (craftercms by default) may * also be customised by supplying the namespace property to the config object. * @param {Store} store * @returns {CrafterState} */ export declare function getState(store: Store): CrafterState; /** * Flattens a collection, returning its entries and childIds per entry * @param {Item} item * @param {string} childrenProperty * @returns {LookupTable} */ export declare function flattenEntries(item: Item, childrenProperty?: string): LookupTable;