export {
  Accordion,
  AccordionItem,
  AccordionTrigger,
  AccordionContent,
} from "./ui/accordion";
export type {
  AccordionProps,
  AccordionItemProps,
  AccordionTriggerProps,
  AccordionContentProps,
} from "./ui/accordion";

export {
  AgentCard,
  AgentMenuModal,
  AgentCategorySection,
  IntegrationServiceCard,
  IntegrationInstructionCard,
  ServiceConfigurationModal,
} from "./ui/ai-builder";
export type {
  AiBuilderAgentItem,
  AiBuilderEmailCategories,
  AiBuilderServiceType,
  AiBuilderServiceData,
  AgentCardProps,
  AgentMenuModalProps,
  AgentCategorySectionProps,
  IntegrationServiceCardProps,
  IntegrationInstructionCardProps,
  ServiceConfigurationModalProps,
  ServiceCredentialField,
} from "./ui/ai-builder";

export {
  ConversationStatusChip,
  ConversationListItem,
  ConversationList,
  ChatBubble,
  ChatComposer,
  ChatThread,
  AICollectedDataSection,
  LeadInfoPanel,
  ConversationsPage,
  AiConvAssignAdvisorDialog,
} from "./ui/ai-conversations";
export type {
  AiConvStatus,
  AiConvMessageRole,
  AiConvFieldConfidence,
  AiConvFilterTab,
  AiConvMode,
  AiConvChannel,
  AiConvChannelFilter,
  AiConvMeetingType,
  AiConvContact,
  AiConvAdvisor,
  AiConvListItemData,
  AiConvMessage,
  AiConvDataField,
  AiConvAppointmentData,
  AiConvEmailPayload,
  ConversationStatusChipProps,
  ConversationListItemProps,
  ConversationListProps,
  ChatBubbleProps,
  ChatComposerProps,
  ChatThreadProps,
  AICollectedDataSectionProps,
  LeadInfoPanelProps,
  ConversationsPageProps,
  AiConvAssignAdvisorDialogProps,
} from "./ui/ai-conversations";

export { AdvisorCard, AdvisorInviteCard } from "./ui/advisor-card";
export type {
  AdvisorCardProps,
  AdvisorInviteCardProps,
  AdvisorAppointmentStrip,
  AdvisorCardMenuItem,
} from "./ui/advisor-card";

export { AppointmentUpcomingCard } from "./ui/appointment-upcoming-card";
export type {
  AppointmentUpcomingCardProps,
  AppointmentUpcomingData,
  AppointmentUpcomingAdvisor,
  AppointmentUpcomingStatus,
  AppointmentUpcomingSlot,
} from "./ui/appointment-upcoming-card";

export { AddColumnModal } from "./ui/add-column-modal";
export type {
  AddColumnModalProps,
  AddColumnEditData,
  ColumnTask,
} from "./ui/add-column-modal";

export {
  AgentEvaluationCard,
  showAgentEvaluationToast,
} from "./ui/agent-evaluation-toast";
export type {
  AgentEvaluationData,
  AgentEvaluationResult,
  AgentEvaluationCardProps,
} from "./ui/agent-evaluation-toast";

export { AddLeadModal } from "./ui/add-lead-modal";
export type { AddLeadModalProps, LeadContact } from "./ui/add-lead-modal";

export { AiAssistantDrawer } from "./ui/ai-assistant-drawer";
export type {
  AiAssistantDrawerProps,
  AiChatMessage,
  AiTaskSuggestion,
} from "./ui/ai-assistant-drawer";

export {
  SupportContextChip,
  SupportSuggestedQuestion,
  SupportStepGuideCard,
  SupportArticleCard,
  SupportAgentFAB,
  SupportAgentPanel,
} from "./ui/support-agent";
export type {
  SupportAgentContext,
  SupportAgentStep,
  SupportAgentRichContent,
  SupportContextChipProps,
  SupportSuggestedQuestionProps,
  SupportStepGuideCardProps,
  SupportArticleCardProps,
  SupportAgentFABProps,
  SupportAgentMessage,
  SupportAgentPanelProps,
} from "./ui/support-agent";

export { ChatInputArea } from "./ui/chat-input-area";
export type { ChatInputAreaProps } from "./ui/chat-input-area";

