import type { CustomizationFieldValue, WidgetOption, WidgetType, UiElement } from './contract.types'; export interface FieldState { visible: boolean; disabled: boolean; value: CustomizationFieldValue; errors: string[]; options: WidgetOption[]; widgetType: WidgetType; } export interface CategoryState { key: string; label: string; errorCount: number; elements: UiElement[]; } export interface ResetField { scope: string; oldValue: CustomizationFieldValue; newValue: CustomizationFieldValue; } export interface FieldChangeResult { changedFields: string[]; resetFields: ResetField[]; validationResult: ValidationResult; } export interface ValidationResult { valid: boolean; errors: Map; categoryErrorCounts: Record; }