import { ExtractPropTypes, PropType, Slots } from 'vue';
import { MaybeArray, RenderContent, Size } from '../../types';
export interface BasicRadioOption {
    /**
     * @zh 文案
     * @en label content
     */
    label?: RenderContent;
    /**
     * @zh 选项的 `value`
     * @en The `value` of the option
     */
    value: string | number | boolean;
    /**
     * @zh 是否禁用
     * @en Whether to disable
     */
    disabled?: boolean;
    /**
     * @zh 图标
     * @en Icon
     */
    extra?: any;
}
export type OnUpdateValue = (value: string & number & boolean) => void;
export type OnUpdateValueImpl = (value: string | number | boolean) => void;
export type OnEventValueImpl = MaybeArray<OnUpdateValue>;
export declare const basicRadioGroupProps: {
    size: {
        type: PropType<Size>;
        default: string;
    };
    value: {
        type: PropType<string | number | boolean>;
        default: undefined;
    };
    defaultValue: {
        type: PropType<string | number | boolean>;
        default: undefined;
    };
    disabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    options: {
        type: PropType<(string | number | BasicRadioOption)[]>;
        default: () => never[];
    };
    'onUpdate:value': {
        type: PropType<OnUpdateValue>;
        default: undefined;
    };
    onUpdateValue: {
        type: PropType<OnUpdateValue>;
        default: undefined;
    };
    onChange: {
        type: PropType<OnUpdateValue>;
        default: undefined;
    };
};
export type BasicRadioGroupProps = Partial<ExtractPropTypes<typeof basicRadioGroupProps>>;
export interface BasicRadioGroupContext {
    name: string;
    mergedValueRef: string | number | boolean | undefined;
    disabled: boolean;
    slots: Slots;
    handleChange: (value: string | number | boolean, e: Event) => void;
}
//# sourceMappingURL=interface.d.ts.map