/** * Validation system * Framework-agnostic validation for models, cubes, meshes, and animations */ export interface ValidationIssue { message: string; type: 'error' | 'warning'; element?: any; buttons?: Array<{ name: string; icon?: string; action?: () => void; }>; [key: string]: any; } export interface ValidatorCheckOptions { id: string; type?: 'error' | 'warning'; update_triggers?: string[]; condition?: () => boolean; run: () => void; plugin?: string; } export declare class ValidatorCheck { id: string; type: 'error' | 'warning'; update_triggers: string[]; condition?: () => boolean; run: () => void; plugin?: string; errors: ValidationIssue[]; warnings: ValidationIssue[]; constructor(options: ValidatorCheckOptions); /** * Update the check (run validation) */ update(): void; /** * Add a warning */ warn(...warnings: ValidationIssue[]): void; /** * Add an error */ fail(...errors: ValidationIssue[]): void; } export interface ValidatorOptions { debounceTime?: number; } export declare class Validator { private checks; private debounceTime; private timeout; private accumulatedTriggers; private wildcardTrigger; constructor(options?: ValidatorOptions); /** * Register a validation check */ register(check: ValidatorCheck): void; /** * Unregister a validation check */ unregister(check: ValidatorCheck): boolean; /** * Get all registered checks */ getChecks(): ValidatorCheck[]; /** * Validate with optional trigger */ validate(trigger?: string): void; /** * Run validation immediately */ runValidation(): void; /** * Get all current errors */ getErrors(): ValidationIssue[]; /** * Get all current warnings */ getWarnings(): ValidationIssue[]; /** * Get all issues (errors + warnings) */ getAllIssues(): ValidationIssue[]; /** * Check if there are any issues */ hasIssues(): boolean; /** * Clear all issues */ clear(): void; } /** * Common validation checks */ export declare class CommonValidations { /** * Validate cube size limits */ static createCubeSizeLimitCheck(validator: Validator, cubes: any[], sizeLimiter?: (cube: any) => boolean): ValidatorCheck; /** * Validate box UV issues */ static createBoxUVCheck(validator: Validator, cubes: any[]): ValidatorCheck; /** * Validate texture names */ static createTextureNamesCheck(validator: Validator, textures: any[]): ValidatorCheck; /** * Validate mesh topology */ static createMeshTopologyCheck(validator: Validator, meshes: any[]): ValidatorCheck; } //# sourceMappingURL=validator.d.ts.map