import { APIResponse } from '../types'; import { CrossPlatformBuffer, CrossPlatformFileResponse } from './compatibility'; import { Logger } from 'pino'; import { GlobalAmount } from '../modules/global/types'; import { TagTuple } from '../modules/horizontal/communities/types/tag'; export declare const ELEVA_HEADER_IMPERSONATE = "x-eleva-impersonate"; export declare const ELEVA_HEADER_SDK_VERSION = "x-eleva-sdk-version"; export declare const ELEVA_HEADER_APP = "x-eleva-app"; export declare const ELEVA_HEADER_APP_VERSION = "x-eleva-app-version"; export type ElevaApp = 'dashboard' | 'eleva4residents' | 'eleva-go' | 'gesfincas'; type AppConfig = { app: ElevaApp; appVersion: string; }; export interface HTTPClientConfigWithAPIKey { baseURL: string; apiKey: string; apiSecret: string; emitWebhook?: boolean; } export interface HTTPClientConfigWithToken { baseURL: string; token: string; } export type HTTPClientConfig = (HTTPClientConfigWithAPIKey | HTTPClientConfigWithToken) & AppConfig; export interface FormFileData { name: string; data: CrossPlatformBuffer | string; } export type FormValue = string | string[] | CrossPlatformBuffer | CrossPlatformBuffer[] | number | number[] | boolean | boolean[] | FormFileData | FormFileData[] | null | undefined | GlobalAmount | TagTuple | TagTuple[]; export type HTTPHeaderValue = string | string[] | number | boolean | null; export type HTTPHeaders = Record; export declare class HTTPClient { private _config; private _logger; constructor(_config: HTTPClientConfig, _logger: Logger); private _buildHeaders; private _buildUrl; private _request; get>(path: string, params?: Q, headers?: HTTPHeaders): Promise>; post>(path: string, data?: unknown, params?: Q, headers?: HTTPHeaders): Promise>; put>(path: string, data?: unknown, params?: Q, headers?: HTTPHeaders): Promise>; patch>(path: string, data?: unknown, params?: Q, headers?: HTTPHeaders): Promise>; delete>(path: string, params?: Q, headers?: HTTPHeaders): Promise>; getBinary>(path: string, params?: Q, headers?: HTTPHeaders): Promise; form>(path: string, data: Record>, method?: 'POST' | 'PUT' | 'PATCH', params?: Q, headers?: HTTPHeaders): Promise>; } export {}; //# sourceMappingURL=http.d.ts.map