import { App } from 'vue';
declare const OSwitch: {
    new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('vue').ExtractPropTypes<{
        modelValue: {
            type: (NumberConstructor | StringConstructor | BooleanConstructor)[];
        };
        defaultChecked: {
            type: BooleanConstructor;
            default: boolean;
        };
        checkedValue: {
            type: (NumberConstructor | StringConstructor | BooleanConstructor)[];
            default: boolean;
        };
        uncheckedValue: {
            type: (NumberConstructor | StringConstructor | BooleanConstructor)[];
            default: boolean;
        };
        size: {
            type: import('vue').PropType<import('./types').SwitchSizeT>;
            default: string;
        };
        round: {
            type: import('vue').PropType<import('..').RoundT>;
        };
        disabled: {
            type: BooleanConstructor;
            default: boolean;
        };
        loading: {
            type: BooleanConstructor;
            default: boolean;
        };
        beforeChange: {
            type: import('vue').PropType<(val: boolean) => Promise<boolean> | boolean>;
        };
    }>> & Readonly<{
        onChange?: ((val: string | number | boolean, ev: Event) => any) | undefined;
        "onUpdate:modelValue"?: ((val: string | number | boolean) => any) | undefined;
    }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
        change: (val: string | number | boolean, ev: Event) => any;
        "update:modelValue": (val: string | number | boolean) => any;
    }, import('vue').PublicProps, {
        size: "medium" | "small";
        disabled: boolean;
        loading: boolean;
        defaultChecked: boolean;
        checkedValue: string | number | boolean;
        uncheckedValue: string | number | boolean;
    }, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, HTMLDivElement, import('vue').ComponentProvideOptions, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly<import('vue').ExtractPropTypes<{
        modelValue: {
            type: (NumberConstructor | StringConstructor | BooleanConstructor)[];
        };
        defaultChecked: {
            type: BooleanConstructor;
            default: boolean;
        };
        checkedValue: {
            type: (NumberConstructor | StringConstructor | BooleanConstructor)[];
            default: boolean;
        };
        uncheckedValue: {
            type: (NumberConstructor | StringConstructor | BooleanConstructor)[];
            default: boolean;
        };
        size: {
            type: import('vue').PropType<import('./types').SwitchSizeT>;
            default: string;
        };
        round: {
            type: import('vue').PropType<import('..').RoundT>;
        };
        disabled: {
            type: BooleanConstructor;
            default: boolean;
        };
        loading: {
            type: BooleanConstructor;
            default: boolean;
        };
        beforeChange: {
            type: import('vue').PropType<(val: boolean) => Promise<boolean> | boolean>;
        };
    }>> & Readonly<{
        onChange?: ((val: string | number | boolean, ev: Event) => any) | undefined;
        "onUpdate:modelValue"?: ((val: string | number | boolean) => any) | undefined;
    }>, {}, {}, {}, {}, {
        size: "medium" | "small";
        disabled: boolean;
        loading: boolean;
        defaultChecked: boolean;
        checkedValue: string | number | boolean;
        uncheckedValue: string | number | boolean;
    }>;
    __isFragment?: never;
    __isTeleport?: never;
    __isSuspense?: never;
} & import('vue').ComponentOptionsBase<Readonly<import('vue').ExtractPropTypes<{
    modelValue: {
        type: (NumberConstructor | StringConstructor | BooleanConstructor)[];
    };
    defaultChecked: {
        type: BooleanConstructor;
        default: boolean;
    };
    checkedValue: {
        type: (NumberConstructor | StringConstructor | BooleanConstructor)[];
        default: boolean;
    };
    uncheckedValue: {
        type: (NumberConstructor | StringConstructor | BooleanConstructor)[];
        default: boolean;
    };
    size: {
        type: import('vue').PropType<import('./types').SwitchSizeT>;
        default: string;
    };
    round: {
        type: import('vue').PropType<import('..').RoundT>;
    };
    disabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    loading: {
        type: BooleanConstructor;
        default: boolean;
    };
    beforeChange: {
        type: import('vue').PropType<(val: boolean) => Promise<boolean> | boolean>;
    };
}>> & Readonly<{
    onChange?: ((val: string | number | boolean, ev: Event) => any) | undefined;
    "onUpdate:modelValue"?: ((val: string | number | boolean) => any) | undefined;
}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
    change: (val: string | number | boolean, ev: Event) => any;
    "update:modelValue": (val: string | number | boolean) => any;
}, string, {
    size: "medium" | "small";
    disabled: boolean;
    loading: boolean;
    defaultChecked: boolean;
    checkedValue: string | number | boolean;
    uncheckedValue: string | number | boolean;
}, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
    $slots: {
        on?(_: {}): any;
        off?(_: {}): any;
    };
}) & {
    install(app: App): void;
};
export { OSwitch };
export * from './types';
