import { ReadStream } from 'fs'; import { Method } from 'axios'; interface InitOptions { ak: string; sk: string; bucket: string; region: Region | string; headers?: string[]; } interface UploadFileOptions { file: string; contentType?: string; } interface RenameFileOptions { sourceFile: string; targetFile: string; } interface RequestOptions { url: string; method: Method; data?: ReadStream; contentType?: string; headers?: string[]; } interface SignatureOptions { filename: string; method: string; contentType: string; md5: string; date: string; bucket: string; headers?: string[]; } declare enum Region { BEIJING = "ks3-cn-beijing.ksyun.com", SHANGHAI = "ks3-cn-shanghai.ksyun.com", GUANGZHOU = "ks3-cn-guangzhou.ksyun.com", QINGDAO = "ks3-cn-qingdao.ksyun.com", HONGKONG = "ks3-cn-hk-1.ksyun.com", HANGZHOU = "ks3.ksyun.com", RUSSIA = "ks3-rus.ksyun.com", SINGAPORE = "ks3-sgp.ksyun.com", JR_BEIJING = "ks3-jr-beijing.ksyun.com", JR_SHANGHAI = "ks3-jr-shanghai.ksyun.com", GOV_BEIJING = "ks3-gov-beijing.ksyun.com" } declare class KS3Utils { private ak; private sk; private bucket; private host; private headers; constructor(opts: InitOptions); toSign(opts: SignatureOptions): string; getSignature(opts: SignatureOptions): string; uploadFile(opts: UploadFileOptions): Promise; renameFile(opts: RenameFileOptions): Promise; sendRequest(opts: RequestOptions): Promise; } declare const config: { ak: string; sk: string; bucket: string; region: string; headers: string[]; }; export { InitOptions, KS3Utils, Region, RenameFileOptions, RequestOptions, SignatureOptions, UploadFileOptions, config, KS3Utils as default };