import AjaxAbortController from './ajaxAbort';
export declare type ParamsData
= P;
export declare type BodyData = B;
export interface RequestConfig extends RequestInit {
headers?: HeadersInit & Headers;
}
export interface AjaxGlobalConfig {
baseUrl?: string;
responseType?: string;
timeout?: number;
requestConfig?: RequestConfig;
params?: ParamsData;
}
export interface AjaxOptions extends AjaxGlobalConfig {
abortController?: AjaxAbortController;
beforeRequest?: (requestArgs: RequestArgs) => RequestArgs;
afterResponse?: (response: ResponseArgs, requestArgs?: RequestArgs) => Promise>;
}
export interface RequestArgs extends AjaxOptions {
readonly url: string;
readonly params?: ParamsData;
method: string;
href?: string;
surplusParams?: ParamsData;
expendArgs?: ExpendArgs;
setResponseAtRequest?: (requestArgs: RequestArgs) => Promise>;
}
export interface AjaxResult {
success?: boolean;
status: number;
code?: number;
data?: ResultData;
message?: string;
stack?: string;
url?: string;
isSetResponseAtRequest?: boolean;
}
export declare type ResponseArgs = Response & AjaxResult;