import { Observable } from 'rxjs'; import { Draft } from 'immer'; import { EffectAction } from '../types'; export * from './action-related'; interface DecoratorReturnType { (target: any, propertyKey: string, descriptor: { value?: V; }): PropertyDescriptor; } export declare const ImmerReducer: () => DecoratorReturnType<(state: Draft, params: any) => undefined | void>; export declare const Reducer: () => DecoratorReturnType<(state: S, params: any) => S>; export declare const Effect: () => DecoratorReturnType<(action: Observable, state$: Observable) => Observable>; export declare const DefineAction: () => any;