export interface InferenceProvider { generate(prompt: string, opts?: { model?: string; system?: string; numCtx?: number; numPredict?: number }): Promise; embed(text: string, opts?: { model?: string }): Promise; listModels(): Promise; isReachable(): Promise; }