import type * as React from 'react'; import { Accordion as AccordionBase, AccordionContent as AccordionContentBase, AccordionItem as AccordionItemBase, AccordionTrigger as AccordionTriggerBase } from '../../../ui/accordion.js'; /** Value type for accordion items - can be string or number */ export type AccordionValue = string | number; export interface AccordionProps extends Omit, 'onValueChange'> { /** Controlled expanded items. When provided, component is controlled. */ value?: AccordionValue[]; /** Initial expanded items for uncontrolled mode */ defaultValue?: AccordionValue[]; /** Callback when expanded items change */ onValueChange?: (value: AccordionValue[]) => void; /** Allow multiple items to be expanded at once */ multiple?: boolean; } export type AccordionItemProps = React.ComponentProps; export interface AccordionTriggerProps extends React.ComponentProps { /** Indicator used to communicate the expanded state. */ indicator?: 'chevron' | 'plus-minus'; /** Position of the expand/collapse indicator. */ indicatorPosition?: 'start' | 'end'; } export type AccordionContentProps = React.ComponentProps; declare function Accordion({ value: controlledValue, defaultValue, onValueChange, multiple, children, ...props }: AccordionProps): React.JSX.Element; declare function AccordionItem(props: AccordionItemProps): React.JSX.Element; declare namespace AccordionItem { var displayName: string; } declare function AccordionTrigger({ children, className, indicator, indicatorPosition, ...props }: AccordionTriggerProps): React.JSX.Element; declare namespace AccordionTrigger { var displayName: string; } declare function AccordionContent({ className, ...props }: AccordionContentProps): React.JSX.Element; declare namespace AccordionContent { var displayName: string; } /** * Accordion compound component with dot notation access to sub-components. * * @example * ```tsx * * * Section 1 * Content 1 * * * ``` */ declare const AccordionCompound: typeof Accordion & { Root: typeof Accordion; Item: typeof AccordionItem; Trigger: typeof AccordionTrigger; Content: typeof AccordionContent; }; export { AccordionCompound as Accordion, AccordionContent, AccordionItem, AccordionTrigger, };