import { ThemingProps } from "../theme/types.js";
import { SystemProps } from "../system/system.js";
import "../system/index.js";
import { IconProps } from "../icon/icon.types.js";
import "../icon/index.js";
import { ListItemProps } from "../list/list.types.js";
import "../list/index.js";
import { ReactNode } from "react";

//#region src/accordion/accordion.types.d.ts
type AccordionOrientation = 'vertical' | 'horizontal';
type AccordionIconPosition = 'end' | 'start';
type AccordionProps = SystemProps & ThemingProps<'Accordion'> & {
  /** Items AccordionOrientation @default "vertical" */orientation?: AccordionOrientation; /** Collection of Accordion items */
  items?: AccordionItemProps[]; /** Icon position for vertical orientation @default "end" */
  iconPosition?: AccordionIconPosition;
};
type AccordionItemId = string | number;
type AccordionOnToggleEvent = {
  id: AccordionItemId;
  collapsed: boolean;
};
type AccordionItemProps = ListItemProps & {
  /** Unique ID */id: AccordionItemId; /** Custom class name */
  className?: string; /** Content */
  children?: ReactNode; /** Alternative way to provide content */
  content?: ReactNode; /** Control the padding of the content */
  contentPx?: string | number; /** Collapsed state */
  collapsed?: boolean; /** The icon position @default "end" */
  iconPosition?: AccordionIconPosition; /** Title */
  title?: string | ReactNode; /** Collapse change state */
  onToggle?: (event: AccordionOnToggleEvent) => void;
};
type AccordionItemArrowProps = IconProps & {
  collapsed?: boolean;
  color?: string;
  disabled?: boolean;
  orientation?: AccordionOrientation;
};
//#endregion
export { AccordionIconPosition, AccordionItemArrowProps, AccordionItemId, AccordionItemProps, AccordionOnToggleEvent, AccordionOrientation, AccordionProps };

//# sourceMappingURL=accordion.types.d.ts.map