import { Tool } from '@modelcontextprotocol/server'; import { KubernetesClient } from '../../kubernetes/KubernetesClient.js'; /** * Base interface for all ArgoCD MCP tool commands */ export interface ArgoCDBaseTool { /** * The tool definition for MCP registration */ tool: Tool; /** * Execute the command with given parameters */ execute(params: any, client?: KubernetesClient): Promise; } /** * Common parameter schemas used across multiple ArgoCD commands */ export declare const ArgoCDCommonSchemas: { namespace: { type: string; description: string; optional: boolean; }; labelSelector: { type: string; description: string; optional: boolean; }; appName: { type: string; description: string; }; outputFormat: { type: string; description: string; enum: string[]; optional: boolean; }; selector: { type: string; description: string; optional: boolean; }; server: { type: string; description: string; optional: boolean; }; grpcWeb: { type: string; description: string; optional: boolean; }; plaintext: { type: string; description: string; optional: boolean; }; insecure: { type: string; description: string; optional: boolean; }; }; /** * Executes an argocd command using the argocd CLI * @param args Array of command arguments * @param argoCDExecutable Optional argocd executable path (for fallback scenarios) * @returns Promise with the command output */ export declare function executeArgoCDCommand(args: string[], argoCDExecutable?: string): Promise; /** * Validates that argocd CLI is available with fallback detection */ export declare function validateArgoCDCLI(): Promise; //# sourceMappingURL=BaseTool.d.ts.map