import { AttributeType, VisualElement } from '@judo/model-api'; /** * Result from useVisualBinding hook. */ export interface VisualBindingResult { /** Current value from data store */ value: unknown; /** Change handler */ onChange: (newValue: unknown) => void; /** Validation error if any */ error: string | null; /** Whether element is hidden (via hiddenBy or static hidden) */ hidden: boolean; /** Whether field is disabled */ disabled: boolean; /** Whether field is required */ required: boolean; /** Display label */ label: string; /** Whether field is read-only */ readOnly: boolean; /** Whether data is loading */ isLoading: boolean; /** Whether value has changed from original */ isDirty: boolean; } /** * Dedicated hook for visual element to data binding. * * IMPORTANT: No memoization of values that could corrupt data consistency. * Always reads fresh from DataContext via selector subscription. * * @param element - Visual element to bind * @param attributeType - Optional pre-resolved AttributeType * @returns VisualBindingResult */ export declare function useVisualBinding(element: VisualElement, attributeType?: AttributeType): VisualBindingResult; //# sourceMappingURL=use-visual-binding.d.ts.map