export type {
  FocusOutsideEvent as TagsInputFocusOutsideEvent,
  HighlightChangeDetails as TagsInputHighlightChangeDetails,
  InputValueChangeDetails as TagsInputInputValueChangeDetails,
  InteractOutsideEvent as TagsInputInteractOutsideEvent,
  PointerDownOutsideEvent as TagsInputPointerDownOutsideEvent,
  ValidityChangeDetails as TagsInputValidityChangeDetails,
  ValueChangeDetails as TagsInputValueChangeDetails,
} from '@zag-js/tags-input'
export {
  TagsInputClearTrigger,
  type TagsInputClearTriggerBaseProps,
  type TagsInputClearTriggerProps,
} from './tags-input-clear-trigger.tsx'
export { TagsInputContext, type TagsInputContextProps } from './tags-input-context.tsx'
export { TagsInputControl, type TagsInputControlBaseProps, type TagsInputControlProps } from './tags-input-control.tsx'
export {
  TagsInputHiddenInput,
  type TagsInputHiddenInputBaseProps,
  type TagsInputHiddenInputProps,
} from './tags-input-hidden-input.tsx'
export { TagsInputInput, type TagsInputInputBaseProps, type TagsInputInputProps } from './tags-input-input.tsx'
export { TagsInputItem, type TagsInputItemBaseProps, type TagsInputItemProps } from './tags-input-item.tsx'
export { TagsInputItemContext, type TagsInputItemContextProps } from './tags-input-item-context.tsx'
export {
  TagsInputItemDeleteTrigger,
  type TagsInputItemDeleteTriggerBaseProps,
  type TagsInputItemDeleteTriggerProps,
} from './tags-input-item-delete-trigger.tsx'
export {
  TagsInputItemInput,
  type TagsInputItemInputBaseProps,
  type TagsInputItemInputProps,
} from './tags-input-item-input.tsx'
export {
  TagsInputItemPreview,
  type TagsInputItemPreviewBaseProps,
  type TagsInputItemPreviewProps,
} from './tags-input-item-preview.tsx'
export {
  TagsInputItemText,
  type TagsInputItemTextBaseProps,
  type TagsInputItemTextProps,
} from './tags-input-item-text.tsx'
export { TagsInputLabel, type TagsInputLabelBaseProps, type TagsInputLabelProps } from './tags-input-label.tsx'
export { TagsInputRoot, type TagsInputRootBaseProps, type TagsInputRootProps } from './tags-input-root.tsx'
export {
  TagsInputRootProvider,
  type TagsInputRootProviderBaseProps,
  type TagsInputRootProviderProps,
} from './tags-input-root-provider.tsx'
export { tagsInputAnatomy } from './tags-input.anatomy.ts'
export { useTagsInput, type UseTagsInputProps, type UseTagsInputReturn } from './use-tags-input.ts'
export { useTagsInputContext, type UseTagsInputContext } from './use-tags-input-context.ts'
export { useTagsInputItemContext, type UseTagsInputItemContext } from './use-tags-input-item-context.ts'

export * as TagsInput from './tags-input.ts'
