import { default as React } from 'react';
import { TrackingAttributes } from '../../utils/analytics/googleAnalyticsUtils';
export type ExpanderListItem = {
    /**
     * The "id" property is used to know which item is expanded. It will also be used to control
     * the component from the outside. It can be a number or a string. If there is no "id" provided,
     * a unique id is internally generated  which will be used internally for the uncontrolled case.'
     */
    id?: string | number;
    /**
     * The header content.
     */
    header: string | React.ReactNode;
    /**
     * The body content. If there is no "body" provided, the list item is not expandable.
     */
    body?: string | React.ReactNode;
    /**
     * Defines if the item will be expanded or closed by default.
     */
    open?: boolean;
    /**
     * Callback fired when item toggles to open after a click.
     */
    onOpen?: VoidFunction;
    /**
     * Callback fired when item toggles to close after a click.
     */
    onClose?: VoidFunction;
    /**
     * Additional classes to be set on "expander-list-header" node.
     */
    headerClassName?: string;
    /**
     * Additional classes to be set on "expander-list-body" node.
     */
    bodyClassName?: string;
    /**
     * Additional classes to be set on list item node.
     */
    className?: string;
    /**
     * Optional tracking attributes (e.g. from `getTrackingAttributes`) added to the item header element.
     */
    trackingAttributes?: TrackingAttributes;
};
export type ExpanderListProps = {
    /**
     * List of items to be rendered. The expanded state can be defined via the items `open` prop.
     */
    items: ExpanderListItem[];
    /**
     * Defines whether the "expander-list-body" is rounded or not.
     *
     * @default true
     */
    rounded?: boolean;
    /**
     * Defines whether the "expander-list-body" has a border or not.
     *
     * @default true
     */
    bordered?: boolean;
    /**
     * It unmounts the body component (remove it from the DOM) when it is collapsed.
     * Set it to false to avoid the unmount.
     *
     * @default true
     */
    unmountOnExit?: boolean;
    /**
     * Additional classes to be set on the unordered list itself.
     */
    className?: string;
};
declare const ExpanderList: (props: ExpanderListProps) => import("react/jsx-runtime").JSX.Element;
export default ExpanderList;
