import { SynChangeEvent, SynInputEvent, SynInvalidEvent } from '@synergy-design-system/components';
import { default as SynRadioGroup } from '@synergy-design-system/components/components/radio-group/radio-group.component.js';
export type { SynChangeEvent } from '@synergy-design-system/components';
export type { SynInputEvent } 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<{
    /**
  * The radio group's label.
  * Required for proper accessibility.
  * If you need to display HTML, use the `label` slot
  instead.
   */
    label?: SynRadioGroup["label"];
    /**
     * The radio groups's help text.
     * If you need to display HTML, use the `help-text` slot instead.
     */
    helpText?: SynRadioGroup["helpText"];
    /**
     * The name of the radio group, submitted as a name/value pair with form data.
     */
    name?: SynRadioGroup["name"];
    /**
     * The current value of the radio group, submitted as a name/value pair with form data.
     */
    value?: SynRadioGroup["value"];
    /**
     * The radio group's size.
     * This size will be applied to all child radios and radio buttons.
     */
    size?: SynRadioGroup["size"];
    /**
  * The layout of the radio group.
  * This determines how the radios are displayed.
  This only applies to `syn-radio` elements.
  `syn-radio-button` items are rendered in their own button-group and will always render vertically.
  
  - `horizontal`: Radios are displayed in a row.
  - `vertical`: Radios are displayed in a column.
   */
    layout?: SynRadioGroup["layout"];
    /**
  * 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?: SynRadioGroup["form"];
    /**
     * Ensures a child radio is checked before allowing the containing form to submit.
     */
    required?: SynRadioGroup["required"];
    /**
     * Support for two way data binding
     */
    modelValue?: SynRadioGroup["value"];
}, {
    nativeElement: import('vue').Ref<SynRadioGroup | undefined, SynRadioGroup | undefined>;
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
    "syn-invalid": (e: SynInvalidEvent) => any;
    "syn-change": (e: SynChangeEvent) => any;
    "syn-input": (e: SynInputEvent) => any;
    "update:modelValue": (newValue: string | number) => any;
}, string, import('vue').PublicProps, Readonly<{
    /**
  * The radio group's label.
  * Required for proper accessibility.
  * If you need to display HTML, use the `label` slot
  instead.
   */
    label?: SynRadioGroup["label"];
    /**
     * The radio groups's help text.
     * If you need to display HTML, use the `help-text` slot instead.
     */
    helpText?: SynRadioGroup["helpText"];
    /**
     * The name of the radio group, submitted as a name/value pair with form data.
     */
    name?: SynRadioGroup["name"];
    /**
     * The current value of the radio group, submitted as a name/value pair with form data.
     */
    value?: SynRadioGroup["value"];
    /**
     * The radio group's size.
     * This size will be applied to all child radios and radio buttons.
     */
    size?: SynRadioGroup["size"];
    /**
  * The layout of the radio group.
  * This determines how the radios are displayed.
  This only applies to `syn-radio` elements.
  `syn-radio-button` items are rendered in their own button-group and will always render vertically.
  
  - `horizontal`: Radios are displayed in a row.
  - `vertical`: Radios are displayed in a column.
   */
    layout?: SynRadioGroup["layout"];
    /**
  * 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?: SynRadioGroup["form"];
    /**
     * Ensures a child radio is checked before allowing the containing form to submit.
     */
    required?: SynRadioGroup["required"];
    /**
     * Support for two way data binding
     */
    modelValue?: SynRadioGroup["value"];
}> & Readonly<{
    "onSyn-invalid"?: ((e: SynInvalidEvent) => any) | undefined;
    "onSyn-change"?: ((e: SynChangeEvent) => any) | undefined;
    "onSyn-input"?: ((e: SynInputEvent) => any) | undefined;
    "onUpdate:modelValue"?: ((newValue: string | number) => any) | undefined;
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>, {
    default?: (props: {}) => any;
}>;
type __VLS_WithSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