export {
  PolicyQueryChip,
  PolicyVerdictBadge,
  PolicyCitationPanel,
  PolicySingleBankAnswer,
  PolicyComparisonTable,
  PolicyRankedList,
  PolicyAIFAB,
  PolicyAIPanel,
} from "./ui/policy-ai";
export type {
  PolicyType,
  PolicyQueryType,
  PolicyVerdict,
  PolicyQueryContext,
  PolicyCitationItem,
  PolicyBankVerdict,
  PolicyRankedBankItem,
  PolicyResponseContent,
  PolicyAIMessage,
  PolicyQueryChipProps,
  PolicyVerdictBadgeProps,
  PolicyCitationPanelProps,
  PolicySummaryCounts,
  PolicySingleBankAnswerProps,
  PolicyComparisonTableProps,
  PolicyRankedListProps,
  PolicyAIFABProps,
  PolicyAIPanelProps,
} from "./ui/policy-ai";
export {
  ChatWidgetLauncher,
  ChatWidgetHeader,
  ChatWidgetMessage,
  TypingDots,
  ChatWidgetTypingIndicator,
  ChatWidgetInputBar,
} from "./ui/chat-widget-primitives";
export type {
  ChatWidgetLauncherProps,
  ChatWidgetHeaderProps,
  ChatWidgetMessageProps,
  ChatWidgetMessageRole,
  TypingDotsProps,
  ChatWidgetTypingIndicatorProps,
  ChatWidgetInputBarProps,
} from "./ui/chat-widget-primitives";
export { ManageContactTagsDialog } from "./ui/manage-contact-tags-dialog";
export type { ManageContactTagsDialogProps } from "./ui/manage-contact-tags-dialog";
export { ManageTagsDialog } from "./ui/manage-tags-dialog";
export type {
  ManageTagsDialogProps,
  ManageTagsDialogTag,
  TagUsage,
} from "./ui/manage-tags-dialog";
export { MarkdownContent } from "./ui/markdown-content";
export type { MarkdownContentProps } from "./ui/markdown-content";
export {
  CopilotErrorMessage,
  CopilotRateLimitMessage,
  CopilotSourceCitation,
  CopilotThinkingSteps,
} from "./ui/copilot-primitives";
export type {
  CopilotErrorMessageProps,
  CopilotRateLimitMessageProps,
  CopilotSourceCitationProps,
  CopilotSource,
  CopilotSourceType,
  CopilotThinkingStepsProps,
} from "./ui/copilot-primitives";
export { CopilotActionCard } from "./ui/copilot-action-card";
export type {
  CopilotActionCardProps,
  CopilotActionStatus,
} from "./ui/copilot-action-card";
export { CopilotPlanCard } from "./ui/copilot-plan-card";
export type {
  CopilotPlanCardProps,
  CopilotPlanStatus,
  CopilotPlanStep,
  CopilotPlanStepStatus,
} from "./ui/copilot-plan-card";
export { CopilotDataCard } from "./ui/copilot-data-card";
export type {
  CopilotDataCardProps,
  CopilotDataField,
  CopilotDataConfidence,
} from "./ui/copilot-data-card";
export { CopilotSuggestionCard } from "./ui/copilot-suggestion-card";
export type { CopilotSuggestionCardProps } from "./ui/copilot-suggestion-card";
export { CopilotContextCard } from "./ui/copilot-context-card";
export type {
  CopilotContextCardProps,
  CopilotContextField,
  CopilotContextBadgeVariant,
} from "./ui/copilot-context-card";
export { CopilotConnectionState } from "./ui/copilot-connection-state";
export type {
  CopilotConnectionStateProps,
  CopilotConnectionStatus,
} from "./ui/copilot-connection-state";
export { CopilotAuthState } from "./ui/copilot-auth-state";
export type { CopilotAuthStateProps } from "./ui/copilot-auth-state";
export { CopilotEmptyState } from "./ui/copilot-empty-state";
export type {
  CopilotEmptyStateProps,
  CopilotSuggestedPrompt,
} from "./ui/copilot-empty-state";
export { CopilotMeetingNoteCard } from "./ui/copilot-meeting-note-card";
export type {
  CopilotMeetingNoteCardProps,
  CopilotMeetingActionItem,
} from "./ui/copilot-meeting-note-card";
export { CopilotMeetingRecordPrompt } from "./ui/copilot-meeting-record-prompt";
export type {
  CopilotMeetingRecordPromptProps,
  CopilotMeetingPlatform,
  CopilotMeetingRecordStatus,
  CopilotMeetingCaptureSurface,
} from "./ui/copilot-meeting-record-prompt";
export { CopilotChatHistory } from "./ui/copilot-chat-history";
export type {
  CopilotChatHistoryProps,
  CopilotConversation,
} from "./ui/copilot-chat-history";
export { CopilotPanel } from "./ui/copilot-panel";
export type {
  CopilotPanelProps,
  CopilotPanelState,
  CopilotThreadItem,
} from "./ui/copilot-panel";

export {
  ChatWidget,
  ChatWidgetWindow,
  ChatWidgetIntakeForm,
  ChatWidgetTopicCard,
  ChatWidgetTopicGrid,
  ChatWidgetInteractiveCard,
  DEFAULT_CHAT_WIDGET_TOPICS,
} from "./ui/chat-widget";
export type {
  ChatWidgetProps,
  ChatWidgetWindowProps,
  ChatWidgetIntakeFormProps,
  ChatWidgetTopicCardProps,
  ChatWidgetTopicGridProps,
  ChatWidgetInteractiveCardProps,
  ChatWidgetInteractiveCardType,
  ChatWidgetUser,
  ChatWidgetTopic,
  ChatWidgetChatMessage,
  ChatWidgetScreen,
  ChatWidgetQuickReplyOption,
  ChatWidgetAppointmentSlot,
} from "./ui/chat-widget";

export { ChatWidgetAppearancePanel } from "./ui/chat-widget-appearance-panel";
export type { ChatWidgetAppearancePanelProps } from "./ui/chat-widget-appearance-panel";

export { Alert, AlertTitle, AlertDescription } from "./ui/alert";
export type {
  AlertProps,
  AlertTitleProps,
  AlertDescriptionProps,
} from "./ui/alert";

export {
  AlertDialog,
  AlertDialogAction,
  AlertDialogCancel,
  AlertDialogContent,
  AlertDialogDescription,
  AlertDialogFooter,
  AlertDialogHeader,
  AlertDialogMedia,
  AlertDialogOverlay,
  AlertDialogPortal,
  AlertDialogTitle,
  AlertDialogTrigger,
} from "./ui/alert-dialog";
export type {
  AlertDialogProps,
  AlertDialogActionProps,
  AlertDialogCancelProps,
  AlertDialogContentProps,
  AlertDialogDescriptionProps,
  AlertDialogFooterProps,
  AlertDialogHeaderProps,
  AlertDialogMediaProps,
  AlertDialogOverlayProps,
  AlertDialogPortalProps,
  AlertDialogTitleProps,
  AlertDialogTriggerProps,
} from "./ui/alert-dialog";

export { AppointmentAvailabilitySettings } from "./ui/appointment-availability-settings";
export type {
  AppointmentAvailabilitySettingsProps,
  AppointmentAvailabilityPrefs,
  AppointmentBlockedDate,
  AppointmentDaySchedule,
} from "./ui/appointment-availability-settings";

export {
  AppointmentConfirmDialog,
  AppointmentRescheduleDialog,
} from "./ui/appointment-action-dialogs";
export type {
  AppointmentConfirmAction,
  AppointmentConfirmDialogProps,
  AppointmentRescheduleDialogProps,
} from "./ui/appointment-action-dialogs";

export { AppointmentBookDialog } from "./ui/appointment-book-dialog";
export type {
  AppointmentBookDialogProps,
  AppointmentBookingSlot,
  AppointmentClient,
  AppointmentOfflineLocation,
  AppointmentOnlinePlatform,
} from "./ui/appointment-book-dialog";

export { AppointmentCalendarView } from "./ui/appointment-calendar-view";
export type {
  AppointmentCalendarViewProps,
  AppointmentCalendarItem,
  AppointmentWeekDay,
} from "./ui/appointment-calendar-view";

