import type { Snippet } from 'svelte'; import type { CouponStatus } from '../../molecules/CouponInput/CouponInput.svelte'; import type { PaymentMethod } from '../../organisms/PaymentForm/PaymentForm.svelte'; export type CheckoutStep = 'cart' | 'shipping' | 'payment' | 'done'; export interface CheckoutLine { id: string; title: string; subtitle?: string; image?: string; price: number; quantity: number; max?: number; } export interface CheckoutShippingOption { id: string; label: string; description?: string; price: number; eta?: string; } interface CheckoutTemplateProps { title?: string; description?: string; step?: CheckoutStep; items?: CheckoutLine[]; shipping?: number; tax?: number; discount?: number; currency?: string; coupon?: string; couponStatus?: CouponStatus; couponMessage?: string; showCoupon?: boolean; showProgress?: boolean; shippingOptions?: CheckoutShippingOption[]; shippingMethod?: string; email?: string; line1?: string; line2?: string; city?: string; state?: string; postal?: string; country?: string; orderId?: string; loading?: boolean; continueLabel?: string; emptyTitle?: string; emptyDescription?: string; successTitle?: string; successDescription?: string; class?: string; children?: Snippet; aside?: Snippet; actions?: Snippet; onstepchange?: (step: CheckoutStep) => void; oncheckout?: () => void; onplaceorder?: (payload: { method: PaymentMethod; email: string; saveCard: boolean; }) => void; oncontinue?: () => void; onapplycoupon?: (code: string) => void; onremovecoupon?: () => void; onquantity?: (id: string, qty: number) => void; onremove?: (id: string) => void; } declare const CheckoutTemplate: import("svelte").Component; type CheckoutTemplate = ReturnType; export default CheckoutTemplate;