import React from "react";
import type { AkselStatusColorRole } from "@navikt/ds-tokens/types";
import type { AkselColor } from "../types/index.js";
import AccordionContent, { type AccordionContentProps } from "./AccordionContent.js";
import AccordionHeader, { type AccordionHeaderProps } from "./AccordionHeader.js";
import AccordionItem, { type AccordionItemProps } from "./AccordionItem.js";
interface AccordionComponent extends React.ForwardRefExoticComponent<AccordionProps & React.RefAttributes<HTMLDivElement>> {
    /**
     * @see 🏷️ {@link AccordionItemProps}
     */
    Item: typeof AccordionItem;
    /**
     * @see 🏷️ {@link AccordionHeaderProps}
     */
    Header: typeof AccordionHeader;
    /**
     * @see 🏷️ {@link AccordionContentProps}
     */
    Content: typeof AccordionContent;
}
interface AccordionProps extends React.HTMLAttributes<HTMLDivElement> {
    /**
     * @deprecated Will be removed in a future major version. Use `data-color` instead.
     */
    variant?: "default" | "neutral";
    /**
     * @default "medium"
     */
    size?: "large" | "medium" | "small";
    /**
     * Whether to indent content or not.
     * @default true
     */
    indent?: boolean;
    /**
     * Instances of `Accordion.Item`.
     */
    children: React.ReactNode;
    /**
     * @deprecated No longer has any effect.
     */
    headingSize?: "large" | "medium" | "small" | "xsmall";
    /**
     * Overrides inherited color.
     *
     * We recommend only using `accent` and `neutral`. We have disallowed status-colors.
     * @see 🏷️ {@link AkselColor}
     * @see [📝 Documentation](https://aksel.nav.no/grunnleggende/styling/farger-tokens)
     */
    "data-color"?: Exclude<AkselColor, AkselStatusColorRole>;
    /**
     * Changes the HTML element used for the root element.
     *
     * **When using `section`, provide either `aria-label` or `aria-labelledby` for better accessibility.**
     * `axe-core` might warn about unique landmarks if you have multiple Accordions on page with the same label.
     * In those cases consider updating to unique `aria-label` or `aria-labelledby` props.
     * @see [📝 Landmarks unique](https://dequeuniversity.com/rules/axe/4.6/landmark-unique)
     * @default "div"
     */
    as?: "div" | "section";
}
/**
 * A component that displays collapsible content sections.
 *
 * @see [📝 Documentation](https://aksel.nav.no/komponenter/core/accordion)
 * @see 🏷️ {@link AccordionProps}
 *
 * @example
 * ```jsx
 * <Accordion>
 *   <Accordion.Item>
 *     <Accordion.Header>Section 1</Accordion.Header>
 *     <Accordion.Content>Content 1</Accordion.Content>
 *   </Accordion.Item>
 *   <Accordion.Item>
 *     <Accordion.Header>Section 2</Accordion.Header>
 *     <Accordion.Content>Content 2</Accordion.Content>
 *   </Accordion.Item>
 * </Accordion>
 * ```
 */
export declare const Accordion: AccordionComponent;
export default Accordion;
export { AccordionItem, AccordionHeader, AccordionContent };
export type { AccordionProps, AccordionItemProps, AccordionHeaderProps, AccordionContentProps, };
