'use client';

export { useChat, type UseChatConfig, type UseChatReturn } from './useChat';
export {
  useChatComposer,
  type UseChatComposerOptions,
  type UseChatComposerReturn,
} from './useChatComposer';
export { useChatHistory, type UseChatHistoryOptions } from './useChatHistory';
export {
  useChatLayout,
  type UseChatLayoutConfig,
  type UseChatLayoutReturn,
} from './useChatLayout';
export { useChatAudio } from './useChatAudio';
export {
  useChatLightbox,
  type UseChatLightboxReturn,
  type ChatLightboxState,
  type ChatLightboxScope,
} from './useChatLightbox';
export {
  useAutoFocusOnStreamEnd,
  useRegisterComposer,
  type UseAutoFocusOnStreamEndOptions,
  type Focusable,
} from './useAutoFocusOnStreamEnd';
export {
  useChatReset,
  type UseChatResetOptions,
  type UseChatResetReturn,
} from './useChatReset';
export {
  useVisitorFingerprint,
  type UseVisitorFingerprintOptions,
} from './useVisitorFingerprint';
export {
  useChatDockPrefs,
  DEFAULT_DOCK_PREFS,
  type ChatDockPrefs,
  type UseChatDockPrefsOptions,
  type UseChatDockPrefsReturn,
} from './useChatDockPrefs';
export {
  useFocusOnEmptyClick,
  type UseFocusOnEmptyClickOptions,
} from './useFocusOnEmptyClick';
export {
  useChatUnread,
  type UseChatUnreadOptions,
  type UseChatUnreadReturn,
} from './useChatUnread';
export {
  useChatUnreadNotifier,
  type UseChatUnreadNotifierOptions,
} from './useChatUnreadNotifier';
