import type { ReactNode } from "react"; // ============================================================================= // LAYOUT TYPES // ============================================================================= // SOURCE: components/onboarding/onboarding-layout.tsx export interface Step { name: string; href: string; } export interface StepProgressProps { steps: Step[]; } export interface OnboardingLayoutProps { children: ReactNode; } export interface OnboardingHeaderProps { /** Current step index */ currentStepIndex?: number; /** Total steps for progress */ steps?: Step[]; /** Back button href */ backHref?: string; /** Back button text */ backText?: string; /** Whether the header is collapsed (scrolled) */ collapsed?: boolean; } export interface OnboardingFooterProps { /** Primary action button text */ submitText?: string; /** Primary action loading text */ loadingText?: string; /** Whether the primary action is loading */ isLoading?: boolean; /** Whether the primary action is disabled */ isDisabled?: boolean; /** Primary action click handler */ onSubmit?: () => void; /** Back button text */ backText?: string; /** Back button click handler */ onBack?: () => void; /** Whether to show the back button */ showBack?: boolean; } export interface OnboardingProgressProps { /** Array of steps */ steps: Step[]; /** Current step index */ currentStepIndex: number; }