import * as React from "react";
import { RoleHTMLProps } from "../Role/Role";
import { unstable_IdStateReturn } from "./IdState";
export declare type unstable_IdOptions = Pick<Partial<unstable_IdStateReturn>, "baseId" | "unstable_idCountRef"> & {
    /**
     * Same as the HTML attribute.
     */
    id?: string;
};
export declare type unstable_IdHTMLProps = RoleHTMLProps;
export declare type unstable_IdProps = unstable_IdOptions & unstable_IdHTMLProps;
export declare const unstable_useId: {
    (options?: unstable_IdOptions | undefined, htmlProps?: RoleHTMLProps | undefined, unstable_ignoreUseOptions?: boolean | undefined): RoleHTMLProps;
    unstable_propsAreEqual: (prev: Pick<Partial<unstable_IdStateReturn>, "baseId" | "unstable_idCountRef"> & {
        /**
         * Same as the HTML attribute.
         */
        id?: string | undefined;
    } & React.HTMLAttributes<any> & React.RefAttributes<any> & {
        wrapElement?: ((element: React.ReactNode) => React.ReactNode) | undefined;
    }, next: Pick<Partial<unstable_IdStateReturn>, "baseId" | "unstable_idCountRef"> & {
        /**
         * Same as the HTML attribute.
         */
        id?: string | undefined;
    } & React.HTMLAttributes<any> & React.RefAttributes<any> & {
        wrapElement?: ((element: React.ReactNode) => React.ReactNode) | undefined;
    }) => boolean;
    __keys: readonly any[];
    __useOptions: (options: unstable_IdOptions, htmlProps: RoleHTMLProps) => unstable_IdOptions;
};
export declare const unstable_Id: import("reakit-system/ts/createComponent").Component<"div", unstable_IdOptions>;
