import React from 'react';
import { ListVariant, GenericListRepeaterRenderProps } from '@wix/headless-components/react';
import { PlanListServiceConfig } from '../services/index.js';
interface RootProps {
children: React.ReactNode;
planListServiceConfig: PlanListServiceConfig;
className?: string;
variant?: ListVariant;
}
/**
* The root container that provides plan list context to all child components.
*
* @component
* @example
* ```tsx
*
* No plans found}>
*
*
*
*
*
*
*
* ```
*/
export declare const Root: React.ForwardRefExoticComponent>;
interface PlansProps {
emptyState?: React.ReactNode;
className?: string;
loadingState?: React.ReactNode;
children: React.ReactNode;
}
/**
* Container for the plan list with support for empty state.
*
* @component
* @example
* ```tsx
* No plans found} className="grid grid-cols-1 md:grid-cols-3 gap-4">
*
*
*
*
*
*
* ```
*/
export declare const Plans: React.ForwardRefExoticComponent>;
/**
* Render props for PlanRepeater asChild pattern
*/
export type PlanRepeaterRenderProps = GenericListRepeaterRenderProps;
interface PlanRepeaterProps {
children: React.ReactNode | ((props: PlanRepeaterRenderProps, ref: React.Ref) => React.ReactNode);
/** Whether to render as child component (asChild pattern) */
asChild?: boolean;
}
/**
* Repeater component that renders Plan.Root for each plan.
*
* @component
* @example
* ```tsx
* // Standard usage
*
*
*
*
*
*
* // AsChild usage
*
* {({ items, variant, itemWrapper }) => (
*
* itemWrapper({ item, index, children: <>
*
*
* > })
* }
* />
* )}
*
* ```
*/
export declare const PlanRepeater: React.ForwardRefExoticComponent>;
export {};