import { ApFieldRadioProps } from '../interface';
import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions, CreateComponentPublicInstanceWithMixins, ExtractPropTypes, PropType, GlobalComponents, GlobalDirectives } from 'vue';
import { FieldMode } from '..';
import { VueTypeValidableDef } from '../../../node_modules/vue-types';
import { RadioGroupChildOption } from '@aplus-frontend/antdv/es/radio/Group';
import { RadioGroupButtonStyle, RadioGroupOptionType } from '@aplus-frontend/antdv/es/radio/interface';
import { RadioChangeEvent } from '@aplus-frontend/antdv';
import { VueNode } from '@aplus-frontend/antdv/es/_util/type';
declare const _default: DefineComponent<ApFieldRadioProps, {
    request: () => void;
}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
    "update:value": (...args: any[]) => void;
}, string, PublicProps, Readonly<ApFieldRadioProps> & Readonly<{
    "onUpdate:value"?: ((...args: any[]) => any) | undefined;
}>, {
    mode: FieldMode;
    vertical: boolean;
    disabled: boolean;
    emptyText: string;
}, {}, {}, {}, string, ComponentProvideOptions, false, {
    radioGroupRef: CreateComponentPublicInstanceWithMixins<Readonly< ExtractPropTypes<{
        prefixCls: StringConstructor;
        value: VueTypeValidableDef<any>;
        size: {
            type: PropType<"default" | "small" | "large">;
            default: "default" | "small" | "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;
        block: BooleanConstructor;
        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;
        };
        vertical: {
            type: BooleanConstructor;
            default: boolean;
        };
    }>> & Readonly<{}>, () => VueNode, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, PublicProps, {
        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;
    }, true, {}, {}, GlobalComponents, GlobalDirectives, string, {}, any, ComponentProvideOptions, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly< ExtractPropTypes<{
        prefixCls: StringConstructor;
        value: VueTypeValidableDef<any>;
        size: {
            type: PropType<"default" | "small" | "large">;
            default: "default" | "small" | "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;
        block: BooleanConstructor;
        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;
        };
        vertical: {
            type: BooleanConstructor;
            default: boolean;
        };
    }>> & Readonly<{}>, () => VueNode, {}, {}, {}, {
        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;
    }> | null;
}, any>;
export default _default;
