import * as React from "react";
import { CompositeItemOptions, CompositeItemHTMLProps } from "../Composite/CompositeItem";
import { RadioStateReturn } from "./RadioState";
export declare type RadioOptions = CompositeItemOptions & Pick<Partial<RadioStateReturn>, "state" | "setState"> & {
    /**
     * Same as the `value` attribute.
     */
    value: string | number;
    /**
     * Same as the `checked` attribute.
     */
    checked?: boolean;
    /**
     * @private
     */
    unstable_checkOnFocus?: boolean;
};
export declare type RadioHTMLProps = CompositeItemHTMLProps & React.InputHTMLAttributes<any>;
export declare type RadioProps = RadioOptions & RadioHTMLProps;
export declare const useRadio: {
    (options?: RadioOptions | undefined, htmlProps?: import("..").unstable_ComboboxHTMLProps | undefined, unstable_ignoreUseOptions?: boolean | undefined): import("..").unstable_ComboboxHTMLProps;
    unstable_propsAreEqual: (prev: import("..").RoleOptions & {
        disabled?: boolean | undefined;
        focusable?: boolean | undefined;
    } & {
        unstable_clickOnEnter?: boolean | undefined;
        unstable_clickOnSpace?: boolean | undefined;
    } & Pick<Partial<import("..").unstable_IdStateReturn>, "baseId" | "unstable_idCountRef"> & {
        id?: string | undefined;
    } & Pick<Partial<import("..").CompositeStateReturn>, "orientation" | "baseId" | "unstable_virtual" | "unstable_moves" | "unstable_hasActiveWidget"> & Pick<import("..").CompositeStateReturn, "down" | "up" | "next" | "first" | "last" | "currentId" | "items" | "registerItem" | "unregisterItem" | "previous" | "setCurrentId"> & Pick<Partial<RadioStateReturn>, "state" | "setState"> & {
        /**
         * Same as the `value` attribute.
         */
        value: string | number;
        /**
         * Same as the `checked` attribute.
         */
        checked?: boolean | undefined;
        /**
         * @private
         */
        unstable_checkOnFocus?: boolean | undefined;
    } & React.HTMLAttributes<any> & React.RefAttributes<any> & {
        wrapElement?: ((element: React.ReactNode) => React.ReactNode) | undefined;
    } & {
        disabled?: boolean | undefined;
    } & React.InputHTMLAttributes<any>, next: import("..").RoleOptions & {
        disabled?: boolean | undefined;
        focusable?: boolean | undefined;
    } & {
        unstable_clickOnEnter?: boolean | undefined;
        unstable_clickOnSpace?: boolean | undefined;
    } & Pick<Partial<import("..").unstable_IdStateReturn>, "baseId" | "unstable_idCountRef"> & {
        id?: string | undefined;
    } & Pick<Partial<import("..").CompositeStateReturn>, "orientation" | "baseId" | "unstable_virtual" | "unstable_moves" | "unstable_hasActiveWidget"> & Pick<import("..").CompositeStateReturn, "down" | "up" | "next" | "first" | "last" | "currentId" | "items" | "registerItem" | "unregisterItem" | "previous" | "setCurrentId"> & Pick<Partial<RadioStateReturn>, "state" | "setState"> & {
        /**
         * Same as the `value` attribute.
         */
        value: string | number;
        /**
         * Same as the `checked` attribute.
         */
        checked?: boolean | undefined;
        /**
         * @private
         */
        unstable_checkOnFocus?: boolean | undefined;
    } & React.HTMLAttributes<any> & React.RefAttributes<any> & {
        wrapElement?: ((element: React.ReactNode) => React.ReactNode) | undefined;
    } & {
        disabled?: boolean | undefined;
    } & React.InputHTMLAttributes<any>) => boolean;
    __keys: readonly any[];
    __useOptions: (options: RadioOptions, htmlProps: import("..").unstable_ComboboxHTMLProps) => RadioOptions;
};
export declare const Radio: import("reakit-system/ts/createComponent").Component<"input", RadioOptions>;
