import type { BasicCredentialsType, OAuthHeadersParserType } from '../auth'; import { HttpMethodEnum, ResponseEnum } from '../constants'; export declare const QueryParamsTypeEnum: { readonly ARRAY: 0; readonly OBJECT: 1; readonly DEFAULT: 2; }; export type UrlType = string | URL; export type ParamsType = string | Record | URLSearchParams; export type ResponseType = ResponseEnum; export type ParserResponseType = (_: P) => R; export type RetryOptionsType = { attempts: number; delayTime?: Milliseconds; }; export type HeadersType = [string, string][] | Record | Headers; export type ConfigType = { method?: HttpMethodEnum; url?: UrlType; baseURL?: UrlType; data?: D; signal?: AbortSignal; headers?: HeadersType; params?: ParamsType; timeout?: Milliseconds; retry?: RetryOptionsType; auth?: BasicCredentialsType; oAuth?: OAuthHeadersParserType; responseType?: ResponseType; fetch?: typeof fetch; parser?: (_: Response) => unknown; }; export declare function isURLSearchParams(str: string): boolean; export declare const parserQueryParams: (url: URL, params: ParamsType) => string; export declare class RequestConfig implements ConfigType { method: ConfigType['method']; url?: ConfigType['url']; baseURL?: ConfigType['baseURL']; data?: D; signal: ConfigType['signal']; headers: ConfigType['headers']; params?: ConfigType['params']; timeout?: ConfigType['timeout']; retry?: ConfigType['retry']; auth?: ConfigType['auth']; responseType: ConfigType['responseType']; fetch?: ConfigType['fetch']; parser?: ConfigType['parser']; constructor(config?: WithOptional, 'baseURL'>); } export declare class _RequestConfig extends Request { responseType: ConfigType['responseType']; timeout?: ConfigType['timeout']; retry?: ConfigType['retry']; fetch?: ConfigType['fetch']; parser?: ConfigType['parser']; constructor(config: ConfigType); }