import { type ExtractPropTypes, type PropType, type Ref, type ComputedRef } from 'vue'; import type { MaybeArray } from '../../_utils'; import { type OnUpdateValue } from './interface'; 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<"small" | "medium" | "large">; readonly onUpdateChecked: PropType void> | undefined>; readonly 'onUpdate:checked': PropType void> | undefined>; readonly checkedValue: { readonly type: PropType; readonly default: undefined; }; }; export interface RadioGroupInjection { mergedClsPrefixRef: Ref; nameRef: Ref; valueRef: Ref; mergedSizeRef: Ref<'small' | 'medium' | 'large'>; disabledRef: Ref; doUpdateValue: OnUpdateValue; } export declare const radioGroupInjectionKey: import("vue").InjectionKey; export interface UseRadio { mergedClsPrefix: Ref; inputRef: Ref; labelRef: Ref; mergedName: Ref; mergedDisabled: Ref; uncontrolledChecked: Ref; renderSafeChecked: Ref; focus: Ref; mergedSize: ComputedRef<'small' | 'medium' | 'large'>; handleRadioInputChange: () => void; handleRadioInputBlur: () => void; handleRadioInputFocus: () => void; } declare function setup(props: ExtractPropTypes): UseRadio; export type RadioBaseProps = ExtractPropTypes; export { setup };