import { CallHandler, ExecutionContext, NestInterceptor } from '@nestjs/common';
import { Reflector } from '@nestjs/core';
import { Observable } from 'rxjs';
import { LoggingRepository } from "../repositories/logging.repository";
import { StorageRepository } from "../repositories/storage.repository";
import { AssetMediaService } from "../services/asset-media.service";
import { UploadFile, UploadFiles } from "../types";
export declare function getFile(files: UploadFiles, property: 'assetData' | 'sidecarData'): UploadFile;
export declare function getFiles(files: UploadFiles): {
    file: UploadFile;
    sidecarFile: UploadFile;
};
export declare class FileUploadInterceptor implements NestInterceptor {
    private reflect;
    private assetService;
    private storageRepository;
    private logger;
    private handlers;
    constructor(reflect: Reflector, assetService: AssetMediaService, storageRepository: StorageRepository, logger: LoggingRepository);
    intercept(context: ExecutionContext, next: CallHandler<any>): Promise<Observable<any>>;
    private fileFilter;
    private handleFile;
    private removeFile;
    private getHandler;
}
