import ApiWebClient from './ApiWebClient'; import ApiNativeClient from './ApiNativeClient'; export interface Auth { tokenSHA256: string; keys?: { pubKey: string; encPrivKey: string }; } export interface ApiClient { post: (baseUrl: string, path: string, body: object, auth?: Auth) => Promise; put: (baseUrl: string, path: string, body: object, auth?: Auth) => Promise; get: (baseUrl: string, path: string, auth?: Auth) => Promise; delete: (baseUrl: string, path: string, auth?: Auth) => Promise; } export const apiClient: ApiClient = window.ReactNativeWebView != null ? new ApiNativeClient() : new ApiWebClient();