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 {
  default as TagsInputClearTrigger,
  type TagsInputClearTriggerBaseProps,
  type TagsInputClearTriggerProps,
} from './tags-input-clear-trigger.vue'
export { default as TagsInputContext, type TagsInputContextProps } from './tags-input-context.vue'
export {
  default as TagsInputControl,
  type TagsInputControlBaseProps,
  type TagsInputControlProps,
} from './tags-input-control.vue'
export {
  default as TagsInputHiddenInput,
  type TagsInputHiddenInputBaseProps,
  type TagsInputHiddenInputProps,
} from './tags-input-hidden-input.vue'
export {
  default as TagsInputInput,
  type TagsInputInputBaseProps,
  type TagsInputInputProps,
} from './tags-input-input.vue'
export { default as TagsInputItemContext, type TagsInputItemContextProps } from './tags-input-item-context.vue'
export {
  default as TagsInputItemDeleteTrigger,
  type TagsInputItemDeleteTriggerBaseProps,
  type TagsInputItemDeleteTriggerProps,
} from './tags-input-item-delete-trigger.vue'
export {
  default as TagsInputItemInput,
  type TagsInputItemInputBaseProps,
  type TagsInputItemInputProps,
} from './tags-input-item-input.vue'
export {
  default as TagsInputItemPreview,
  type TagsInputItemPreviewBaseProps,
  type TagsInputItemPreviewProps,
} from './tags-input-item-preview.vue'
export {
  default as TagsInputItemText,
  type TagsInputItemTextBaseProps,
  type TagsInputItemTextProps,
} from './tags-input-item-text.vue'
export { default as TagsInputItem, type TagsInputItemBaseProps, type TagsInputItemProps } from './tags-input-item.vue'
export {
  default as TagsInputLabel,
  type TagsInputLabelBaseProps,
  type TagsInputLabelProps,
} from './tags-input-label.vue'
export {
  default as TagsInputRootProvider,
  type TagsInputRootProviderBaseProps,
  type TagsInputRootProviderProps,
} from './tags-input-root-provider.vue'
export {
  default as TagsInputRoot,
  type TagsInputRootBaseProps,
  type TagsInputRootEmits,
  type TagsInputRootProps,
} from './tags-input-root.vue'
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'
