import { Options as OraOptions } from 'ora'; import { BaseAdapter } from '../adapters/BaseAdapter.js'; type Format = 'text' | 'json'; export interface ServiceConfig { apiKey?: string; adapter: BaseAdapter; } interface Options { temperature: number; presence_penalty: number; frequency_penalty: number; } export interface ModelConfig { service: ServiceConfig; name: string; response_format: Format; max_tokens?: number; options?: Partial; } export interface SpinnerConfig { loadingMessage: string; successMessage: string; errorMessage: string; spinnerType?: OraOptions; } export interface Config { services: Record; models: Record; spinnerConfig?: SpinnerConfig; } export declare class ConfigManager { private static instance; private config; private constructor(); static initialize(config: Config): void; static initializeFromFile(filePath: string): void; static saveConfigToFile(filePath: string): void; static getConfig(): Config; static getModelConfig(modelName: string): ModelConfig; static getServiceConfig(serviceName: string): ServiceConfig; static getSpinnerConfig(): SpinnerConfig | undefined; } export default ConfigManager;