import type { CanonicalModelType, NativeProbeFit } from '../schemas/index.js'; interface AddonInterface { cancel(jobId?: string): Promise; } interface ModelRunResponse { iterate(): AsyncIterable; await(): Promise; cancel(): Promise; } export interface AnyModel { load(force?: boolean): Promise; run(...args: unknown[]): Promise; unload(): void | Promise; destroy?(): void | Promise; pause(): void | Promise; unpause?(): void | Promise; stop?(): void | Promise; status?(): Promise; reload?(config: unknown): Promise; addon?: AddonInterface; } interface LocalOptions { model: AnyModel; path: string; loadedAt: Date; config: unknown; modelType: CanonicalModelType; name?: string | undefined; fitProbe?: NativeProbeFit | undefined; } export type ModelEntry = { id: string; local: LocalOptions; }; export declare function registerModel(id: string, options: { model: AnyModel; path: string; config: unknown; modelType: CanonicalModelType; name?: string | undefined; fitProbe?: NativeProbeFit | undefined; }): 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 {};