import { S3, DeleteObjectCommandOutput, HeadBucketCommandOutput, ListObjectsCommandOutput } from '@aws-sdk/client-s3';
import { FileStorageConfig } from '../configManager/configSchema';
import { StoredObject, FileStorageUploadOptions, FileStorageGetUrlOptions } from './types';
declare class FileStorage {
    #private;
    bucket: string;
    imageConversionToSupportedFormatMapper: {
        eps: string;
    };
    s3: S3;
    separateDeleteOperations: boolean;
    url: string;
    publicUrl: string;
    constructor(connectionConfig?: FileStorageConfig, properties?: Partial<FileStorageConfig>);
    delete(objectKeys: any): Promise<DeleteObjectCommandOutput | DeleteObjectCommandOutput[]>;
    download(key: any, localPath: any): Promise<void>;
    getFileContent(objectKey: any): Promise<string>;
    getURL(objectKey: string, options?: FileStorageGetUrlOptions): Promise<string>;
    getPublicURL(objectKey: any): string;
    healthCheck(): Promise<HeadBucketCommandOutput>;
    list(): Promise<ListObjectsCommandOutput>;
    upload(fileStream: any, filename: any, options?: FileStorageUploadOptions): Promise<StoredObject[]>;
}
export default FileStorage;
//# sourceMappingURL=FileStorage.d.ts.map