import type { ReactNode, RefAttributes } from "react";
import type { DOMProps } from "../../types";
import type { AccordionElementType, AccordionLinkElementType } from "./AccordionLink";
import "./Accordion.css";
export interface AccordionProps extends DOMProps, RefAttributes<AccordionElementType> {
    /** Custom class name for setting specific CSS */
    className?: string;
    /** Link text to show accordion content */
    showText?: string | ReactNode;
    /** Link text to hide accordion content */
    hideText?: string | ReactNode;
    /** Whether header is above or below content */
    headerPosition?: "top" | "bottom";
    /** Whether to expand the accordion initially */
    startOpen?: boolean | undefined;
    /** Semantic heading for title link (default is span) */
    linkElementType?: AccordionLinkElementType;
    /** Callback that fires when the accordion link is clicked (fires before toggle) */
    onClick?: (e?: React.MouseEvent) => void;
    /** Callback that fires each time the accordion is opened */
    onOpen?: () => void;
    /** Callback that fires each time the accordion is closed */
    onClose?: () => void;
    /** Callback that fires each time the accordion state changes */
    onChange?: (state: boolean) => void;
    children?: ReactNode;
    headerChildren?: ReactNode;
}
export declare function Accordion({ ref, ...props }: AccordionProps): import("react/jsx-runtime").JSX.Element;
export declare namespace Accordion {
    var displayName: string;
}
