import { default as React, ReactNode } from 'react';
import { BaseProps } from '../../../libraries/common-types/src/common-types';
import { HeadingTagType } from '../../heading/src/heading';
export type AccordionItemOnClickEvent = React.MouseEvent<HTMLButtonElement, MouseEvent> & {
    currentTarget: {
        dataset: {
            state: "open" | "closed";
        };
    };
};
export type AccordionItemProps = Omit<BaseProps, "onClick" | "title" | "children"> & {
    children: ReactNode;
    /**
     * If true, the children will take the full width without max-width constraint.
     * @default false
     */
    fullWidth?: boolean;
    /**
     * Content to be rendered inside a `button` element.
     * Only pass ReactNodes that are valid as children of a `button`, such as plain text,
     * inline elements like `span` or other non-interactive elements. Avoid block-level or interactive elements.
     */
    title: ReactNode;
    /**
     * This is the heading tag used for the accordion item title. Defaults to h3.
     * `type HeadingTagType = "h1" | "h2" | "h3" | "h4" | "h5" | "h6"`
     */
    titleTag?: HeadingTagType;
    /**
     * Makes it possible to set the initial state to opened
     * */
    initialOpen?: boolean;
    /**
     * onClick is called when accordion item is expanded or collapsed
     * event.currentTarget.dataset.state will be either "open" or "closed"
     */
    onClick?: (event: AccordionItemOnClickEvent) => void;
    onOpen?: () => void;
    onClose?: () => void;
};
export declare const AccordionItem: ({ children, className, fullWidth, title, titleTag, initialOpen, onClick, onOpen, onClose, ...props }: AccordionItemProps) => React.JSX.Element;
//# sourceMappingURL=accordion-item.d.ts.map