import { SynBlurEvent, SynChangeEvent, SynInputEvent, SynFocusEvent, SynInvalidEvent } from '@synergy-design-system/components';
import { default as SynSwitch } from '@synergy-design-system/components/components/switch/switch.component.js';
export type { SynBlurEvent } from '@synergy-design-system/components';
export type { SynChangeEvent } from '@synergy-design-system/components';
export type { SynInputEvent } from '@synergy-design-system/components';
export type { SynFocusEvent } from '@synergy-design-system/components';
export type { SynInvalidEvent } from '@synergy-design-system/components';
declare const _default: typeof __VLS_export;
export default _default;
declare const __VLS_export: __VLS_WithSlots<import('vue').DefineComponent<{
    title?: SynSwitch["title"];
    /**
     * The name of the switch, submitted as a name/value pair with form data.
     */
    name?: SynSwitch["name"];
    /**
     * The current value of the switch, submitted as a name/value pair with form data.
     */
    value?: SynSwitch["value"];
    /**
     * The switch's size.
     */
    size?: SynSwitch["size"];
    /**
     * Disables the switch.
     */
    disabled?: SynSwitch["disabled"];
    /**
     * Sets the switch to a readonly state.
     */
    readonly?: SynSwitch["readonly"];
    /**
     * Draws the switch in a checked state.
     */
    checked?: SynSwitch["checked"];
    /**
  * By default, form controls are associated with the nearest containing `<form>` element.
  * This attribute allows you
  to place the form control outside of a form and associate it with the form that has this `id`.
  * The form must be in
  the same document or shadow root for this to work.
   */
    form?: SynSwitch["form"];
    /**
     * Makes the switch a required field.
     */
    required?: SynSwitch["required"];
    /**
     * The switch's help text.
     * If you need to display HTML, use the `help-text` slot instead.
     */
    helpText?: SynSwitch["helpText"];
    /**
     * Support for two way data binding
     */
    modelValue?: SynSwitch["checked"];
}, {
    nativeElement: import('vue').Ref<SynSwitch | undefined, SynSwitch | undefined>;
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
    "syn-blur": (e: SynBlurEvent) => any;
    "syn-focus": (e: SynFocusEvent) => any;
    "syn-invalid": (e: SynInvalidEvent) => any;
    "syn-change": (e: SynChangeEvent) => any;
    "syn-input": (e: SynInputEvent) => any;
    "update:modelValue": (newValue: boolean) => any;
}, string, import('vue').PublicProps, Readonly<{
    title?: SynSwitch["title"];
    /**
     * The name of the switch, submitted as a name/value pair with form data.
     */
    name?: SynSwitch["name"];
    /**
     * The current value of the switch, submitted as a name/value pair with form data.
     */
    value?: SynSwitch["value"];
    /**
     * The switch's size.
     */
    size?: SynSwitch["size"];
    /**
     * Disables the switch.
     */
    disabled?: SynSwitch["disabled"];
    /**
     * Sets the switch to a readonly state.
     */
    readonly?: SynSwitch["readonly"];
    /**
     * Draws the switch in a checked state.
     */
    checked?: SynSwitch["checked"];
    /**
  * By default, form controls are associated with the nearest containing `<form>` element.
  * This attribute allows you
  to place the form control outside of a form and associate it with the form that has this `id`.
  * The form must be in
  the same document or shadow root for this to work.
   */
    form?: SynSwitch["form"];
    /**
     * Makes the switch a required field.
     */
    required?: SynSwitch["required"];
    /**
     * The switch's help text.
     * If you need to display HTML, use the `help-text` slot instead.
     */
    helpText?: SynSwitch["helpText"];
    /**
     * Support for two way data binding
     */
    modelValue?: SynSwitch["checked"];
}> & Readonly<{
    "onSyn-blur"?: ((e: SynBlurEvent) => any) | undefined;
    "onSyn-focus"?: ((e: SynFocusEvent) => any) | undefined;
    "onSyn-invalid"?: ((e: SynInvalidEvent) => any) | undefined;
    "onSyn-change"?: ((e: SynChangeEvent) => any) | undefined;
    "onSyn-input"?: ((e: SynInputEvent) => any) | undefined;
    "onUpdate:modelValue"?: ((newValue: boolean) => any) | undefined;
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>, {
    default?: (props: {}) => any;
}>;
type __VLS_WithSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
