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