export type QueryParamsType = object; export type ResponseFormat = "arrayBuffer" | "blob" | "formData" | "json" | "text"; export type CancelToken = symbol | string | number; export declare const ContentType: { readonly Json: "application/json"; readonly JsonApi: "application/vnd.api+json"; readonly FormData: "multipart/form-data"; readonly UrlEncoded: "application/x-www-form-urlencoded"; readonly Text: "text/plain"; }; export type ContentType = (typeof ContentType)[keyof typeof ContentType]; export interface FullRequestParams extends Omit { secure?: boolean; path: string; type?: ContentType; query?: QueryParamsType; format?: ResponseFormat; body?: unknown; baseUrl?: string; cancelToken?: CancelToken; headers?: HeadersInit; signal?: AbortSignal; timeoutMs?: number; } export type RequestParams = Omit; export type RuntimeRequestParams = RequestParams; export interface ApiConfig { baseUrl?: string; baseApiParams?: Omit; securityWorker?: (securityData: SecurityDataType | null) => Promise | RequestParams | void; customFetch?: typeof fetch; timeoutMs?: number; } declare const responseDataType: unique symbol; declare const responseErrorType: unique symbol; /** A native Response carrying compile-time-only body and error types. */ export type HttpResponse = Response & { readonly [responseDataType]?: D; readonly [responseErrorType]?: E; }; export declare function mergeHeaders(...sources: Array): Headers; export declare function toRequestHeaders(values?: object): Headers; export declare function toCookieHeader(values: object): string; export declare function createApiClient(apiConfig?: ApiConfig): { configureApiClient: (nextConfig?: ApiConfig) => void; setSecurityData: (data: SecurityDataType | null) => void; abortRequest: (cancelToken: CancelToken) => void; request: ({ body, secure, path, type, query, format: _format, baseUrl, cancelToken, timeoutMs, signal: requestSignal, ...params }: FullRequestParams) => Promise>; toQueryString: (rawQuery?: QueryParamsType) => string; }; export declare const defaultApiClient: { configureApiClient: (nextConfig?: ApiConfig) => void; setSecurityData: (data: unknown) => void; abortRequest: (cancelToken: CancelToken) => void; request: ({ body, secure, path, type, query, format: _format, baseUrl, cancelToken, timeoutMs, signal: requestSignal, ...params }: FullRequestParams) => Promise>; toQueryString: (rawQuery?: QueryParamsType) => string; }; export declare const configureApiClient: (nextConfig?: ApiConfig) => void; export declare const setSecurityData: (data: unknown) => void; export declare const abortRequest: (cancelToken: CancelToken) => void; export declare const request: ({ body, secure, path, type, query, format: _format, baseUrl, cancelToken, timeoutMs, signal: requestSignal, ...params }: FullRequestParams) => Promise>; export {}; //# sourceMappingURL=httpClient.d.ts.map