import { CheckoutConfirmRequest, CheckoutPreviewResponse, CheckoutResponse, ConfirmCheckoutResponse, ContractSchedulesResponse, CreateCheckoutRequest, GetPricingScheduleRequest, PreviewCheckoutRequest, QuantityUpdateCheckoutRequest } from '../../types/useCheckout.types'; export declare const CHECKOUT_ROUTER = "customer_portal/checkouts"; export declare const PRICING_ROUTER = "customer_portal/pricing"; /** * Checkout service hook providing methods for checkout V2 operations. * * This hook provides access to the available Checkout V2 APIs. * * **Available Methods:** * - `createCheckout`: Create a new checkout session for new subscriptions * - `createQuantityUpdateCheckout`: Create checkout for quantity updates on existing contracts * - `previewCheckout`: Preview billing estimates without creating records * - `getPricingSchedule`: Get pricing schedules for a customer's contract * - `confirmCheckout`: Confirm and finalize a checkout * * All methods return raw data without React Query caching, allowing clients * to manage state using their preferred approach. * * @requires This hook must be used within a ZenskarProvider component. Calling it * outside the provider context will result in undefined behavior or errors. * * @returns Object containing checkout service methods * * @example * ```typescript * import { ZenskarProvider, useCheckout } from '@zenskar/ui-kit' * * function App() { * return ( * * * * ) * } * * function CheckoutComponent() { * const checkout = useCheckout() * * const handleCheckout = async () => { * // Create checkout * const { data: session } = await checkout.createCheckout({ * plan_id: 'plan-123', * start_date: '2025-01-01', * success_url: 'https://example.com/success', * }) * * // Confirm checkout * const { data: confirmed } = await checkout.confirmCheckout(session.id, { * payment_method_id: 'ea94efc5-ed4c-446c-9b8b-54cb1356e01c', * }) * } * } * ``` */ export declare const useCheckout: () => { createCheckout: (request: CreateCheckoutRequest) => Promise<{ data: CheckoutResponse; }>; createQuantityUpdateCheckout: (request: QuantityUpdateCheckoutRequest) => Promise<{ data: CheckoutResponse; }>; previewCheckout: (request: PreviewCheckoutRequest) => Promise<{ data: CheckoutPreviewResponse; }>; getPricingSchedule: (request?: GetPricingScheduleRequest) => Promise<{ data: ContractSchedulesResponse; }>; confirmCheckout: (checkoutId: string, request?: CheckoutConfirmRequest) => Promise<{ data: ConfirmCheckoutResponse; }>; }; /** * Type definition for the checkout service methods */ export type CheckoutServiceMethods = ReturnType;