import type { CSSProperties, ExtractPropTypes } from 'vue';
import type { RadioChangeEvent, RadioGroupButtonStyle, RadioGroupOptionType } from './interface';
import { type CheckboxChangeEvent } from '../checkbox/interface';
declare const RadioGroupSizeTypes: readonly ["large", "default", "small"];
export type RadioGroupSize = (typeof RadioGroupSizeTypes)[number];
export type RadioGroupOption = RadioGroupOptionType;
export type RadioGroupChildOption = {
    label?: any;
    value: any;
    disabled?: boolean;
    style?: CSSProperties;
    className?: string;
    title?: string;
    id?: string;
    onChange?: (e: CheckboxChangeEvent) => void;
    required?: boolean;
};
export declare const radioGroupProps: () => {
    prefixCls: StringConstructor;
    value: import("vue-types").VueTypeValidableDef<any>;
    size: {
        type: import("vue").PropType<"default" | "small" | "large">;
        default: "default" | "small" | "large";
    };
    options: {
        type: import("vue").PropType<(string | number | RadioGroupChildOption)[]>;
        default: (string | number | RadioGroupChildOption)[];
    };
    disabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    name: StringConstructor;
    buttonStyle: {
        type: import("vue").PropType<RadioGroupButtonStyle>;
        default: RadioGroupButtonStyle;
    };
    id: StringConstructor;
    block: BooleanConstructor;
    optionType: {
        type: import("vue").PropType<RadioGroupOptionType>;
        default: RadioGroupOptionType;
    };
    onChange: {
        type: import("vue").PropType<(e: RadioChangeEvent) => void>;
        default: (e: RadioChangeEvent) => void;
    };
    'onUpdate:value': {
        type: import("vue").PropType<(val: any) => void>;
        default: (val: any) => void;
    };
    vertical: {
        type: BooleanConstructor;
        default: boolean;
    };
};
export type RadioGroupProps = Partial<ExtractPropTypes<ReturnType<typeof radioGroupProps>>>;
declare const _default: import("vue").DefineComponent<ExtractPropTypes<{
    prefixCls: StringConstructor;
    value: import("vue-types").VueTypeValidableDef<any>;
    size: {
        type: import("vue").PropType<"default" | "small" | "large">;
        default: "default" | "small" | "large";
    };
    options: {
        type: import("vue").PropType<(string | number | RadioGroupChildOption)[]>;
        default: (string | number | RadioGroupChildOption)[];
    };
    disabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    name: StringConstructor;
    buttonStyle: {
        type: import("vue").PropType<RadioGroupButtonStyle>;
        default: RadioGroupButtonStyle;
    };
    id: StringConstructor;
    block: BooleanConstructor;
    optionType: {
        type: import("vue").PropType<RadioGroupOptionType>;
        default: RadioGroupOptionType;
    };
    onChange: {
        type: import("vue").PropType<(e: RadioChangeEvent) => void>;
        default: (e: RadioChangeEvent) => void;
    };
    'onUpdate:value': {
        type: import("vue").PropType<(val: any) => void>;
        default: (val: any) => void;
    };
    vertical: {
        type: BooleanConstructor;
        default: boolean;
    };
}>, () => import("../_util/type").VueNode, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ExtractPropTypes<{
    prefixCls: StringConstructor;
    value: import("vue-types").VueTypeValidableDef<any>;
    size: {
        type: import("vue").PropType<"default" | "small" | "large">;
        default: "default" | "small" | "large";
    };
    options: {
        type: import("vue").PropType<(string | number | RadioGroupChildOption)[]>;
        default: (string | number | RadioGroupChildOption)[];
    };
    disabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    name: StringConstructor;
    buttonStyle: {
        type: import("vue").PropType<RadioGroupButtonStyle>;
        default: RadioGroupButtonStyle;
    };
    id: StringConstructor;
    block: BooleanConstructor;
    optionType: {
        type: import("vue").PropType<RadioGroupOptionType>;
        default: RadioGroupOptionType;
    };
    onChange: {
        type: import("vue").PropType<(e: RadioChangeEvent) => void>;
        default: (e: RadioChangeEvent) => void;
    };
    'onUpdate:value': {
        type: import("vue").PropType<(val: any) => void>;
        default: (val: any) => void;
    };
    vertical: {
        type: BooleanConstructor;
        default: boolean;
    };
}>> & Readonly<{}>, {
    size: "default" | "small" | "large";
    vertical: boolean;
    onChange: (e: RadioChangeEvent) => void;
    block: boolean;
    disabled: boolean;
    'onUpdate:value': (val: any) => void;
    options: (string | number | RadioGroupChildOption)[];
    buttonStyle: RadioGroupButtonStyle;
    optionType: RadioGroupOptionType;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
export default _default;
