import { ConfigManager } from "../config-manager.js"; /** * MCP Server Configuration for NanoGPT */ export interface McpServerConfig { type: "local"; command: string[]; environment: Record; enabled: boolean; } /** * NanoGPT Model configuration */ export interface NanogptModel { id: string; name: string; limit: { context: number; output: number; }; temperature?: boolean; tool_call?: boolean; reasoning?: boolean; interleaved?: { field: string; }; modalities?: { input: string[]; output: string[]; }; cost?: { input: number; output: number; }; release_date?: string; } /** * NanoGPT Provider configuration */ export interface NanogptProvider { npm: string; name: string; options: { baseURL: string; }; models: Record; } /** * Configures the MCP (Model Context Protocol) environment for NanoGPT. * * IMPORTANT: The actual API key is NOT stored in the config file. * Instead, the {env:NANOGPT_API_KEY} interpolation syntax is used, * which will be resolved at runtime from the environment variable. * * @param configManager - ConfigManager instance for surgical config edits * @param filePath - Path to the OpenCode configuration file */ export declare function configureMcpEnvironment(configManager: ConfigManager, filePath: string, apiKey: string): Promise; /** * Updates the NanoGPT provider models section while preserving other properties. * Uses ConfigManager.modifyConfig for surgical edits that preserve comments and formatting. * * @param configManager - ConfigManager instance for surgical config edits * @param filePath - Path to the OpenCode configuration file * @param models - Record of model IDs to model configurations */ export declare function updateNanogptProvider(configManager: ConfigManager, filePath: string, models: Record): Promise; /** * Ensures the NanoGPT provider section exists with default structure. * Creates the section if missing, preserving existing configuration if present. * * @param configManager - ConfigManager instance for surgical config edits * @param filePath - Path to the OpenCode configuration file */ export declare function ensureNanogptProvider(configManager: ConfigManager, filePath: string): Promise; /** * Removes the entire NanoGPT provider section from the configuration. * Uses jsonc-parser for surgical removal that preserves comments and formatting. * Silently does nothing if nanogpt provider does not exist. * * @param configManager - ConfigManager instance (unused but kept for API consistency) * @param filePath - Path to the OpenCode configuration file */ export declare function removeNanogptProvider(configManager: ConfigManager, filePath: string): Promise; //# sourceMappingURL=nanogpt.d.ts.map