import { type ReactNode } from "react"; export interface CardOption { /** Unique identifier */ id: string; /** Display name */ name: string; /** Icon or logo - can be a ReactNode (e.g., Iconify icon) */ icon?: ReactNode; /** Optional description text */ description?: string; /** Optional badge text (e.g., "Popular", "New") */ badge?: string; /** Optional dropdown options for this card */ dropdown?: { label: string; placeholder?: string; options: { value: string; label: string; }[]; defaultValue?: string; }; } export interface CardGridConfig { selectedId: string; dropdownValues: Record; } export interface CardGridStepProps { /** Title displayed at the top of the step */ title?: string; /** Description text below the title */ description?: string; /** Array of card options to display */ options: CardOption[]; /** Number of columns in the grid (default: 2) */ columns?: 1 | 2 | 3 | 4; /** Card layout orientation (default: 'vertical') */ layout?: "vertical" | "horizontal"; /** Initially selected option id */ defaultSelected?: string; /** Initial dropdown values */ defaultDropdownValues?: Record; /** Called when selection or dropdown changes */ onChange?: (config: CardGridConfig) => void; /** Called when the user submits the form */ onSubmit: (config: CardGridConfig) => void | Promise; /** Text for the submit button */ submitText?: string; /** Text shown while submitting */ loadingText?: string; /** Optional back button config */ backButton?: { text: string; onClick: () => void; }; } export declare function CardGridStep({ title, description, options, columns, layout, defaultSelected, defaultDropdownValues, onChange, onSubmit, submitText, loadingText, backButton, }: CardGridStepProps): import("react/jsx-runtime").JSX.Element; //# sourceMappingURL=card-grid-step.d.ts.map