export { AppointmentDetailSheet } from "./ui/appointment-detail-sheet";
export type {
  AppointmentDetailSheetProps,
  AppointmentDetailItem,
  AppointmentClientProfile,
  LoanApplicationStatus,
} from "./ui/appointment-detail-sheet";

export { AppointmentGmailConnect } from "./ui/appointment-gmail-connect";
export type {
  AppointmentGmailConnectProps,
  EmailProvider,
  GmailConnection,
} from "./ui/appointment-gmail-connect";

export { AppointmentMiniCard } from "./ui/appointment-mini-card";
export type {
  AppointmentMiniCardProps,
  AppointmentMiniCardItem,
} from "./ui/appointment-mini-card";

export {
  AppointmentTimeSlotPicker,
  AppointmentSlotSection,
} from "./ui/appointment-time-slot-picker";
export type {
  AppointmentTimeSlotPickerProps,
  AppointmentSlotSectionProps,
  AppointmentTimeSlot,
  AppointmentStatus,
  AppointmentMeetingFormat,
} from "./ui/appointment-time-slot-picker";

export {
  Avatar,
  AvatarImage,
  AvatarFallback,
  AvatarBadge,
  AvatarGroup,
  AvatarGroupCount,
} from "./ui/avatar";
export type {
  AvatarProps,
  AvatarImageProps,
  AvatarFallbackProps,
  AvatarBadgeProps,
  AvatarGroupProps,
  AvatarGroupCountProps,
} from "./ui/avatar";

export { BackofficeAlertHistoryChart } from "./ui/backoffice-alert-history-chart";
export type {
  BackofficeAlertHistoryChartProps,
  AlertHistoryDataPoint,
  AlertHistoryPeriod,
} from "./ui/backoffice-alert-history-chart";

export { BackofficeAlertsChart } from "./ui/backoffice-alerts-chart";
export type {
  BackofficeAlertsChartProps,
  AlertSummaryDataPoint,
  AlertSummaryPeriod,
} from "./ui/backoffice-alerts-chart";

export { BackofficeAlertMatchingChart } from "./ui/backoffice-alert-matching-chart";
export type {
  BackofficeAlertMatchingChartProps,
  AlertMatchingDataPoint,
  AlertMatchingPeriod,
} from "./ui/backoffice-alert-matching-chart";

export { BackofficeConnectionsChart } from "./ui/backoffice-connections-chart";
export type {
  BackofficeConnectionsChartProps,
  ConnectionSummaryDataPoint,
  ConnectionSummaryPeriod,
} from "./ui/backoffice-connections-chart";

export { BackofficeContactMatchingChart } from "./ui/backoffice-contact-matching-chart";
export type {
  BackofficeContactMatchingChartProps,
  ContactMatchingDataPoint,
  ContactMatchingPeriod,
} from "./ui/backoffice-contact-matching-chart";

export { BackofficeContactHistoryChart } from "./ui/backoffice-contact-history-chart";
export type {
  BackofficeContactHistoryChartProps,
  ContactHistoryDataPoint,
  ContactHistoryPeriod,
} from "./ui/backoffice-contact-history-chart";

export { Badge, badgeVariants } from "./ui/badge";
export type { BadgeProps } from "./ui/badge";
export { BulkContactTagActions } from "./ui/bulk-contact-tag-actions";
export type { BulkContactTagActionsProps } from "./ui/bulk-contact-tag-actions";

export { BankStatementDocumentTable } from "./ui/bank-statement-document-table";
export type {
  BankStatementDocumentTableProps,
  BankStatementDocument,
} from "./ui/bank-statement-document-table";

export { BankStatementGenerateDialog } from "./ui/bank-statement-generate-dialog";
export type {
  BankStatementGenerateDialogProps,
  BankStatementGeneratePayload,
  BankStatementAccount,
  BankStatementRangePreset,
} from "./ui/bank-statement-generate-dialog";

export { BankStatementPDFViewer } from "./ui/bank-statement-pdf-viewer";
export type {
  BankStatementPDFViewerProps,
  BankStatementViewerAccount,
} from "./ui/bank-statement-pdf-viewer";

export {
  BrandColorField,
  BrandColorPreviewChip,
  resolveBrandColor,
} from "./ui/brand-color-field";
export type {
  BrandColorFieldProps,
  BrandColorPreviewChipProps,
  BrandColorMode,
} from "./ui/brand-color-field";

export { PropertyReportDialog } from "./ui/property-report-dialog";
export type {
  PropertyReportDialogProps,
  PropertyReportPayload,
  PropertyItem,
  PropertySearchResult,
} from "./ui/property-report-dialog";

export { BorrowingCapacityLineChart } from "./ui/borrowing-capacity-line-chart";
export type {
  BorrowingCapacityLineChartProps,
  BorrowingCapacityDataPoint,
  BorrowingCapacitySeries,
  BorrowingSeriesType,
  BorrowingScenario,
} from "./ui/borrowing-capacity-line-chart";

export { Button, buttonVariants } from "./ui/button";
export type { ButtonProps } from "./ui/button";

export { Calendar, CalendarDayButton } from "./ui/calendar";
export type { CalendarProps, CalendarDayButtonProps } from "./ui/calendar";

export {
  Card,
  CardHeader,
  CardFooter,
  CardTitle,
  CardAction,
  CardDescription,
  CardContent,
} from "./ui/card";
export type {
  CardProps,
  CardHeaderProps,
  CardFooterProps,
  CardTitleProps,
  CardActionProps,
  CardDescriptionProps,
  CardContentProps,
} from "./ui/card";

export { CashBalanceLineChart } from "./ui/cash-balance-line-chart";
export type {
  CashBalanceLineChartProps,
  CashBalanceDataPoint,
} from "./ui/cash-balance-line-chart";

export { CashflowBarChart } from "./ui/cashflow-bar-chart";
export type {
  CashflowBarChartProps,
  CashflowChartData,
  CashflowDataPoint,
  CashflowPeriod,
} from "./ui/cashflow-bar-chart";

export { Checkbox, CheckboxCard } from "./ui/checkbox";
export type { CheckboxProps, CheckboxCardProps } from "./ui/checkbox";

export { Chip } from "./ui/chip";
export type { ChipProps } from "./ui/chip";

