declare module "esdk-obs-nodejs" { import type { Readable } from "node:stream" interface CommonMsg { Status: number Code: string Message: string HostId: string RequestId: string Id2: string Indicator: string } type ObsResult = Promise<{ CommonMsg: CommonMsg InterfaceResult: InterfaceResult }> export interface GetBucketMetadataOptions { Bucket: string } export interface GetBucketMetadataInterfaceResult { RequestId: string StorageClass: string Location: string ObsVersion: string AllowOrigin: string AllowHeader: string AllowMethod: string ExposeHeader: string MaxAgeSeconds: string } export type GetBucketMetadataResult = ObsResult export interface PutObjectOptions { Bucket: string Key: string Body: string | Readable ContentType?: string | undefined ProgressCallback?: ((count: number, objectTotalSize: number, time: number) => void) | undefined } export interface PutObjectInterfaceResult { RequestId: string ETag: string VersionId: string StorageClass: string SseKms: string SseKmsKey: string SseC: string SseCKeyMd5: string } export type PutObjectResult = ObsResult export type DeleteObjectOptions = { Bucket: string Key: string VersionId?: string | undefined ProgressCallback?: ((count: number, objectTotalSize: number, time: number) => void) | undefined } export type DeleteObjectInterfaceResult = { RequestId: string DeleteMarker: string VersionId: string } export type DeleteObjectResult = ObsResult export interface ObsClientOptions { access_key_id: string secret_access_key: string server: string } export default class ObsClient { constructor(options: ObsClientOptions) GetBucketMetadata: (options: GetBucketMetadataOptions) => GetBucketMetadataResult putObject: (options: PutObjectOptions) => PutObjectResult deleteObject: (options: DeleteObjectOptions) => DeleteObjectResult } }