import * as _angular_core from '@angular/core';
import { AfterViewInit, ElementRef, Injector } from '@angular/core';
import _Tag from '@ui5/webcomponents/dist/Tag.js';
import { UI5CustomEvent } from '@ui5/webcomponents-base';

declare class Tag implements AfterViewInit {
    /**
     * Defines the design type of the component.
     */
    design: _angular_core.InputSignal<"Set1" | "Set2" | "Neutral" | "Information" | "Positive" | "Negative" | "Critical" | undefined>;
    /**
     * Defines the color scheme of the component.
  There are 10 predefined schemes.
  To use one you can set a number from `"1"` to `"10"`. The `colorScheme` `"1"` will be set by default.
     */
    colorScheme: _angular_core.InputSignal<string | undefined>;
    /**
     * Defines if the default state icon is shown.
     */
    hideStateIcon: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /**
     * Defines if the component is interactive (focusable and pressable).
     */
    interactive: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /**
     * Defines how the text of a component will be displayed when there is not enough space.
  
  **Note:** For option "Normal" the text will wrap and the
  words will not be broken based on hyphenation.
     */
    wrappingType: _angular_core.InputSignal<"None" | "Normal" | undefined>;
    /**
     * Defines predefined size of the component.
     */
    size: _angular_core.InputSignal<"S" | "L" | undefined>;
    /**
     * Fired when the user clicks on an interactive tag.
  
  **Note:** The event will be fired if the `interactive` property is `true`
     */
    ui5Click: _angular_core.OutputEmitterRef<UI5CustomEvent<_Tag, "click">>;
    /**
     * Available slots for content projection in this component.
     *
     * Slots allow you to insert custom content into predefined areas of the web component.
     * Use the `slot` attribute on child elements to target specific slots.
     *
     * - **(default)**: Defines the text of the component.
  
  **Note:** Although this slot accepts HTML Elements, it is strongly recommended that you only use text in order to preserve the intended design.
     * - **icon**: Defines the icon to be displayed in the component.
     *
     * @example
     * ```html
     * <ui5-tag>
     *   <div slot="header">Custom header content</div>
     *   <p>Default slot content</p>
     * </ui5-tag>
     * ```
     *
     * @readonly
     * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_templates_and_slots | MDN Web Components Slots}
     */
    readonly slots: {
        name: string;
        description: string;
    }[];
    elementRef: ElementRef<_Tag>;
    injector: Injector;
    get element(): _Tag;
    ngAfterViewInit(): void;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<Tag, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<Tag, "ui5-tag, [ui5-tag]", ["ui5Tag"], { "design": { "alias": "design"; "required": false; "isSignal": true; }; "colorScheme": { "alias": "colorScheme"; "required": false; "isSignal": true; }; "hideStateIcon": { "alias": "hideStateIcon"; "required": false; "isSignal": true; }; "interactive": { "alias": "interactive"; "required": false; "isSignal": true; }; "wrappingType": { "alias": "wrappingType"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; }, { "ui5Click": "ui5Click"; }, never, ["*"], true, never>;
}

export { Tag };
