featuredrop 2.7.2 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/README.md +32 -1
  2. package/dist/astro.cjs +333 -0
  3. package/dist/astro.cjs.map +1 -0
  4. package/dist/astro.d.cts +242 -0
  5. package/dist/astro.d.ts +242 -0
  6. package/dist/astro.js +329 -0
  7. package/dist/astro.js.map +1 -0
  8. package/dist/engine.cjs +552 -0
  9. package/dist/engine.cjs.map +1 -0
  10. package/dist/engine.d.cts +422 -0
  11. package/dist/engine.d.ts +422 -0
  12. package/dist/engine.js +545 -0
  13. package/dist/engine.js.map +1 -0
  14. package/dist/featuredrop.cjs +208 -1
  15. package/dist/featuredrop.cjs.map +1 -1
  16. package/dist/next.cjs +336 -0
  17. package/dist/next.cjs.map +1 -0
  18. package/dist/next.d.cts +243 -0
  19. package/dist/next.d.ts +243 -0
  20. package/dist/next.js +332 -0
  21. package/dist/next.js.map +1 -0
  22. package/dist/nuxt.cjs +352 -0
  23. package/dist/nuxt.cjs.map +1 -0
  24. package/dist/nuxt.d.cts +282 -0
  25. package/dist/nuxt.d.ts +282 -0
  26. package/dist/nuxt.js +347 -0
  27. package/dist/nuxt.js.map +1 -0
  28. package/dist/preact.cjs +354 -0
  29. package/dist/preact.cjs.map +1 -1
  30. package/dist/preact.d.cts +170 -1
  31. package/dist/preact.d.ts +170 -1
  32. package/dist/preact.js +350 -1
  33. package/dist/preact.js.map +1 -1
  34. package/dist/react-hooks.cjs +82 -0
  35. package/dist/react-hooks.cjs.map +1 -1
  36. package/dist/react-hooks.d.cts +117 -1
  37. package/dist/react-hooks.d.ts +117 -1
  38. package/dist/react-hooks.js +80 -1
  39. package/dist/react-hooks.js.map +1 -1
  40. package/dist/react.cjs +354 -0
  41. package/dist/react.cjs.map +1 -1
  42. package/dist/react.d.cts +170 -1
  43. package/dist/react.d.ts +170 -1
  44. package/dist/react.js +350 -1
  45. package/dist/react.js.map +1 -1
  46. package/dist/remix.cjs +331 -0
  47. package/dist/remix.cjs.map +1 -0
  48. package/dist/remix.d.cts +305 -0
  49. package/dist/remix.d.ts +305 -0
  50. package/dist/remix.js +327 -0
  51. package/dist/remix.js.map +1 -0
  52. package/package.json +70 -2
package/dist/preact.d.cts CHANGED
@@ -826,6 +826,144 @@ interface UseSurveyResult {
826
826
  }
827
827
  declare function useSurvey(id: string): UseSurveyResult;
828
828
 
