import { BaseExtension, ExtensionTypeEnum } from '../extension' import { Model, ModelInterface } from '../index' /** * Model extension for managing models. */ export abstract class ModelExtension extends BaseExtension implements ModelInterface { /** * Model extension type. */ type(): ExtensionTypeEnum | undefined { return ExtensionTypeEnum.Model } abstract downloadModel( model: Model, network?: { proxy: string; ignoreSSL?: boolean } ): Promise abstract cancelModelDownload(modelId: string): Promise abstract deleteModel(modelId: string): Promise abstract saveModel(model: Model): Promise abstract getDownloadedModels(): Promise abstract getConfiguredModels(): Promise }