import React, { type FC, type ReactElement } from "react"; import { type VibeComponentProps, type ElementContent } from "../../types"; import { type ExpandCollapseIconPosition } from "./ExpandCollapse.types"; export interface ExpandCollapseProps extends VibeComponentProps { /** * Custom renderer for the header component. */ headerComponentRenderer?: () => ReactElement; /** * Class name applied to the header. */ headerClassName?: string; /** * Class name applied to the content. */ contentClassName?: string; /** * Class name applied to the root component. */ componentClassName?: string; /** * The title displayed in the header. */ title?: ElementContent; /** * The content inside the expandable section. */ children?: ElementContent; /** * The size of the expand/collapse icon. */ iconSize?: number | string; /** * The position of the icon. */ iconPosition?: ExpandCollapseIconPosition; /** * If true, the section is open by default when rendered. */ defaultOpenState?: boolean; /** * Controls the open state of the section. */ open?: boolean; /** * Callback fired when the header is clicked. */ onClick?: (event: React.MouseEvent) => void; /** * If true, hides the border around the component. */ hideBorder?: boolean; /** * If true, captures the click event on the button. */ captureOnClick?: boolean; } declare const ExpandCollapse: FC; export default ExpandCollapse;