import { McpError } from '@modelcontextprotocol/sdk/types.js'; import { z } from 'zod'; /** * Centralized validation and error handling for MCP tools * * Provides consistent validation, error formatting, and user-friendly * error messages across all three layers of the MCP server. */ export declare enum ValidationErrorType { INVALID_PARAMETER = "INVALID_PARAMETER", MISSING_REQUIRED = "MISSING_REQUIRED", INVALID_FORMAT = "INVALID_FORMAT", SECURITY_VIOLATION = "SECURITY_VIOLATION", RESOURCE_NOT_FOUND = "RESOURCE_NOT_FOUND", SYSTEM_ERROR = "SYSTEM_ERROR" } export interface ValidationIssue { type: ValidationErrorType; field?: string; message: string; suggestion?: string; allowedValues?: string[]; } export declare class MCPValidationError extends McpError { issues: ValidationIssue[]; constructor(issues: ValidationIssue[]); } export declare const DirectoryParameterSchema: z.ZodOptional, string, string>>; export declare const CategoryParameterSchema: z.ZodEffects; export declare const TokenNameParameterSchema: z.ZodString; export declare const BooleanParameterSchema: z.ZodOptional; export declare const Layer1ValidationSchema: z.ZodObject<{ directory: z.ZodOptional, string, string>>; }, "strip", z.ZodTypeAny, { directory?: string | undefined; }, { directory?: string | undefined; }>; export declare const Layer2ValidationSchema: z.ZodObject<{ category: z.ZodEffects; directory: z.ZodOptional, string, string>>; includeResolved: z.ZodOptional; }, "strip", z.ZodTypeAny, { category: string; directory?: string | undefined; includeResolved?: boolean | undefined; }, { category: string; directory?: string | undefined; includeResolved?: boolean | undefined; }>; export declare const Layer3ValidationSchema: z.ZodObject<{ category: z.ZodEffects; name: z.ZodString; directory: z.ZodOptional, string, string>>; includeExamples: z.ZodOptional; includeRelated: z.ZodOptional; }, "strip", z.ZodTypeAny, { name: string; category: string; directory?: string | undefined; includeExamples?: boolean | undefined; includeRelated?: boolean | undefined; }, { name: string; category: string; directory?: string | undefined; includeExamples?: boolean | undefined; includeRelated?: boolean | undefined; }>; export declare function validateLayer1Args(args: unknown): { directory?: string; }; export declare function validateLayer2Args(args: unknown): { category: string; directory?: string; includeResolved?: boolean; }; export declare function validateLayer3Args(args: unknown): { category: string; name: string; directory?: string; includeExamples?: boolean; includeRelated?: boolean; }; export declare function validateCategoryExists(category: string, availableCategories: string[]): void; export declare function validateTokenExists(tokenName: string, category: string, availableTokens: string[]): void; export declare function generateErrorRecoverySteps(toolName: string, issues: ValidationIssue[]): string[]; export declare function wrapToolExecution(toolName: string, toolFunction: (...args: T) => Promise, validationFunction?: (args: any) => any): (...args: T) => Promise; export declare function validateDesignSystemSetup(directoryPath?: string): void; export declare function sanitizeUserInput(input: string, maxLength?: number): string; export interface ValidationResult { isValid: boolean; data?: T; issues?: ValidationIssue[]; } export declare function createValidationResult(data: T, issues?: ValidationIssue[]): ValidationResult;