import { AriaLabelingProps, DOMProps, DOMRefValue, GlobalDOMAttributes } from '@react-types/shared';
import { ContextValue } from 'react-aria-components/slots';
import { DisclosurePanelProps as RACDisclosurePanelProps, DisclosureProps as RACDisclosureProps } from 'react-aria-components/Disclosure';
import { StyleProps, UnsafeStyles } from './style-utils';
import React, { ReactNode } from 'react';
export interface DisclosureProps extends Omit<RACDisclosureProps, 'className' | 'style' | 'render' | 'children' | keyof GlobalDOMAttributes>, StyleProps {
    /**
     * The size of the disclosure.
     * @default 'M'
     */
    size?: 'S' | 'M' | 'L' | 'XL';
    /**
     * The amount of space between the disclosures.
     * @default 'regular'
     */
    density?: 'compact' | 'regular' | 'spacious';
    /** Whether the disclosure should be displayed with a quiet style. */
    isQuiet?: boolean;
    /** The contents of the disclosure, consisting of a DisclosureTitle and DisclosurePanel. */
    children: ReactNode;
}
export declare const DisclosureContext: React.Context<ContextValue<Partial<DisclosureProps>, DOMRefValue<HTMLDivElement>>>;
/**
 * A disclosure is a collapsible section of content. It is composed of a header with a heading and trigger button, and a panel that contains the content.
 */
export declare const Disclosure: React.ForwardRefExoticComponent<DisclosureProps & React.RefAttributes<DOMRefValue<HTMLDivElement>>>;
export interface DisclosureTitleProps extends UnsafeStyles, DOMProps {
    /** The heading level of the disclosure header.
     *
     * @default 3
     */
    level?: number;
    /** The contents of the disclosure header. */
    children: React.ReactNode;
}
interface DisclosureHeaderProps extends UnsafeStyles, DOMProps {
    children: React.ReactNode;
}
/**
 * A wrapper element for the disclosure title that can contain other elements not part of the trigger.
 */
export declare const DisclosureHeader: (props: DisclosureHeaderProps & React.RefAttributes<DOMRefValue<HTMLDivElement>>) => React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | null;
/**
 * A disclosure title consisting of a heading and a trigger button to expand/collapse the panel.
 */
export declare const DisclosureTitle: React.ForwardRefExoticComponent<DisclosureTitleProps & React.RefAttributes<DOMRefValue<HTMLDivElement>>>;
export interface DisclosurePanelProps extends Omit<RACDisclosurePanelProps, 'className' | 'style' | 'render' | 'children'>, UnsafeStyles, DOMProps, AriaLabelingProps {
    children: React.ReactNode;
}
/**
 * A disclosure panel is a collapsible section of content that is hidden until the disclosure is expanded.
 */
export declare const DisclosurePanel: React.ForwardRefExoticComponent<DisclosurePanelProps & React.RefAttributes<DOMRefValue<HTMLDivElement>>>;
export {};
