import { Action } from "./create-action"; import { BasicOptions } from './create-basic-reducer'; import { Lens } from 'ramda'; import { PathResolver } from "./path-resolver"; export interface Options extends BasicOptions { timestampAccessor?: (action: Action) => Date; payloadAccessor?: (action: Action) => T; pathResolver?: Lens | PathResolver; keepPreviousStateOnStarted?: boolean; } export interface AsyncState { isFetching: boolean; error?: boolean; errorDescription?: string; exceptions?: any; state?: TState; didInvalidate?: boolean; timestamp?: Date; elapsed?: number; } export declare const getDefaultState: () => { isFetching: boolean; error?: boolean; errorDescription?: string; exceptions?: any; state?: any; didInvalidate?: boolean; timestamp?: Date; elapsed?: number; }; export declare const createAsyncReducer: (actionName: string, options?: Options) => (state: any, action: Action) => any; export default createAsyncReducer;