import type { ReactElement } from 'react';
import type { AccordionTitleProps } from '../AccordionTitle/types.js';
import type { AccordionContentProps } from '../AccordionContent/types.js';

export type AccordionVariant =
  | 'card1'
  | 'card2'
  | 'card3'
  | 'card4';

type AccordionItemChildren =
  | ReactElement<AccordionTitleProps>
  | ReactElement<AccordionContentProps>;

export type AccordionItemProps = {
  variant?: AccordionVariant;
  className?: string;
  style?: React.CSSProperties;
  children: AccordionItemChildren | AccordionItemChildren[];
};

export type StyleFieldsProps = {
  variantLabel?: string;
  variantName?: string;
  variantDefault?: { variant_name?: string };
};
