/** * LLM Configuration Service Interface. * * Domain contract for managing LLM provider configuration. * Configuration is persisted via PreferenceStore with env var overrides. * * Part of Phase 6A: LLM Provider Abstraction Layer. */ import type { LlmProvider, ILlmConfig } from './ILlmService'; /** * Service for reading and writing LLM configuration. */ export interface ILlmConfigService { /** * Get the resolved LLM configuration. * Merge order: defaults <- preferences <- environment variables. */ getConfig(): Promise; /** Set the LLM provider. */ setProvider(provider: LlmProvider): Promise; /** Set the model name. */ setModel(model: string): Promise; /** Set a custom endpoint URL. */ setEndpoint(endpoint: string): Promise; /** Set the API key. */ setApiKey(apiKey: string): Promise; /** Enable or disable LLM features. */ setEnabled(enabled: boolean): Promise; /** Set the default max output tokens. */ setMaxTokens(maxTokens: number): Promise; /** Set the default temperature. */ setTemperature(temperature: number): Promise; /** Reset all LLM configuration to defaults (clears stored preferences). */ reset(): Promise; } //# sourceMappingURL=ILlmConfigService.d.ts.map