import { Subscriptions, FilterPersist, AnyModel } from '../models/BaseModel'; import { RequestSuccessAction, RequestFailAction, RequestPrepareAction } from '../actions/BaseRequestAction'; import { IActionNormal } from '../actions/NormalAction'; export interface IReducers { [key: string]: (state: any, action: any) => any; } declare type AllAction = RequestPrepareAction | RequestSuccessAction | RequestFailAction | IActionNormal; export declare class BaseReducer { protected readonly model?: AnyModel; protected readonly initialState: Data; protected readonly name: string; protected readonly cases: Record[number]['then']>>; protected readonly after: Record[number]['after']>; duration?: number; }>; protected readonly filterPersist: FilterPersist; protected readonly keepOnReset: boolean; constructor(reducerName: string, initialState: Data, model?: AnyModel); createReducer(): IReducers; protected reducer(state: Data | undefined, action: AllAction): Data; protected initFromPersist(state: any): any; protected changeState(effect: Function, state: any, action: AllAction): any; } export {};