import { Response } from 'node-fetch'; import { OperateBinaryObjectParams, OperateObjectParams, OperateOptionalBucketParams } from './type/object'; import { Resource } from './type/resource'; declare module 'node-fetch' { interface Response { data: any; } } export interface NosClientOptions { accessKey: string; accessSecret: string; endpoint: string; defaultBucket?: string; } export declare class NosBaseClient { options: NosClientOptions & { host: string; protocol: string; }; constructor(options: NosClientOptions); /** * 底层请求方法包装 * @param method 请求方法 * @param headers 头信息 * @param resource 资源信息,也会序列化到 Url 上面 * @param [body] 请求体 * @private */ protected _request(method: string, headers: any, resource: Resource, body?: any): Promise; protected handleRequestError(resp: Response): Promise; protected request(method: string, headers: any, resource: Resource, body?: any): Promise; protected requestBody(method: string, headers: any, resource: Resource, body?: any): Promise; protected validateParams(params: OperateObjectParams | OperateOptionalBucketParams): { bucket: string; headers: any; resource: Resource; }; protected validateBinaryParams(params: OperateBinaryObjectParams): { sourceBucket: string; targetBucket: string; resource: Resource; headers: any; }; }