import type { JSONSchemaObject } from './types.js'; /** * Enhanced validation error with structured error information */ export declare class ToolArgumentValidationError extends Error { readonly issues: readonly string[]; readonly toolName: string; constructor(toolName: string, issues: string[]); } /** * Runtime type guards for tool argument validation */ export declare namespace TypeGuards { /** * Type guard for string values */ function isString(value: unknown): value is string; /** * Type guard for number values */ function isNumber(value: unknown): value is number; /** * Type guard for boolean values */ function isBoolean(value: unknown): value is boolean; /** * Type guard for array values */ function isArray(value: unknown): value is unknown[]; /** * Type guard for object values */ function isObject(value: unknown): value is Record; /** * Type guard for non-null values */ function isNotNull(value: unknown): value is NonNullable; /** * Type guard for enum values */ function isEnum(value: unknown, enumValues: readonly T[]): value is T; } /** * Coerce loosely-typed tool arguments into their declared schema types. * This makes tools resilient to providers that emit boolean/number values as strings. */ export declare function coerceToolArguments(schema: JSONSchemaObject | undefined, args: Record): Record; export declare function validateToolArguments(toolName: string, schema: JSONSchemaObject | undefined, args: Record): void; //# sourceMappingURL=schemaValidator.d.ts.map