import { CreateModelDto } from '@/infrastructure/dtos/models/create-model.dto'; import { UpdateModelDto } from '@/infrastructure/dtos/models/update-model.dto'; import { ModelEntity } from '@/infrastructure/entities/model.entity'; import { Repository } from 'typeorm'; import { Model } from '@/domain/models/model.interface'; import { LoadModelSuccessDto } from '@/infrastructure/dtos/models/load-model-success.dto'; import { LoadModelDto } from '@/infrastructure/dtos/models/load-model.dto'; import { DownloadModelDto } from '@/infrastructure/dtos/models/download-model.dto'; import { ConfigService } from '@nestjs/config'; import { ExtensionRepository } from '@/domain/repositories/extension.interface'; import { HttpService } from '@nestjs/axios'; export declare class ModelsUsecases { private readonly modelRepository; private readonly extensionRepository; private readonly configService; private readonly httpService; constructor(modelRepository: Repository, extensionRepository: ExtensionRepository, configService: ConfigService, httpService: HttpService); create(createModelDto: CreateModelDto): Promise; findAll(): Promise; findOne(id: string): Promise; getModelOrThrow(id: string): Promise; update(id: string, updateModelDto: UpdateModelDto): Promise; remove(id: string): Promise<{ message: string; modelId: string; } | undefined>; startModel(loadModelDto: LoadModelDto): Promise; stopModel(modelId: string): Promise; downloadModel(downloadModelDto: DownloadModelDto, callback?: (progress: number) => void): Promise; private isValidUrl; }