import type { CSSProperties, ReactElement, ReactNode } from "react";
import React from "react";
interface DisclosureProps {
    /**
     * Child content that is manged by this component.
     */
    readonly children: ReactNode | ReactNode[];
    /**
     * Title for the disclosure pane.
     * If ReactElement[] is provided, it must be wrapped in a container element (not a Fragment).
     */
    readonly title: string | ReactElement | ReactElement[];
    /**
     * This sets the default open state of the disclosure.
     * By default the disclosure is closed.
     * For use when the component is being used as an Uncontrolled Component.
     * @default false
     */
    readonly defaultOpen?: boolean;
    /**
     * Callback that is called when the disclosure is toggled.
     */
    readonly onToggle?: (newOpened: boolean) => void;
    /**
     * Used to make the disclosure a Controlled Component.
     */
    readonly open?: boolean;
    /**
     * **Use at your own risk:** Custom classNames for specific elements. This should only be used as a
     * **last resort**. Using this may result in unexpected side effects.
     * More information in the [Customizing components Guide](https://atlantis.getjobber.com/guides/customizing-components).
     */
    readonly UNSAFE_className?: {
        container?: string;
        summary?: string;
        summaryWrap?: string;
        title?: {
            textStyle?: string;
        };
        icon?: {
            svg?: string;
            path?: string;
        };
        arrowIconWrapper?: string;
        content?: string;
    };
    /**
     * **Use at your own risk:** Custom style for specific elements. This should only be used as a
     * **last resort**. Using this may result in unexpected side effects.
     * More information in the [Customizing components Guide](https://atlantis.getjobber.com/guides/customizing-components).
     */
    readonly UNSAFE_style?: {
        container?: CSSProperties;
        summary?: CSSProperties;
        summaryWrap?: CSSProperties;
        title?: {
            textStyle?: CSSProperties;
        };
        icon?: {
            svg?: CSSProperties;
            path?: CSSProperties;
        };
        arrowIconWrapper?: CSSProperties;
        content?: CSSProperties;
    };
}
export declare function Disclosure({ children, title, defaultOpen, onToggle, open, UNSAFE_className, UNSAFE_style, }: DisclosureProps): React.JSX.Element;
export {};
