import React from 'react'; import { PlanDuration, PlanRecurrence, PlanServiceConfig, PlanWithEnhancedData } from '../../services/index.js'; import { plansV3 } from '@wix/pricing-plans'; interface RootProps { planServiceConfig: PlanServiceConfig; children: React.ReactNode; } /** * The root container that provides plan context to all child components. * * @order 1 * @component * * @todo: Example */ export declare function Root({ planServiceConfig, children }: RootProps): import("react/jsx-runtime").JSX.Element; export type PlanData = { isLoading: true; error: null; plan: null; } | { isLoading: false; error: null; plan: plansV3.Plan; } | { isLoading: false; error: Error; plan: null; }; interface PlanProps { children: (props: PlanData) => React.ReactNode; } export declare function Plan({ children }: PlanProps): React.ReactNode; interface ImageRenderProps { image: string; } interface ImageProps { children: (props: ImageRenderProps) => React.ReactNode; } export declare function Image({ children }: ImageProps): React.ReactNode; export interface NameData { name: string; } interface NameProps { children: (props: NameData) => React.ReactNode; } export declare function Name({ children }: NameProps): React.ReactNode; export interface DescriptionData { description: string; } interface DescriptionProps { children: (props: DescriptionData) => React.ReactNode; } export declare function Description({ children }: DescriptionProps): React.ReactNode; interface PriceData { amount: number; currency: string; } interface PriceProps { children: (props: PriceData) => React.ReactNode; } export declare function Price({ children }: PriceProps): React.ReactNode; type FeeData = PlanWithEnhancedData['enhancedData']['additionalFees'][number]; export interface AdditionalFeesData { additionalFees: FeeData[]; } interface AdditionalFeesProps { children: (props: AdditionalFeesData) => React.ReactNode; } export declare function AdditionalFees({ children }: AdditionalFeesProps): React.ReactNode; interface AdditionalFeesRepeaterRenderProps { additionalFees: FeeData[]; } interface AdditionalFeesRepeaterProps { children: (props: AdditionalFeesRepeaterRenderProps) => React.ReactNode; } export declare function AdditionalFeesRepeater({ children, }: AdditionalFeesRepeaterProps): React.ReactNode; interface AdditionalFeeRootProps { fee: FeeData; children: React.ReactNode; } export declare function AdditionalFeeRoot({ fee, children }: AdditionalFeeRootProps): import("react/jsx-runtime").JSX.Element; export interface AdditionalFeeNameData { name: string; } interface AdditionalFeeNameProps { children: (props: AdditionalFeeNameData) => React.ReactNode; } export declare function AdditionalFeeName({ children }: AdditionalFeeNameProps): React.ReactNode; export type AdditionalFeeAmountData = Pick; interface AdditionalFeeAmountProps { children: (props: AdditionalFeeAmountData) => React.ReactNode; } export declare function AdditionalFeeAmount({ children }: AdditionalFeeAmountProps): React.ReactNode; export interface RecurrenceData { recurrence: PlanRecurrence | null; } interface RecurrenceProps { children: (renderProps: RecurrenceData) => React.ReactNode; } export declare function Recurrence({ children }: RecurrenceProps): React.ReactNode; export interface DurationData { duration: PlanDuration | null; } interface DurationProps { children: (renderProps: DurationData) => React.ReactNode; } export declare function Duration({ children }: DurationProps): React.ReactNode; export interface FreeTrialDaysData { freeTrialDays: number; } interface FreeTrialDaysProps { children: (renderProps: FreeTrialDaysData) => React.ReactNode; } export declare function FreeTrialDays({ children }: FreeTrialDaysProps): React.ReactNode; export interface PerksData { perks: string[]; } export interface PerkItemData { perk: string; } export declare const PerkItemContext: React.Context; interface PerksProps { children: (props: PerksData) => React.ReactNode; } export declare function Perks({ children }: PerksProps): React.ReactNode; interface PerksRepeaterProps { children: (perksData: PerksData) => React.ReactNode; } export declare function PerksRepeater({ children }: PerksRepeaterProps): React.ReactNode; interface PerkItemProps { children: (props: PerkItemData) => React.ReactNode; } export declare function PerkItem({ children }: PerkItemProps): React.ReactNode; export {};