import { PropType, ExtractPropTypes } from 'vue'; import { ISharedRenderlessFunctionParams, ISharedRenderlessParamUtils } from '../../../shared.type'; import { handleChange, isGroup, radioSize, isDisabled, isDisplayOnly, tabIndex, getModel, setModel } from './renderless'; export type { ISharedRenderlessParamHooks } from '../../../shared.type'; export declare const $constants: { RADIO_GROUP: string; }; export declare const radioProps: { _constants: { type: ObjectConstructor; default: () => { RADIO_GROUP: string; }; }; modelValue: {}; label: {}; disabled: BooleanConstructor; name: StringConstructor; border: BooleanConstructor; size: { type: PropType<"medium" | "small" | "mini">; default: string; }; text: StringConstructor; events: { type: ObjectConstructor; default: () => {}; }; tabindex: { type: StringConstructor; default: string; }; displayOnly: { type: BooleanConstructor; default: boolean; }; }; export type IRadioProps = ExtractPropTypes; export type IRadioConstants = typeof $constants; export interface IRadioState { vertical: boolean; size: IRadioProps['size']; focus: boolean; radioGroup: ISharedRenderlessParamUtils['parent'] | null; isGroup: boolean; radioSize: IRadioProps['size']; isDisabled: boolean; isDisplayOnly: boolean; tabIndex: number; formDisabled: boolean; model: string; } export type IRadioRenderlessParams = ISharedRenderlessFunctionParams & { state: IRadioState; props: IRadioProps; type: string; api: IRadioApi; }; export interface IRadioApi { state: IRadioState; handleChange: ReturnType; isGroup: ReturnType; radioSize: ReturnType; isDisabled: ReturnType; isDisplayOnly: ReturnType; tabIndex: ReturnType; getModel: ReturnType; setModel: ReturnType; } export type IRadioRenderlessParamUtils = ISharedRenderlessParamUtils;