import { ModelPool } from './pool.js'; import { ModelStore } from './store.js'; import { ModelOptions, IncomingRequest, CompletionProcessingOptions, ChatCompletionRequest, EmbeddingRequest, ProcessingOptions, TextCompletionRequest, ModelEngine, ImageToTextRequest, SpeechToTextRequest, SpeechToTextProcessingOptions, TextToImageRequest, ImageToImageRequest } from './types/index.js'; import { Logger, LogLevel } from './lib/logger.js'; export interface ModelServerOptions { engines?: Record; models: Record; concurrency?: number; cachePath?: string; log?: Logger | LogLevel; } export declare function startModelServer(options: ModelServerOptions): ModelServer; export declare class ModelServer { pool: ModelPool; store: ModelStore; engines: Record; log: Logger; constructor(options: ModelServerOptions); modelExists(modelId: string): boolean; start(): Promise; stop(): Promise; requestInstance(request: IncomingRequest, signal?: AbortSignal): Promise; private prepareInstance; processChatCompletionTask(args: ChatCompletionRequest, options?: CompletionProcessingOptions): Promise; processTextCompletionTask(args: TextCompletionRequest, options?: CompletionProcessingOptions): Promise; processEmbeddingTask(args: EmbeddingRequest, options?: ProcessingOptions): Promise; processImageToTextTask(args: ImageToTextRequest, options?: ProcessingOptions): Promise; processSpeechToTextTask(args: SpeechToTextRequest, options?: SpeechToTextProcessingOptions): Promise; processTextToImageTask(args: TextToImageRequest, options?: ProcessingOptions): Promise; processImageToImageTask(args: ImageToImageRequest, options?: ProcessingOptions): Promise; getStatus(): { pool: { processing: number; pending: number; instances: { [k: string]: { model: string; status: "error" | "preparing" | "idle" | "busy" | "loading"; engine: (string & {}) | import("./engines/index.js").BuiltInEngineName; device: string; contextState: string | undefined; lastUsed: string; }; }; }; store: { [k: string]: { engine: (string & {}) | import("./engines/index.js").BuiltInEngineName; device: { gpu?: boolean | "auto" | (string & {}); } | undefined; minInstances: number; maxInstances: number; status: "error" | "unloaded" | "preparing" | "ready"; downloads: any; }; }; }; }