export {
  ColorPicker,
  ColorPickerContent,
  ColorSwatch,
  COLOR_PICKER_PRESETS,
  isValidHex,
  normalizeHex,
} from "./ui/color-picker";
export type {
  ColorPickerProps,
  ColorPickerContentProps,
  ColorSwatchProps,
} from "./ui/color-picker";

export {
  Combobox,
  ComboboxTrigger,
  ComboboxValue,
  ComboboxInput,
  ComboboxContent,
  ComboboxList,
  ComboboxItem,
  ComboboxEmpty,
  ComboboxGroup,
  ComboboxGroupLabel,
  ComboboxSeparator,
} from "./ui/combobox";
export type {
  ComboboxProps,
  ComboboxTriggerProps,
  ComboboxValueProps,
  ComboboxInputProps,
  ComboboxContentProps,
  ComboboxListProps,
  ComboboxItemProps,
  ComboboxEmptyProps,
  ComboboxGroupProps,
  ComboboxGroupLabelProps,
  ComboboxSeparatorProps,
} from "./ui/combobox";

export { CsvImportModal } from "./ui/csv-import-modal";
export type { CsvImportModalProps } from "./ui/csv-import-modal";
export { CsvImportTagStep } from "./ui/csv-import-tag-step";
export type { CsvImportTagStepProps } from "./ui/csv-import-tag-step";

export { CreateContactModal } from "./ui/create-contact-modal";
export type {
  CreateContactModalProps,
  CreateContactFormData,
  StaffOption,
} from "./ui/create-contact-modal";

export { DeleteContactComponent } from "./ui/delete-contact-component";
export type { DeleteContactComponentProps } from "./ui/delete-contact-component";

export { ReviewAlertsDialog } from "./ui/review-alerts-dialog";
export type {
  ReviewAlertsDialogProps,
  ReviewableAlert,
  AlertSeverity,
} from "./ui/review-alerts-dialog";

export {
  ContactAlertQueryBuilder,
  ContactAlertDialog,
  ALERT_QUERY_FIELDS,
  AlertSharingType,
  createAlertTree,
} from "./ui/contact-alert-dialog";
export type {
  AlertQueryCombinator,
  AlertQueryOperator,
  AlertQueryFieldType,
  ContactAlertSeverity,
  AlertQueryField,
  ContactAlertQueryBuilderProps,
  ContactAlertDialogProps,
} from "./ui/contact-alert-dialog";
export type {
  ImmutableTree,
  JsonGroup,
  JsonRule,
  JsonItem,
  JsonTree,
  JsonAnyRule,
  JsonRuleGroup,
  JsonRuleGroupExt,
  JsonSwitchGroup,
  JsonCaseGroup,
  Config,
} from "@react-awesome-query-builder/ui";
export { ContactTagFilter } from "./ui/contact-tag-filter";
export type {
  ContactTagFilterProps,
  ContactTagFilterOption,
} from "./ui/contact-tag-filter";

export {
  ShareDetailsDialog,
  EmailTemplateDialog,
  ShareContactDialog,
} from "./ui/share-details-dialog";
export type {
  ShareDetailsDialogProps,
  EmailTemplateDialogProps,
  ShareContactDialogProps,
  InternalAdvisor,
} from "./ui/share-details-dialog";

export { FilePreviewDialog } from "./ui/file-preview-dialog";
export type {
  FilePreviewDialogProps,
  FilePreviewState,
  CsvPreviewColumn,
} from "./ui/file-preview-dialog";

export {
  DataTable,
  DataTableToolbar,
  DataTablePagination,
  DataTableSkeleton,
  DataTableColumnHeader,
  getSelectionColumn,
} from "./ui/data-table";
export type {
  DataTableProps,
  ColumnDef,
  PaginationState,
  SortingState,
  ColumnFiltersState,
  VisibilityState,
  RowSelectionState,
} from "./ui/data-table";

export { DatePicker } from "./ui/date-picker";

export { ApplicantDocumentChecklist } from "./ui/applicant-document-checklist";
export type {
  ApplicantDocumentChecklistProps,
  DocumentChecklistItem,
} from "./ui/applicant-document-checklist";

export { DocumentChecklistTemplate } from "./ui/document-checklist-template";
export type {
  DocumentChecklistTemplateProps,
  ChecklistCategory,
} from "./ui/document-checklist-template";

export type { DatePickerProps } from "./ui/date-picker";

export {
  Dialog,
  DialogClose,
  DialogContent,
  DialogDescription,
  DialogFooter,
  DialogHeader,
  DialogOverlay,
  DialogPortal,
  DialogTitle,
  DialogTrigger,
} from "./ui/dialog";
export type {
  DialogProps,
  DialogCloseProps,
  DialogContentProps,
  DialogDescriptionProps,
  DialogFooterProps,
  DialogHeaderProps,
  DialogOverlayProps,
  DialogPortalProps,
  DialogTitleProps,
  DialogTriggerProps,
} from "./ui/dialog";

export {
  Drawer,
  DrawerPortal,
  DrawerOverlay,
  DrawerTrigger,
  DrawerClose,
  DrawerContent,
  DrawerHeader,
  DrawerFooter,
  DrawerTitle,
  DrawerDescription,
} from "./ui/drawer";
export type {
  DrawerProps,
  DrawerPortalProps,
  DrawerOverlayProps,
  DrawerTriggerProps,
  DrawerCloseProps,
  DrawerContentProps,
  DrawerHeaderProps,
  DrawerFooterProps,
  DrawerTitleProps,
  DrawerDescriptionProps,
} from "./ui/drawer";

export {
  DropdownMenu,
  DropdownMenuPortal,
  DropdownMenuTrigger,
  DropdownMenuContent,
  DropdownMenuGroup,
  DropdownMenuLabel,
  DropdownMenuItem,
  DropdownMenuCheckboxItem,
  DropdownMenuRadioGroup,
  DropdownMenuRadioItem,
  DropdownMenuSeparator,
  DropdownMenuShortcut,
  DropdownMenuSub,
  DropdownMenuSubTrigger,
  DropdownMenuSubContent,
} from "./ui/dropdown-menu";
export type {
  DropdownMenuProps,
  DropdownMenuPortalProps,
  DropdownMenuTriggerProps,
  DropdownMenuContentProps,
  DropdownMenuGroupProps,
  DropdownMenuLabelProps,
  DropdownMenuItemProps,
  DropdownMenuCheckboxItemProps,
  DropdownMenuRadioGroupProps,
  DropdownMenuRadioItemProps,
  DropdownMenuSeparatorProps,
  DropdownMenuShortcutProps,
  DropdownMenuSubProps,
  DropdownMenuSubTriggerProps,
  DropdownMenuSubContentProps,
} from "./ui/dropdown-menu";

