import * as React from "react";
import { BoxHTMLProps, BoxOptions } from "reakit";
import { DisclosureStateReturn } from "./DisclosureState";
export declare type DisclosureCollapseContentOptions = BoxOptions & Pick<DisclosureStateReturn, "baseId" | "visible"> & {
    /**
     * Direction of the transition.
     *
     * @default vertical
     */
    direction: "vertical" | "horizontal";
    /**
     * Size of the content.
     *
     * @default 0
     */
    contentSize: number;
    /**
     * Duration of the transition.
     * By default the duration is calculated based on the size of change.
     */
    duration?: number;
    /**
     * Transition Easing.
     *
     * @default cubic-bezier(0.4, 0, 0.2, 1)
     */
    easing: string;
    /**
     * Callback called before the expand transition starts.
     */
    onExpandStart?: () => void;
    /**
     * Callback called after the expand transition ends.
     */
    onExpandEnd?: () => void;
    /**
     * Callback called before the collapse transition starts.
     */
    onCollapseStart?: () => void;
    /**
     * Callback called after the collapse transition ends..
     */
    onCollapseEnd?: () => void;
};
export declare type DisclosureCollapseContentHTMLProps = BoxHTMLProps;
export declare type DisclosureCollapseContentProps = DisclosureCollapseContentOptions & DisclosureCollapseContentHTMLProps;
export declare const disclosureCollapseComposableContent: (newOptions?: import("../system").CreateHook<DisclosureCollapseContentOptions, BoxHTMLProps> | undefined) => {
    (options?: DisclosureCollapseContentOptions | undefined, htmlProps?: BoxHTMLProps | undefined, unstable_ignoreUseOptions?: boolean | undefined): BoxHTMLProps;
    unstable_propsAreEqual: (prev: BoxOptions & Pick<DisclosureStateReturn, "baseId" | "visible"> & {
        /**
         * Direction of the transition.
         *
         * @default vertical
         */
        direction: "vertical" | "horizontal";
        /**
         * Size of the content.
         *
         * @default 0
         */
        contentSize: number;
        /**
         * Duration of the transition.
         * By default the duration is calculated based on the size of change.
         */
        duration?: number | undefined;
        /**
         * Transition Easing.
         *
         * @default cubic-bezier(0.4, 0, 0.2, 1)
         */
        easing: string;
        /**
         * Callback called before the expand transition starts.
         */
        onExpandStart?: (() => void) | undefined;
        /**
         * Callback called after the expand transition ends.
         */
        onExpandEnd?: (() => void) | undefined;
        /**
         * Callback called before the collapse transition starts.
         */
        onCollapseStart?: (() => void) | undefined;
        /**
         * Callback called after the collapse transition ends..
         */
        onCollapseEnd?: (() => void) | undefined;
    } & React.HTMLAttributes<any> & React.RefAttributes<any> & {
        wrapElement?: ((element: React.ReactNode) => React.ReactNode) | undefined;
    }, next: BoxOptions & Pick<DisclosureStateReturn, "baseId" | "visible"> & {
        /**
         * Direction of the transition.
         *
         * @default vertical
         */
        direction: "vertical" | "horizontal";
        /**
         * Size of the content.
         *
         * @default 0
         */
        contentSize: number;
        /**
         * Duration of the transition.
         * By default the duration is calculated based on the size of change.
         */
        duration?: number | undefined;
        /**
         * Transition Easing.
         *
         * @default cubic-bezier(0.4, 0, 0.2, 1)
         */
        easing: string;
        /**
         * Callback called before the expand transition starts.
         */
        onExpandStart?: (() => void) | undefined;
        /**
         * Callback called after the expand transition ends.
         */
        onExpandEnd?: (() => void) | undefined;
        /**
         * Callback called before the collapse transition starts.
         */
        onCollapseStart?: (() => void) | undefined;
        /**
         * Callback called after the collapse transition ends..
         */
        onCollapseEnd?: (() => void) | undefined;
    } & React.HTMLAttributes<any> & React.RefAttributes<any> & {
        wrapElement?: ((element: React.ReactNode) => React.ReactNode) | undefined;
    }) => boolean;
    __keys: readonly any[];
    __useOptions: (options: DisclosureCollapseContentOptions, htmlProps: BoxHTMLProps) => DisclosureCollapseContentOptions;
};
export declare const useDisclosureCollapseContent: {
    (options?: DisclosureCollapseContentOptions | undefined, htmlProps?: BoxHTMLProps | undefined, unstable_ignoreUseOptions?: boolean | undefined): BoxHTMLProps;
    unstable_propsAreEqual: (prev: BoxOptions & Pick<DisclosureStateReturn, "baseId" | "visible"> & {
        /**
         * Direction of the transition.
         *
         * @default vertical
         */
        direction: "vertical" | "horizontal";
        /**
         * Size of the content.
         *
         * @default 0
         */
        contentSize: number;
        /**
         * Duration of the transition.
         * By default the duration is calculated based on the size of change.
         */
        duration?: number | undefined;
        /**
         * Transition Easing.
         *
         * @default cubic-bezier(0.4, 0, 0.2, 1)
         */
        easing: string;
        /**
         * Callback called before the expand transition starts.
         */
        onExpandStart?: (() => void) | undefined;
        /**
         * Callback called after the expand transition ends.
         */
        onExpandEnd?: (() => void) | undefined;
        /**
         * Callback called before the collapse transition starts.
         */
        onCollapseStart?: (() => void) | undefined;
        /**
         * Callback called after the collapse transition ends..
         */
        onCollapseEnd?: (() => void) | undefined;
    } & React.HTMLAttributes<any> & React.RefAttributes<any> & {
        wrapElement?: ((element: React.ReactNode) => React.ReactNode) | undefined;
    }, next: BoxOptions & Pick<DisclosureStateReturn, "baseId" | "visible"> & {
        /**
         * Direction of the transition.
         *
         * @default vertical
         */
        direction: "vertical" | "horizontal";
        /**
         * Size of the content.
         *
         * @default 0
         */
        contentSize: number;
        /**
         * Duration of the transition.
         * By default the duration is calculated based on the size of change.
         */
        duration?: number | undefined;
        /**
         * Transition Easing.
         *
         * @default cubic-bezier(0.4, 0, 0.2, 1)
         */
        easing: string;
        /**
         * Callback called before the expand transition starts.
         */
        onExpandStart?: (() => void) | undefined;
        /**
         * Callback called after the expand transition ends.
         */
        onExpandEnd?: (() => void) | undefined;
        /**
         * Callback called before the collapse transition starts.
         */
        onCollapseStart?: (() => void) | undefined;
        /**
         * Callback called after the collapse transition ends..
         */
        onCollapseEnd?: (() => void) | undefined;
    } & React.HTMLAttributes<any> & React.RefAttributes<any> & {
        wrapElement?: ((element: React.ReactNode) => React.ReactNode) | undefined;
    }) => boolean;
    __keys: readonly any[];
    __useOptions: (options: DisclosureCollapseContentOptions, htmlProps: BoxHTMLProps) => DisclosureCollapseContentOptions;
};
export declare const DisclosureCollapseContent: import("reakit-system").Component<"div", BoxOptions & Pick<DisclosureStateReturn, "baseId" | "visible"> & {
    /**
     * Direction of the transition.
     *
     * @default vertical
     */
    direction: "vertical" | "horizontal";
    /**
     * Size of the content.
     *
     * @default 0
     */
    contentSize: number;
    /**
     * Duration of the transition.
     * By default the duration is calculated based on the size of change.
     */
    duration?: number | undefined;
    /**
     * Transition Easing.
     *
     * @default cubic-bezier(0.4, 0, 0.2, 1)
     */
    easing: string;
    /**
     * Callback called before the expand transition starts.
     */
    onExpandStart?: (() => void) | undefined;
    /**
     * Callback called after the expand transition ends.
     */
    onExpandEnd?: (() => void) | undefined;
    /**
     * Callback called before the collapse transition starts.
     */
    onCollapseStart?: (() => void) | undefined;
    /**
     * Callback called after the collapse transition ends..
     */
    onCollapseEnd?: (() => void) | undefined;
} & React.HTMLAttributes<any> & React.RefAttributes<any> & {
    wrapElement?: ((element: React.ReactNode) => React.ReactNode) | undefined;
}>;
