/**
 * Hook to build multi-step booking flow
 */
import type { Step } from "../components/multi-step/types";
import { type BookingFormConfig, type BookingFormData, type BookingFormService } from "../nodes/booking-form.state";
export type { BookingFormData };
/**
 * Build the array of steps for the booking flow
 *
 * Steps are conditionally included based on form configuration:
 * - Service selection: Only if multiple services available
 * - Date/time selection: Always included
 * - Custom fields: Only if form has fields defined
 */
export declare function useBookingSteps(siteId: string, formConfig: BookingFormConfig | null, services: readonly BookingFormService[], options?: Readonly<{
    serviceId?: string;
    resourceId?: string;
    requiresServiceSelection?: boolean;
    requiresResourceSelection?: boolean;
    shouldAutoSelectSingleResource?: boolean;
    enableAppointmentPackages?: boolean;
}>): Step<BookingFormData>[];
