import { Repository } from 'typeorm'; import { FileEntity } from '../entities/file.entity'; import { PendingUploadEntity } from '../entities/pending-upload.entity'; import { StorageUsageEntity } from '../entities/storage-usage.entity'; import { S3Provider } from '../providers/s3.provider'; import { GetUploadUrlDto, ConfirmUploadDto, ListFilesDto, UpdateFileDto, PresignedUrlResponseDto, FileResponseDto, FileListResponseDto, DownloadUrlResponseDto, StorageUsageResponseDto } from '../dto'; export declare class StorageService { private readonly fileRepository; private readonly pendingUploadRepository; private readonly usageRepository; private readonly s3Provider; private readonly logger; constructor(fileRepository: Repository, pendingUploadRepository: Repository, usageRepository: Repository, s3Provider: S3Provider); getUploadUrl(tenantId: string, userId: string, dto: GetUploadUrlDto): Promise; confirmUpload(tenantId: string, userId: string, dto: ConfirmUploadDto): Promise; listFiles(tenantId: string, dto: ListFilesDto): Promise; getFile(tenantId: string, fileId: string): Promise; getDownloadUrl(tenantId: string, fileId: string): Promise; updateFile(tenantId: string, fileId: string, dto: UpdateFileDto): Promise; deleteFile(tenantId: string, fileId: string): Promise; getUsage(tenantId: string): Promise; private isAllowedMimeType; private hasBlockedExtension; private sanitizeFilename; private canUpload; private formatBytes; private toFileResponse; }