import { AxiosRequestConfig, Canceler } from 'axios'; import FormData from 'form-data'; import { JSONObject } from '@expo/json-file'; import { Cacher } from './tools/FsCache'; declare type HttpMethod = 'get' | 'post' | 'put' | 'delete'; declare type RequestOptions = AxiosRequestConfig & { formData?: FormData; }; declare type ProgressCallback = (progressPercentage: number) => void; declare type RetryCallback = (cancel: Canceler) => void; export default class ApiClient { static host: string; static port: number; static _schemaCaches: { [version: string]: Cacher<JSONObject>; }; static setClientName(name: string): void; static callMethodAsync(methodName: string, args: any, method?: HttpMethod, requestBody?: any, requestOptions?: RequestOptions, returnEntireResponse?: boolean): Promise<any>; static callPathAsync(path: string, method?: HttpMethod, requestBody?: any, requestOptions?: RequestOptions): Promise<any>; static xdlSchemaAsync(sdkVersion: string): Promise<JSONObject>; static downloadAsync(url: string, outputPath: string, { extract }?: { extract?: boolean | undefined; }, progressFunction?: ProgressCallback, retryFunction?: RetryCallback): Promise<void>; } export {};