import { NextFunction, Request, Response } from 'express';
import { AssetBulkUploadCheckResponseDto, AssetMediaResponseDto } from "../dtos/asset-media-response.dto";
import { AssetBulkUploadCheckDto, AssetMediaCreateDto, AssetMediaOptionsDto } from "../dtos/asset-media.dto";
import { AssetDownloadOriginalDto } from "../dtos/asset.dto";
import { AuthDto } from "../dtos/auth.dto";
import { LoggingRepository } from "../repositories/logging.repository";
import { AssetMediaService } from "../services/asset-media.service";
import { UploadFiles } from "../types";
import { UUIDParamDto } from "../validation";
export declare class AssetMediaController {
    private logger;
    private service;
    constructor(logger: LoggingRepository, service: AssetMediaService);
    uploadAsset(auth: AuthDto, files: UploadFiles, dto: AssetMediaCreateDto, res: Response): Promise<AssetMediaResponseDto>;
    downloadAsset(auth: AuthDto, { id }: UUIDParamDto, dto: AssetDownloadOriginalDto, res: Response, next: NextFunction): Promise<void>;
    viewAsset(auth: AuthDto, { id }: UUIDParamDto, dto: AssetMediaOptionsDto, req: Request, res: Response, next: NextFunction): Promise<void>;
    playAssetVideo(auth: AuthDto, { id }: UUIDParamDto, res: Response, next: NextFunction): Promise<void>;
    checkBulkUpload(auth: AuthDto, dto: AssetBulkUploadCheckDto): Promise<AssetBulkUploadCheckResponseDto>;
}
