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;