import { ValidationResult } from '../schema/rules'; import { JSON2VideoRequest } from '../schema/schema'; import { RequestBuildResult } from './buildRequest'; /** * Extended validation result with request context */ export interface RequestValidationResult extends ValidationResult { request?: JSON2VideoRequest; canProceed: boolean; validationLevel: 'structural' | 'semantic' | 'complete'; } /** * Validation options to control validation depth */ export interface ValidationOptions { level?: 'structural' | 'semantic' | 'complete'; strictMode?: boolean; includeWarnings?: boolean; validateElements?: boolean; } /** * Actionable errors categorized by type */ export interface ActionableErrors { fixable: string[]; critical: string[]; warnings: string[]; } /** * Comprehensive request validation */ export declare function validateRequest(request: JSON2VideoRequest, options?: ValidationOptions): RequestValidationResult; /** * Create a human-readable validation summary */ export declare function createValidationSummary(result: RequestValidationResult): string; /** * Extract actionable errors categorized by fixability */ export declare function extractActionableErrors(result: RequestValidationResult): ActionableErrors; /** * Determine if validation errors are recoverable */ export declare function isRecoverable(result: RequestValidationResult): boolean; /** * Validate a RequestBuildResult comprehensively */ export declare function validateBuildResult(buildResult: RequestBuildResult, options?: ValidationOptions): RequestValidationResult;