/** * @rajeev02/app-shell — Onboarding * Splash screen, feature carousel, tooltips, first-launch detection */ export interface SplashConfig { logoSource: string; backgroundColor: string; minDisplayMs?: number; animation?: "fade" | "scale" | "slide" | "none"; } export interface OnboardingSlide { id: string; title: string; description: string; image?: string; lottieSource?: string; backgroundColor?: string; textColor?: string; } export interface FeatureTooltip { id: string; targetElementId: string; title: string; description: string; position?: "top" | "bottom" | "left" | "right"; showOnce?: boolean; } export interface OnboardingConfig { splash: SplashConfig; slides: OnboardingSlide[]; tooltips?: FeatureTooltip[]; skipText?: string; nextText?: string; doneText?: string; showDots?: boolean; } /** * Onboarding Manager */ export declare class OnboardingManager { private shownSlides; private seenTooltips; private completedOnboarding; private launchCount; private listeners; recordLaunch(): void; isFirstLaunch(): boolean; getLaunchCount(): number; completeOnboarding(): void; isOnboardingComplete(): boolean; markSlideShown(slideId: string): void; markTooltipSeen(tooltipId: string): void; shouldShowTooltip(tooltip: FeatureTooltip): boolean; getUnseenTooltips(tooltips: FeatureTooltip[]): FeatureTooltip[]; onEvent(listener: (event: string) => void): () => void; exportState(): Record; importState(state: Record): void; private emit; } /** Default onboarding slides for a super app */ export declare function getDefaultOnboardingSlides(): OnboardingSlide[]; //# sourceMappingURL=index.d.ts.map