import React, { HTMLAttributes } from "react";
import { AnchoredTooltipAlignment, AnchoredTooltipAnchor } from "../AnchoredTooltip/AnchoredTooltip";
declare class _CollapsableInterface {
    _id: string;
    constructor(id: string);
    _getElements(): {
        header: HTMLElement | null;
        content: HTMLElement | null;
    };
    open(onOpened: () => void): void;
    getElement(type: "header" | "content"): HTMLDivElement | null;
}
/**
 * A helper function for interacting with collapsables without a reference
 */
export declare function CollapsableInterface(id: string): _CollapsableInterface;
/**
 * Allows collapsing and expanding the wrapped content
 **/
declare const Collapsable: React.ForwardRefExoticComponent<(React.PropsWithChildren<{
    title: React.ReactNode | ((isOpen: boolean) => React.ReactNode);
    className?: string | undefined;
    contentClassName?: string | undefined;
    onToggleOpen?: ((isOpen: boolean) => void) | undefined;
    open?: boolean | undefined;
    id?: string | undefined;
    "data-testid"?: string | undefined;
    onContentClick?: HTMLAttributes<HTMLInputElement>["onClick"];
    /**
     * This flag indicates if the collapsable content should be kept in HTML while it's collapsed
     *
     * Usefull for responsive layouts where the collapsable should not "behave" as a collapsable content
     */
    keepUnderlayingElement?: boolean | undefined;
    /**
     * To detect when the user clicks out of the container
     */
    onClickOut?: (() => void) | undefined;
} & ({
    /** This will define if the content will be floating under the title or will expand all the container as one */
    mode?: "block" | undefined;
} | {
    mode: "float";
    alignTo: AnchoredTooltipAlignment;
    anchorTo?: AnchoredTooltipAnchor | undefined;
})> & Omit<React.HTMLAttributes<HTMLDivElement>, "title">) & React.RefAttributes<{
    redimension: () => void;
}>>;
/**
 * A component that lets users hide or show content by clicking a header.
 * It creates a toggleable section where content can be expanded to show more
 * information or collapsed to save space.
 **/
export default Collapsable;
