/**
 * Shared Validation Library - Comprehensive validation utilities for OpenAI Assistants MCP Server
 *
 * This module consolidates all validation logic used across both Cloudflare Workers
 * and NPM package deployments. Following MCP best practices for error messages
 * and parameter validation.
 *
 * Consolidates 562 lines of duplicate validation code.
 */
import { MCPError } from '../types/index.js';
export declare const SUPPORTED_MODELS: readonly ["gpt-4", "gpt-4o", "gpt-4-turbo", "gpt-4-turbo-preview", "gpt-4-0125-preview", "gpt-4-1106-preview", "gpt-4-vision-preview", "gpt-3.5-turbo", "gpt-3.5-turbo-0125", "gpt-3.5-turbo-1106", "gpt-3.5-turbo-16k"];
export declare const ID_PATTERNS: {
    readonly assistant: RegExp;
    readonly thread: RegExp;
    readonly message: RegExp;
    readonly run: RegExp;
    readonly step: RegExp;
    readonly file: RegExp;
    readonly tool_call: RegExp;
};
export interface ValidationResult {
    isValid: boolean;
    error?: MCPError;
}
/**
 * Validate OpenAI ID format
 */
export declare function validateOpenAIId(id: string, type: keyof typeof ID_PATTERNS, paramName: string): ValidationResult;
/**
 * Validate OpenAI model name
 */
export declare function validateModel(model: string, paramName?: string): ValidationResult;
/**
 * Validate numeric range
 */
export declare function validateNumericRange(value: number, paramName: string, min: number, max: number, defaultValue?: number): ValidationResult;
/**
 * Validate required string parameter
 */
export declare function validateRequiredString(value: any, paramName: string, examples?: string[]): ValidationResult;
/**
 * Validate enum value
 */
export declare function validateEnum<T extends string>(value: any, paramName: string, allowedValues: readonly T[], defaultValue?: T): ValidationResult;
/**
 * Validate array parameter
 */
export declare function validateArray(value: any, paramName: string, required?: boolean): ValidationResult;
/**
 * Validate metadata object
 */
export declare function validateMetadata(metadata: any, paramName?: string): ValidationResult;
/**
 * Validate tool configuration
 */
export declare function validateTools(tools: any, paramName?: string): ValidationResult;
/**
 * Validate tool resources configuration
 */
export declare function validateToolResources(toolResources: any, tools: any[], paramName?: string): ValidationResult;
/**
 * Validate message role
 */
export declare function validateMessageRole(role: any, paramName?: string): ValidationResult;
/**
 * Validate pagination parameters
 */
export declare function validatePaginationParams(params: {
    limit?: number;
    order?: string;
    after?: string;
    before?: string;
}): ValidationResult;
/**
 * Comprehensive validation for assistant creation
 */
export declare function validateCreateAssistantParams(params: any): ValidationResult;
//# sourceMappingURL=validation.d.ts.map