import type { EnrollmentStep, BookingMode } from './types';
/**
 * Steps that are part of the main wizard and should show the step indicator.
 * Terminal states (success, error, etc.) are not included.
 */
export declare const WIZARD_STEPS: EnrollmentStep[];
/**
 * Step labels for the wizard indicator
 */
export declare const STEP_LABELS: Record<EnrollmentStep, string>;
/**
 * Determine which wizard steps to show based on context and eligibility.
 *
 * @param hasPreSelectedCourse - Whether course is pre-selected (skips course selection)
 * @param requiresPayment - Whether the course requires payment
 * @param hasEligibleMemberships - Whether user has eligible memberships
 * @param bookingMode - Current booking mode selection
 * @param isMembershipFastTrack - Whether user qualifies for single-step membership flow
 * @returns Array of wizard steps to display
 */
export declare function getWizardStepsForContext(hasPreSelectedCourse: boolean, requiresPayment: boolean, hasEligibleMemberships: boolean, bookingMode: BookingMode, isMembershipFastTrack: boolean): readonly EnrollmentStep[];
export { getStepNumber } from '../../shared';
/**
 * Get the label for a step
 */
export declare function getStepLabel(step: EnrollmentStep): string;
/**
 * Get labels for a list of wizard steps
 */
export declare function getStepLabels(steps: readonly EnrollmentStep[]): string[];
