/** * AJV-based JSON Schema validator provider */ import { Ajv } from 'ajv'; import type { JsonSchemaType, JsonSchemaValidator, jsonSchemaValidator } from './types.js'; /** * @example * ```typescript * // Use with default AJV instance (recommended) * import { AjvJsonSchemaValidator } from '@modelcontextprotocol/sdk/validation/ajv'; * const validator = new AjvJsonSchemaValidator(); * * // Use with custom AJV instance * import { Ajv } from 'ajv'; * const ajv = new Ajv({ strict: true, allErrors: true }); * const validator = new AjvJsonSchemaValidator(ajv); * ``` */ export declare class AjvJsonSchemaValidator implements jsonSchemaValidator { private _ajv; /** * Create an AJV validator * * @param ajv - Optional pre-configured AJV instance. If not provided, a default instance will be created. * * @example * ```typescript * // Use default configuration (recommended for most cases) * import { AjvJsonSchemaValidator } from '@modelcontextprotocol/sdk/validation/ajv'; * const validator = new AjvJsonSchemaValidator(); * * // Or provide custom AJV instance for advanced configuration * import { Ajv } from 'ajv'; * import addFormats from 'ajv-formats'; * * const ajv = new Ajv({ validateFormats: true }); * addFormats(ajv); * const validator = new AjvJsonSchemaValidator(ajv); * ``` */ constructor(ajv?: Ajv); /** * Create a validator for the given JSON Schema * * The validator is compiled once and can be reused multiple times. * If the schema has an $id, it will be cached by AJV automatically. * * @param schema - Standard JSON Schema object * @returns A validator function that validates input data */ getValidator(schema: JsonSchemaType): JsonSchemaValidator; } //# sourceMappingURL=ajv-provider.d.ts.map