import {
Alova,
AlovaGenerics,
FetchRequestState,
Method,
Progress,
ReferingObject,
StatesExport,
StatesHook
} from 'alova';
import {
AlovaFetcherMiddleware,
ExportedState,
ProxyStateGetter,
StateUpdater,
UseHookConfig,
UseHookExportedState,
UseHookExposure
} from '../general';
/**
* specify the alova type
* so that it can return the right states
*/
export type FetcherType> = {
StatesExport: NonNullable extends StatesHook ? SE : any;
};
/** useFetcher config export type */
export interface FetcherHookConfig extends UseHookConfig {
/**
* middleware
*/
middleware?: AlovaFetcherMiddleware;
/**
* whether to update the corresponding states of fetching method instance
*/
updateState?: boolean;
}
export interface UseFetchExportedState
extends FetchRequestState<
ExportedState,
ExportedState,
ExportedState