import { ConfigService } from "@nestjs/config";
import { Readable } from "stream";
export declare class CloudflareR2Service {
    private readonly configService;
    private readonly logger;
    private readonly s3Client;
    private readonly bucketName;
    private readonly publicUrl;
    constructor(configService: ConfigService);
    private sanitizeS3Key;
    uploadFile(file: Buffer | Readable, key: string, contentType: string): Promise<string>;
    deleteFile(key: string): Promise<void>;
    generatePresignedUploadUrl(key: string, contentType?: string, expiresIn?: number): Promise<string>;
    validateR2Url(url: string): boolean;
    extractKeyFromUrl(url: string): string;
}
