/**
 * CC-Switch Adapters 共享类型和工具函数
 *
 * 从 cc-switch-sdk 包导入接口定义，在此实现具体适配器
 */
import type { AppId, McpServer, McpServerSpec } from '@cc-switch/sdk';
export type JsonRecord = Record<string, unknown>;
export interface ClaudeConfig {
    mcpServers?: Record<string, McpServerSpec>;
    [key: string]: unknown;
}
export interface OpenCodeLocalServer {
    type: "local";
    command: string[];
    environment?: Record<string, string>;
    cwd?: string;
    enabled?: boolean;
}
export interface OpenCodeRemoteServer {
    type: "remote";
    url: string;
    headers?: Record<string, string>;
    enabled?: boolean;
}
export type OpenCodeServer = OpenCodeLocalServer | OpenCodeRemoteServer;
export interface OpenCodeConfig {
    mcp?: Record<string, OpenCodeServer>;
    mcpServers?: Record<string, OpenCodeServer>;
    [key: string]: unknown;
}
export type ClaudecodeLocalServer = OpenCodeLocalServer;
export type ClaudecodeRemoteServer = OpenCodeRemoteServer;
export type ClaudecodeServer = McpServerSpec;
export interface ClaudecodeConfig {
    mcpServers?: Record<string, ClaudecodeServer>;
    [key: string]: unknown;
}
/**
 * 将 OpenCode/Claudecode server 格式转换为 MCP spec
 */
export declare function toMcpSpecFromOpenCode(input: OpenCodeServer): McpServerSpec;
/**
 * 将 MCP spec 转换为 OpenCode/Claudecode server 格式
 */
export declare function toOpenCodeServer(input: McpServerSpec): OpenCodeServer;
/**
 * 导入时合并 App 标记
 */
export declare function mergeAppFlagOnImport(server: McpServer, appId: AppId): McpServer;
export declare const toMcpSpecFromClaudecode: typeof toMcpSpecFromOpenCode;
export declare const toClaudecodeServer: typeof toOpenCodeServer;
//# sourceMappingURL=common.d.ts.map