import type { CanonicalModelType } from "../../../schemas/index"; import type BaseInference from "@qvac/infer-base"; interface AddonInterface { cancel(jobId?: string): Promise; } export type AnyModel = Omit & { reload?(config: unknown): Promise; addon?: AddonInterface; }; interface DelegateOptions { providerPublicKey: string; timeout?: number | undefined; healthCheckTimeout?: number | undefined; } interface LocalOptions { model: AnyModel; path: string; loadedAt: Date; config: unknown; modelType: CanonicalModelType; name?: string | undefined; } export type ModelEntry = { id: string; isDelegated: true; delegated: DelegateOptions; } | { id: string; isDelegated: false; local: LocalOptions; }; export declare function registerModel(id: string, options: { model: AnyModel; path: string; config: unknown; modelType: CanonicalModelType; name?: string | undefined; } | { providerPublicKey: string; timeout?: number; healthCheckTimeout?: number; }): void; export declare function getModelEntry(id: string): ModelEntry | null; export declare function getModel(id: string): AnyModel; export declare function isModelLoaded(id: string): boolean; export declare function unregisterModel(id: string): ModelEntry | null; export declare function getAllModelIds(): string[]; export declare function getModelInfo(id: string): { id: string; path: string; loadedAt: Date; config: unknown; name?: string; } | null; export declare function getModelConfig(id: string): unknown; export declare function updateModelConfig(id: string, config: unknown): void; export declare function clearRegistry(): void; export declare function getRegistryStats(): { totalModels: number; modelIds: string[]; }; export declare function unloadAllModels(): Promise; export {}; //# sourceMappingURL=model-registry.d.ts.map