import * as AWS from '@aws-sdk/client-s3';
import { AdapterInterface, getEndpointUrl, UploadedFile } from '../adapter';
export declare type FileOptions = {
    bucket: string;
    endpointUrl: string;
    acl?: 'private' | 'public-read';
};
export default class S3Adapter implements AdapterInterface<AWS.PutObjectCommandOutput, AWS.DeleteObjectCommandOutput> {
    instance: AWS.S3;
    options: FileOptions;
    getEndpointUrlRef: getEndpointUrl | undefined;
    constructor(s3Configuration: AWS.S3ClientConfig, fileOptions: FileOptions, getEndpoint?: getEndpointUrl);
    getEndpointUrl(filename: string): string;
    upload(file: UploadedFile): Promise<AWS.PutObjectCommandOutput>;
    delete(filename: string): Promise<AWS.DeleteObjectCommandOutput>;
}
