import { ReactNode } from 'react'; import { OnboardingStep } from '@zeniai/client-epic-state'; export type OnboardingSidebarStepStatus = "complete" | "active" | "pending"; export interface OnboardingSidebarProps { /** * Drives sidebar clickability. While `false`, only `complete` steps are * clickable so the user can't skip past an incomplete required step * (subscription payment / connect ledger). Once every required step is * marked complete, all non-active steps become navigable. */ allRequiredStepsCompleted: boolean; /** * Steps to render, in display order. Driven by the consumer's onboarding * step list (varies by tenant — e.g. zeni-user flows skip `connect_ledger` * + `connect_data_source`). Step numbering follows this array's order. */ steps: ReadonlyArray; /** * Status per step keyed by step name. Steps not listed default to "pending". * Exactly one step should be "active". */ stepStatuses: Partial>; /** Attention/error treatment for a step; takes precedence over `warningStep`. */ errorStep?: OnboardingStep; footerSlot?: ReactNode; /** * Step to render in warning colors (badge round + title) regardless of its * progress status — signals an action the user must resolve (e.g. a pending * bank verification on setup_billing) before onboarding can complete. */ warningStep?: OnboardingStep; onLogoClick?: () => void; onStepClick?: (step: OnboardingStep) => void; } declare const OnboardingSidebar: ({ steps, stepStatuses, allRequiredStepsCompleted, footerSlot, warningStep, errorStep, onLogoClick, onStepClick, }: OnboardingSidebarProps) => import("react/jsx-runtime").JSX.Element; export default OnboardingSidebar; export declare const SIDEBAR_WIDTH_PX = 240;