export { EditableTextField } from "./ui/editable-text-field";
export type {
  EditableTextFieldProps,
  EditableTextFieldOption,
} from "./ui/editable-text-field";
export { EmailEngagementChart } from "./ui/email-engagement-chart";
export type {
  EmailEngagementChartProps,
  EmailEngagementPoint,
} from "./ui/email-engagement-chart";

export {
  EmailStatusBadge,
  EmailTriggerChip,
} from "./ui/email-marketing-primitives";
export type {
  EmailStatus,
  EmailStatusBadgeProps,
  EmailTriggerKind,
  EmailTriggerChipProps,
} from "./ui/email-marketing-primitives";
export { EmailStatTile, EmailDeliveryHealth } from "./ui/email-stat-widgets";
export type {
  EmailOverviewStat,
  EmailDeliverySegment,
} from "./ui/email-stat-widgets";
export {
  EmailCampaignTable,
  buildCampaignColumns,
} from "./ui/email-campaign-table";
export type {
  EmailCampaignRow,
  EmailCampaignTableProps,
  CampaignStatusFilter,
  EmailCampaignTableQuery,
  CampaignColumnHandlers,
  CampaignRateFormatter,
} from "./ui/email-campaign-table";
export { EmailCampaignComposer } from "./ui/email-campaign-composer";
export type {
  EmailCampaignComposerProps,
  EmailCampaignPayload,
  CampaignTemplateOption,
  CampaignSmartListOption,
  CampaignSenderIdentity,
  CampaignRecipientMode,
  CampaignSendMode,
} from "./ui/email-campaign-composer";
export { CampaignDetailSheet } from "./ui/campaign-detail-sheet";
export type {
  CampaignDetailSheetProps,
  CampaignDetail,
  CampaignRecipientRow,
  CampaignRecipientCounts,
  CampaignRecipientQuery,
  CampaignRecipientStatus,
} from "./ui/campaign-detail-sheet";
export { CreateSmartListDialog } from "./ui/create-smart-list-dialog";
export type {
  CreateSmartListDialogProps,
  CreateSmartListPayload,
} from "./ui/create-smart-list-dialog";
export { SmartListFilterChip } from "./ui/smart-list-filter-chip";
export type { SmartListFilterChipProps } from "./ui/smart-list-filter-chip";
export { MergeTagReference } from "./ui/merge-tag-reference";
export type {
  MergeTagReferenceProps,
  MergeTagReferenceItem,
  MergeTagReferenceGroup,
} from "./ui/merge-tag-reference";

export {
  Empty,
  EmptyHeader,
  EmptyTitle,
  EmptyDescription,
  EmptyContent,
  EmptyMedia,
} from "./ui/empty";
export type {
  EmptyProps,
  EmptyHeaderProps,
  EmptyTitleProps,
  EmptyDescriptionProps,
  EmptyContentProps,
  EmptyMediaProps,
} from "./ui/empty";

export { ExpenseBarChart } from "./ui/expense-bar-chart";
export type {
  ExpenseBarChartProps,
  ExpenseBarChartData,
  ExpenseDataset,
  ExpensePeriod,
  ExpenseGranularity,
} from "./ui/expense-bar-chart";

export { ExpenseCategoriesBar } from "./ui/expense-categories-bar";
export type {
  ExpenseCategoriesBarProps,
  ExpenseCategoryPart,
} from "./ui/expense-categories-bar";

export {
  Field,
  FieldLabel,
  FieldDescription,
  FieldError,
  FieldGroup,
  FieldLegend,
  FieldSeparator,
  FieldSet,
  FieldContent,
  FieldTitle,
} from "./ui/field";
export type {
  FieldProps,
  FieldLabelProps,
  FieldDescriptionProps,
  FieldErrorProps,
  FieldGroupProps,
  FieldLegendProps,
  FieldSeparatorProps,
  FieldSetProps,
  FieldContentProps,
  FieldTitleProps,
} from "./ui/field";

export {
  PropertyCard,
  DebtCard,
  OtherLiabilityCard,
  AlertCard,
  AboutCard,
  IncomeCard,
  ExpensesCard,
} from "./ui/financial-cards";
export type {
  PropertyCardProps,
  DebtCardProps,
  OtherLiabilityCardProps,
  OtherLiabilityType,
  AlertCardProps,
  AlertActionType,
  AboutCardProps,
  IncomeCardProps,
  IncomeCardItem,
  ExpensesCardProps,
  ExpensesCardItem,
} from "./ui/financial-cards";

export {
  SummaryReportDrawer,
  OpportunityDetailsDrawer,
} from "./ui/financial-drawers";
export type {
  SummaryViewMode,
  SummaryJointSubTab,
  SummaryReportDrawerProps,
  OpportunityTab,
  OpportunityDetailsDrawerProps,
} from "./ui/financial-drawers";

export {
  FinancialSectionLabel,
  FinancialCardHeader,
  FinancialSubsectionTitle,
  FinancialDetailField,
  FinancialLineItem,
  FinancialLvrBar,
  FinancialSubtotalFrame,
  FinancialSubtotalBlock,
} from "./ui/financial-primitives";
export type {
  FinancialDetailFieldVariant,
  FinancialDetailFieldProps,
  FinancialLineItemProps,
  FinancialLvrBarProps,
  FinancialSectionLabelProps,
  FinancialCardHeaderProps,
  FinancialSubsectionTitleProps,
  FinancialSubtotalFrameProps,
  FinancialSubtotalBlockProps,
} from "./ui/financial-primitives";

export {
  PropertyHoldingsSection,
  DebtSection,
  OtherLiabilitiesSection,
  IncomeExpenseSection,
  AlertAccordion,
  LoanScenarioSection,
  FinancialBottomSummary,
  FinancialViewSection,
} from "./ui/financial-sections";
export type {
  PropertyHoldingsSectionProps,
  DebtSectionProps,
  OtherLiabilitiesSectionProps,
  SummaryLineItem,
  SummaryColumn,
  IncomeExpenseSectionProps,
  AlertAccordionSavePayload,
  AlertAccordionProps,
  LoanScenarioSectionProps,
  BottomSummaryLineItem,
  FinancialBottomSummaryProps,
  FinancialViewSectionProps,
} from "./ui/financial-sections";

