import { ReactNode } from 'react'; type OnboardingStepSide = "top" | "top-start" | "top-end" | "bottom" | "bottom-start" | "bottom-end" | "left" | "left-start" | "left-end" | "right" | "right-start" | "right-end"; interface OnboardingStepConfig { id: string; title: string; content: ReactNode; selector?: string; side?: OnboardingStepSide; onShow?: () => void; onHide?: () => void; action?: { label: string; onClick: () => void; }; showDelay?: number; canClickTarget?: boolean; className?: string; } interface OnboardingTourConfig { id: string; name: string; description?: string; steps: OnboardingStepConfig[]; routes?: string[]; } interface OnboardingTourPaths { [routePattern: string]: string; } interface OnboardingLabels { next: string; previous: string; finish: string; skip: string; close: string; stepCounter: (current: number, total: number) => string; } declare const DEFAULT_ONBOARDING_LABELS: OnboardingLabels; interface OnboardingContextValue { startTour: (tourId: string, steps?: OnboardingStepConfig[]) => void; closeTour: () => void; nextStep: () => void; previousStep: () => void; goToStep: (index: number) => void; isTourActive: boolean; activeTourId: string | null; currentStepIndex: number; totalSteps: number; } type OnboardingTourEndReason = "finished" | "skipped" | "dismissed"; interface OnboardingProviderProps { children: React.ReactNode; tours?: OnboardingTourConfig[]; tourPaths?: OnboardingTourPaths; labels?: OnboardingLabels; renderCard?: (props: OnboardingCardRenderProps) => ReactNode; zIndex?: number; /** Fires once when a tour ends. "finished" = last-step Finish, "skipped" = card Skip/close, "dismissed" = overlay click or Escape. */ onTourEnd?: (tourId: string, reason: OnboardingTourEndReason) => void; } interface OnboardingCardRenderProps { step: OnboardingStepConfig; currentIndex: number; totalSteps: number; labels: OnboardingLabels; onNext: () => void; onPrevious: () => void; onClose: () => void; onSkip: () => void; isFirst: boolean; isLast: boolean; } export { DEFAULT_ONBOARDING_LABELS as D, type OnboardingStepSide as O, type OnboardingProviderProps as a, type OnboardingContextValue as b, type OnboardingStepConfig as c, type OnboardingTourConfig as d, type OnboardingTourPaths as e, type OnboardingLabels as f, type OnboardingTourEndReason as g, type OnboardingCardRenderProps as h };