import { DeletedResponse, ListedResponse, Options, GotResponse, UploadedFile, UploadedResponse } from './interfaces';
import { S3Client } from '@aws-sdk/client-s3';
export declare class S3Service {
    private config;
    private readonly client;
    private bucket;
    private acl;
    constructor(config: Options);
    getClient(): S3Client;
    put(file: UploadedFile, path?: string): Promise<UploadedResponse>;
    putAsUniqueName(file: UploadedFile, folder?: string): Promise<UploadedResponse>;
    private upload;
    lists(folder?: string): Promise<ListedResponse>;
    get(key: string): Promise<GotResponse>;
    delete(key: string): Promise<DeletedResponse>;
    signedUrl(key: string, expiresIn: number): Promise<string>;
}
