export type { CheckedChangeDetails as SwitchCheckedChangeDetails } from '@zag-js/switch'
export { SwitchContext, type SwitchContextProps } from './switch-context.tsx'
export { SwitchControl, type SwitchControlBaseProps, type SwitchControlProps } from './switch-control.tsx'
export {
  SwitchHiddenInput,
  type SwitchHiddenInputBaseProps,
  type SwitchHiddenInputProps,
} from './switch-hidden-input.tsx'
export { SwitchLabel, type SwitchLabelBaseProps, type SwitchLabelProps } from './switch-label.tsx'
export { SwitchRoot, type SwitchRootBaseProps, type SwitchRootProps } from './switch-root.tsx'
export {
  SwitchRootProvider,
  type SwitchRootProviderBaseProps,
  type SwitchRootProviderProps,
} from './switch-root-provider.tsx'
export { SwitchThumb, type SwitchThumbBaseProps, type SwitchThumbProps } from './switch-thumb.tsx'
export { switchAnatomy } from './switch.anatomy.ts'
export { useSwitch, type UseSwitchProps, type UseSwitchReturn } from './use-switch.ts'
export { useSwitchContext, type UseSwitchContext } from './use-switch-context.ts'

export * as Switch from './switch.ts'
