import { Tool, Prompt } from '@modelcontextprotocol/sdk/types.js';
import { ToolRegistryEntry, PromptRegistryEntry, ValidationResult, VersionInfo } from './types.js';
/**
 * Validator for ensuring MCP specification compliance
 */
export declare class RegistryValidator {
    private readonly TOOL_NAME_PATTERN;
    private readonly PROMPT_NAME_PATTERN;
    private readonly MAX_NAME_LENGTH;
    private readonly MAX_DESCRIPTION_LENGTH;
    private readonly REQUIRED_SCHEMA_PROPERTIES;
    /**
     * Validate a tool registry entry for MCP compliance
     */
    validateTool(entry: ToolRegistryEntry): ValidationResult;
    /**
     * Validate a prompt registry entry for MCP compliance
     */
    validatePrompt(entry: PromptRegistryEntry): ValidationResult;
    /**
     * Validate MCP tool definition according to specification
     */
    validateToolDefinition(tool: Tool): ValidationResult;
    /**
     * Validate MCP prompt definition according to specification
     */
    validatePromptDefinition(prompt: Prompt): ValidationResult;
    /**
     * Validate naming conventions for tools and prompts
     */
    validateNamingConvention(name: string, prefix?: string): ValidationResult;
    /**
     * Validate version information
     */
    validateVersion(version: VersionInfo): ValidationResult;
    private validateBaseEntry;
    private validateInputSchema;
    private validatePromptParameter;
    private validateDependencies;
}
//# sourceMappingURL=RegistryValidator.d.ts.map