export {
  CurrencyInputWithSlider,
  ConcernScale,
  AddressAutocomplete,
  OwnershipSplit,
} from "./ui/form-primitives";
export type {
  CurrencyInputWithSliderProps,
  ConcernScaleProps,
  AddressOption,
  AddressAutocompleteProps,
  OwnershipOwner,
  OwnershipSplitProps,
} from "./ui/form-primitives";

export { IncomeBarChart } from "./ui/income-bar-chart";
export type {
  IncomeBarChartProps,
  IncomeBarChartData,
  IncomeDataset,
  IncomePeriod,
  IncomeGranularity,
} from "./ui/income-bar-chart";

export { ImageLightbox } from "./ui/image-lightbox";
export type { ImageLightboxProps } from "./ui/image-lightbox";

export { InfoTooltip } from "./ui/info-tooltip";
export type { InfoTooltipProps } from "./ui/info-tooltip";

export { Input } from "./ui/input";
export type { InputProps } from "./ui/input";

export {
  InputGroup,
  InputGroupAddon,
  InputGroupButton,
  InputGroupText,
  InputGroupInput,
  InputGroupTextarea,
} from "./ui/input-group";
export type {
  InputGroupProps,
  InputGroupAddonProps,
  InputGroupButtonProps,
  InputGroupTextProps,
  InputGroupInputProps,
  InputGroupTextareaProps,
} from "./ui/input-group";

export {
  InputOTP,
  InputOTPGroup,
  InputOTPSlot,
  InputOTPSeparator,
} from "./ui/input-otp";
export type {
  InputOTPProps,
  InputOTPGroupProps,
  InputOTPSlotProps,
  InputOTPSeparatorProps,
} from "./ui/input-otp";

export { IntegrationCard } from "./ui/integration-card";
export type { IntegrationCardProps } from "./ui/integration-card";

export { SelectableCard } from "./ui/selectable-card";
export type { SelectableCardProps } from "./ui/selectable-card";

export { KanbanColumn } from "./ui/kanban-column";
export type { KanbanColumnProps, KanbanColumnStage } from "./ui/kanban-column";

export { TemplateCard } from "./ui/kanban-template-card";
export type {
  TemplateCardProps,
  TemplateScope,
} from "./ui/kanban-template-card";

export { Label } from "./ui/label";
export type { LabelProps } from "./ui/label";

export {
  OnboardingLayout,
  OnboardingPanelLayout,
} from "./ui/onboarding-layout";
export type {
  OnboardingStep,
  OnboardingLayoutProps,
  OnboardingPanelLayoutProps,
} from "./ui/onboarding-layout";

export { OpportunityCard, LeadCard } from "./ui/opportunity-card";
export type {
  OpportunityCardProps,
  LeadCardProps,
  OpportunityTask,
  Priority,
  CrmSyncTarget,
  CrmSyncStatus,
} from "./ui/opportunity-card";

export {
  EditLoanScenarioModal,
  EditAssetsModal,
  EditDebtsModal,
  EditAboutApplicantModal,
  EditIncomeModal,
  EditExpensesModal,
} from "./ui/opportunity-edit-modals";
export type {
  LoanScenarioFormData,
  EditLoanScenarioModalProps,
  AssetLineItem,
  EditAssetsModalProps,
  DebtLineItem,
  EditDebtsModalProps,
  AboutApplicantFormData,
  EditAboutApplicantModalProps,
  IncomeFormData,
  EditIncomeModalProps,
  ExpensesFormData,
  EditExpensesModalProps,
} from "./ui/opportunity-edit-modals";

export { OpportunityEmailNotesTab } from "./ui/opportunity-email-notes-tab";
export type { OpportunityEmailNotesTabProps } from "./ui/opportunity-email-notes-tab";

export { OpportunitySummaryTab } from "./ui/opportunity-summary-tab";
export type { OpportunitySummaryTabProps } from "./ui/opportunity-summary-tab";

export { SidebarNav } from "./ui/sidebar-nav";
export type {
  SidebarNavProps,
  SidebarNavItem,
  SidebarNavSubItem,
  SidebarNavMetricItem,
  SidebarNavMetricsGroup,
} from "./ui/sidebar-nav";

export {
  Pagination,
  PaginationContent,
  PaginationLink,
  PaginationItem,
  PaginationPrevious,
  PaginationNext,
  PaginationEllipsis,
  PaginationNavButtons,
  TablePagination,
} from "./ui/pagination";
export type {
  PaginationProps,
  PaginationContentProps,
  PaginationLinkProps,
  PaginationItemProps,
  PaginationPreviousProps,
  PaginationNextProps,
  PaginationEllipsisProps,
  PaginationNavButtonsProps,
  TablePaginationProps,
} from "./ui/pagination";

export { PipelineAlerts } from "./ui/pipeline-alerts";
export type {
  PipelineAlertsProps,
  PipelineAlertCounts,
} from "./ui/pipeline-alerts";

export { PipelineBoard } from "./ui/pipeline-board";
export type {
  PipelineBoardProps,
  PipelineBoardColumn,
} from "./ui/pipeline-board";

export { PipelineChart } from "./ui/pipeline-chart";
export type {
  PipelineChartProps,
  PipelineChartStage,
} from "./ui/pipeline-chart";

export {
  DeleteOpportunityDialog,
  ChangePriorityDialog,
  PutOnHoldDialog,
} from "./ui/pipeline-dialogs";
export type {
  DeleteOpportunityDialogProps,
  ChangePriorityDialogProps,
  PrioritySelection,
  PutOnHoldDialogProps,
  HoldDuration,
} from "./ui/pipeline-dialogs";

export { TaskCheckItem } from "./ui/pipeline-primitives";
export type { TaskCheckItemProps } from "./ui/pipeline-primitives";

