import { default as CortexElement } from '../../../../base/src/cortex-element.ts';
import { CSSResultGroup } from 'lit';
import { default as CxIconButton } from '../icon-button/icon-button';
import { default as CxLineClamp } from '../line-clamp/line-clamp';

/**
 * @summary Tags are used as labels to organize things or to indicate a selection.
 *
 * @slot (default) - The tag's content.
 *
 * @event cx-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 `<cx-icon-button>`.
 * @csspart remove-button__base - The remove button's exported `base` part.
 */
export default class CxTag extends CortexElement {
    static styles: CSSResultGroup;
    static dependencies: {
        'cx-icon-button': typeof CxIconButton;
        'cx-line-clamp': typeof CxLineClamp;
    };
    private readonly localize;
    /** The tag's theme variant. */
    variant: 'primary' | 'success' | 'neutral' | 'warning' | 'danger' | 'text';
    /** The tag's size. */
    size: 'small' | 'medium' | 'large';
    /** Draws a pill-style tag with rounded edges. */
    pill: boolean;
    /** Makes the tag removable and shows a remove button. */
    removable: boolean;
    private handleRemoveClick;
    render(): import('lit').TemplateResult<1>;
}
declare global {
    interface HTMLElementTagNameMap {
        'cx-tag': CxTag;
    }
}
