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<OnboardingStep>;
    /**
     * Status per step keyed by step name. Steps not listed default to "pending".
     * Exactly one step should be "active".
     */
    stepStatuses: Partial<Record<OnboardingStep, OnboardingSidebarStepStatus>>;
    footerSlot?: ReactNode;
    onLogoClick?: () => void;
    onStepClick?: (step: OnboardingStep) => void;
}
declare const OnboardingSidebar: ({ steps, stepStatuses, allRequiredStepsCompleted, footerSlot, onLogoClick, onStepClick, }: OnboardingSidebarProps) => import("react/jsx-runtime").JSX.Element;
export default OnboardingSidebar;
export declare const SIDEBAR_WIDTH_PX = 240;
