export type { ValueChangeDetails as SegmentGroupValueChangeDetails } from '@zag-js/radio-group'
export { SegmentGroupContext, type SegmentGroupContextProps } from './segment-group-context.tsx'
export {
  SegmentGroupIndicator,
  type SegmentGroupIndicatorBaseProps,
  type SegmentGroupIndicatorProps,
} from './segment-group-indicator.tsx'
export { SegmentGroupItem, type SegmentGroupItemBaseProps, type SegmentGroupItemProps } from './segment-group-item.tsx'
export { SegmentGroupItemContext, type SegmentGroupItemContextProps } from './segment-group-item-context.tsx'
export {
  SegmentGroupItemControl,
  type SegmentGroupItemControlBaseProps,
  type SegmentGroupItemControlProps,
} from './segment-group-item-control.tsx'
export {
  SegmentGroupItemHiddenInput,
  type SegmentGroupItemHiddenInputBaseProps,
  type SegmentGroupItemHiddenInputProps,
} from './segment-group-item-hidden-input.tsx'
export {
  SegmentGroupItemText,
  type SegmentGroupItemTextBaseProps,
  type SegmentGroupItemTextProps,
} from './segment-group-item-text.tsx'
export {
  SegmentGroupLabel,
  type SegmentGroupLabelBaseProps,
  type SegmentGroupLabelProps,
} from './segment-group-label.tsx'
export { SegmentGroupRoot, type SegmentGroupRootBaseProps, type SegmentGroupRootProps } from './segment-group-root.tsx'
export {
  SegmentGroupRootProvider,
  type SegmentGroupRootProviderBaseProps,
  type SegmentGroupRootProviderProps,
} from './segment-group-root-provider.tsx'
export { segmentGroupAnatomy } from './segment-group.anatomy.ts'
export { useSegmentGroup, type UseSegmentGroupProps, type UseSegmentGroupReturn } from './use-segment-group.ts'
export { useSegmentGroupContext, type UseSegmentGroupContext } from './use-segment-group-context.ts'
export { useSegmentGroupItemContext, type UseSegmentGroupItemContext } from './use-segment-group-item-context.ts'

export * as SegmentGroup from './segment-group.ts'
