import type { FC, ReactNode } from 'react'; import { Accordion as ArkUiAccordion } from '@ark-ui/react/accordion'; import { type TestableProps } from '../../utils/testId'; import { type AccordionVariant } from './AccordionContext'; export type AccordionValueChangeDetails = ArkUiAccordion.ValueChangeDetails; export interface AccordionProps extends TestableProps { children: ReactNode; /** Visual variant of the accordion */ variant?: AccordionVariant; /** Whether multiple items can be expanded at the same time */ multiple?: boolean; /** Whether an expanded item can be collapsed (when `multiple` is false) */ collapsible?: boolean; /** Controlled expanded item values */ value?: string[]; /** Initial expanded item values for uncontrolled usage */ defaultValue?: string[]; /** Callback fired when expanded items change */ onValueChange?: (details: AccordionValueChangeDetails) => void; /** Disable all interaction */ disabled?: boolean; className?: string; } /** * Accordion component for progressive disclosure of content. * * Three variants: * - `primary` — lightweight row, 40px height, base font. * - `secondary` — compact row, 24px height, small muted text. * - `section` — bordered panel with title, optional `AccordionActions` and content area. * * Compose with `AccordionItem`, `AccordionTrigger`, `AccordionActions`, and `AccordionContent`. */ export declare const Accordion: FC;