import { StepItem } from '../components/ui-components'; import { CheckoutSessionCreateRequest, ICheckoutConfigResponseSchema, ICheckoutSubscriptionItem, ICustomUrlItemResponse, ISubscriptionGroup } from '../types/checkout.types'; import { BusinessEntityType, CustomerType, ICustomer } from '../types/customer.types'; import { IPlansResponseSchema } from '../types/plans.types'; export declare enum ECheckoutStep { PLAN_SELECTION = "plan_selection", PLAN_SUMMARY = "plan_summary", PAYMENT = "payment" } export declare const PLAN_BASED_CHECKOUT_STEPS: StepItem[]; declare const constructCheckoutSessionRequest: (subscriptionItem: ICheckoutSubscriptionItem | null, customerId: CustomerType, businessEntityId: BusinessEntityType, fetchedPlan?: IPlansResponseSchema | null, customerPayload?: ICustomer | undefined) => CheckoutSessionCreateRequest; export { constructCheckoutSessionRequest }; /** * Combines standard subscription groups with their associated custom URL items. * * This utility function is responsible for merging the list of standard subscription groups * (each containing standard subscription items) with any custom URL items that belong to those groups. * The result is a new array of subscription groups, where each group's `items` array contains both * its original subscription items and any custom URL items that reference the group's ID. * * Why is this needed? * - The backend stores standard subscription items and custom URL items separately. * - The frontend UI expects all items (standard and custom) to be present in a single `items` array per group. * - This function ensures that when rendering or editing a group, all relevant items are available together. * * @param subscriptionGroups - Array of standard subscription groups from the backend. * @param customUrlItems - Array of custom URL items from the backend. * @returns Array of subscription groups, each with both standard and custom URL items in their `items` array. */ export declare const organizedSubscriptionGroups: (subscriptionGroups: ISubscriptionGroup[], customUrlItems: ICustomUrlItemResponse[]) => { items: ICheckoutSubscriptionItem[]; id: string; name: string; order?: number; metadata?: Record; }[]; export declare const checkoutConfigToUse: (checkoutConfigs?: ICheckoutConfigResponseSchema[], businessEntityId?: string | null) => ICheckoutConfigResponseSchema | undefined;