829
+ interface UseChangelogResult {
830
+ /** All features from the manifest (including non-new) */
831
+ features: readonly FeatureEntry[];
832
+ /** Only features that are currently "new" (unread) */
833
+ newFeatures: readonly FeatureEntry[];
834
+ /** Count of new/unread features */
835
+ newCount: number;
836
+ /** Sorted new features (critical first, then by date) */
837
+ newFeaturesSorted: readonly FeatureEntry[];
838
+ /** Dismiss a single feature by ID */
839
+ dismiss: (id: string) => void;
840
+ /** Dismiss all features at once */
841
+ dismissAll: () => void;
842
+ /** Check if a specific feature is new */
843
+ isNew: (sidebarKey: string) => boolean;
844
+ /** Mark all currently visible features as seen (advances watermark) */
845
+ markAllSeen: () => void;
846
+ /** Get features filtered by category */
847
+ getByCategory: (category: string) => readonly FeatureEntry[];
848
+ }
849
+ declare function useChangelog(): UseChangelogResult;
850
+
851
+ interface UseSmartFeatureResult {
852
+ /** Whether the engine recommends showing this feature now */
853
+ show: boolean;
854
+ /** Recommended display format */
855
+ format: DisplayFormat;
856
+ /** Fallback format if primary component isn't available */
857
+ fallbackFormat: DisplayFormat;
858
+ /** The feature entry from the manifest */
859
+ feature: FeatureEntry | undefined;
860
+ /** Dismiss the feature (also tracks dismissal in engine) */
861
+ dismiss: () => void;
862
+ /** Engine's confidence in this timing decision (0-1) */
863
+ confidence: number;
864
+ /** Reason for the timing decision */
865
+ reason: string;
866
+ }
867
+ /**
868
+ * Engine-powered smart feature display hook.
869
+ *
870
+ * Combines the TimingOptimizer and FormatSelector to decide
871
+ * whether to show a feature and what format to use.
872
+ *
873
+ * Without an engine, gracefully degrades to always-show with badge format.
874
+ *
875
+ * @param featureId - The feature ID to check
876
+ * @returns `{ show, format, fallbackFormat, feature, dismiss, confidence, reason }`
877
+ *
878
+ * @example
879
+ * ```tsx
880
+ * function MyFeature() {
881
+ * const { show, format, feature, dismiss } = useSmartFeature('dark-mode')
882
+ *
883
+ * if (!show) return null
884
+ *
885
+ * switch (format) {
886
+ * case 'badge': return <NewBadge id="dark-mode" />
887
+ * case 'toast': return <Toast feature={feature} onDismiss={dismiss} />
888
+ * case 'modal': return <AnnouncementModal feature={feature} onDismiss={dismiss} />
889
+ * default: return <NewBadge id="dark-mode" />
890
+ * }
891
+ * }
892
+ * ```
893
+ */
894
+ declare function useSmartFeature(featureId: string): UseSmartFeatureResult;
895
+
896
+ type UseAdoptionScoreResult = AdoptionScore;
897
+ /**
898
+ * Get the user's overall feature adoption score.
899
+ *
900
+ * Returns a 0-100 score with letter grade, breakdown, and recommendations.
901
+ * Useful for admin dashboards, debug panels, or gamification.
902
+ *
903
+ * Without an engine, returns a perfect score with no recommendations.
904
+ *
905
+ * @returns `{ score, grade, breakdown, recommendations }`
906
+ *
907
+ * @example
908
+ * ```tsx
909
+ * function AdoptionDashboard() {
910
+ * const { score, grade, breakdown, recommendations } = useAdoptionScore()
911
+ *
912
+ * return (
913
+ * <div>
914
+ * <h2>Adoption Score: {score}/100 ({grade})</h2>
915
+ * <p>Features explored: {Math.round(breakdown.featuresExplored * 100)}%</p>
916
+ * <p>Completion rate: {Math.round(breakdown.completionRate * 100)}%</p>
917
+ * <ul>
918
+ * {recommendations.map((r, i) => <li key={i}>{r}</li>)}
919
+ * </ul>
920
+ * </div>
921
+ * )
922
+ * }
923
+ * ```
924
+ */
925
+ declare function useAdoptionScore(): UseAdoptionScoreResult;
926
+
927
+ interface UseBehaviorProfileResult {
928
+ /** Total sessions tracked */
929
+ sessionCount: number;
930
+ /** Dismiss rate (0-1) — fraction of announcements dismissed */
931
+ dismissRate: number;
932
+ /** Engagement rate (0-1) — fraction of announcements clicked/completed */
933
+ engagementRate: number;
934
+ /** User's preferred display format based on past behavior */
935
+ preferredFormat: DisplayFormat;
936
+ /** Whether an engine is available */
937
+ hasEngine: boolean;
938
+ }
939
+ /**
940
+ * Access the user's behavior profile for debug or admin views.
941
+ *
942
+ * Exposes aggregated behavior data from the AdoptionEngine's BehaviorTracker.
943
+ * Without an engine, returns default values.
944
+ *
945
+ * @returns `{ sessionCount, dismissRate, engagementRate, preferredFormat, hasEngine }`
946
+ *
947
+ * @example
948
+ * ```tsx
949
+ * function DebugPanel() {
950
+ * const { sessionCount, dismissRate, engagementRate, preferredFormat, hasEngine } = useBehaviorProfile()
951
+ *
952
+ * if (!hasEngine) return <p>No engine configured</p>
953
+ *
954
+ * return (
955
+ * <div>
956
+ * <p>Sessions: {sessionCount}</p>
957
+ * <p>Dismiss rate: {(dismissRate * 100).toFixed(0)}%</p>
958
+ * <p>Engagement rate: {(engagementRate * 100).toFixed(0)}%</p>
959
+ * <p>Preferred format: {preferredFormat}</p>
960
+ * </div>
961
+ * )
962
+ * }
963
+ * ```
964
+ */
965
+ declare function useBehaviorProfile(): UseBehaviorProfileResult;
966
+
829
967
  interface NewBadgeRenderProps {
830
968
  /** Whether the feature is currently new */
831
969
  isNew: boolean;
@@ -1271,6 +1409,35 @@ interface FeatureRequestFormProps {
1271
1409
  children?: (props: FeatureRequestFormRenderProps) => ReactNode;
1272
1410
  }
1273
1411
 
1412
+ interface SmartAnnouncementRenderProps {
1413
+ /** Whether the engine recommends showing now */
1414
+ show: boolean;
1415
+ /** Recommended display format */
1416
+ format: DisplayFormat;
1417
+ /** Fallback format */
1418
+ fallbackFormat: DisplayFormat;
1419
+ /** The feature entry */
1420
+ feature: FeatureEntry | undefined;
1421
+ /** Dismiss callback (tracks in engine + provider) */
1422
+ dismiss: () => void;
1423
+ /** Engine confidence in the timing decision (0-1) */
1424
+ confidence: number;
1425
+ /** Reason for the decision */
1426
+ reason: string;
1427
+ }
1428
+ interface SmartAnnouncementProps {
1429
+ /** Feature ID to display */
1430
+ id: string;
1431
+ /** Override the engine's format recommendation */
1432
+ format?: DisplayFormat;
1433
+ /** Additional CSS class for the container */
1434
+ className?: string;
1435
+ /** Additional inline styles */
1436
+ style?: CSSProperties;
1437
+ /** Render prop for full customization */
1438
+ children?: (props: SmartAnnouncementRenderProps) => ReactNode;
1439
+ }
1440
+
1274
1441
  declare const NewBadge: react.ComponentType<NewBadgeProps>;
1275
1442
 
1276
1443
  declare const ChangelogWidget: react.ComponentType<ChangelogWidgetProps>;
@@ -1302,4 +1469,6 @@ declare const FeatureRequestButton: react.ComponentType<FeatureRequestButtonProp
1302
1469
 
1303
1470
  declare const FeatureRequestForm: react.ComponentType<FeatureRequestFormProps>;
1304
1471
 
1305
- export { AnnouncementModal, type AnnouncementModalProps, type AnnouncementModalRenderProps, type AnnouncementSlide, Banner, type BannerProps, type BannerRenderProps, type BannerVariant, type ChangelogEntryRenderProps, ChangelogPage, type ChangelogPageProps, ChangelogWidget, type ChangelogWidgetProps, type ChangelogWidgetRenderProps, Checklist, type ChecklistProps, type ChecklistRenderProps, type ChecklistTask, FeatureDropContext, type FeatureDropContextValue, FeatureDropProvider, type FeatureDropProviderProps, FeatureRequestButton, type FeatureRequestButtonProps, type FeatureRequestButtonRenderProps, FeatureRequestForm, type FeatureRequestFormProps, type FeatureRequestFormRenderProps, type FeatureRequestPayload, type FeedbackEmoji, type FeedbackPayload, type FeedbackRateLimit, FeedbackWidget, type FeedbackWidgetProps, type FeedbackWidgetRenderProps, Hotspot, type HotspotProps, NewBadge, type NewBadgeProps, type NewBadgeRenderProps, type PaginationMode, Spotlight, SpotlightChain, type SpotlightChainProps, type SpotlightChainRenderProps, type SpotlightChainStep, type SpotlightProps, type SpotlightRenderProps, Survey, type SurveyPayload, type SurveyProps, type SurveyQuestion, type SurveyQuestionType, type SurveyRenderProps, type SurveyTriggerRules, type SurveyType, ThemeProvider, type ThemeProviderProps, Toast, type ToastProps, type ToastRenderProps, TooltipGroup, type TooltipGroupProps, Tour, type TourProps, type TourRenderProps, type TourSequenceItem, type TourStep, type UseChecklistResult, type UseNewFeatureResult, type UseSurveyResult, type UseTabNotificationOptions, type UseTourResult, type UseTourSequencerResult, useAdoptionAnalytics, useChecklist, useFeatureDrop, useNewCount, useNewFeature, useSurvey, useTabNotification, useTour, useTourSequencer };
1472
+ declare const SmartAnnouncement: react.ComponentType<SmartAnnouncementProps>;
1473
+
1474
+ export { AnnouncementModal, type AnnouncementModalProps, type AnnouncementModalRenderProps, type AnnouncementSlide, Banner, type BannerProps, type BannerRenderProps, type BannerVariant, type ChangelogEntryRenderProps, ChangelogPage, type ChangelogPageProps, ChangelogWidget, type ChangelogWidgetProps, type ChangelogWidgetRenderProps, Checklist, type ChecklistProps, type ChecklistRenderProps, type ChecklistTask, FeatureDropContext, type FeatureDropContextValue, FeatureDropProvider, type FeatureDropProviderProps, FeatureRequestButton, type FeatureRequestButtonProps, type FeatureRequestButtonRenderProps, FeatureRequestForm, type FeatureRequestFormProps, type FeatureRequestFormRenderProps, type FeatureRequestPayload, type FeedbackEmoji, type FeedbackPayload, type FeedbackRateLimit, FeedbackWidget, type FeedbackWidgetProps, type FeedbackWidgetRenderProps, Hotspot, type HotspotProps, NewBadge, type NewBadgeProps, type NewBadgeRenderProps, type PaginationMode, SmartAnnouncement, type SmartAnnouncementProps, type SmartAnnouncementRenderProps, Spotlight, SpotlightChain, type SpotlightChainProps, type SpotlightChainRenderProps, type SpotlightChainStep, type SpotlightProps, type SpotlightRenderProps, Survey, type SurveyPayload, type SurveyProps, type SurveyQuestion, type SurveyQuestionType, type SurveyRenderProps, type SurveyTriggerRules, type SurveyType, ThemeProvider, type ThemeProviderProps, Toast, type ToastProps, type ToastRenderProps, TooltipGroup, type TooltipGroupProps, Tour, type TourProps, type TourRenderProps, type TourSequenceItem, type TourStep, type UseAdoptionScoreResult, type UseBehaviorProfileResult, type UseChangelogResult, type UseChecklistResult, type UseNewFeatureResult, type UseSmartFeatureResult, type UseSurveyResult, type UseTabNotificationOptions, type UseTourResult, type UseTourSequencerResult, useAdoptionAnalytics, useAdoptionScore, useBehaviorProfile, useChangelog, useChecklist, useFeatureDrop, useNewCount, useNewFeature, useSmartFeature, useSurvey, useTabNotification, useTour, useTourSequencer };
package/dist/preact.d.ts CHANGED
@@ -826,6 +826,144 @@ interface UseSurveyResult {
826
826
  }
827
827
  declare function useSurvey(id: string): UseSurveyResult;
828
828
 
829
+ interface UseChangelogResult {
830
+ /** All features from the manifest (including non-new) */
831
+ features: readonly FeatureEntry[];
832
+ /** Only features that are currently "new" (unread) */
833
+ newFeatures: readonly FeatureEntry[];
834
+ /** Count of new/unread features */
835
+ newCount: number;
836
+ /** Sorted new features (critical first, then by date) */
837
+ newFeaturesSorted: readonly FeatureEntry[];
838
+ /** Dismiss a single feature by ID */
839
+ dismiss: (id: string) => void;
840
+ /** Dismiss all features at once */
841
+ dismissAll: () => void;
842
+ /** Check if a specific feature is new */
843
+ isNew: (sidebarKey: string) => boolean;
844
+ /** Mark all currently visible features as seen (advances watermark) */
845
+ markAllSeen: () => void;
846
+ /** Get features filtered by category */
847
+ getByCategory: (category: string) => readonly FeatureEntry[];
848
+ }
849
+ declare function useChangelog(): UseChangelogResult;
850
+
851
+ interface UseSmartFeatureResult {
852
+ /** Whether the engine recommends showing this feature now */
853
+ show: boolean;
854
+ /** Recommended display format */
855
+ format: DisplayFormat;
856
+ /** Fallback format if primary component isn't available */
857
+ fallbackFormat: DisplayFormat;
858
+ /** The feature entry from the manifest */
859
+ feature: FeatureEntry | undefined;
860
+ /** Dismiss the feature (also tracks dismissal in engine) */
861
+ dismiss: () => void;
862
+ /** Engine's confidence in this timing decision (0-1) */
863
+ confidence: number;
864
+ /** Reason for the timing decision */
865
+ reason: string;
866
+ }
867
+ /**
868
+ * Engine-powered smart feature display hook.
869
+ *
870
+ * Combines the TimingOptimizer and FormatSelector to decide
871
+ * whether to show a feature and what format to use.
872
+ *
873
+ * Without an engine, gracefully degrades to always-show with badge format.
874
+ *
875
+ * @param featureId - The feature ID to check
876
+ * @returns `{ show, format, fallbackFormat, feature, dismiss, confidence, reason }`
877
+ *
878
+ * @example
879
+ * ```tsx
880
+ * function MyFeature() {
881
+ * const { show, format, feature, dismiss } = useSmartFeature('dark-mode')
882
+ *
883
+ * if (!show) return null
884
+ *
885
+ * switch (format) {
886
+ * case 'badge': return <NewBadge id="dark-mode" />
887
+ * case 'toast': return <Toast feature={feature} onDismiss={dismiss} />
888
+ * case 'modal': return <AnnouncementModal feature={feature} onDismiss={dismiss} />
889
+ * default: return <NewBadge id="dark-mode" />
890
+ * }
891
+ * }
892
+ * ```
893
+ */
894
+ declare function useSmartFeature(featureId: string): UseSmartFeatureResult;
895
+
896
+ type UseAdoptionScoreResult = AdoptionScore;
897
+ /**
898
+ * Get the user's overall feature adoption score.
899
+ *
900
+ * Returns a 0-100 score with letter grade, breakdown, and recommendations.
901
+ * Useful for admin dashboards, debug panels, or gamification.
902
+ *
903
+ * Without an engine, returns a perfect score with no recommendations.
904
+ *
905
+ * @returns `{ score, grade, breakdown, recommendations }`
906
+ *
907
+ * @example
908
+ * ```tsx
909
+ * function AdoptionDashboard() {
910
+ * const { score, grade, breakdown, recommendations } = useAdoptionScore()
911
+ *
912
+ * return (
913
+ * <div>
914
+ * <h2>Adoption Score: {score}/100 ({grade})</h2>
915
+ * <p>Features explored: {Math.round(breakdown.featuresExplored * 100)}%</p>
916
+ * <p>Completion rate: {Math.round(breakdown.completionRate * 100)}%</p>
917
+ * <ul>
918
+ * {recommendations.map((r, i) => <li key={i}>{r}</li>)}
919
+ * </ul>
920
+ * </div>
921
+ * )
922
+ * }
923
+ * ```
924
+ */
925
+ declare function useAdoptionScore(): UseAdoptionScoreResult;
926
+
927
+ interface UseBehaviorProfileResult {
928
+ /** Total sessions tracked */
929
+ sessionCount: number;
930
+ /** Dismiss rate (0-1) — fraction of announcements dismissed */
931
+ dismissRate: number;
932
+ /** Engagement rate (0-1) — fraction of announcements clicked/completed */
933
+ engagementRate: number;
934
+ /** User's preferred display format based on past behavior */
935
+ preferredFormat: DisplayFormat;
936
+ /** Whether an engine is available */
937
+ hasEngine: boolean;
938
+ }
939
+ /**
940
+ * Access the user's behavior profile for debug or admin views.
941
+ *
942
+ * Exposes aggregated behavior data from the AdoptionEngine's BehaviorTracker.
943
+ * Without an engine, returns default values.
944
+ *
945
+ * @returns `{ sessionCount, dismissRate, engagementRate, preferredFormat, hasEngine }`
946
+ *
947
+ * @example
948
+ * ```tsx
949
+ * function DebugPanel() {
950
+ * const { sessionCount, dismissRate, engagementRate, preferredFormat, hasEngine } = useBehaviorProfile()
951
+ *
952
+ * if (!hasEngine) return <p>No engine configured</p>
953
+ *
954
+ * return (
955
+ * <div>
956
+ * <p>Sessions: {sessionCount}</p>
957
+ * <p>Dismiss rate: {(dismissRate * 100).toFixed(0)}%</p>
958
+ * <p>Engagement rate: {(engagementRate * 100).toFixed(0)}%</p>
959
+ * <p>Preferred format: {preferredFormat}</p>
960
+ * </div>
961
+ * )
962
+ * }
963
+ * ```
964
+ */
965
+ declare function useBehaviorProfile(): UseBehaviorProfileResult;
966
+
829
967
  interface NewBadgeRenderProps {
830
968
  /** Whether the feature is currently new */
831
969
  isNew: boolean;
@@ -1271,6 +1409,35 @@ interface FeatureRequestFormProps {
1271
1409
  children?: (props: FeatureRequestFormRenderProps) => ReactNode;
1272
1410
  }
1273
1411
 
1412
+ interface SmartAnnouncementRenderProps {
1413
+ /** Whether the engine recommends showing now */
1414
+ show: boolean;
1415
+ /** Recommended display format */
1416
+ format: DisplayFormat;
1417
+ /** Fallback format */
1418
+ fallbackFormat: DisplayFormat;
1419
+ /** The feature entry */
1420
+ feature: FeatureEntry | undefined;
1421
+ /** Dismiss callback (tracks in engine + provider) */
1422
+ dismiss: () => void;
1423
+ /** Engine confidence in the timing decision (0-1) */
1424
+ confidence: number;
1425
+ /** Reason for the decision */
1426
+ reason: string;
1427
+ }
1428
+ interface SmartAnnouncementProps {
1429
+ /** Feature ID to display */
1430
+ id: string;
1431
+ /** Override the engine's format recommendation */
1432
+ format?: DisplayFormat;
1433
+ /** Additional CSS class for the container */
1434
+ className?: string;
1435
+ /** Additional inline styles */
1436
+ style?: CSSProperties;
1437
+ /** Render prop for full customization */
1438
+ children?: (props: SmartAnnouncementRenderProps) => ReactNode;
1439
+ }
1440
+
1274
1441
  declare const NewBadge: react.ComponentType<NewBadgeProps>;
1275
1442
 
1276
1443
  declare const ChangelogWidget: react.ComponentType<ChangelogWidgetProps>;
@@ -1302,4 +1469,6 @@ declare const FeatureRequestButton: react.ComponentType<FeatureRequestButtonProp
1302
1469
 
1303
1470
  declare const FeatureRequestForm: react.ComponentType<FeatureRequestFormProps>;
1304
1471
 
1305
- export { AnnouncementModal, type AnnouncementModalProps, type AnnouncementModalRenderProps, type AnnouncementSlide, Banner, type BannerProps, type BannerRenderProps, type BannerVariant, type ChangelogEntryRenderProps, ChangelogPage, type ChangelogPageProps, ChangelogWidget, type ChangelogWidgetProps, type ChangelogWidgetRenderProps, Checklist, type ChecklistProps, type ChecklistRenderProps, type ChecklistTask, FeatureDropContext, type FeatureDropContextValue, FeatureDropProvider, type FeatureDropProviderProps, FeatureRequestButton, type FeatureRequestButtonProps, type FeatureRequestButtonRenderProps, FeatureRequestForm, type FeatureRequestFormProps, type FeatureRequestFormRenderProps, type FeatureRequestPayload, type FeedbackEmoji, type FeedbackPayload, type FeedbackRateLimit, FeedbackWidget, type FeedbackWidgetProps, type FeedbackWidgetRenderProps, Hotspot, type HotspotProps, NewBadge, type NewBadgeProps, type NewBadgeRenderProps, type PaginationMode, Spotlight, SpotlightChain, type SpotlightChainProps, type SpotlightChainRenderProps, type SpotlightChainStep, type SpotlightProps, type SpotlightRenderProps, Survey, type SurveyPayload, type SurveyProps, type SurveyQuestion, type SurveyQuestionType, type SurveyRenderProps, type SurveyTriggerRules, type SurveyType, ThemeProvider, type ThemeProviderProps, Toast, type ToastProps, type ToastRenderProps, TooltipGroup, type TooltipGroupProps, Tour, type TourProps, type TourRenderProps, type TourSequenceItem, type TourStep, type UseChecklistResult, type UseNewFeatureResult, type UseSurveyResult, type UseTabNotificationOptions, type UseTourResult, type UseTourSequencerResult, useAdoptionAnalytics, useChecklist, useFeatureDrop, useNewCount, useNewFeature, useSurvey, useTabNotification, useTour, useTourSequencer };
1472
+ declare const SmartAnnouncement: react.ComponentType<SmartAnnouncementProps>;
1473
+
1474
+ export { AnnouncementModal, type AnnouncementModalProps, type AnnouncementModalRenderProps, type AnnouncementSlide, Banner, type BannerProps, type BannerRenderProps, type BannerVariant, type ChangelogEntryRenderProps, ChangelogPage, type ChangelogPageProps, ChangelogWidget, type ChangelogWidgetProps, type ChangelogWidgetRenderProps, Checklist, type ChecklistProps, type ChecklistRenderProps, type ChecklistTask, FeatureDropContext, type FeatureDropContextValue, FeatureDropProvider, type FeatureDropProviderProps, FeatureRequestButton, type FeatureRequestButtonProps, type FeatureRequestButtonRenderProps, FeatureRequestForm, type FeatureRequestFormProps, type FeatureRequestFormRenderProps, type FeatureRequestPayload, type FeedbackEmoji, type FeedbackPayload, type FeedbackRateLimit, FeedbackWidget, type FeedbackWidgetProps, type FeedbackWidgetRenderProps, Hotspot, type HotspotProps, NewBadge, type NewBadgeProps, type NewBadgeRenderProps, type PaginationMode, SmartAnnouncement, type SmartAnnouncementProps, type SmartAnnouncementRenderProps, Spotlight, SpotlightChain, type SpotlightChainProps, type SpotlightChainRenderProps, type SpotlightChainStep, type SpotlightProps, type SpotlightRenderProps, Survey, type SurveyPayload, type SurveyProps, type SurveyQuestion, type SurveyQuestionType, type SurveyRenderProps, type SurveyTriggerRules, type SurveyType, ThemeProvider, type ThemeProviderProps, Toast, type ToastProps, type ToastRenderProps, TooltipGroup, type TooltipGroupProps, Tour, type TourProps, type TourRenderProps, type TourSequenceItem, type TourStep, type UseAdoptionScoreResult, type UseBehaviorProfileResult, type UseChangelogResult, type UseChecklistResult, type UseNewFeatureResult, type UseSmartFeatureResult, type UseSurveyResult, type UseTabNotificationOptions, type UseTourResult, type UseTourSequencerResult, useAdoptionAnalytics, useAdoptionScore, useBehaviorProfile, useChangelog, useChecklist, useFeatureDrop, useNewCount, useNewFeature, useSmartFeature, useSurvey, useTabNotification, useTour, useTourSequencer };