import * as React from "react";
import { DisclosureHTMLProps, DisclosureOptions } from "../disclosure";
import { DialogStateReturn } from "./DialogState";
export declare type DialogDisclosureOptions = DisclosureOptions & Pick<Partial<DialogStateReturn>, "disclosureRef">;
export declare type DialogDisclosureHTMLProps = DisclosureHTMLProps;
export declare type DialogDisclosureProps = DialogDisclosureOptions & DialogDisclosureHTMLProps;
export declare const useDialogDisclosure: {
    (options?: DialogDisclosureOptions | undefined, htmlProps?: import("reakit/ts").ButtonHTMLProps | undefined, unstable_ignoreUseOptions?: boolean | undefined): import("reakit/ts").ButtonHTMLProps;
    unstable_propsAreEqual: (prev: import("reakit/ts").RoleOptions & {
        disabled?: boolean | undefined;
        focusable?: boolean | undefined;
    } & {
        unstable_clickOnEnter?: boolean | undefined;
        unstable_clickOnSpace?: boolean | undefined;
    } & Pick<import("../disclosure").DisclosureStateReturn, "baseId" | "visible" | "toggle"> & Pick<Partial<DialogStateReturn>, "disclosureRef"> & React.HTMLAttributes<any> & React.RefAttributes<any> & {
        wrapElement?: ((element: React.ReactNode) => React.ReactNode) | undefined;
    } & {
        disabled?: boolean | undefined;
    } & React.ButtonHTMLAttributes<any>, next: import("reakit/ts").RoleOptions & {
        disabled?: boolean | undefined;
        focusable?: boolean | undefined;
    } & {
        unstable_clickOnEnter?: boolean | undefined;
        unstable_clickOnSpace?: boolean | undefined;
    } & Pick<import("../disclosure").DisclosureStateReturn, "baseId" | "visible" | "toggle"> & Pick<Partial<DialogStateReturn>, "disclosureRef"> & React.HTMLAttributes<any> & React.RefAttributes<any> & {
        wrapElement?: ((element: React.ReactNode) => React.ReactNode) | undefined;
    } & {
        disabled?: boolean | undefined;
    } & React.ButtonHTMLAttributes<any>) => boolean;
    __keys: readonly any[];
    __useOptions: (options: DialogDisclosureOptions, htmlProps: import("reakit/ts").ButtonHTMLProps) => DialogDisclosureOptions;
};
export declare const DialogDisclosure: import("../system").Component<"button", import("reakit/ts").RoleOptions & {
    disabled?: boolean | undefined;
    focusable?: boolean | undefined;
} & {
    unstable_clickOnEnter?: boolean | undefined;
    unstable_clickOnSpace?: boolean | undefined;
} & Pick<import("../disclosure").DisclosureStateReturn, "baseId" | "visible" | "toggle"> & Pick<Partial<DialogStateReturn>, "disclosureRef"> & React.HTMLAttributes<any> & React.RefAttributes<any> & {
    wrapElement?: ((element: React.ReactNode) => React.ReactNode) | undefined;
} & {
    disabled?: boolean | undefined;
} & React.ButtonHTMLAttributes<any>>;
