export interface Option { accessKeyID: string; accessKeySecret: string; securityToken?: string; bucket: string; endpoint: string; timeout?: number; } export interface PutObjectOptions { headers?: object | undefined; } export interface HeadOptions{ headers?: object | undefined; } export interface PutObjectResult { name: string; url: string; data: object; res: NormalSuccessResponse; } export interface NormalSuccessResponse { status: number; size: number; rt: number; headers: object; } export interface GetObjectResult { res: NormalSuccessResponse; } export interface UserMeta extends Record { uid: number; pid: number; } export interface HeadObjectResult { status: number; meta: UserMeta; res: NormalSuccessResponse; } export interface GetObjectOptions { timeout?: number | undefined; process?: string | undefined; headers?: object | undefined } export interface RemoteStorage { head(objectKey: string, options?: HeadOptions): Promise; put(objectKey: string, filePath: string, options?: PutObjectOptions): Promise; get(objectKey: string, filePath: string): Promise; stat(objectKey: string): Promise; }