export interface McpAuthEntry {
    key: string;
    label: string;
    hint: string;
    required: boolean;
    validate?: string;
}
export interface McpToolEntry {
    name: string;
    description: string;
}
export interface McpDetectionConfig {
    method: 'cli' | 'npm' | 'extension' | 'hybrid';
    cli?: {
        command: string;
        version_flag: string;
        min_version?: string;
    };
    npm?: {
        package: string;
    };
    extension?: {
        prefix: string;
        binary_dir: string;
        binary_resolve: 'platform';
    };
}
export interface McpServerConfig {
    command: string | null;
    args: string[];
    env: Record<string, string>;
}
export interface McpDefinition {
    id: string;
    name: string;
    description: string;
    category: string;
    icon?: string;
    detection: McpDetectionConfig;
    server: McpServerConfig;
    auth: McpAuthEntry[];
    tools: McpToolEntry[];
    relevant_sectors: string[];
}
export interface McpCatalogCategory {
    name: string;
    mcps: string[];
}
export interface McpCatalog {
    version: string;
    categories: McpCatalogCategory[];
}
export interface McpDetectionResult {
    id: string;
    name: string;
    status: 'detected' | 'available' | 'unavailable';
    detail: string;
    version?: string;
    extensionPath?: string;
}
export interface McpJsonEntry {
    command: string;
    args: string[];
    env: Record<string, string>;
}
export interface McpJson {
    mcpServers: Record<string, McpJsonEntry>;
}
