/**
 * Version tool for MCP server
 *
 * Provides comprehensive system status including version information,
 * Vector DB connection status, and embedding service capabilities
 *
 * PRD #343: Kubernetes interactions migrated to plugin system
 */
import { z } from 'zod';
import { Logger } from '../core/error-handling';
import { BaseVisualizationData } from '../core/visualization';
export declare const VERSION_TOOL_NAME = "version";
export declare const VERSION_TOOL_DESCRIPTION = "Get comprehensive system health and diagnostics";
export declare const VERSION_TOOL_INPUT_SCHEMA: {
    interaction_id: z.ZodOptional<z.ZodString>;
};
export interface VersionInfo {
    version: string;
    nodeVersion: string;
    platform: string;
    arch: string;
}
export interface SystemStatus {
    version: VersionInfo;
    vectorDB: {
        connected: boolean;
        url: string;
        error?: string;
        collections: {
            patterns: {
                exists: boolean;
                documentsCount?: number;
                error?: string;
            };
            policies: {
                exists: boolean;
                documentsCount?: number;
                error?: string;
            };
            capabilities: {
                exists: boolean;
                documentsCount?: number;
                error?: string;
            };
            resources: {
                exists: boolean;
                documentsCount?: number;
                error?: string;
            };
            knowledgeBase: {
                exists: boolean;
                documentsCount?: number;
                error?: string;
            };
        };
    };
    embedding: {
        available: boolean;
        provider: string | null;
        model?: string;
        dimensions?: number;
        reason?: string;
    };
    aiProvider: {
        connected: boolean;
        keyConfigured: boolean;
        providerType?: string;
        modelName?: string;
        error?: string;
    };
    kubernetes: {
        connected: boolean;
        clusterInfo?: {
            endpoint?: string;
            version?: string;
            context?: string;
        };
        kubeconfig: string;
        error?: string;
        errorType?: string;
    };
    capabilities: {
        systemReady: boolean;
        vectorDBHealthy: boolean;
        collectionAccessible: boolean;
        storedCount?: number;
        error?: string;
        rawError?: string;
        lastDiagnosis: string;
    };
    kyverno: {
        installed: boolean;
        version?: string;
        webhookReady?: boolean;
        policyGenerationReady: boolean;
        error?: string;
        reason?: string;
    };
    tracing: {
        enabled: boolean;
        exporterType: string;
        endpoint?: string;
        serviceName: string;
        initialized: boolean;
    };
    plugins?: {
        pluginCount: number;
        toolCount: number;
        plugins: Array<{
            name: string;
            version: string;
            toolCount: number;
        }>;
        pendingDiscovery: string[];
        backgroundDiscoveryActive: boolean;
    };
    mcpServers?: {
        serverCount: number;
        toolCount: number;
        servers: Array<{
            name: string;
            version?: string;
            endpoint: string;
            attachTo: string[];
            toolCount: number;
            tools: string[];
        }>;
    };
}
export interface VersionSessionData extends BaseVisualizationData {
    toolName: 'version';
    system: SystemStatus;
    summary: {
        overall: 'healthy' | 'degraded';
        patternSearch: string;
        capabilityScanning: string;
        kubernetesAccess: string;
        policyIntentManagement: string;
        kyvernoPolicyGeneration: string;
        capabilities: string[];
    };
    timestamp: string;
    status: 'success' | 'error';
}
/**
 * Get version information from package.json
 */
export declare function getVersionInfo(): VersionInfo;
/**
 * Get OpenTelemetry tracing status
 */
export declare function getTracingStatus(): SystemStatus['tracing'];
/**
 * Get Kyverno status via plugin (PRD #343)
 * PRD #359: Uses unified plugin registry
 */
export declare function getKyvernoStatusViaPlugin(): Promise<SystemStatus['kyverno']>;
/**
 * Handle version tool request with comprehensive system diagnostics
 *
 * PRD #359: Uses unified plugin registry for all K8s interactions
 */
interface VersionToolArgs {
    interaction_id?: string;
}
interface VersionToolResponse {
    content: Array<{
        type: 'text';
        text: string;
    }>;
}
export declare function handleVersionTool(args: VersionToolArgs | undefined, logger: Logger, requestId: string): Promise<VersionToolResponse>;
export {};
//# sourceMappingURL=version.d.ts.map