// Core components

export type {
  ChatComposerProps,
  ChatDateSeparatorProps,
  ChatMessageActionsProps,
  ChatMessageGroupProps,
  ChatMessageProps,
  ChatMessagesProps,
  ChatProviderProps,
  ChatReplyPreviewProps,
  ChatSystemMessageProps,
  ChatTypingIndicatorProps,
} from "./components/chat";
export {
  ChatComposer,
  ChatDateSeparator,
  ChatMessage,
  ChatMessageActions,
  ChatMessageGroup,
  ChatMessageReactions,
  ChatMessageReply,
  ChatMessageStatus,
  ChatMessages,
  ChatProvider,
  ChatReadReceipts,
  ChatReplyPreview,
  ChatSystemMessage,
  ChatTypingIndicator,
} from "./components/chat";
export type {
  ChatDeletedMessageProps,
  ChatEditComposerProps,
  ChatForwardDialogProps,
  ChatNestedThreadProps,
  ChatPinnedPanelProps,
  ChatSearchProps,
  Conversation,
  SearchResult,
  ThreadedMessage,
} from "./components/features";
// Feature components
export {
  ChatDeletedMessage,
  ChatEditComposer,
  ChatForwardDialog,
  ChatNestedThread,
  ChatPinnedPanel,
  ChatSearch,
} from "./components/features";
export type {
  ChatBoardProps,
  ChatHeaderProps,
  ChatWidgetProps,
  FullMessengerProps,
  InlineChatProps,
  LiveChatProps,
  SidebarConversation,
  SupportTicket,
  SupportTicketsProps,
  TicketPriority,
  TicketStatus,
  Topic,
} from "./components/layouts";
// Pre-built layouts
export {
  ChatBoard,
  ChatConversationItem,
  ChatHeader,
  ChatWidget,
  FullMessenger,
  InlineChat,
  LiveChat,
  SupportTickets,
  TicketFilterTabs,
  TicketPriorityBadge,
  TicketStatusBadge,
} from "./components/layouts";
// Hooks
export {
  formatDateLabel,
  formatTimestamp,
  groupMessages,
  useAutoResize,
  useAutoScroll,
  useTypingIndicator,
} from "./hooks";
export type { FileValidationResult } from "./security";
// Security utilities
export {
  displayHostname,
  formatReactionCount,
  isValidEmoji,
  sanitizeFileName,
  sanitizeSenderName,
  sanitizeUrl,
  stripBidiOverrides,
  truncateMessage,
  validateFile,
} from "./security";
// Types
export type {
  ChatConfig,
  ChatLabels,
  ChatMessageData,
  ChatUser,
  MessageGroup,
  MessageListItem,
  TypingUser,
} from "./types";
