import type { PropType, RenderFunction } from 'vue'; import type { UISize, UnionOmit } from '../_utils_'; export interface SwitchSizeSet { labelHeight: string; labelMinWidth: string; fontSize: string; handlerSize: string; textCheckedPadding: string; textUncheckedPadding: string; } export declare type OnBeforeSwitchImpl = () => Promise | boolean | undefined | void; export declare type SwitchSize = UnionOmit; export declare type SwitchValue = string | number | boolean; export declare type SwitchSizeMap = Record; export interface SwitchProps { value?: SwitchValue; disabled?: boolean; size?: SwitchSize; checkedValue?: SwitchValue; uncheckedValue?: SwitchValue; checkedText?: string | RenderFunction; uncheckedText?: string | RenderFunction; checkedColor?: string; uncheckedColor?: string; handlerColor?: string; textPlacement?: 'in' | 'out' | 'both'; square?: boolean; checked?: boolean; loading?: boolean; inelastic?: boolean; width?: string | number; onBeforeSwitch?: OnBeforeSwitchImpl; } export interface SwitchExposeInstance { el: HTMLElement; switch: () => void; } export declare const switchProps: { value: { type: PropType; default: undefined; }; disabled: { type: PropType; default: boolean; }; size: { type: PropType; default: string; }; checkedValue: { type: PropType; default: boolean; }; uncheckedValue: { type: PropType; default: boolean; }; checkedText: { type: PropType; default: undefined; }; uncheckedText: { type: PropType; default: undefined; }; checkedColor: { type: PropType; default: undefined; }; uncheckedColor: { type: PropType; default: undefined; }; handlerColor: { type: PropType; default: undefined; }; textPlacement: { type: PropType<"in" | "out" | "both" | undefined>; default: string; }; square: { type: PropType; default: boolean; }; checked: { type: PropType; default: boolean; }; loading: { type: PropType; default: boolean; }; inelastic: { type: PropType; default: boolean; }; width: { type: PropType; default: undefined; }; onBeforeSwitch: { type: PropType; default: undefined; }; };