/// import { JSONObject, JSONValue } from '@expo/json-file'; import FormData from 'form-data'; import { ParsedUrlQueryInput } from 'querystring'; export declare class ApiV2Error extends Error { readonly name = "ApiV2Error"; code: string; details?: JSONValue; serverStack?: string; metadata?: object; readonly _isApiError = true; constructor(message: string, code?: string); } declare type RequestOptions = { httpMethod: 'get' | 'post' | 'put' | 'patch' | 'delete'; queryParameters?: QueryParameters; body?: JSONObject; timeout?: number; }; declare type UploadOptions = { headers: any; data: any; }; declare type QueryParameters = ParsedUrlQueryInput; declare type APIV2ClientOptions = { sessionSecret?: string; accessToken?: string; }; export default class ApiV2Client { static exponentClient: string; sessionSecret: string | null; accessToken: string | null; static clientForUser(user?: APIV2ClientOptions | null): ApiV2Client; static setClientName(name: string): void; constructor(options?: APIV2ClientOptions); getAsync(methodName: string, args?: QueryParameters, extraOptions?: Partial, returnEntireResponse?: boolean): Promise; postAsync(methodName: string, data?: JSONObject, extraOptions?: Partial, returnEntireResponse?: boolean): Promise; putAsync(methodName: string, data: JSONObject, extraOptions?: Partial, returnEntireResponse?: boolean): Promise; patchAsync(methodName: string, data: JSONObject, extraOptions?: Partial, returnEntireResponse?: boolean): Promise; deleteAsync(methodName: string, args?: QueryParameters, extraOptions?: Partial, returnEntireResponse?: boolean): Promise; uploadFormDataAsync(methodName: string, formData: FormData): Promise; _requestAsync(methodName: string, options: RequestOptions, extraRequestOptions?: Partial, returnEntireResponse?: boolean, uploadOptions?: UploadOptions): Promise; } export {};