import { TextCompletionRequest, ChatCompletionRequest, ModelEngine, ModelConfig, ModelInstanceRequest, CompletionProcessingOptions, EmbeddingRequest, ImageToTextRequest, ProcessingOptions, SpeechToTextRequest, SpeechToTextProcessingOptions, EngineChatCompletionResult, EngineTextCompletionResult, TextToImageRequest, ImageToImageRequest } from './types/index.js'; import { Logger } from './lib/logger.js'; type ModelInstanceStatus = 'idle' | 'busy' | 'error' | 'loading' | 'preparing'; interface ModelInstanceOptions extends ModelConfig { log?: Logger; gpu: boolean; } export declare class ModelInstance { id: string; status: ModelInstanceStatus; modelId: string; config: ModelConfig; fingerprint: string; createdAt: Date; lastUsed: number; gpu: boolean; ttl: number; log: Logger; private engine; private contextIdentity?; private needsContextReset; private engineInstance?; private currentRequest?; private shutdownController; constructor(engine: ModelEngine, { log, gpu, ...options }: ModelInstanceOptions); private generateInstanceId; private generateTaskId; load(signal?: AbortSignal): Promise; dispose(): Promise; lock(request: ModelInstanceRequest): void; unlock(): void; resetContext(): void; getContextStateIdentity(): string | undefined; hasContextState(): boolean; matchesContextState(request: ModelInstanceRequest): boolean; matchesRequirements(request: ModelInstanceRequest): boolean; private createTaskController; processChatCompletionTask(request: ChatCompletionRequest, options?: CompletionProcessingOptions): { id: string; model: string; createdAt: Date; result: Promise; cancel: () => void; }; processTextCompletionTask(request: TextCompletionRequest, options?: CompletionProcessingOptions): { id: string; model: string; createdAt: Date; cancel: () => void; result: Promise; }; processEmbeddingTask(request: EmbeddingRequest, options?: ProcessingOptions): { id: string; model: string; createdAt: Date; cancel: () => void; result: Promise; }; processImageToTextTask(request: ImageToTextRequest, options?: ProcessingOptions): { id: string; model: string; createdAt: Date; cancel: () => void; result: Promise; }; processImageToImageTask(request: ImageToImageRequest, options?: ProcessingOptions): { id: string; model: string; createdAt: Date; cancel: () => void; result: Promise; }; processSpeechToTextTask(request: SpeechToTextRequest, options?: SpeechToTextProcessingOptions): { id: string; model: string; createdAt: Date; cancel: () => void; result: Promise; }; processTextToImageTask(request: TextToImageRequest, options?: ProcessingOptions): { id: string; model: string; createdAt: Date; cancel: () => void; result: Promise; }; } export {};