///
///
import { StorageEngine } from 'multer';
import { FileStorageOption, FileStorageProviderEnum, FileSystem, UploadedFile } from '@metad/contracts';
export declare abstract class Provider {
static instance: any;
tenantId?: string;
abstract name: FileStorageProviderEnum;
abstract config: FileSystem;
constructor();
abstract url(path: string): string;
abstract path(path: string): string;
abstract handler(options: FileStorageOption): StorageEngine;
abstract getFile(file: string): Promise;
abstract putFile(fileContent: string | Buffer | URL, path?: string): Promise;
abstract deleteFile(path: string): Promise;
abstract getInstance(): T;
mapUploadedFile(file: any): UploadedFile;
}