import { StorageService } from './services/storage.service';
import { GetUploadUrlDto, ConfirmUploadDto, ListFilesDto, UpdateFileDto, PresignedUrlResponseDto, FileResponseDto, FileListResponseDto, DownloadUrlResponseDto, StorageUsageResponseDto } from './dto';
interface RequestUser {
    id: string;
    tenant_id: string;
    email: string;
    role: string;
}
export declare class StorageController {
    private readonly storageService;
    constructor(storageService: StorageService);
    getUploadUrl(user: RequestUser, dto: GetUploadUrlDto): Promise<PresignedUrlResponseDto>;
    confirmUpload(user: RequestUser, dto: ConfirmUploadDto): Promise<FileResponseDto>;
    listFiles(user: RequestUser, dto: ListFilesDto): Promise<FileListResponseDto>;
    getFile(user: RequestUser, fileId: string): Promise<FileResponseDto>;
    getDownloadUrl(user: RequestUser, fileId: string): Promise<DownloadUrlResponseDto>;
    updateFile(user: RequestUser, fileId: string, dto: UpdateFileDto): Promise<FileResponseDto>;
    deleteFile(user: RequestUser, fileId: string): Promise<void>;
    getUsage(user: RequestUser): Promise<StorageUsageResponseDto>;
}
export {};
