import type { AxiosRequestConfig, AxiosResponse } from 'axios'; import type { HeadersCustom } from './headers'; import type { LocaleCustom } from './locale'; import type { Interceptors, Locale, StorageClient } from './types'; export type AvailableServiceNames = 'lc' | 'mindee' | 'ipLocation' | 'strapiAdmin' | 'sharegroop' | 'hubspot' | 'mapbox'; export type HttpType = { api: { name: AvailableServiceNames; url: string; source?: 'app' | 'stay' | 'website'; getDeviceUniqueId?: () => Promise; interceptors?: Interceptors; }; locale?: Locale; localeCustom?: LocaleCustom; storageClient?: StorageClient; headersCustom?: HeadersCustom; unserialized?: boolean; }; export declare const http: ({ api, locale, storageClient, unserialized, }: HttpType) => { get: (endpoint: string, options?: Record) => Promise; post: (endpoint: string, params: Record | BodyInit, options?: Record) => Promise; put: (endpoint: string, params: Record | BodyInit, options?: Record) => Promise; delete: (endpoint: string) => Promise; raw: >(endpoint: string, options: Record & { responseType: 'blob' | 'arrayBuffer' | 'stream'; }) => Promise<{ headers: Headers; _data: T; }>; };