import type { CustomToolMetadata, CustomToolParameterType } from '../types/custom-tools.js';
import type { ToolValidator } from '../types/index.js';
interface JsonSchemaProperty {
    type: CustomToolParameterType;
    description?: string;
    default?: unknown;
    enum?: unknown[];
    pattern?: string;
    minLength?: number;
    maxLength?: number;
    minimum?: number;
    maximum?: number;
    items?: {
        type: CustomToolParameterType;
    };
}
export interface JsonSchema {
    type: 'object';
    properties: Record<string, JsonSchemaProperty>;
    required: string[];
    additionalProperties: false;
}
/**
 * Convert a custom tool's parameter declarations into a JSON Schema object
 * suitable for AI SDK `inputSchema`. One source of truth: the same
 * descriptions and constraints surface to the model and the validator.
 */
export declare function buildJsonSchema(metadata: CustomToolMetadata): JsonSchema;
/**
 * Build a `ToolValidator` from the parameter declarations. Returns
 * emoji-prefixed errors that match the style of `webSearchValidator`.
 *
 * Validates: required-ness, type, enum, pattern, minLength/maxLength,
 * min/max. Unknown extra params are silently dropped (AI SDK behavior for
 * dynamic tool args).
 */
export declare function buildValidator(metadata: CustomToolMetadata): ToolValidator;
export {};
//# sourceMappingURL=schema-builder.d.ts.map