export {
  Popover,
  PopoverTrigger,
  PopoverContent,
  PopoverAnchor,
  PopoverHeader,
  PopoverTitle,
  PopoverDescription,
  PopoverPortalProvider,
} from "./ui/popover";
export type {
  PopoverProps,
  PopoverTriggerProps,
  PopoverContentProps,
  PopoverAnchorProps,
  PopoverHeaderProps,
  PopoverTitleProps,
  PopoverDescriptionProps,
  PopoverPortalProviderProps,
} from "./ui/popover";

export { PageHeader } from "./ui/page-header";
export type { PageHeaderProps } from "./ui/page-header";

export { PageTopBar } from "./ui/page-top-bar";
export type { PageTopBarProps } from "./ui/page-top-bar";

export { Progress } from "./ui/progress";
export type { ProgressProps } from "./ui/progress";

export { PropertyCashflowDoughnutChart } from "./ui/property-cashflow-doughnut-chart";
export type { PropertyCashflowDoughnutChartProps } from "./ui/property-cashflow-doughnut-chart";

export { PropertyDebtEquityDoughnutChart } from "./ui/property-debt-equity-doughnut-chart";
export type { PropertyDebtEquityDoughnutChartProps } from "./ui/property-debt-equity-doughnut-chart";

export { PropertyMobileEstimateLineChart } from "./ui/property-mobile-estimate-line-chart";
export type {
  PropertyMobileEstimateLineChartProps,
  PropertyEstimateDataPoint,
  PropertyPeriod,
} from "./ui/property-mobile-estimate-line-chart";

export { RadioGroup, RadioGroupItem, RadioGroupCard } from "./ui/radio-group";
export type {
  RadioGroupProps,
  RadioGroupItemProps,
  RadioGroupCardProps,
} from "./ui/radio-group";

export {
  Select,
  SelectContent,
  SelectGroup,
  SelectItem,
  SelectLabel,
  SelectPortalProvider,
  SelectScrollDownButton,
  SelectScrollUpButton,
  SelectSeparator,
  SelectTrigger,
  SelectValue,
} from "./ui/select";
export type {
  SelectProps,
  SelectContentProps,
  SelectGroupProps,
  SelectItemProps,
  SelectLabelProps,
  SelectPortalProviderProps,
  SelectScrollDownButtonProps,
  SelectScrollUpButtonProps,
  SelectSeparatorProps,
  SelectTriggerProps,
  SelectValueProps,
} from "./ui/select";

export { SelectionCards } from "./ui/selection-cards";
export type {
  SelectionCardsProps,
  SelectionCardOption,
} from "./ui/selection-cards";

export { Separator } from "./ui/separator";
export type { SeparatorProps } from "./ui/separator";

export {
  Sheet,
  SheetClose,
  SheetContent,
  SheetDescription,
  SheetFooter,
  SheetHeader,
  SheetPortal,
  SheetTitle,
  SheetTrigger,
} from "./ui/sheet";
export type {
  SheetProps,
  SheetCloseProps,
  SheetContentProps,
  SheetDescriptionProps,
  SheetFooterProps,
  SheetHeaderProps,
  SheetPortalProps,
  SheetTitleProps,
  SheetTriggerProps,
} from "./ui/sheet";

export { Skeleton } from "./ui/skeleton";
export type { SkeletonProps } from "./ui/skeleton";

export { Slider } from "./ui/slider";
export type { SliderProps } from "./ui/slider";

export { Toaster } from "./ui/sonner";

export { Spinner, spinnerVariants } from "./ui/spinner";
export type { SpinnerProps } from "./ui/spinner";

export {
  StatementComplianceFooter,
  StatementDocumentHeader,
  StatementField,
  StatementFieldGroup,
  StatementHolderBlock,
  StatementLink,
  StatementPage,
  StatementPageFooter,
} from "./ui/statement-primitives";
export type {
  StatementComplianceFooterProps,
  StatementComplianceInfo,
  StatementComplianceParty,
  StatementDocumentHeaderProps,
  StatementFieldGroupProps,
  StatementFieldProps,
  StatementHolderBlockProps,
  StatementHolderBusinessFields,
  StatementLinkProps,
  StatementPageFooterProps,
  StatementPageProps,
} from "./ui/statement-primitives";

export {
  ACCOUNT_TYPE_LABELS,
  ACCOUNT_TYPE_LAYOUT,
  StatementDocument,
} from "./ui/statement-document";
export type {
  StatementAccount,
  StatementAccountType,
  StatementDocumentProps,
  StatementLayout,
  StatementOffsetAccount,
  StatementPagination,
} from "./ui/statement-document";

export { StatementTransactionTable } from "./ui/statement-transaction-table";
export type {
  StatementTransaction,
  StatementTransactionTableProps,
} from "./ui/statement-transaction-table";

export { StatementVerifyResult } from "./ui/statement-verify-result";
export type {
  StatementVerifyDocument,
  StatementVerifyResultProps,
  StatementVerifyStatus,
} from "./ui/statement-verify-result";

export { StageTimeline } from "./ui/stage-timeline";
export type {
  StageTimelineProps,
  StageTimelineStage,
  StageTimelineTask,
} from "./ui/stage-timeline";

export {
  Stepper,
  Step,
  StepIndicator,
  StepLabel,
  StepContent,
  StepItem,
} from "./ui/stepper";
export type {
  StepperProps,
  StepProps,
  StepIndicatorProps,
  StepLabelProps,
  StepContentProps,
  StepItemProps,
} from "./ui/stepper";

export { AuthLogo } from "./ui/auth-logo";
export type { AuthLogoProps } from "./ui/auth-logo";

export { AuthPageLayout } from "./ui/auth-page-layout";
export type { AuthPageLayoutProps } from "./ui/auth-page-layout";

export {
  SignupVideoPanel,
  SignupShell,
  FrontendShell,
} from "./ui/signup-shell";
export type {
  SignupVideoPanelProps,
  SignupShellProps,
  FrontendShellProps,
} from "./ui/signup-shell";

export {
  SectionHeading,
  FormField,
  PasswordField,
  StaffRowItem,
} from "./ui/signup-form-primitives";
export type {
  SectionHeadingProps,
  FormFieldProps,
  PasswordFieldProps,
  StaffMember,
  StaffRowItemProps,
} from "./ui/signup-form-primitives";

