import * as i0 from '@angular/core';
import { ElementRef, NgZone } from '@angular/core';
import SynCheckboxGroup from '@synergy-design-system/components/components/checkbox-group/checkbox-group.component.js';

/**
 * @summary Checkbox groups are used to group multiple checkboxes together.
 * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-checkbox-group--docs
 * @status stable
 * @since 3.18.0
 *
 * @slot - The default slot where `<syn-checkbox>` and `<syn-switch>` elements are placed.
 * @slot label - The checkbox group's label. Required for proper accessibility. Alternatively, you can use the `label`
 *  attribute.
 * @slot help-text - Text that describes how to use the checkbox group. Alternatively, you can use the `help-text` attribute.
 *
 * @csspart form-control - The form control that wraps the label, input, and help text.
 * @csspart form-control-label - The label's wrapper.
 * @csspart form-control-input - The input's wrapper.
 * @csspart form-control-help-text - The help text's wrapper.
 */
declare class SynCheckboxGroupComponent {
    nativeElement: SynCheckboxGroup;
    private _ngZone;
    constructor(e: ElementRef, ngZone: NgZone);
    /**
  * The checkbox group's label.
  * Required for proper accessibility.
  If you need to display HTML, use the `label` slot instead.
   */
    set label(v: SynCheckboxGroup['label']);
    get label(): SynCheckboxGroup['label'];
    /**
     * The checkbox groups's help text.
     * If you need to display HTML, use the `help-text` slot instead.
     */
    set helpText(v: SynCheckboxGroup['helpText']);
    get helpText(): SynCheckboxGroup['helpText'];
    /**
     * The checkbox group's size.
     * This size will be applied to all child checkboxes.
     */
    set size(v: SynCheckboxGroup['size']);
    get size(): SynCheckboxGroup['size'];
    /**
  * The layout of the checkbox group.
  * This determines how the checkboxes are displayed.
  
  - `horizontal`: Checkboxes are displayed in a row.
  - `vertical`: Checkboxes are displayed in a column.
   */
    set layout(v: SynCheckboxGroup['layout']);
    get layout(): SynCheckboxGroup['layout'];
    /**
  * By default, form controls are associated with the nearest containing `<form>` element.
  This property allows you to specify the `id` of a `<form>` element to associate all of the slotted checkboxes and radios with.
  
  Please note that this property does not associate the checkbox group itself with a form, only the slotted checkboxes and radios.
   */
    set form(v: SynCheckboxGroup['form']);
    get form(): SynCheckboxGroup['form'];
    static ɵfac: i0.ɵɵFactoryDeclaration<SynCheckboxGroupComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<SynCheckboxGroupComponent, "syn-checkbox-group", never, { "label": { "alias": "label"; "required": false; }; "helpText": { "alias": "helpText"; "required": false; }; "size": { "alias": "size"; "required": false; }; "layout": { "alias": "layout"; "required": false; }; "form": { "alias": "form"; "required": false; }; }, {}, never, ["*"], true, never>;
}

export { SynCheckboxGroupComponent };
