/**
 * Input validation for MCP server tools
 */
import type { Category, Framework, GetComponentDocsInput, GetGuideInput, GuideCategory, ListGuidesInput, SearchComponentsInput } from './types.js';
/**
 * Validate framework parameter
 * @param framework - Framework value to validate
 * @returns Validated framework
 * @throws ValidationError if framework is invalid
 */
export declare function validateFramework(framework: unknown): Framework;
/**
 * Validate category parameter
 * @param category - Category value to validate
 * @returns Validated category
 * @throws ValidationError if category is invalid
 */
export declare function validateCategory(category: unknown): Category;
/**
 * Validate guide category parameter
 * @param category - Guide category value to validate
 * @returns Validated guide category
 * @throws ValidationError if category is invalid
 */
export declare function validateGuideCategory(category: unknown): GuideCategory;
/**
 * Validate string parameter
 * @param value - Value to validate
 * @param fieldName - Name of the field
 * @param required - Whether the field is required
 * @param minLength - Minimum length (optional)
 * @param maxLength - Maximum length (optional)
 * @returns Validated string
 * @throws ValidationError if validation fails
 */
export declare function validateString(value: unknown, fieldName: string, required?: boolean, minLength?: number, maxLength?: number): string;
/**
 * Validate boolean parameter
 * @param value - Value to validate
 * @param fieldName - Name of the field
 * @param defaultValue - Default value if undefined
 * @returns Validated boolean
 * @throws ValidationError if validation fails
 */
export declare function validateBoolean(value: unknown, fieldName: string, defaultValue?: boolean): boolean;
/**
 * Validate number parameter
 * @param value - Value to validate
 * @param fieldName - Name of the field
 * @param defaultValue - Default value if undefined
 * @param min - Minimum value (optional)
 * @param max - Maximum value (optional)
 * @returns Validated number
 * @throws ValidationError if validation fails
 */
export declare function validateNumber(value: unknown, fieldName: string, defaultValue?: number, min?: number, max?: number): number;
/**
 * Sanitize component name to prevent path traversal
 * @param name - Component name to sanitize
 * @returns Sanitized name
 * @throws ValidationError if name contains invalid characters
 */
export declare function sanitizeComponentName(name: string): string;
/**
 * Validate SearchComponentsInput
 * @param input - Input to validate
 * @returns Validated input
 * @throws ValidationError if validation fails
 */
export declare function validateSearchComponentsInput(input: unknown): SearchComponentsInput;
/**
 * Validate GetComponentDocsInput
 * @param input - Input to validate
 * @returns Validated input
 * @throws ValidationError if validation fails
 */
export declare function validateGetComponentDocsInput(input: unknown): GetComponentDocsInput;
/**
 * Validate ListGuidesInput
 * @param input - Input to validate
 * @returns Validated input
 * @throws ValidationError if validation fails
 */
export declare function validateListGuidesInput(input: unknown): ListGuidesInput;
/**
 * Validate GetGuideInput
 * @param input - Input to validate
 * @returns Validated input
 * @throws ValidationError if validation fails
 */
export declare function validateGetGuideInput(input: unknown): GetGuideInput;
