import type { App } from 'vue';
import type { ArcoOptions } from '../_utils/types';
import _Radio from './radio';
import _RadioGroup from './radio-group';
declare const Radio: {
    new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
        modelValue: {
            type: import("vue").PropType<string | number | boolean>;
            default: undefined;
        };
        defaultChecked: {
            type: BooleanConstructor;
            default: boolean;
        };
        value: {
            type: import("vue").PropType<string | number | boolean>;
            default: boolean;
        };
        type: {
            type: import("vue").PropType<"button" | "radio">;
            default: string;
        };
        disabled: {
            type: BooleanConstructor;
            default: boolean;
        };
        uninjectGroupContext: {
            type: BooleanConstructor;
            default: boolean;
        };
    }>> & Readonly<{
        onChange?: ((value: string | number | boolean, ev: Event) => any) | undefined;
        "onUpdate:modelValue"?: ((value: string | number | boolean) => any) | undefined;
    }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
        'update:modelValue': (value: string | number | boolean) => true;
        change: (value: string | number | boolean, ev: Event) => true;
    }, import("vue").PublicProps, {
        type: "button" | "radio";
        disabled: boolean;
        value: string | number | boolean;
        modelValue: string | number | boolean;
        defaultChecked: boolean;
        uninjectGroupContext: boolean;
    }, true, {}, {}, {
        IconHover: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
            prefix: {
                type: StringConstructor;
            };
            size: {
                type: import("vue").PropType<"mini" | "small" | "medium" | "large">;
                default: string;
            };
            disabled: {
                type: BooleanConstructor;
                default: boolean;
            };
        }>, {
            prefixCls: string;
        }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
            prefix: {
                type: StringConstructor;
            };
            size: {
                type: import("vue").PropType<"mini" | "small" | "medium" | "large">;
                default: string;
            };
            disabled: {
                type: BooleanConstructor;
                default: boolean;
            };
        }>> & Readonly<{}>, {
            size: "mini" | "small" | "medium" | "large";
            disabled: boolean;
        }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
    } & import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly<import("vue").ExtractPropTypes<{
        modelValue: {
            type: import("vue").PropType<string | number | boolean>;
            default: undefined;
        };
        defaultChecked: {
            type: BooleanConstructor;
            default: boolean;
        };
        value: {
            type: import("vue").PropType<string | number | boolean>;
            default: boolean;
        };
        type: {
            type: import("vue").PropType<"button" | "radio">;
            default: string;
        };
        disabled: {
            type: BooleanConstructor;
            default: boolean;
        };
        uninjectGroupContext: {
            type: BooleanConstructor;
            default: boolean;
        };
    }>> & Readonly<{
        onChange?: ((value: string | number | boolean, ev: Event) => any) | undefined;
        "onUpdate:modelValue"?: ((value: string | number | boolean) => any) | undefined;
    }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, {
        type: "button" | "radio";
        disabled: boolean;
        value: string | number | boolean;
        modelValue: string | number | boolean;
        defaultChecked: boolean;
        uninjectGroupContext: boolean;
    }>;
    __isFragment?: undefined;
    __isTeleport?: undefined;
    __isSuspense?: undefined;
} & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
    modelValue: {
        type: import("vue").PropType<string | number | boolean>;
        default: undefined;
    };
    defaultChecked: {
        type: BooleanConstructor;
        default: boolean;
    };
    value: {
        type: import("vue").PropType<string | number | boolean>;
        default: boolean;
    };
    type: {
        type: import("vue").PropType<"button" | "radio">;
        default: string;
    };
    disabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    uninjectGroupContext: {
        type: BooleanConstructor;
        default: boolean;
    };
}>> & Readonly<{
    onChange?: ((value: string | number | boolean, ev: Event) => any) | undefined;
    "onUpdate:modelValue"?: ((value: string | number | boolean) => any) | undefined;
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    'update:modelValue': (value: string | number | boolean) => true;
    change: (value: string | number | boolean, ev: Event) => true;
}, string, {
    type: "button" | "radio";
    disabled: boolean;
    value: string | number | boolean;
    modelValue: string | number | boolean;
    defaultChecked: boolean;
    uninjectGroupContext: boolean;
}, {}, string, {}, {
    IconHover: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
        prefix: {
            type: StringConstructor;
        };
        size: {
            type: import("vue").PropType<"mini" | "small" | "medium" | "large">;
            default: string;
        };
        disabled: {
            type: BooleanConstructor;
            default: boolean;
        };
    }>, {
        prefixCls: string;
    }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
        prefix: {
            type: StringConstructor;
        };
        size: {
            type: import("vue").PropType<"mini" | "small" | "medium" | "large">;
            default: string;
        };
        disabled: {
            type: BooleanConstructor;
            default: boolean;
        };
    }>> & Readonly<{}>, {
        size: "mini" | "small" | "medium" | "large";
        disabled: boolean;
    }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
} & import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & {
    Group: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
        modelValue: {
            type: import("vue").PropType<string | number | boolean>;
            default: undefined;
        };
        defaultValue: {
            type: import("vue").PropType<string | number | boolean>;
            default: string;
        };
        type: {
            type: import("vue").PropType<"button" | "radio">;
            default: string;
        };
        size: {
            type: import("vue").PropType<"mini" | "small" | "medium" | "large">;
        };
        options: {
            type: import("vue").PropType<(string | number | import("./interface").RadioOption)[]>;
        };
        direction: {
            type: import("vue").PropType<"horizontal" | "vertical">;
            default: string;
        };
        disabled: {
            type: BooleanConstructor;
            default: boolean;
        };
    }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
        'update:modelValue': (value: string | number | boolean) => true;
        change: (value: string | number | boolean, ev: Event) => true;
    }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
        modelValue: {
            type: import("vue").PropType<string | number | boolean>;
            default: undefined;
        };
        defaultValue: {
            type: import("vue").PropType<string | number | boolean>;
            default: string;
        };
        type: {
            type: import("vue").PropType<"button" | "radio">;
            default: string;
        };
        size: {
            type: import("vue").PropType<"mini" | "small" | "medium" | "large">;
        };
        options: {
            type: import("vue").PropType<(string | number | import("./interface").RadioOption)[]>;
        };
        direction: {
            type: import("vue").PropType<"horizontal" | "vertical">;
            default: string;
        };
        disabled: {
            type: BooleanConstructor;
            default: boolean;
        };
    }>> & Readonly<{
        onChange?: ((value: string | number | boolean, ev: Event) => any) | undefined;
        "onUpdate:modelValue"?: ((value: string | number | boolean) => any) | undefined;
    }>, {
        type: "button" | "radio";
        disabled: boolean;
        defaultValue: string | number | boolean;
        modelValue: string | number | boolean;
        direction: "horizontal" | "vertical";
    }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
    install: (app: App, options?: ArcoOptions | undefined) => void;
};
export declare type RadioInstance = InstanceType<typeof _Radio>;
export declare type RadioGroupInstance = InstanceType<typeof _RadioGroup>;
export { _RadioGroup as RadioGroup };
export default Radio;
