import { Component } from 'vue';
import { VcSwitchSizeType } from '../../types';
declare const _default: <Model extends string | number | boolean | undefined>(__VLS_props: {
    id?: string | undefined;
    name?: string | undefined;
    size?: VcSwitchSizeType | undefined;
    values?: Model[] | undefined;
    color?: "" | "primary" | "secondary" | "destructive" | "success" | "warning" | "active" | "primary-alternative" | undefined;
    readonly onChange?: ((model: Model) => any) | undefined;
    readonly onInput?: ((model: Model) => any) | undefined;
    width?: string | number | undefined;
    loading?: boolean | undefined;
    disabled?: boolean | undefined;
    modelValue: Model;
    dataTestName?: string | undefined;
    readonly "onUpdate:modelValue"?: ((model: Model) => any) | undefined;
    ariaLabel?: string | undefined;
    tabindex?: string | undefined;
    validateEvent?: boolean | undefined;
    labelClass?: string | undefined;
    activeIcon?: string | Component | undefined;
    inactiveIcon?: string | Component | undefined;
    activeActionIcon?: string | Component | undefined;
    inactiveActionIcon?: string | Component | undefined;
    activeText?: string | undefined;
    inactiveText?: string | undefined;
    activeValue?: Model | undefined;
    inactiveValue?: Model | undefined;
    beforeChange?: (() => Promise<boolean> | boolean) | undefined;
    hideLabel?: boolean | undefined;
    labels?: string[] | undefined;
    inlinePrompt?: boolean | undefined;
} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, __VLS_ctx?: {
    attrs: any;
    slots: {
        "active-action"?(_: {}): any;
        "inactive-action"?(_: {}): any;
        default?(_: {
            state: Model;
        }): any;
    };
    emit: {
        (e: 'update:modelValue', model: Model): void;
        (e: 'input', model: Model): void;
        (e: 'change', model: Model): void;
    };
} | undefined, __VLS_expose?: ((exposed: {
    toggle: () => void;
}) => void) | undefined, __VLS_setup?: Promise<{
    props: {
        id?: string | undefined;
        name?: string | undefined;
        size?: VcSwitchSizeType | undefined;
        values?: Model[] | undefined;
        color?: "" | "primary" | "secondary" | "destructive" | "success" | "warning" | "active" | "primary-alternative" | undefined;
        readonly onChange?: ((model: Model) => any) | undefined;
        readonly onInput?: ((model: Model) => any) | undefined;
        width?: string | number | undefined;
        loading?: boolean | undefined;
        disabled?: boolean | undefined;
        modelValue: Model;
        dataTestName?: string | undefined;
        readonly "onUpdate:modelValue"?: ((model: Model) => any) | undefined;
        ariaLabel?: string | undefined;
        tabindex?: string | undefined;
        validateEvent?: boolean | undefined;
        labelClass?: string | undefined;
        activeIcon?: string | Component | undefined;
        inactiveIcon?: string | Component | undefined;
        activeActionIcon?: string | Component | undefined;
        inactiveActionIcon?: string | Component | undefined;
        activeText?: string | undefined;
        inactiveText?: string | undefined;
        activeValue?: Model | undefined;
        inactiveValue?: Model | undefined;
        beforeChange?: (() => Promise<boolean> | boolean) | undefined;
        hideLabel?: boolean | undefined;
        labels?: string[] | undefined;
        inlinePrompt?: boolean | undefined;
    } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps;
    expose(exposed: {
        toggle: () => void;
    }): void;
    attrs: any;
    slots: {
        "active-action"?(_: {}): any;
        "inactive-action"?(_: {}): any;
        default?(_: {
            state: Model;
        }): any;
    };
    emit: {
        (e: 'update:modelValue', model: Model): void;
        (e: 'input', model: Model): void;
        (e: 'change', model: Model): void;
    };
}>) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
    [key: string]: any;
}> & {
    __ctx?: {
        props: {
            id?: string | undefined;
            name?: string | undefined;
            size?: VcSwitchSizeType | undefined;
            values?: Model[] | undefined;
            color?: "" | "primary" | "secondary" | "destructive" | "success" | "warning" | "active" | "primary-alternative" | undefined;
            readonly onChange?: ((model: Model) => any) | undefined;
            readonly onInput?: ((model: Model) => any) | undefined;
            width?: string | number | undefined;
            loading?: boolean | undefined;
            disabled?: boolean | undefined;
            modelValue: Model;
            dataTestName?: string | undefined;
            readonly "onUpdate:modelValue"?: ((model: Model) => any) | undefined;
            ariaLabel?: string | undefined;
            tabindex?: string | undefined;
            validateEvent?: boolean | undefined;
            labelClass?: string | undefined;
            activeIcon?: string | Component | undefined;
            inactiveIcon?: string | Component | undefined;
            activeActionIcon?: string | Component | undefined;
            inactiveActionIcon?: string | Component | undefined;
            activeText?: string | undefined;
            inactiveText?: string | undefined;
            activeValue?: Model | undefined;
            inactiveValue?: Model | undefined;
            beforeChange?: (() => Promise<boolean> | boolean) | undefined;
            hideLabel?: boolean | undefined;
            labels?: string[] | undefined;
            inlinePrompt?: boolean | undefined;
        } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps;
        expose(exposed: {
            toggle: () => void;
        }): void;
        attrs: any;
        slots: {
            "active-action"?(_: {}): any;
            "inactive-action"?(_: {}): any;
            default?(_: {
                state: Model;
            }): any;
        };
        emit: {
            (e: 'update:modelValue', model: Model): void;
            (e: 'input', model: Model): void;
            (e: 'change', model: Model): void;
        };
    } | undefined;
};
export default _default;
type __VLS_Prettify<T> = {
    [K in keyof T]: T[K];
} & {};
