import { AnnotationsMap } from 'mobx'; import { Errorable } from './Errorable'; import { Loadable } from './Loadable'; export interface RequestOptions { /** * Initial state of RequestStore, when requests not be called yet */ initial?: Partial & { value: R; isRefreshing: boolean; }>; /** * Fired when request finished with error * * Invoked after `error` field updated, but before crashing whole request */ onError?: (e: Error) => void; /** * Usefull to override default behavior of RequestStore * * @param value observable by default, but maybe you need observable.ref */ makeAutoObservable?: AnnotationsMap<{ isLoading: boolean; isRefreshing: boolean; isSuccess: boolean; error: E | undefined; value: R | undefined; progress: number; }, never>; }