import * as i0 from '@angular/core';
import { ElementRef, NgZone } from '@angular/core';
import { SynOptgroup } from '@synergy-design-system/components';

/**
 * @summary The <syn-optgroup> element creates a grouping for <syn-option>s within a <syn-select>.
 * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-optgroup--docs
 * @status stable
 * @since 1.3.0
 *
 * @dependency syn-divider
 *
 * @slot - The given options. Must be `<syn-option>` elements.
 * @slot prefix - A presentational prefix icon or similar element.
 * @slot label - The label for the optgroup
 * @slot suffix - A presentational suffix icon or similar element.
 *
 * @csspart base - The component's base wrapper.
 * @csspart label-container - The container that wraps prefix, label and base
 * @csspart divider - The divider that is displayed above the content
 * @csspart prefix - The container that wraps the prefix.
 * @csspart suffix - The container that wraps the suffix.
 * @csspart options - The container that wraps the <syn-option> elements.
 *
 * @cssproperty --display-divider - Display property of the divider. Defaults to "block"
 */
declare class SynOptgroupComponent {
    nativeElement: SynOptgroup;
    private _ngZone;
    constructor(e: ElementRef, ngZone: NgZone);
    /**
     * Disables all options in the optgroup.
     */
    set disabled(v: '' | SynOptgroup['disabled']);
    get disabled(): SynOptgroup['disabled'];
    /**
     * The optgroups label.
     * If you need to display HTML, use the `label` slot instead.
     */
    set label(v: SynOptgroup['label']);
    get label(): SynOptgroup['label'];
    static ɵfac: i0.ɵɵFactoryDeclaration<SynOptgroupComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<SynOptgroupComponent, "syn-optgroup", never, { "disabled": { "alias": "disabled"; "required": false; }; "label": { "alias": "label"; "required": false; }; }, {}, never, ["*"], true, never>;
}

export { SynOptgroupComponent };
