///
import OSS from "ali-oss";
import Core from "@alicloud/pop-core";
import { CloudStorageClient, PutObjectOption, STSResponse } from "../interfaces";
export interface AlibabaCloudGatewayConfig {
accessKey: string;
secret: string;
apiVersion?: string;
endpoint: string;
timeout?: number;
oss: {
bucketName: string;
region: string;
};
sts: {
roleArn: string;
};
}
export declare class AlibabaCloudGateway implements CloudStorageClient {
protected config: AlibabaCloudGatewayConfig;
protected coreClient: Core;
protected ossClient: OSS;
constructor(config: AlibabaCloudGatewayConfig);
generateTmpCredentials(sessionID: string): Promise;
uploadLocalToBucket(fileName: string, fileData: Buffer, options?: PutObjectOption): Promise;
deleteObject(filePath: string): Promise;
uploadRemoteObjectToBucket(fileName: string, remoteUrl: string, options?: PutObjectOption): Promise;
getObjectReadStream(fileName: string): Promise;
writeFileToDestination(fileName: string, destination: string | WritableStream): Promise;
}