import { ReactNode } from 'react';
import { IconType } from '../../utils/icon-utils';
type AccordionProps = {
    /**
     * @remarks Prefer using a string value for better compatibility with URL state synchronization and tracking callbacks.
     * ReactNode is supported for internal use only.
     */
    title: ReactNode;
    description?: string;
    defaultOpen: boolean;
    icon?: ReactNode | string;
    iconType?: IconType;
    children: ReactNode;
    className?: string;
    _disabled?: boolean;
    trackOpen?: (event: {
        title: string;
    }) => void;
    trackClose?: (event: {
        title: string;
    }) => void;
    onMount?: () => void;
    topOffset?: string;
    getInitialOpenFromUrl?: (id: string, parentIds: string[]) => boolean;
    onUrlStateChange?: (isOpen: boolean, id: string | undefined, parentIds: string[]) => void;
    /**
     * Custom keyboard event handler for the accordion.
     * @remarks For internal use.
     */
    _onKeyDownCapture?: (e: React.KeyboardEvent<HTMLDetailsElement>) => void;
};
declare const Accordion: ({ title, description, defaultOpen, icon, iconType, children, className, _disabled, trackOpen, trackClose, onMount, topOffset, getInitialOpenFromUrl, onUrlStateChange, _onKeyDownCapture, }: AccordionProps) => import("react/jsx-runtime").JSX.Element;
export { Accordion };
export type { AccordionProps };
//# sourceMappingURL=accordion.d.ts.map