import type { App } from 'vue'; import type { SDOptions } from '../_utils/types'; import _Switch from './switch.vue'; export type SwitchValue = boolean | string | number; export type SwitchBeforeChange = (newValue: SwitchValue) => Promise | boolean | void; export type SwitchChangeHandler = (value: SwitchValue, event: Event) => void; declare const Switch: { new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins; default: string; }; size: { type: import("vue").PropType<"small" | "medium">; }; checkedValue: { type: (StringConstructor | BooleanConstructor | NumberConstructor)[]; default: boolean; }; uncheckedValue: { type: (StringConstructor | BooleanConstructor | NumberConstructor)[]; default: boolean; }; checkedColor: { type: StringConstructor; }; uncheckedColor: { type: StringConstructor; }; beforeChange: { type: import("vue").PropType<(newValue: string | number | boolean) => Promise | boolean | void>; }; checkedText: { type: StringConstructor; }; uncheckedText: { type: StringConstructor; }; }>> & Readonly<{ onFocus?: ((_ev: FocusEvent) => any) | undefined; onBlur?: ((_ev: FocusEvent) => any) | undefined; onChange?: ((_value: string | number | boolean, _ev: Event) => any) | undefined; "onUpdate:modelValue"?: ((_value: string | number | boolean) => any) | undefined; }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, { focus: (_ev: FocusEvent) => any; blur: (_ev: FocusEvent) => any; change: (_value: string | number | boolean, _ev: Event) => any; "update:modelValue": (_value: string | number | boolean) => any; }, import("vue").PublicProps, { type: "round" | "circle" | "line"; disabled: boolean; modelValue: string | number | boolean; loading: boolean; defaultChecked: boolean; autoLoading: boolean; checkedValue: string | number | boolean; uncheckedValue: string | number | boolean; }, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, { P: {}; B: {}; D: {}; C: {}; M: {}; Defaults: {}; }, Readonly; default: string; }; size: { type: import("vue").PropType<"small" | "medium">; }; checkedValue: { type: (StringConstructor | BooleanConstructor | NumberConstructor)[]; default: boolean; }; uncheckedValue: { type: (StringConstructor | BooleanConstructor | NumberConstructor)[]; default: boolean; }; checkedColor: { type: StringConstructor; }; uncheckedColor: { type: StringConstructor; }; beforeChange: { type: import("vue").PropType<(newValue: string | number | boolean) => Promise | boolean | void>; }; checkedText: { type: StringConstructor; }; uncheckedText: { type: StringConstructor; }; }>> & Readonly<{ onFocus?: ((_ev: FocusEvent) => any) | undefined; onBlur?: ((_ev: FocusEvent) => any) | undefined; onChange?: ((_value: string | number | boolean, _ev: Event) => any) | undefined; "onUpdate:modelValue"?: ((_value: string | number | boolean) => any) | undefined; }>, {}, {}, {}, {}, { type: "round" | "circle" | "line"; disabled: boolean; modelValue: string | number | boolean; loading: boolean; defaultChecked: boolean; autoLoading: boolean; checkedValue: string | number | boolean; uncheckedValue: string | number | boolean; }>; __isFragment?: never; __isTeleport?: never; __isSuspense?: never; } & import("vue").ComponentOptionsBase; default: string; }; size: { type: import("vue").PropType<"small" | "medium">; }; checkedValue: { type: (StringConstructor | BooleanConstructor | NumberConstructor)[]; default: boolean; }; uncheckedValue: { type: (StringConstructor | BooleanConstructor | NumberConstructor)[]; default: boolean; }; checkedColor: { type: StringConstructor; }; uncheckedColor: { type: StringConstructor; }; beforeChange: { type: import("vue").PropType<(newValue: string | number | boolean) => Promise | boolean | void>; }; checkedText: { type: StringConstructor; }; uncheckedText: { type: StringConstructor; }; }>> & Readonly<{ onFocus?: ((_ev: FocusEvent) => any) | undefined; onBlur?: ((_ev: FocusEvent) => any) | undefined; onChange?: ((_value: string | number | boolean, _ev: Event) => any) | undefined; "onUpdate:modelValue"?: ((_value: string | number | boolean) => any) | undefined; }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, { focus: (_ev: FocusEvent) => any; blur: (_ev: FocusEvent) => any; change: (_value: string | number | boolean, _ev: Event) => any; "update:modelValue": (_value: string | number | boolean) => any; }, string, { type: "round" | "circle" | "line"; disabled: boolean; modelValue: string | number | boolean; loading: boolean; defaultChecked: boolean; autoLoading: 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: { 'checked-icon'?: (props: {}) => any; } & { 'unchecked-icon'?: (props: {}) => any; } & { checked?: (props: {}) => any; } & { unchecked?: (props: {}) => any; } & { checked?: (props: {}) => any; } & { unchecked?: (props: {}) => any; }; }) & { install: (app: App, options?: SDOptions) => void; }; export type SwitchInstance = InstanceType; export default Switch;