import { ButtonColor } from '../../types'; import { TIcon } from '../../types/icons.types'; interface VcTBProps { modelValue?: boolean; tabindex?: number; disabled?: boolean; invalid?: boolean; readonly?: boolean; /** * @description Icon shown when the toggle is in the "on" state. * Accepts a class string (`'vc-icon-*'`) or a Vue component * (e.g. a Lucide icon from `@lucide/vue`). */ onIcon?: TIcon; /** * @description Icon shown when the toggle is in the "off" state. * Accepts a class string (`'vc-icon-*'`) or a Vue component * (e.g. a Lucide icon from `@lucide/vue`). */ offIcon?: TIcon; onLabel?: string; offLabel?: string; ariaLabel?: string; ariaLabelledby?: string; dataTestName?: string; iconPos?: 'left' | 'right'; large?: boolean; /** * @description Extra class(es) appended to the icon when the toggle * is "on" (e.g. `'text-primary'`). Works for both class-string and * component icons — Vue merges these onto the icon's root element. */ activeIconColor?: string; color?: ButtonColor; loading?: boolean; } declare const _default: __VLS_WithTemplateSlots, { modelValue: undefined; tabindex: undefined; disabled: boolean; onIcon: undefined; offIcon: undefined; onLabel: string; offLabel: string; iconPos: string; ariaLabel: undefined; ariaLabelledby: undefined; dataTestName: string; activeIconColor: string; color: string; loading: boolean; }>>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, { change: (evt: MouseEvent) => void; "update:modelValue": (evt: boolean) => void; }, string, import("vue").PublicProps, Readonly, { modelValue: undefined; tabindex: undefined; disabled: boolean; onIcon: undefined; offIcon: undefined; onLabel: string; offLabel: string; iconPos: string; ariaLabel: undefined; ariaLabelledby: undefined; dataTestName: string; activeIconColor: string; color: string; loading: boolean; }>>> & Readonly<{ "onUpdate:modelValue"?: ((evt: boolean) => any) | undefined; onChange?: ((evt: MouseEvent) => any) | undefined; }>, { ariaLabel: string; color: "" | "success" | "warning" | "primary" | "secondary" | "destructive" | "active" | "primary-alternative"; loading: boolean; disabled: boolean; modelValue: boolean; tabindex: number; dataTestName: string; onIcon: TIcon; offIcon: TIcon; onLabel: string; offLabel: string; ariaLabelledby: string; iconPos: "left" | "right"; activeIconColor: string; }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, { default?(_: { value: boolean; }): any; icon?(_: { value: boolean; class: string; }): any; }>; export default _default; type __VLS_NonUndefinedable = T extends undefined ? never : T; type __VLS_TypePropsToRuntimeProps = { [K in keyof T]-?: {} extends Pick ? { type: import('vue').PropType<__VLS_NonUndefinedable>; } : { type: import('vue').PropType; required: true; }; }; type __VLS_WithDefaults = { [K in keyof Pick]: K extends keyof D ? __VLS_Prettify : P[K]; }; type __VLS_Prettify = { [K in keyof T]: T[K]; } & {}; type __VLS_WithTemplateSlots = T & { new (): { $slots: S; }; };