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

export type AccordionVariant =
  | 'variant1'
  | 'variant2'
  | 'variant3'
  | 'variant4';

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?: AccordionVariant;
};
