import { ReactNode } from 'react'; import { BoxBaseProps } from '../base'; import { BaseColor, BorderColor, ElementBorder, ElementDensity, ElementElevation, ElementFont, ElementShape } from '../../utils'; import { ElementAnimation } from '../../types'; import { useFocusNavigation } from '../../hooks/useFocusNavigation'; export type AccordionVariant = 'text' | 'pills' | 'grouped' | 'segmented'; export type AccordionConfig = { /** Keyboard focus controller shared with the item headers. */ nav?: ReturnType; variant?: AccordionVariant; density?: ElementDensity; elevation?: ElementElevation; showIcon?: boolean; font?: ElementFont; border?: ElementBorder; borderColor?: BorderColor; shape?: ElementShape; animation?: ElementAnimation; color?: BaseColor; disabled?: boolean; }; /** * Props for {@link Accordion}. * * @category Accordion */ export interface AccordionProps extends Omit { /** Accordion behavior mode. Default: 'single'. */ type?: 'single' | 'multiple'; /** Controlled value(s) of the expanded items. */ value?: string | string[]; /** Initially expanded value(s) for uncontrolled usage. */ defaultValue?: string | string[]; /** Called whenever the expanded items change. */ onChange?: (values: string[]) => void; /** Accordion items. */ children: ReactNode; variant: AccordionVariant; elevation?: ElementElevation; density?: ElementDensity; showIcon?: boolean; border?: ElementBorder; borderColor?: BorderColor; font?: ElementFont; animation?: ElementAnimation; } /** * Container component that manages accordion selection state. * * Uses shared selection behavior and provides it * to child components through SelectionContext. * * @function * * @category Accordion */ export declare const Accordion: ({ type, value, defaultValue, onChange, variant, children, density, border, borderColor, elevation, showIcon, font, shape, animation, color, disabled, }: AccordionProps) => import("react/jsx-runtime").JSX.Element;