export {
  PersonalDetailsStep,
  PlanPaymentStep,
  SignupConfirmationStep,
  BackofficeSuccessStep,
  PLAN_CONFIG,
  getPlanProfile,
} from "./ui/backoffice-signup-steps";
export type {
  PersonalDetailsStepProps,
  PlanPaymentStepProps,
  SignupConfirmationStepProps,
  PlanConfig,
  PlanId,
  PlanProfile,
} from "./ui/backoffice-signup-steps";

export {
  PhoneVerifyStep,
  EmailVerifyStep,
  BrokerRequestStep,
  ConnectBankStep,
  RetrieveBankDataStep,
  ConnectPropertyStep,
  BuyingGoalStep,
  FrontendSuccessStep,
} from "./ui/frontend-signup-steps";
export type {
  PhoneVerifyStepProps,
  EmailVerifyStepProps,
  BrokerFormValues,
  BrokerRequestStepProps,
  ConnectBankStepProps,
  ConnectPropertyStepProps,
  BuyingGoalStepProps,
  FrontendSuccessStepProps,
} from "./ui/frontend-signup-steps";

export { PasswordInput } from "./ui/password-input";
export type { PasswordInputProps } from "./ui/password-input";
export { PasswordStrengthTooltip } from "./ui/password-strength-tooltip";
export type { PasswordStrengthTooltipProps } from "./ui/password-strength-tooltip";

export { TwoFASetupForm } from "./ui/two-fa-setup-form";
export type { TwoFASetupFormProps, TwoFAApp } from "./ui/two-fa-setup-form";

export { VideoBackground } from "./ui/video-background";
export type { VideoBackgroundProps } from "./ui/video-background";

export { Switch, SwitchCard } from "./ui/switch";
export type { SwitchProps, SwitchCardProps } from "./ui/switch";

export {
  Table,
  TableHeader,
  TableBody,
  TableFooter,
  TableHead,
  TableRow,
  TableCell,
  TableCaption,
} from "./ui/table";
export type {
  TableProps,
  TableHeaderProps,
  TableBodyProps,
  TableFooterProps,
  TableHeadProps,
  TableRowProps,
  TableCellProps,
  TableCaptionProps,
} from "./ui/table";

export {
  Tabs,
  TabsList,
  TabsTrigger,
  TabsContent,
  tabsListVariants,
} from "./ui/tabs";
export type {
  TabsProps,
  TabsListProps,
  TabsTriggerProps,
  TabsContentProps,
} from "./ui/tabs";

export { TagInput } from "./ui/tag-input";
export type { TagInputProps } from "./ui/tag-input";

export { TextPair, textPairVariants } from "./ui/text-pair";
export type { TextPairProps } from "./ui/text-pair";

export { Textarea } from "./ui/textarea";
export type { TextareaProps } from "./ui/textarea";

export { TimePicker } from "./ui/time-picker";
export type { TimePickerProps } from "./ui/time-picker";

export { UploadCard, uploadCardVariants } from "./ui/upload-card";
export type { UploadCardProps } from "./ui/upload-card";

export { UpvoteButton } from "./ui/upvote-button";
export type { UpvoteButtonProps } from "./ui/upvote-button";

export { Toggle, toggleVariants } from "./ui/toggle";
export type { ToggleProps } from "./ui/toggle";

export { ToggleGroup, ToggleGroupItem } from "./ui/toggle-group";
export type { ToggleGroupProps, ToggleGroupItemProps } from "./ui/toggle-group";

export {
  Tooltip,
  TooltipTrigger,
  TooltipContent,
  TooltipProvider,
} from "./ui/tooltip";
export type {
  TooltipProps,
  TooltipTriggerProps,
  TooltipContentProps,
  TooltipProviderProps,
} from "./ui/tooltip";

export { TransactionsExpenseCategoriesDoughnutChart } from "./ui/transactions-expense-categories-doughnut-chart";
export type {
  TransactionsExpenseCategoriesDoughnutChartProps,
  ExpenseCategorySegment,
} from "./ui/transactions-expense-categories-doughnut-chart";

export { TransactionsIncomeExpenseBarChart } from "./ui/transactions-income-expense-bar-chart";
export type { TransactionsIncomeExpenseBarChartProps } from "./ui/transactions-income-expense-bar-chart";

export { TransactionsLiabilitiesBreakdownChart } from "./ui/transactions-liabilities-breakdown-doughnut-chart";
export type {
  TransactionsLiabilitiesBreakdownChartProps,
  LiabilitySegment,
} from "./ui/transactions-liabilities-breakdown-doughnut-chart";

export { ApplicationMobileLayout } from "./ui/application-mobile-layout";
export type { ApplicationMobileLayoutProps } from "./ui/application-mobile-layout";

export { IncomeWorkDetails } from "./ui/income-work-details";
export type {
  IncomeWorkDetailsProps,
  IncomeWorkSource,
  IncomeEmploymentType,
  IncomeEmploymentStatus,
  IncomeEmploymentBasis,
  IncomeFrequency,
  IncomeCompanyType,
} from "./ui/income-work-details";

export { LoanApplicationBadge } from "./ui/loan-application-badge";
export type {
  LoanApplicationBadgeProps,
  LoanApplicationBadgeStatus,
} from "./ui/loan-application-badge";

export { LoanDraftCard } from "./ui/loan-draft-card";
export type { LoanDraftCardProps } from "./ui/loan-draft-card";

export { LoanEntryShell } from "./ui/loan-entry-shell";
export type { LoanEntryShellProps } from "./ui/loan-entry-shell";

export { LoanWizardShell } from "./ui/loan-wizard-shell";
export type {
  LoanWizardShellProps,
  LoanWizardSection,
  LoanWizardApplicantOption,
} from "./ui/loan-wizard-shell";

export {
  ResourceCarousel,
  ResourceCenterHeader,
  ResourceDocumentCard,
  ResourceEmailEditorDialog,
  ResourceEmailTemplateCard,
  ResourceModal,
  ResourceVideoCard,
} from "./ui/resource-center";
export type {
  ResourceCarouselProps,
  ResourceCenterHeaderProps,
  ResourceDocumentCardProps,
  ResourceDocumentItem,
  ResourceEmailEditorDialogProps,
  ResourceEmailTemplateCardProps,
  ResourceEmailTemplateItem,
  ResourceModalAttachment,
  ResourceModalProps,
  ResourceVideoCardProps,
  ResourceVideoItem,
} from "./ui/resource-center";
