/** * Task-based LLM client implementation * Implements the contextual task-based LLM access pattern with three levels: * 1. Client Level - Base configuration and defaults * 2. Task Level - Task-specific configuration with ResolvedModelConfig as internal state * 3. Call Level - Per-call overrides (call options like timeout, etc) */ import { Logger } from '@qianxude/shared'; import { t } from '../types/mod.js'; /** * Optional dependencies for testing * @internal */ export interface TaskDependencies { createProvider: (logger?: Logger) => t.ProviderClient; logger?: Logger; } /** * Implementation of LLMTaskCall * Created by task with call-specific options that override task-level options */ export declare class LLMTaskCall implements t.LLMTaskCall { readonly task: t.LLMTask; readonly callOptions: Required; readonly apiOptions: t.LLMApiOptions; private providerFactory; private logger; constructor(task: t.LLMTask, overrideOptions?: Partial, dependencies?: TaskDependencies); /** * Execute a completion request * @param input - Either a prompt string or an array of LLMMessage objects */ complete(input: string | t.LLMMessage[]): Promise; /** * Execute a streaming request * @param input - Either a prompt string or an array of LLMMessage objects */ stream(input: string | t.LLMMessage[]): AsyncGenerator; /** * Convert input to messages array */ private convertInputToMessages; } /** * Implementation of LLMTask * Created by client with ResolvedModelConfig as internal state */ export declare class LLMTask implements t.LLMTask { readonly config: t.ResolvedModelConfig; readonly callOptions: Required; readonly apiOptions: Partial; private dependencies?; private logger; constructor(config: t.ResolvedModelConfig, taskOptions?: t.LLMTaskOptions, dependencies?: TaskDependencies, lg?: Logger); /** * Create a call with optional call-level overrides * @param overrideOptions - Optional call-level overrides for debug and timeout */ createCall(overrideOptions?: Partial): t.LLMTaskCall; } //# sourceMappingURL=task.d.ts.map