import type { ComputedRef, ExtractPropTypes, PropType, Ref } from 'vue'; import type { MaybeArray } from '../../_utils'; import type { OnUpdateValue } from './interface'; import type { RadioSize } from './public-types'; export declare const radioBaseProps: { readonly name: StringConstructor; readonly value: { readonly type: PropType; readonly default: "on"; }; readonly checked: { readonly type: PropType; readonly default: undefined; }; readonly defaultChecked: BooleanConstructor; readonly disabled: { readonly type: PropType; readonly default: undefined; }; readonly label: StringConstructor; readonly size: PropType; readonly onUpdateChecked: PropType void>>; readonly 'onUpdate:checked': PropType void>>; readonly checkedValue: { readonly type: PropType; readonly default: undefined; }; }; export interface RadioGroupInjection { mergedClsPrefixRef: Ref; nameRef: Ref; valueRef: Ref; mergedSizeRef: Ref; disabledRef: Ref; doUpdateValue: OnUpdateValue; } export declare const radioGroupInjectionKey: import("vue").InjectionKey; export interface UseRadio { mergedClsPrefix: Ref; inputRef: Ref; labelRef: Ref; mergedName: Ref; mergedDisabled: Ref; renderSafeChecked: Ref; focus: Ref; mergedSize: ComputedRef; handleRadioInputChange: () => void; handleRadioInputBlur: () => void; handleRadioInputFocus: () => void; } declare function setup(props: ExtractPropTypes): UseRadio; export type RadioBaseProps = ExtractPropTypes; export { setup };