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 {};