import React from 'react';
import { ListVariant } from './ListContext';
import { ItemContentProps } from './ItemContent';
import type { IconIcon } from '../icon/Icon';
export type ItemAccordionIconPosition = 'left' | 'right';
export type ItemAccordionProps = {
    variant?: ListVariant;
    open?: boolean;
    /**
     * When true, keeps the accordion content in the DOM when closed. Defaults to false.
     */
    keepInDOM?: boolean;
    /**
     * When true, the accordion is visually dimmed and interaction is prevented.
     */
    disabled?: boolean;
    /**
     * Called when the accordion open state changes. Receives an object with the `expanded` state.
     */
    onChange?: (args: {
        expanded: boolean;
    }) => void;
    chevronPosition?: ItemAccordionIconPosition;
    icon?: IconIcon;
    title?: React.ReactNode;
    id?: string;
} & Omit<ItemContentProps, 'title'>;
declare function ItemAccordion(props: ItemAccordionProps): import("react/jsx-runtime").JSX.Element;
declare namespace ItemAccordion {
    var _supportsSpacingProps: boolean;
    var Header: typeof AccordionHeader;
    var Content: typeof AccordionContent;
}
export type AccordionHeaderProps = {
    onClick?: (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;
} & ItemContentProps;
declare function AccordionHeader(props: AccordionHeaderProps): import("react/jsx-runtime").JSX.Element;
declare namespace AccordionHeader {
    var _supportsSpacingProps: boolean;
}
declare function AccordionContent(props: ItemContentProps): import("react/jsx-runtime").JSX.Element;
declare namespace AccordionContent {
    var _supportsSpacingProps: boolean;
}
export default ItemAccordion;
