SegmentedControl: DefineComponent<
    ExtractPropTypes<
        {
            defaultValue: { default: undefined; type: StringConstructor };
            modelValue: { default: undefined; type: StringConstructor };
            name: { default: undefined; type: StringConstructor };
            options: { default: () => never[]; type: PropType<SegmentedOption[]> };
            size: { default: undefined; type: PropType<Size> };
        },
    >,
    () => VNode<RendererNode, RendererElement, { [key: string]: any }>,
    {},
    {},
    {},
    ComponentOptionsMixin,
    ComponentOptionsMixin,
    "update:modelValue"[],
    "update:modelValue",
    PublicProps,
    ToResolvedProps<
        ExtractPropTypes<
            {
                defaultValue: { default: undefined; type: StringConstructor };
                modelValue: { default: undefined; type: StringConstructor };
                name: { default: undefined; type: StringConstructor };
                options: { default: () => never[]; type: PropType<SegmentedOption[]> };
                size: { default: undefined; type: PropType<Size> };
            },
        >,
        "update:modelValue"[],
    >,
    {
        defaultValue: string;
        modelValue: string;
        name: string;
        options: SegmentedOption[];
        size: Size;
    },
    {},
    {},
    {},
    string,
    ComponentProvideOptions,
    true,
    {},
    any,
> = ...

Segmented control: a styled radiogroup. The selected value works uncontrolled (defaultValue, else the first option) or with v-model.