/**
 * The radio element. Can be grouped to give the user to choose between different options.
 */
declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
    /**
     * Id for the radio. If it's empty, a generated one will be used.
     */
    id: {
        type: StringConstructor;
        required: false;
        default: () => string;
    };
    /**
     * Disables the radio button
     */
    disabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * The model of the radio button or radio button group. It determines, based on the option this radio button
     * represents, whether or not this radio button is checked. Provide it as value or bind it with v-model.
     *
     * When used in a radio group, provide a variable that tracks which of the `option` values of the group is checked.
     *
     * Can be any type.
     **/
    modelValue: {
        type: (NumberConstructor | BooleanConstructor | StringConstructor | ObjectConstructor)[];
        required: false;
        default: boolean;
    };
    /**
     * The value of this radio button. Can be omitted if the radio button is not used in a group.
     *
     * Can be of any type.
     */
    option: {
        required: false;
        default: any;
    };
    /**
     * Label of the Radio.
     *
     * Always required for aria-label property. If you want to hide the label, use `hideLabel` property.
     **/
    label: {
        type: StringConstructor;
        required: true;
        default: any;
    };
    /**
     * Is the label of the Radio visually hidden?
     **/
    hideLabel: {
        type: BooleanConstructor;
        required: false;
        default: boolean;
    };
    /**
     * Size of the Radio. Valid values are `small`, `medium` and `large`.
     * If not specified, defaults to `medium`
     */
    size: {
        type: StringConstructor;
        required: false;
        default: string;
        validator: (size: string) => boolean;
    };
}>, {}, {}, {
    model: {
        get(): string | number | boolean | Record<string, any>;
        set(value: unknown): void;
    };
    classes(): string[];
    labelClasses(): {
        'oc-invisible-sr': boolean;
        'oc-cursor-pointer': boolean;
    };
}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, "update:modelValue"[], "update:modelValue", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
    /**
     * Id for the radio. If it's empty, a generated one will be used.
     */
    id: {
        type: StringConstructor;
        required: false;
        default: () => string;
    };
    /**
     * Disables the radio button
     */
    disabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * The model of the radio button or radio button group. It determines, based on the option this radio button
     * represents, whether or not this radio button is checked. Provide it as value or bind it with v-model.
     *
     * When used in a radio group, provide a variable that tracks which of the `option` values of the group is checked.
     *
     * Can be any type.
     **/
    modelValue: {
        type: (NumberConstructor | BooleanConstructor | StringConstructor | ObjectConstructor)[];
        required: false;
        default: boolean;
    };
    /**
     * The value of this radio button. Can be omitted if the radio button is not used in a group.
     *
     * Can be of any type.
     */
    option: {
        required: false;
        default: any;
    };
    /**
     * Label of the Radio.
     *
     * Always required for aria-label property. If you want to hide the label, use `hideLabel` property.
     **/
    label: {
        type: StringConstructor;
        required: true;
        default: any;
    };
    /**
     * Is the label of the Radio visually hidden?
     **/
    hideLabel: {
        type: BooleanConstructor;
        required: false;
        default: boolean;
    };
    /**
     * Size of the Radio. Valid values are `small`, `medium` and `large`.
     * If not specified, defaults to `medium`
     */
    size: {
        type: StringConstructor;
        required: false;
        default: string;
        validator: (size: string) => boolean;
    };
}>> & Readonly<{
    "onUpdate:modelValue"?: (...args: any[]) => any;
}>, {
    label: string;
    option: any;
    size: string;
    id: string;
    disabled: boolean;
    modelValue: string | number | boolean | Record<string, any>;
    hideLabel: boolean;
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
export default _default;
