import { ReactElement, Ref, ReactNode } from 'react'; interface AccordionBuilderItem { header: AccordionBuilderHeader; id: string; index: number; key: string; panel: AccordionBuilderPanel; } interface AccordionBuilderHeader { elementType: ReactElement["type"]; props: Record; ref: Ref; } interface AccordionBuilderPanel { elementType: ReactElement["type"]; props: Record; ref: Ref; } declare class AccordionBuilder { private rootId; constructor(rootId: string); build(children: ReactNode): AccordionBuilderItem[]; } declare function useAccordionItems(children: ReactNode, rootId: string): AccordionBuilderItem[]; export { AccordionBuilder, type AccordionBuilderHeader, type AccordionBuilderItem, type AccordionBuilderPanel, useAccordionItems };