import type ToolRegistry from '../tool/tool.registry'; /** * Result of validating tool availability for a skill. */ export interface ToolValidationResult { /** * Tools that are available (exist and not hidden). */ available: string[]; /** * Tools that don't exist in the registry. */ missing: string[]; /** * Tools that exist but are hidden from discovery. */ hidden: string[]; /** * True if all required tools are available (exist and not hidden). */ complete: boolean; } /** * Validates tool availability for skills. * * This validator checks if the tools referenced by a skill are available * in the current scope. It categorizes tools as available, missing, or hidden. */ export declare class SkillToolValidator { private readonly toolRegistry; constructor(toolRegistry: ToolRegistry); /** * Validate tool availability for a list of tool names. * * @param toolNames - Array of tool names to validate * @param requiredTools - Optional set of tool names that are required * @returns Validation result with categorized tools */ validate(toolNames: string[], requiredTools?: Set): ToolValidationResult; /** * Format a warning message for missing/hidden tools. * * @param result - Validation result * @param skillName - Name of the skill (for error message) * @returns Warning message or undefined if no issues */ formatWarning(result: ToolValidationResult, skillName: string): string | undefined; /** * Check if a single tool is available (exists and not hidden). * * @param toolName - Name of the tool to check * @returns True if the tool is available */ isToolAvailable(toolName: string): boolean; /** * Check if a single tool exists (regardless of visibility). * * @param toolName - Name of the tool to check * @returns True if the tool exists */ toolExists(toolName: string): boolean; } //# sourceMappingURL=skill-validator.d.ts.map