import type { CSSResultGroup } from 'lit';
import SynergyElement from '../../internal/synergy-element.js';
import type SynTag from '../tag/tag.component.js';
/**
* @summary A tag group is used to display multiple tags that belong together, often representing selected filters, categories, or user‑generated labels.
* It arranges tags in flexible rows and supports different sizes and layouts.
* Tags can be removable, icon‑based, or purely textual.
*
* @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-tag-group--docs
* @status stable
*
* @slot - The tag group's main content. Must be `` elements.
* @slot label - The tag group's label. Alternatively, you can use the `label` attribute.
*
* @csspart base - The component's base wrapper.
* @csspart tag-label - The tag group's label.
*/
export default class SynTagGroup extends SynergyElement {
static styles: CSSResultGroup;
tagsInDefaultSlot: SynTag[];
private readonly hasSlotController;
/** The tag group's label. If you need to display HTML, use the `label` slot instead. */
label: string;
/**
* Controls the label position. Use 'top' to place the label above the tags, or 'start' to place it to the begin of the tag group.
*/
labelPosition: 'top' | 'start';
/** The size that should be applied to all slotted `` elements */
size: 'small' | 'medium' | 'large';
private adjustTagSize;
handleSizeChange(): void;
handleSlotChange(): void;
render(): import("lit").TemplateResult<1>;
}