import type { ComputedRef, ExtractPropTypes, PropType, Ref } from 'vue'; import type { MaybeArray } from '../../../_utils'; import type { OnChangeImpl, RadioGroupInjection } 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>>; readonly 'onUpdate:checked': PropType void>>; readonly checkedValue: { readonly type: PropType; readonly default: undefined; }; readonly onChange: PropType; readonly onClick: PropType<(event: MouseEvent) => void>; }; 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: OnChangeImpl; handleRadioInputBlur: () => void; handleRadioInputFocus: () => void; } declare function useRadio(props: ExtractPropTypes): UseRadio; export type RadioBaseProps = ExtractPropTypes; export { useRadio };