import { ConfigService } from '@nestjs/config';
export declare class S3Service {
    private readonly config;
    private readonly client;
    private readonly bucket;
    private readonly region;
    private readonly cloudFrontDomain?;
    constructor(config: ConfigService);
    createMultipartUpload(key: string, contentType: string): Promise<string>;
    getPresignedPartUrl(key: string, uploadId: string, partNumber: number): Promise<string>;
    completeMultipartUpload(key: string, uploadId: string, parts: {
        partNumber: number;
        etag: string;
    }[]): Promise<string>;
    abortMultipartUpload(key: string, uploadId: string): Promise<void>;
    deleteObject(key: string): Promise<void>;
    listZipObjects(prefix?: string): Promise<{
        key: string;
        size: number;
        lastModified?: Date;
    }[]>;
    getObjectContentType(key: string): Promise<string>;
    getPublicUrl(key: string): string;
    getDownloadUrl(key: string): Promise<string>;
    private isCloudFrontEnabled;
    private withS3Errors;
    private toS3Exception;
}
