import { ConfigOptionType, ExtractValueType, OptionValueType } from '../../types';
declare const _default: <Option extends OptionValueType, Config extends ConfigOptionType<Option>, ModelValue extends ExtractValueType<Option, Config>>(__VLS_props: {
    id?: string | undefined;
    name?: string | undefined;
    size?: "" | "small" | "default" | "large" | undefined;
    color?: "" | "primary" | "secondary" | "destructive" | "success" | "warning" | "active" | "primary-alternative" | undefined;
    readonly onChange?: ((pl: ModelValue, old: ModelValue) => any) | undefined;
    options: Option[];
    disabled?: boolean | undefined;
    modelValue?: ModelValue | undefined;
    readonly "onUpdate:modelValue"?: ((pl: ModelValue) => any) | undefined;
    ariaLabel?: string | undefined;
    validateEvent?: boolean | undefined;
    block?: boolean | undefined;
    config?: Config | undefined;
    rounded?: boolean | undefined;
    bordered?: boolean | undefined;
    direction?: "vertical" | "horizontal" | undefined;
} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, __VLS_ctx?: {
    attrs: any;
    slots: {
        default?(_: {
            item: any;
        }): any;
    };
    emit: {
        (e: 'update:modelValue', pl: ModelValue): void;
        (e: 'change', pl: ModelValue, old: ModelValue): void;
    };
} | undefined, __VLS_expose?: ((exposed: import('vue').ShallowUnwrapRef<{}>) => void) | undefined, __VLS_setup?: Promise<{
    props: {
        id?: string | undefined;
        name?: string | undefined;
        size?: "" | "small" | "default" | "large" | undefined;
        color?: "" | "primary" | "secondary" | "destructive" | "success" | "warning" | "active" | "primary-alternative" | undefined;
        readonly onChange?: ((pl: ModelValue, old: ModelValue) => any) | undefined;
        options: Option[];
        disabled?: boolean | undefined;
        modelValue?: ModelValue | undefined;
        readonly "onUpdate:modelValue"?: ((pl: ModelValue) => any) | undefined;
        ariaLabel?: string | undefined;
        validateEvent?: boolean | undefined;
        block?: boolean | undefined;
        config?: Config | undefined;
        rounded?: boolean | undefined;
        bordered?: boolean | undefined;
        direction?: "vertical" | "horizontal" | undefined;
    } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps;
    expose(exposed: import('vue').ShallowUnwrapRef<{}>): void;
    attrs: any;
    slots: {
        default?(_: {
            item: any;
        }): any;
    };
    emit: {
        (e: 'update:modelValue', pl: ModelValue): void;
        (e: 'change', pl: ModelValue, old: ModelValue): void;
    };
}>) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
    [key: string]: any;
}> & {
    __ctx?: {
        props: {
            id?: string | undefined;
            name?: string | undefined;
            size?: "" | "small" | "default" | "large" | undefined;
            color?: "" | "primary" | "secondary" | "destructive" | "success" | "warning" | "active" | "primary-alternative" | undefined;
            readonly onChange?: ((pl: ModelValue, old: ModelValue) => any) | undefined;
            options: Option[];
            disabled?: boolean | undefined;
            modelValue?: ModelValue | undefined;
            readonly "onUpdate:modelValue"?: ((pl: ModelValue) => any) | undefined;
            ariaLabel?: string | undefined;
            validateEvent?: boolean | undefined;
            block?: boolean | undefined;
            config?: Config | undefined;
            rounded?: boolean | undefined;
            bordered?: boolean | undefined;
            direction?: "vertical" | "horizontal" | undefined;
        } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps;
        expose(exposed: import('vue').ShallowUnwrapRef<{}>): void;
        attrs: any;
        slots: {
            default?(_: {
                item: any;
            }): any;
        };
        emit: {
            (e: 'update:modelValue', pl: ModelValue): void;
            (e: 'change', pl: ModelValue, old: ModelValue): void;
        };
    } | undefined;
};
export default _default;
