import type { QirrelContext } from "../types"; export interface LLMConfig { apiKey: string; model?: string | undefined; baseUrl?: string | undefined; temperature?: number | undefined; maxTokens?: number | undefined; timeout?: number | undefined; cacheTtl?: number | undefined; } export interface LLMResponse { content: string; usage?: { promptTokens?: number; completionTokens?: number; totalTokens?: number; }; model?: string; } export interface LLMAdapter { generate(prompt: string, options?: Partial): Promise; generateWithContext(input: QirrelContext, promptTemplate: string, options?: Partial): Promise; } export interface LLMProcessorOptions { promptTemplate: string; adapter: LLMAdapter; config?: Partial; }