import { ApFieldSwitchProps } from '../interface';
import { CreateComponentPublicInstanceWithMixins, ExtractPropTypes, PropType, ComponentOptionsMixin, PublicProps, GlobalComponents, GlobalDirectives, ComponentProvideOptions, DefineComponent } from 'vue';
import { VueTypeDef, VueTypeValidableDef } from '../../../node_modules/vue-types';
import { FocusEventHandler } from '@aplus-frontend/antdv/es/_util/EventInterface';
import { VueNode, CustomSlotsType } from '@aplus-frontend/antdv/es/_util/type';
type ApFieldSwitchSlots = {
    checkedChildren: any;
    unCheckedChildren: any;
    default: any;
};
declare function __VLS_template(): {
    attrs: Partial<{}>;
    slots: Readonly<ApFieldSwitchSlots> & ApFieldSwitchSlots;
    refs: {
        switchRef: CreateComponentPublicInstanceWithMixins<Readonly< ExtractPropTypes<{
            id: StringConstructor;
            prefixCls: StringConstructor;
            size: VueTypeDef<"default" | "small">;
            disabled: {
                type: BooleanConstructor;
                default: any;
            };
            checkedChildren: VueTypeValidableDef<any>;
            unCheckedChildren: VueTypeValidableDef<any>;
            tabindex: VueTypeDef<string | number>;
            autofocus: {
                type: BooleanConstructor;
                default: any;
            };
            loading: {
                type: BooleanConstructor;
                default: any;
            };
            checked: VueTypeDef<string | number | boolean>;
            checkedValue: VueTypeDef<string | number | boolean> & {
                default: string | number | boolean;
            };
            unCheckedValue: VueTypeDef<string | number | boolean> & {
                default: string | number | boolean;
            };
            onChange: {
                type: PropType<(checked: string | number | boolean, e: Event) => void>;
            };
            onClick: {
                type: PropType<(checked: string | number | boolean, e: Event) => void>;
            };
            onKeydown: {
                type: PropType<(e: Event) => void>;
            };
            onMouseup: {
                type: PropType<(e: Event) => void>;
            };
            'onUpdate:checked': {
                type: PropType<(checked: string | number | boolean) => void>;
            };
            onBlur: PropType<FocusEventHandler>;
            onFocus: PropType<FocusEventHandler>;
        }>> & Readonly<{}>, () => VueNode, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, PublicProps, {
            disabled: boolean;
            autofocus: boolean;
            loading: boolean;
            checkedValue: string | number | boolean;
            unCheckedValue: string | number | boolean;
        }, true, {}, CustomSlotsType<{
            checkedChildren: any;
            unCheckedChildren: any;
            default: any;
        }>, GlobalComponents, GlobalDirectives, string, {}, any, ComponentProvideOptions, {
            P: {};
            B: {};
            D: {};
            C: {};
            M: {};
            Defaults: {};
        }, Readonly< ExtractPropTypes<{
            id: StringConstructor;
            prefixCls: StringConstructor;
            size: VueTypeDef<"default" | "small">;
            disabled: {
                type: BooleanConstructor;
                default: any;
            };
            checkedChildren: VueTypeValidableDef<any>;
            unCheckedChildren: VueTypeValidableDef<any>;
            tabindex: VueTypeDef<string | number>;
            autofocus: {
                type: BooleanConstructor;
                default: any;
            };
            loading: {
                type: BooleanConstructor;
                default: any;
            };
            checked: VueTypeDef<string | number | boolean>;
            checkedValue: VueTypeDef<string | number | boolean> & {
                default: string | number | boolean;
            };
            unCheckedValue: VueTypeDef<string | number | boolean> & {
                default: string | number | boolean;
            };
            onChange: {
                type: PropType<(checked: string | number | boolean, e: Event) => void>;
            };
            onClick: {
                type: PropType<(checked: string | number | boolean, e: Event) => void>;
            };
            onKeydown: {
                type: PropType<(e: Event) => void>;
            };
            onMouseup: {
                type: PropType<(e: Event) => void>;
            };
            'onUpdate:checked': {
                type: PropType<(checked: string | number | boolean) => void>;
            };
            onBlur: PropType<FocusEventHandler>;
            onFocus: PropType<FocusEventHandler>;
        }>> & Readonly<{}>, () => VueNode, {}, {}, {}, {
            disabled: boolean;
            autofocus: boolean;
            loading: boolean;
            checkedValue: string | number | boolean;
            unCheckedValue: string | number | boolean;
        }> | null;
    };
    rootEl: any;
};
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
declare const __VLS_component: DefineComponent<ApFieldSwitchProps, {
    blur: () => void;
    focus: () => void;
}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
    "update:checked": (...args: any[]) => void;
}, string, PublicProps, Readonly<ApFieldSwitchProps> & Readonly<{
    "onUpdate:checked"?: ((...args: any[]) => any) | undefined;
}>, {
    size: "default" | "small";
    disabled: boolean;
    loading: boolean;
    emptyText: string;
    checkedValue: string | number | boolean;
    unCheckedValue: string | number | boolean;
}, {}, {}, {}, string, ComponentProvideOptions, false, {
    switchRef: CreateComponentPublicInstanceWithMixins<Readonly< ExtractPropTypes<{
        id: StringConstructor;
        prefixCls: StringConstructor;
        size: VueTypeDef<"default" | "small">;
        disabled: {
            type: BooleanConstructor;
            default: any;
        };
        checkedChildren: VueTypeValidableDef<any>;
        unCheckedChildren: VueTypeValidableDef<any>;
        tabindex: VueTypeDef<string | number>;
        autofocus: {
            type: BooleanConstructor;
            default: any;
        };
        loading: {
            type: BooleanConstructor;
            default: any;
        };
        checked: VueTypeDef<string | number | boolean>;
        checkedValue: VueTypeDef<string | number | boolean> & {
            default: string | number | boolean;
        };
        unCheckedValue: VueTypeDef<string | number | boolean> & {
            default: string | number | boolean;
        };
        onChange: {
            type: PropType<(checked: string | number | boolean, e: Event) => void>;
        };
        onClick: {
            type: PropType<(checked: string | number | boolean, e: Event) => void>;
        };
        onKeydown: {
            type: PropType<(e: Event) => void>;
        };
        onMouseup: {
            type: PropType<(e: Event) => void>;
        };
        'onUpdate:checked': {
            type: PropType<(checked: string | number | boolean) => void>;
        };
        onBlur: PropType<FocusEventHandler>;
        onFocus: PropType<FocusEventHandler>;
    }>> & Readonly<{}>, () => VueNode, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, PublicProps, {
        disabled: boolean;
        autofocus: boolean;
        loading: boolean;
        checkedValue: string | number | boolean;
        unCheckedValue: string | number | boolean;
    }, true, {}, CustomSlotsType<{
        checkedChildren: any;
        unCheckedChildren: any;
        default: any;
    }>, GlobalComponents, GlobalDirectives, string, {}, any, ComponentProvideOptions, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly< ExtractPropTypes<{
        id: StringConstructor;
        prefixCls: StringConstructor;
        size: VueTypeDef<"default" | "small">;
        disabled: {
            type: BooleanConstructor;
            default: any;
        };
        checkedChildren: VueTypeValidableDef<any>;
        unCheckedChildren: VueTypeValidableDef<any>;
        tabindex: VueTypeDef<string | number>;
        autofocus: {
            type: BooleanConstructor;
            default: any;
        };
        loading: {
            type: BooleanConstructor;
            default: any;
        };
        checked: VueTypeDef<string | number | boolean>;
        checkedValue: VueTypeDef<string | number | boolean> & {
            default: string | number | boolean;
        };
        unCheckedValue: VueTypeDef<string | number | boolean> & {
            default: string | number | boolean;
        };
        onChange: {
            type: PropType<(checked: string | number | boolean, e: Event) => void>;
        };
        onClick: {
            type: PropType<(checked: string | number | boolean, e: Event) => void>;
        };
        onKeydown: {
            type: PropType<(e: Event) => void>;
        };
        onMouseup: {
            type: PropType<(e: Event) => void>;
        };
        'onUpdate:checked': {
            type: PropType<(checked: string | number | boolean) => void>;
        };
        onBlur: PropType<FocusEventHandler>;
        onFocus: PropType<FocusEventHandler>;
    }>> & Readonly<{}>, () => VueNode, {}, {}, {}, {
        disabled: boolean;
        autofocus: boolean;
        loading: boolean;
        checkedValue: string | number | boolean;
        unCheckedValue: string | number | boolean;
    }> | null;
}, any>;
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
