import { IFetchOptions, IRequestOptions, IUploadRequestOptions, ResponseObject, } from '@cloudbase/adapter-interface' import { ICloudbaseConfig, KV } from '.' export interface IGetAccessTokenResult { accessToken: string; accessTokenExpire: number; } export type ICloudbaseRequestConfig = Pick; export interface IAppendedRequestInfo { data: KV; headers: KV; } export type IRequestBeforeHook = (...args: any[]) => IAppendedRequestInfo; export interface ICloudbaseRequest { // fetch: (urlOrPath: string, init?: RequestInit) => Promise; post: (options: IRequestOptions) => Promise; upload: (options: IUploadRequestOptions) => Promise; download: (options: IRequestOptions) => Promise; // refreshAccessToken: () => Promise; // getAccessToken: () => Promise; request: (action: string, params: KV, options?: KV) => Promise; send: (action: string, data: KV) => Promise; fetch: (options: IFetchOptions) => Promise; }