type __VLS_Props = { modelValue?: boolean; disabled?: boolean; /** Pending async commit: morphs the thumb into a spinning ring and blocks toggling. */ loading?: boolean; size?: 'small' | 'default' | 'large'; /** Visible text beside the track. Changes morph through `TxTextTransformer`. */ label?: string; /** Which side the label sits on. */ labelPlacement?: 'start' | 'end'; /** Accessible name. Ignored once a visible label or the default slot is present. */ ariaLabel?: string; /** Id of a visible label element that names this switch. */ ariaLabelledby?: string; }; declare function __VLS_template(): { attrs: Partial<{}>; slots: { default?(_: {}): any; default?(_: {}): any; }; refs: { trackRef: HTMLSpanElement; thumbRef: HTMLSpanElement; }; rootEl: HTMLButtonElement; }; type __VLS_TemplateResult = ReturnType; declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, { change: (value: boolean) => any; "update:modelValue": (value: boolean) => any; }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{ onChange?: ((value: boolean) => any) | undefined; "onUpdate:modelValue"?: ((value: boolean) => any) | undefined; }>, { loading: boolean; ariaLabel: string; disabled: boolean; size: "small" | "default" | "large"; modelValue: boolean; labelPlacement: "start" | "end"; ariaLabelledby: string; }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, { trackRef: HTMLSpanElement; thumbRef: HTMLSpanElement; }, HTMLButtonElement>; declare const _default: __VLS_WithTemplateSlots; export default _default; type __VLS_WithTemplateSlots = T & { new (): { $slots: S; }; };