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, ModelRuntimeParams, ModelSettingParams } from '@/domain/models/model.interface'; import { StartModelSuccessDto } from '@/infrastructure/dtos/models/start-model-success.dto'; import { ExtensionRepository } from '@/domain/repositories/extension.interface'; import { HttpService } from '@nestjs/axios'; import { ModelSettingParamsDto } from '@/infrastructure/dtos/models/model-setting-params.dto'; import { FileManagerService } from '@/file-manager/file-manager.service'; export declare class ModelsUsecases { private readonly modelRepository; private readonly extensionRepository; private readonly fileManagerService; private readonly httpService; constructor(modelRepository: Repository, extensionRepository: ExtensionRepository, fileManagerService: FileManagerService, httpService: HttpService); create(createModelDto: CreateModelDto): Promise; findAll(): Promise; findOne(id: string): Promise; getModelOrThrow(id: string): Promise; update(id: string, updateModelDto: UpdateModelDto): Promise; updateModelSettingParams(id: string, settingParams: ModelSettingParams): Promise; updateModelRuntimeParams(id: string, runtimeParams: ModelRuntimeParams): Promise; private getModelDirectory; remove(id: string): Promise<{ message: string; modelId: string; } | undefined>; startModel(modelId: string, settings?: ModelSettingParamsDto): Promise; stopModel(modelId: string): Promise; downloadModel(modelId: string, callback?: (progress: number) => void): Promise; private isValidUrl; }