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

declare class Icon implements AfterViewInit {
    /**
     * Defines the component semantic design.
     */
    design: _angular_core.InputSignal<"Contrast" | "Critical" | "Default" | "Information" | "Negative" | "Neutral" | "NonInteractive" | "Positive" | undefined>;
    /**
     * Defines the unique identifier (icon name) of the component.
  
  To browse all available icons, see the
  [SAP Icons](https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html),
  [SAP Fiori Tools](https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html#/overview/SAP-icons-TNT) and
  [SAP Business Suite](https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html)
  
  Example:
  `name='add'`, `name='delete'`, `name='employee'`.
  
  **Note:** To use the SAP Fiori Tools icons,
  you need to set the `tnt` prefix in front of the icon's name.
  
  Example:
  `name='tnt/antenna'`, `name='tnt/actor'`, `name='tnt/api'`.
  
  **Note:** To use the SAP Business Suite icons,
  you need to set the `business-suite` prefix in front of the icon's name.
  
  Example:
  `name='business-suite/3d'`, `name='business-suite/1x2-grid-layout'`, `name='business-suite/4x4-grid-layout'`.
     */
    name: _angular_core.InputSignal<string | undefined>;
    /**
     * Defines the text alternative of the component.
  If not provided a default text alternative will be set, if present.
  
  **Note:** Every icon should have a text alternative in order to
  calculate its accessible name.
     */
    accessibleName: _angular_core.InputSignal<string | undefined>;
    /**
     * Defines whether the component should have a tooltip.
  
  **Note:** The tooltip text should be provided via the `accessible-name` property.
     */
    showTooltip: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /**
     * Defines the mode of the component.
     */
    mode: _angular_core.InputSignal<"Image" | "Decorative" | "Interactive" | undefined>;
    /**
     * Fired on mouseup, `SPACE` and `ENTER`.
  - on mouse click, the icon fires native `click` event
  - on `SPACE` and `ENTER`, the icon fires custom `click` event
     */
    ui5Click: _angular_core.OutputEmitterRef<UI5CustomEvent<_Icon, "click">>;
    elementRef: ElementRef<_Icon>;
    injector: Injector;
    get element(): _Icon;
    ngAfterViewInit(): void;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<Icon, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<Icon, "ui5-icon, [ui5-icon]", ["ui5Icon"], { "design": { "alias": "design"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "accessibleName": { "alias": "accessibleName"; "required": false; "isSignal": true; }; "showTooltip": { "alias": "showTooltip"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; }, { "ui5Click": "ui5Click"; }, never, ["*"], true, never>;
}

export { Icon };
