import React from 'react'; import { type PricingOption } from '../../services/pricing-option-service.js'; export interface RootProps { /** Child components that will have access to the pricing option service */ children: React.ReactNode; /** Pricing option */ pricingOption: PricingOption; } /** * PricingOption Root core component that provides pricing option service context. * * @component */ export declare function Root(props: RootProps): React.ReactNode; export interface NameProps { /** Render prop function */ children: (props: NameRenderProps) => React.ReactNode; } export interface NameRenderProps { /** Pricing option name */ name: string; } /** * PricingOption Name core component that provides pricing option name. * * @component */ export declare function Name(props: NameProps): React.ReactNode; export interface PricingProps { /** Render prop function */ children: (props: PricingRenderProps) => React.ReactNode; } export interface PricingRenderProps { /** Price */ value: number; /** Price currency */ currency: string; } /** * PricingOption Pricing core component that provides pricing data. * * @component */ export declare function Pricing(props: PricingProps): React.ReactNode; export interface TaxProps { /** Render prop function */ children: (props: TaxRenderProps) => React.ReactNode; } export interface TaxRenderProps { /** Tax name */ name: string; /** Tax rate */ rate: number; /** Whether tax is included in price */ included: boolean; /** Taxable value */ taxableValue: number; /** Tax value */ taxValue: number; /** Tax currency */ currency: string; } /** * PricingOption Tax core component that provides tax data. Not rendered when event has no tax settings. * * @component */ export declare function Tax(props: TaxProps): React.ReactNode; export interface FeeProps { /** Render prop function */ children: (props: FeeRenderProps) => React.ReactNode; } export interface FeeRenderProps { /** Fee rate */ rate: number; /** Fee value */ value: number; /** Fee currency */ currency: string; } /** * PricingOption Fee core component that provides fee data. Not rendered when ticket definition has no fee enabled, or when fee is included in the price. * * @component */ export declare function Fee(props: FeeProps): React.ReactNode; export interface QuantityProps { /** Render prop function */ children: (props: QuantityRenderProps) => React.ReactNode; } export interface QuantityRenderProps { /** Array of quantity options */ options: number[]; /** Current quantity */ quantity: number; /** Maximum quantity allowed */ maxQuantity: number; /** Function to increment quantity */ increment: () => void; /** Function to decrement quantity */ decrement: () => void; /** Function to set specific quantity */ setQuantity: (quantity: number) => void; } /** * PricingOption Quantity core component that provides quantity controls. Not rendered if ticket definition is not available (is sold out or sale hasn't started). * * @component */ export declare function Quantity(props: QuantityProps): React.ReactNode;