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

/**
 * @summary Tags are used as labels to organize things or to indicate a selection.
 * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-tag--docs
 * @status stable
 * @since 2.0
 *
 * @dependency syn-icon-button
 *
 * @slot - The tag's content.
 *
 * @event syn-remove - Emitted when the remove button is activated.
 *
 * @csspart base - The component's base wrapper.
 * @csspart content - The tag's content.
 * @csspart remove-button - The tag's remove button, an `<syn-icon-button>`.
 * @csspart remove-button__base - The remove button's exported `base` part.
 */
declare class SynTagComponent {
    nativeElement: SynTag;
    private _ngZone;
    constructor(e: ElementRef, ngZone: NgZone);
    /**
     * The tag's size.
     */
    set size(v: SynTag['size']);
    get size(): SynTag['size'];
    /**
     * Makes the tag removable and shows a remove button.
     */
    set removable(v: '' | SynTag['removable']);
    get removable(): SynTag['removable'];
    /**
     * Emitted when the remove button is activated.
     */
    synRemoveEvent: EventEmitter<SynRemoveEvent>;
    static ɵfac: i0.ɵɵFactoryDeclaration<SynTagComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<SynTagComponent, "syn-tag", never, { "size": { "alias": "size"; "required": false; }; "removable": { "alias": "removable"; "required": false; }; }, { "synRemoveEvent": "synRemoveEvent"; }, never, ["*"], true, never>;
}

export { SynTagComponent };
