/**
 * UnifiedFieldControls - Consistent icon controls for form and summary views
 *
 * @example
 * ```tsx
 * import { UnifiedFieldControls } from './shared/unified_field_controls';
 *
 * <UnifiedFieldControls
 *   field_id="my_field"
 *   icons_behaviour={icons_behaviour}
 *   active_role="tax_agent"
 *   metadata={{
 *     data_ok: 'ok',
 *     locked: false,
 *     visibility: 'visible',
 *     notes: [],
 *     chat_status: 'none',
 *   }}
 *   callbacks={{
 *     on_data_ok_change: (value) => {...},
 *     on_lock_change: (locked) => {...},
 *     on_visibility_change: (visibility) => {...},
 *     on_notes_change: (notes) => {...},
 *     on_chat_click: () => {...},
 *     on_delete: () => {...},
 *   }}
 *   config={{
 *     data_ok_mode: 'multi_state',
 *     chat_group_id: 'my-chat-group',
 *     current_user: { name: 'John', email: 'john@example.com' },
 *   }}
 *   fallback_visibility={{
 *     data_ok: true,
 *     notes: true,
 *     chat: true,
 *   }}
 * />
 * ```
 */
export { UnifiedFieldControls } from './unified_field_controls.js';
export { KebabMenu } from './kebab_menu.js';
export { use_control_resolution } from './use_control_resolution.js';
export { use_field_control_props, type UseFieldControlPropsInput } from './use_field_control_props.js';
export { resolve_field_controls, controls_to_fallback_visibility, type ControlEnableSettings, type ResolvedControlSettings, } from './resolve_field_controls.js';
export { build_control_props, type FieldControlConfig, type FormControlContext, type FormControlCallbacks, } from './build_control_props.js';
export type { UnifiedFieldControlsProps, ControlMetadata, ControlCallbacks, ControlConfig, FallbackSettings, DataOkAutoActions, ResolvedControlState, ControlResolutionResult, KebabMenuProps, IconsBehaviour, ControlName, DataOkState, ChatStatus, NoteEntry, } from './types.js';
export { CONTROL_SIZE, NOTES_ICON_SIZE, DEFAULT_FALLBACK_VISIBILITY, DEFAULT_FALLBACK_ENABLED, CONTROL_TO_FALLBACK_KEY, CHAT_STATUS_CLASSES, KEBAB_INDICATOR_COLORS, } from './constants.js';
//# sourceMappingURL=index.d.ts.map