import type { ExtractPropTypes, PropType, SlotsType } from 'vue';
import { nextTick } from 'vue';
import type { FocusEventHandler } from '../_util/EventInterface';
export declare const SwitchSizes: ["small", "default"];
type CheckedType = boolean | string | number;
export declare const switchProps: () => {
    id: StringConstructor;
    prefixCls: StringConstructor;
    size: any;
    disabled: {
        type: BooleanConstructor;
        default: any;
    };
    checkedChildren: any;
    unCheckedChildren: any;
    tabindex: any;
    autofocus: {
        type: BooleanConstructor;
        default: any;
    };
    loading: {
        type: BooleanConstructor;
        default: any;
    };
    checked: any;
    checkedValue: any;
    unCheckedValue: any;
    onChange: {
        type: PropType<(checked: CheckedType, e: Event) => void>;
    };
    onClick: {
        type: PropType<(checked: CheckedType, e: Event) => void>;
    };
    onKeydown: {
        type: PropType<(e: Event) => void>;
    };
    onMouseup: {
        type: PropType<(e: Event) => void>;
    };
    'onUpdate:checked': {
        type: PropType<(checked: CheckedType) => void>;
    };
    onBlur: PropType<FocusEventHandler>;
    onFocus: PropType<FocusEventHandler>;
};
export type SwitchProps = Partial<ExtractPropTypes<ReturnType<typeof switchProps>>>;
declare const _default: {
    new (...args: any[]): {
        $: import("vue").ComponentInternalInstance;
        $data: {};
        $props: {
            size?: any;
            loading?: boolean;
            disabled?: boolean;
            tabindex?: any;
            autofocus?: boolean;
            checked?: any;
            checkedChildren?: any;
            unCheckedChildren?: any;
            checkedValue?: any;
            unCheckedValue?: any;
            key?: string | number | symbol;
            ref?: import("vue").VNodeRef;
            ref_for?: boolean;
            ref_key?: string;
            onVnodeBeforeMount?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void)[];
            onVnodeMounted?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void)[];
            onVnodeBeforeUpdate?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>, oldVNode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>, oldVNode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void)[];
            onVnodeUpdated?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>, oldVNode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>, oldVNode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void)[];
            onVnodeBeforeUnmount?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void)[];
            onVnodeUnmounted?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void)[];
            class?: unknown;
            style?: unknown;
            readonly prefixCls?: string;
            readonly onClick?: (checked: CheckedType, e: Event) => void;
            readonly onChange?: (checked: CheckedType, e: Event) => void;
            readonly onFocus?: FocusEventHandler;
            readonly onBlur?: FocusEventHandler;
            readonly onKeydown?: (e: Event) => void;
            readonly onMouseup?: (e: Event) => void;
            readonly id?: string;
            readonly 'onUpdate:checked'?: (checked: CheckedType) => void;
        };
        $attrs: {
            [x: string]: unknown;
        };
        $refs: {
            [x: string]: unknown;
        };
        $slots: Readonly<{
            checkedChildren: any;
            unCheckedChildren: any;
            default: any;
        }>;
        $root: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}>;
        $parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}>;
        $emit: (event: string, ...args: any[]) => void;
        $el: any;
        $options: import("vue").ComponentOptionsBase<Readonly<ExtractPropTypes<{
            id: StringConstructor;
            prefixCls: StringConstructor;
            size: any;
            disabled: {
                type: BooleanConstructor;
                default: any;
            };
            checkedChildren: any;
            unCheckedChildren: any;
            tabindex: any;
            autofocus: {
                type: BooleanConstructor;
                default: any;
            };
            loading: {
                type: BooleanConstructor;
                default: any;
            };
            checked: any;
            checkedValue: any;
            unCheckedValue: any;
            onChange: {
                type: PropType<(checked: CheckedType, e: Event) => void>;
            };
            onClick: {
                type: PropType<(checked: CheckedType, e: Event) => void>;
            };
            onKeydown: {
                type: PropType<(e: Event) => void>;
            };
            onMouseup: {
                type: PropType<(e: Event) => void>;
            };
            'onUpdate:checked': {
                type: PropType<(checked: CheckedType) => void>;
            };
            onBlur: PropType<FocusEventHandler>;
            onFocus: PropType<FocusEventHandler>;
        }>>, () => import("../_util/type").VueNode, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
            size: any;
            loading: boolean;
            disabled: boolean;
            tabindex: any;
            autofocus: boolean;
            checked: any;
            checkedChildren: any;
            unCheckedChildren: any;
            checkedValue: any;
            unCheckedValue: any;
        }, {}, string, SlotsType<{
            checkedChildren: any;
            unCheckedChildren: any;
            default: any;
        }>> & {
            beforeCreate?: (() => void) | (() => void)[];
            created?: (() => void) | (() => void)[];
            beforeMount?: (() => void) | (() => void)[];
            mounted?: (() => void) | (() => void)[];
            beforeUpdate?: (() => void) | (() => void)[];
            updated?: (() => void) | (() => void)[];
            activated?: (() => void) | (() => void)[];
            deactivated?: (() => void) | (() => void)[];
            beforeDestroy?: (() => void) | (() => void)[];
            beforeUnmount?: (() => void) | (() => void)[];
            destroyed?: (() => void) | (() => void)[];
            unmounted?: (() => void) | (() => void)[];
            renderTracked?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
            renderTriggered?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
            errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}>, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}>, info: string) => boolean | void)[];
        };
        $forceUpdate: () => void;
        $nextTick: typeof nextTick;
        $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...args: any) => any, options?: import("vue").WatchOptions<boolean>): import("vue").WatchStopHandle;
    } & Readonly<ExtractPropTypes<{
        id: StringConstructor;
        prefixCls: StringConstructor;
        size: any;
        disabled: {
            type: BooleanConstructor;
            default: any;
        };
        checkedChildren: any;
        unCheckedChildren: any;
        tabindex: any;
        autofocus: {
            type: BooleanConstructor;
            default: any;
        };
        loading: {
            type: BooleanConstructor;
            default: any;
        };
        checked: any;
        checkedValue: any;
        unCheckedValue: any;
        onChange: {
            type: PropType<(checked: CheckedType, e: Event) => void>;
        };
        onClick: {
            type: PropType<(checked: CheckedType, e: Event) => void>;
        };
        onKeydown: {
            type: PropType<(e: Event) => void>;
        };
        onMouseup: {
            type: PropType<(e: Event) => void>;
        };
        'onUpdate:checked': {
            type: PropType<(checked: CheckedType) => void>;
        };
        onBlur: PropType<FocusEventHandler>;
        onFocus: PropType<FocusEventHandler>;
    }>> & import("vue").ShallowUnwrapRef<() => import("../_util/type").VueNode> & {} & import("vue").ComponentCustomProperties & {};
    __isFragment?: never;
    __isTeleport?: never;
    __isSuspense?: never;
} & import("vue").ComponentOptionsBase<Readonly<ExtractPropTypes<{
    id: StringConstructor;
    prefixCls: StringConstructor;
    size: any;
    disabled: {
        type: BooleanConstructor;
        default: any;
    };
    checkedChildren: any;
    unCheckedChildren: any;
    tabindex: any;
    autofocus: {
        type: BooleanConstructor;
        default: any;
    };
    loading: {
        type: BooleanConstructor;
        default: any;
    };
    checked: any;
    checkedValue: any;
    unCheckedValue: any;
    onChange: {
        type: PropType<(checked: CheckedType, e: Event) => void>;
    };
    onClick: {
        type: PropType<(checked: CheckedType, e: Event) => void>;
    };
    onKeydown: {
        type: PropType<(e: Event) => void>;
    };
    onMouseup: {
        type: PropType<(e: Event) => void>;
    };
    'onUpdate:checked': {
        type: PropType<(checked: CheckedType) => void>;
    };
    onBlur: PropType<FocusEventHandler>;
    onFocus: PropType<FocusEventHandler>;
}>>, () => import("../_util/type").VueNode, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
    size: any;
    loading: boolean;
    disabled: boolean;
    tabindex: any;
    autofocus: boolean;
    checked: any;
    checkedChildren: any;
    unCheckedChildren: any;
    checkedValue: any;
    unCheckedValue: any;
}, {}, string, SlotsType<{
    checkedChildren: any;
    unCheckedChildren: any;
    default: any;
}>> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("vue").Plugin;
export default _default;
