///
///
import { FileStorageOption, FileStorageProviderEnum, UploadedFile } from '@metad/contracts';
import { StorageEngine } from 'multer';
import { Provider } from './provider';
export interface IOSSConfig {
rootPath: string;
aliyun_access_key_id: string;
aliyun_access_key_secret: string;
aliyun_default_region: string;
aliyun_bucket: string;
aliyun_endpoint: string;
}
export declare class OSSProvider extends Provider {
static instance: OSSProvider;
name: FileStorageProviderEnum;
readonly storage: StorageEngine;
config: IOSSConfig;
defaultConfig: IOSSConfig;
constructor();
getInstance(): OSSProvider;
url(key: string): string;
setAwsDetails(): void;
path(filePath: string): string;
handler({ dest, filename, prefix }: FileStorageOption): StorageEngine;
getFile(key: string): Promise;
putFile(fileContent: string, key?: string): Promise;
deleteFile(key: string): Promise;
private getS3Instance;
getS3Bucket(): string;
mapUploadedFile(file: any): UploadedFile;
}