/**
* TyTag Web Component
* PORTED FROM: clj/ty/components/tag.cljs
* Tag component with slots and semantic flavors
*/
import type { Flavor, Size, TyTagElement } from '../types/common.js';
/**
* Ty Tag Component
*
* @example
* ```html
* Primary Tag
* Success Tag
* Clickable Tag
* Selected Tag
* ```
*/
export declare class TyTag extends HTMLElement implements TyTagElement {
private _flavor;
private _size;
private _value;
private _selected;
private _pill;
private _clickable;
private _dismissible;
private _disabled;
private _cleanup;
constructor();
static get observedAttributes(): string[];
connectedCallback(): void;
disconnectedCallback(): void;
attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void;
/**
* Validate flavor (matches ClojureScript validation)
*/
private validateFlavor;
get flavor(): Flavor;
set flavor(value: Flavor);
get size(): Size;
set size(value: Size);
get value(): string | undefined;
set value(val: string | undefined);
get selected(): boolean;
set selected(value: boolean);
get pill(): boolean;
set pill(value: boolean);
get clickable(): boolean;
set clickable(value: boolean);
get dismissible(): boolean;
set dismissible(value: boolean);
get disabled(): boolean;
set disabled(value: boolean);
/**
* Dispatch custom tag events
*/
private dispatchTagEvent;
/**
* Handle tag click events
*/
private handleClick;
/**
* Handle tag dismiss events
*/
private handleDismiss;
/**
* Handle keyboard interactions
*/
private handleKeydown;
/**
* Clean up existing event listeners
*/
private cleanupEventListeners;
/**
* Setup event listeners for tag interactions
*/
private setupEventListeners;
/**
* Render the tag component
*/
private render;
}
//# sourceMappingURL=tag.d.ts.map