import { ActionMap, ReduxCompatibleReducer, ReduxCompatibleReducerMeta, ReducerMapMeta, ReducerMap, ActionFunctionAny } from 'redux-actions'; import { AeruxStore } from './store'; import { Action } from 'redux'; declare type Payload = any; declare type Meta = any; export interface ModelConfig { namespace: string; state: State; actions?: ActionMap; reducers?: ReducerMapMeta | ReducerMap | ReducerMap; } export interface CreateActionMap { [actionName: string]: ActionFunctionAny>; } export interface AeruxModel { namespace: string; actions: CreateActionMap; reducer: ReduxCompatibleReducer | ReduxCompatibleReducerMeta; } declare function createModel(model: ModelConfig, store?: AeruxStore): AeruxModel; export default createModel;