import { ReactNode } from 'react';
export type AccordionItem<T> = T & {
    id?: string;
};
export type AccordionProps<T> = {
    items: AccordionItem<T>[];
    renderHeading: (item: AccordionItem<T>, isOpen: boolean) => ReactNode;
    renderContent: (item: AccordionItem<T>, isOpen: boolean) => ReactNode;
    renderToggleIcon?: (isOpen: boolean) => ReactNode;
    panelClassName?: string;
    panelHeadingClassName?: string;
    panelContentClassName?: string;
    panelButtonClassName?: string;
    idKey?: keyof T | string;
};
export declare const Accordion: <T>({ items, renderHeading, renderContent, renderToggleIcon, panelClassName, panelHeadingClassName, panelContentClassName, panelButtonClassName, idKey, }: AccordionProps<T>) => import("react/jsx-runtime").JSX.Element;
