import type * as React from 'react';
import { Accordion as AccordionBase, AccordionContent, AccordionItem, AccordionTrigger } from '@/components/ui/accordion';
/** Value type for accordion items - can be string or number */
export type AccordionValue = string | number;
export interface AccordionProps extends Omit<React.ComponentProps<typeof AccordionBase>, '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;
}
declare function Accordion({ value: controlledValue, defaultValue, onValueChange, multiple, children, ...props }: AccordionProps): import("react/jsx-runtime").JSX.Element;
declare namespace Accordion {
    var displayName: string;
}
/**
 * Accordion compound component with dot notation access to sub-components.
 *
 * @example
 * ```tsx
 * <Accordion>
 *   <Accordion.Item value="item-1">
 *     <Accordion.Trigger>Section 1</Accordion.Trigger>
 *     <Accordion.Content>Content 1</Accordion.Content>
 *   </Accordion.Item>
 * </Accordion>
 * ```
 */
declare const AccordionCompound: typeof Accordion & {
    Root: typeof Accordion;
    Item: typeof AccordionItem;
    Trigger: typeof AccordionTrigger;
    Content: typeof AccordionContent;
};
export type AccordionItemProps = React.ComponentProps<typeof AccordionItem>;
export type AccordionTriggerProps = React.ComponentProps<typeof AccordionTrigger>;
export type AccordionContentProps = React.ComponentProps<typeof AccordionContent>;
export { AccordionCompound as Accordion, AccordionContent, AccordionItem, AccordionTrigger, };
