import type { FormItemContext } from 'element-plus';
import type { LooseRequired } from '@vue/shared';
import type { SFCWithInstall, EpPropFinalized, EpPropMergeType } from 'element-plus/es/utils';
import type { DefineComponent, PropType, Component, ComputedOptions, MethodOptions, ExtractPropTypes, ComponentInternalInstance, ComputedRef, Ref, CSSProperties, ComponentOptionsMixin, VNodeProps, AllowedComponentProps, ComponentCustomProps } from 'vue';
declare const _sfc_main: DefineComponent<{}, {
    ElSwitch: SFCWithInstall<DefineComponent<{
        readonly modelValue: EpPropFinalized<readonly [BooleanConstructor, StringConstructor, NumberConstructor], unknown, unknown, false, boolean>;
        readonly value: EpPropFinalized<readonly [BooleanConstructor, StringConstructor, NumberConstructor], unknown, unknown, false, boolean>;
        readonly disabled: EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
        readonly width: EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
        readonly inlinePrompt: EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
        readonly activeIcon: {
            readonly type: PropType<EpPropMergeType<(new (...args: any[]) => (string | Component<any, any, any, ComputedOptions, MethodOptions>) & {}) | (() => string | Component<any, any, any, ComputedOptions, MethodOptions>) | ((new (...args: any[]) => (string | Component<any, any, any, ComputedOptions, MethodOptions>) & {}) | (() => string | Component<any, any, any, ComputedOptions, MethodOptions>))[], unknown, unknown>>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        readonly inactiveIcon: {
            readonly type: PropType<EpPropMergeType<(new (...args: any[]) => (string | Component<any, any, any, ComputedOptions, MethodOptions>) & {}) | (() => string | Component<any, any, any, ComputedOptions, MethodOptions>) | ((new (...args: any[]) => (string | Component<any, any, any, ComputedOptions, MethodOptions>) & {}) | (() => string | Component<any, any, any, ComputedOptions, MethodOptions>))[], unknown, unknown>>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        readonly activeText: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
        readonly inactiveText: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
        readonly activeColor: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
        readonly inactiveColor: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
        readonly borderColor: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
        readonly activeValue: EpPropFinalized<readonly [BooleanConstructor, StringConstructor, NumberConstructor], unknown, unknown, true, boolean>;
        readonly inactiveValue: EpPropFinalized<readonly [BooleanConstructor, StringConstructor, NumberConstructor], unknown, unknown, false, boolean>;
        readonly name: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
        readonly validateEvent: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
        readonly id: StringConstructor;
        readonly loading: EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
        readonly beforeChange: {
            readonly type: PropType<() => boolean | Promise<boolean>>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        readonly size: {
            readonly type: PropType<EpPropMergeType<(new (...args: any[]) => ("" | "default" | "small" | "large") & {}) | (() => "" | "default" | "small" | "large") | ((new (...args: any[]) => ("" | "default" | "small" | "large") & {}) | (() => "" | "default" | "small" | "large"))[], unknown, "" | "default" | "small" | "large">>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        readonly tabindex: {
            readonly type: PropType<EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
    }, {
        COMPONENT_NAME: string;
        props: Readonly<LooseRequired<Readonly<ExtractPropTypes<{
            readonly modelValue: EpPropFinalized<readonly [BooleanConstructor, StringConstructor, NumberConstructor], unknown, unknown, false, boolean>;
            readonly value: EpPropFinalized<readonly [BooleanConstructor, StringConstructor, NumberConstructor], unknown, unknown, false, boolean>;
            readonly disabled: EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
            readonly width: EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
            readonly inlinePrompt: EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
            readonly activeIcon: {
                readonly type: PropType<EpPropMergeType<(new (...args: any[]) => (string | Component<any, any, any, ComputedOptions, MethodOptions>) & {}) | (() => string | Component<any, any, any, ComputedOptions, MethodOptions>) | ((new (...args: any[]) => (string | Component<any, any, any, ComputedOptions, MethodOptions>) & {}) | (() => string | Component<any, any, any, ComputedOptions, MethodOptions>))[], unknown, unknown>>;
                readonly required: false;
                readonly validator: ((val: unknown) => boolean) | undefined;
                __epPropKey: true;
            };
            readonly inactiveIcon: {
                readonly type: PropType<EpPropMergeType<(new (...args: any[]) => (string | Component<any, any, any, ComputedOptions, MethodOptions>) & {}) | (() => string | Component<any, any, any, ComputedOptions, MethodOptions>) | ((new (...args: any[]) => (string | Component<any, any, any, ComputedOptions, MethodOptions>) & {}) | (() => string | Component<any, any, any, ComputedOptions, MethodOptions>))[], unknown, unknown>>;
                readonly required: false;
                readonly validator: ((val: unknown) => boolean) | undefined;
                __epPropKey: true;
            };
            readonly activeText: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
            readonly inactiveText: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
            readonly activeColor: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
            readonly inactiveColor: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
            readonly borderColor: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
            readonly activeValue: EpPropFinalized<readonly [BooleanConstructor, StringConstructor, NumberConstructor], unknown, unknown, true, boolean>;
            readonly inactiveValue: EpPropFinalized<readonly [BooleanConstructor, StringConstructor, NumberConstructor], unknown, unknown, false, boolean>;
            readonly name: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
            readonly validateEvent: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
            readonly id: StringConstructor;
            readonly loading: EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
            readonly beforeChange: {
                readonly type: PropType<() => boolean | Promise<boolean>>;
                readonly required: false;
                readonly validator: ((val: unknown) => boolean) | undefined;
                __epPropKey: true;
            };
            readonly size: {
                readonly type: PropType<EpPropMergeType<(new (...args: any[]) => ("" | "default" | "small" | "large") & {}) | (() => "" | "default" | "small" | "large") | ((new (...args: any[]) => ("" | "default" | "small" | "large") & {}) | (() => "" | "default" | "small" | "large"))[], unknown, "" | "default" | "small" | "large">>;
                readonly required: false;
                readonly validator: ((val: unknown) => boolean) | undefined;
                __epPropKey: true;
            };
            readonly tabindex: {
                readonly type: PropType<EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>>;
                readonly required: false;
                readonly validator: ((val: unknown) => boolean) | undefined;
                __epPropKey: true;
            };
        }>> & {
            onChange?: ((val: string | number | boolean) => any) | undefined;
            "onUpdate:modelValue"?: ((val: string | number | boolean) => any) | undefined;
            onInput?: ((val: string | number | boolean) => any) | undefined;
        }>>;
        emit: ((event: "update:modelValue", val: string | number | boolean) => void) & ((event: "change", val: string | number | boolean) => void) & ((event: "input", val: string | number | boolean) => void);
        vm: ComponentInternalInstance;
        formItem: FormItemContext | undefined;
        switchSize: ComputedRef<"" | "default" | "small" | "large">;
        ns: {
            namespace: Ref<string>;
            b: (blockSuffix?: string | undefined) => string;
            e: (element?: string | undefined) => string;
            m: (modifier?: string | undefined) => string;
            be: (blockSuffix?: string | undefined, element?: string | undefined) => string;
            em: (element?: string | undefined, modifier?: string | undefined) => string;
            bm: (blockSuffix?: string | undefined, modifier?: string | undefined) => string;
            bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string;
            is: {
                (name: string, state: boolean | undefined): string;
                (name: string): string;
            };
            cssVar: (object: Record<string, string>) => Record<string, string>;
            cssVarName: (name: string) => string;
            cssVarBlock: (object: Record<string, string>) => Record<string, string>;
            cssVarBlockName: (name: string) => string;
        };
        inputId: Ref<string | undefined>;
        switchDisabled: ComputedRef<boolean>;
        isControlled: Ref<boolean>;
        input: Ref<HTMLInputElement | undefined>;
        core: Ref<HTMLSpanElement | undefined>;
        switchKls: ComputedRef<string[]>;
        coreStyle: ComputedRef<CSSProperties>;
        actualValue: ComputedRef<EpPropMergeType<readonly [BooleanConstructor, StringConstructor, NumberConstructor], unknown, unknown>>;
        checked: ComputedRef<boolean>;
        handleChange: () => void;
        switchValue: () => void;
        styles: ComputedRef<Record<string, string>>;
        focus: () => void;
        ElIcon: SFCWithInstall<DefineComponent<{
            readonly size: {
                readonly type: PropType<EpPropMergeType<(new (...args: any[]) => (string | number) & {}) | (() => string | number) | ((new (...args: any[]) => (string | number) & {}) | (() => string | number))[], unknown, unknown>>;
                readonly required: false;
                readonly validator: ((val: unknown) => boolean) | undefined;
                __epPropKey: true;
            };
            readonly color: {
                readonly type: PropType<string>;
                readonly required: false;
                readonly validator: ((val: unknown) => boolean) | undefined;
                __epPropKey: true;
            };
        }, {
            props: Readonly<LooseRequired<Readonly<ExtractPropTypes<{
                readonly size: {
                    readonly type: PropType<EpPropMergeType<(new (...args: any[]) => (string | number) & {}) | (() => string | number) | ((new (...args: any[]) => (string | number) & {}) | (() => string | number))[], unknown, unknown>>;
                    readonly required: false;
                    readonly validator: ((val: unknown) => boolean) | undefined;
                    __epPropKey: true;
                };
                readonly color: {
                    readonly type: PropType<string>;
                    readonly required: false;
                    readonly validator: ((val: unknown) => boolean) | undefined;
                    __epPropKey: true;
                };
            }>> & {
                [x: string & `on${string}`]: ((...args: any[]) => any) | ((...args: unknown[]) => any) | undefined;
            }>>;
            ns: {
                namespace: Ref<string>;
                b: (blockSuffix?: string | undefined) => string;
                e: (element?: string | undefined) => string;
                m: (modifier?: string | undefined) => string;
                be: (blockSuffix?: string | undefined, element?: string | undefined) => string;
                em: (element?: string | undefined, modifier?: string | undefined) => string;
                bm: (blockSuffix?: string | undefined, modifier?: string | undefined) => string;
                bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string;
                is: {
                    (name: string, state: boolean | undefined): string;
                    (name: string): string;
                };
                cssVar: (object: Record<string, string>) => Record<string, string>;
                cssVarName: (name: string) => string;
                cssVarBlock: (object: Record<string, string>) => Record<string, string>;
                cssVarBlockName: (name: string) => string;
            };
            style: ComputedRef<CSSProperties>;
        }, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, Record<string, any>, string, VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<ExtractPropTypes<{
            readonly size: {
                readonly type: PropType<EpPropMergeType<(new (...args: any[]) => (string | number) & {}) | (() => string | number) | ((new (...args: any[]) => (string | number) & {}) | (() => string | number))[], unknown, unknown>>;
                readonly required: false;
                readonly validator: ((val: unknown) => boolean) | undefined;
                __epPropKey: true;
            };
            readonly color: {
                readonly type: PropType<string>;
                readonly required: false;
                readonly validator: ((val: unknown) => boolean) | undefined;
                __epPropKey: true;
            };
        }>>, {}>> & Record<string, any>;
        Loading: DefineComponent<{}, {}, {}, ComputedOptions, MethodOptions, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<ExtractPropTypes<{}>>, {}>;
    }, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
        "update:modelValue": (val: string | number | boolean) => boolean;
        change: (val: string | number | boolean) => boolean;
        input: (val: string | number | boolean) => boolean;
    }, string, VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<ExtractPropTypes<{
        readonly modelValue: EpPropFinalized<readonly [BooleanConstructor, StringConstructor, NumberConstructor], unknown, unknown, false, boolean>;
        readonly value: EpPropFinalized<readonly [BooleanConstructor, StringConstructor, NumberConstructor], unknown, unknown, false, boolean>;
        readonly disabled: EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
        readonly width: EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
        readonly inlinePrompt: EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
        readonly activeIcon: {
            readonly type: PropType<EpPropMergeType<(new (...args: any[]) => (string | Component<any, any, any, ComputedOptions, MethodOptions>) & {}) | (() => string | Component<any, any, any, ComputedOptions, MethodOptions>) | ((new (...args: any[]) => (string | Component<any, any, any, ComputedOptions, MethodOptions>) & {}) | (() => string | Component<any, any, any, ComputedOptions, MethodOptions>))[], unknown, unknown>>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        readonly inactiveIcon: {
            readonly type: PropType<EpPropMergeType<(new (...args: any[]) => (string | Component<any, any, any, ComputedOptions, MethodOptions>) & {}) | (() => string | Component<any, any, any, ComputedOptions, MethodOptions>) | ((new (...args: any[]) => (string | Component<any, any, any, ComputedOptions, MethodOptions>) & {}) | (() => string | Component<any, any, any, ComputedOptions, MethodOptions>))[], unknown, unknown>>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        readonly activeText: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
        readonly inactiveText: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
        readonly activeColor: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
        readonly inactiveColor: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
        readonly borderColor: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
        readonly activeValue: EpPropFinalized<readonly [BooleanConstructor, StringConstructor, NumberConstructor], unknown, unknown, true, boolean>;
        readonly inactiveValue: EpPropFinalized<readonly [BooleanConstructor, StringConstructor, NumberConstructor], unknown, unknown, false, boolean>;
        readonly name: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
        readonly validateEvent: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
        readonly id: StringConstructor;
        readonly loading: EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
        readonly beforeChange: {
            readonly type: PropType<() => boolean | Promise<boolean>>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        readonly size: {
            readonly type: PropType<EpPropMergeType<(new (...args: any[]) => ("" | "default" | "small" | "large") & {}) | (() => "" | "default" | "small" | "large") | ((new (...args: any[]) => ("" | "default" | "small" | "large") & {}) | (() => "" | "default" | "small" | "large"))[], unknown, "" | "default" | "small" | "large">>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        readonly tabindex: {
            readonly type: PropType<EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
    }>> & {
        onChange?: ((val: string | number | boolean) => any) | undefined;
        "onUpdate:modelValue"?: ((val: string | number | boolean) => any) | undefined;
        onInput?: ((val: string | number | boolean) => any) | undefined;
    }, {
        readonly disabled: EpPropMergeType<BooleanConstructor, unknown, unknown>;
        readonly loading: EpPropMergeType<BooleanConstructor, unknown, unknown>;
        readonly name: string;
        readonly modelValue: EpPropMergeType<readonly [BooleanConstructor, StringConstructor, NumberConstructor], unknown, unknown>;
        readonly validateEvent: EpPropMergeType<BooleanConstructor, unknown, unknown>;
        readonly width: EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
        readonly value: EpPropMergeType<readonly [BooleanConstructor, StringConstructor, NumberConstructor], unknown, unknown>;
        readonly borderColor: string;
        readonly inlinePrompt: EpPropMergeType<BooleanConstructor, unknown, unknown>;
        readonly activeText: string;
        readonly inactiveText: string;
        readonly activeColor: string;
        readonly inactiveColor: string;
        readonly activeValue: EpPropMergeType<readonly [BooleanConstructor, StringConstructor, NumberConstructor], unknown, unknown>;
        readonly inactiveValue: EpPropMergeType<readonly [BooleanConstructor, StringConstructor, NumberConstructor], unknown, unknown>;
    }>> & Record<string, any>;
}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<ExtractPropTypes<{}>>, {}>;
export default _sfc_main;
