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

declare class Link implements AfterViewInit {
    /**
     * Defines whether the component is disabled.
  
  **Note:** When disabled, the click event cannot be triggered by the user.
     */
    disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /**
     * Defines the tooltip of the component.
     */
    tooltip: _angular_core.InputSignal<string | undefined>;
    /**
     * Defines the component href.
  
  **Note:** Standard hyperlink behavior is supported.
     */
    href: _angular_core.InputSignal<string | undefined>;
    /**
     * Defines the component target.
  
  **Notes:**
  
  - `_self`
  - `_top`
  - `_blank`
  - `_parent`
  - `_search`
  
  **This property must only be used when the `href` property is set.**
     */
    target: _angular_core.InputSignal<string | undefined>;
    /**
     * Defines the component design.
  
  **Note:** Avaialble options are `Default`, `Subtle`, and `Emphasized`.
     */
    design: _angular_core.InputSignal<"Default" | "Subtle" | "Emphasized" | undefined>;
    /**
     * Defines the target area size of the link:
  - **InteractiveAreaSize.Normal**: The default target area size.
  - **InteractiveAreaSize.Large**: The target area size is enlarged to 24px in height.
  
  **Note:**The property is designed to make links easier to activate and helps meet the WCAG 2.2 Target Size requirement. It is applicable only for the SAP Horizon themes.
  **Note:**To improve <code>ui5-link</code>'s reliability and usability, it is recommended to use the <code>InteractiveAreaSize.Large</code> value in scenarios where the <code>ui5-link</code> component is placed inside another interactive component, such as a list item or a table cell.
  Setting the <code>interactiveAreaSize</code> property to <code>InteractiveAreaSize.Large</code> increases the <code>ui5-link</code>'s invisible touch area. As a result, the user's intended one-time selection command is more likely to activate the desired <code>ui5-link</code>, with minimal chance of unintentionally activating the underlying component.
     */
    interactiveAreaSize: _angular_core.InputSignal<"Normal" | "Large" | undefined>;
    /**
     * Defines how the text of a component will be displayed when there is not enough space.
  
  **Note:** By default the text will wrap. If "None" is set - the text will truncate.
     */
    wrappingType: _angular_core.InputSignal<"Normal" | "None" | undefined>;
    /**
     * Defines the accessible ARIA name of the component.
     */
    accessibleName: _angular_core.InputSignal<string | undefined>;
    /**
     * Receives id(or many ids) of the elements that label the input
     */
    accessibleNameRef: _angular_core.InputSignal<string | undefined>;
    /**
     * Defines the ARIA role of the component.
  
  **Note:** Use the <code>LinkAccessibleRole.Button</code> role in cases when navigation is not expected to occur and the href property is not defined.
     */
    accessibleRole: _angular_core.InputSignal<"Link" | "Button" | undefined>;
    /**
     * Defines the additional accessibility attributes that will be applied to the component.
  The following fields are supported:
  
  - **expanded**: Indicates whether the button, or another grouping element it controls, is currently expanded or collapsed.
  Accepts the following string values: `true` or `false`.
  
  - **hasPopup**: Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by the button.
  Accepts the following string values: `dialog`, `grid`, `listbox`, `menu` or `tree`.
     */
    accessibilityAttributes: _angular_core.InputSignal<LinkAccessibilityAttributes | undefined>;
    /**
     * Defines the accessible description of the component.
     */
    accessibleDescription: _angular_core.InputSignal<string | undefined>;
    /**
     * Defines the icon, displayed as graphical element within the component before the link's text.
  The SAP-icons font provides numerous options.
  
  **Note:** Usage of icon-only link is not supported, the link must always have a text.
  
  **Note:** We recommend using аn icon in the beginning or the end only, and with text.
  
  See all the available icons within the [Icon Explorer](https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html).
     */
    icon: _angular_core.InputSignal<string | undefined>;
    /**
     * Defines the icon, displayed as graphical element within the component after the link's text.
  The SAP-icons font provides numerous options.
  
  **Note:** Usage of icon-only link is not supported, the link must always have a text.
  
  **Note:** We recommend using аn icon in the beginning or the end only, and with text.
  
  See all the available icons within the [Icon Explorer](https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html).
     */
    endIcon: _angular_core.InputSignal<string | undefined>;
    /**
     * Fired when the component is triggered either with a mouse/tap
  or by using the Enter key.
     */
    ui5Click: _angular_core.OutputEmitterRef<UI5CustomEvent<_Link, "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.
     *
     * @example
     * ```html
     * <ui5-link>
     *   <div slot="header">Custom header content</div>
     *   <p>Default slot content</p>
     * </ui5-link>
     * ```
     *
     * @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<_Link>;
    injector: Injector;
    get element(): _Link;
    ngAfterViewInit(): void;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<Link, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<Link, "ui5-link, [ui5-link]", ["ui5Link"], { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "tooltip": { "alias": "tooltip"; "required": false; "isSignal": true; }; "href": { "alias": "href"; "required": false; "isSignal": true; }; "target": { "alias": "target"; "required": false; "isSignal": true; }; "design": { "alias": "design"; "required": false; "isSignal": true; }; "interactiveAreaSize": { "alias": "interactiveAreaSize"; "required": false; "isSignal": true; }; "wrappingType": { "alias": "wrappingType"; "required": false; "isSignal": true; }; "accessibleName": { "alias": "accessibleName"; "required": false; "isSignal": true; }; "accessibleNameRef": { "alias": "accessibleNameRef"; "required": false; "isSignal": true; }; "accessibleRole": { "alias": "accessibleRole"; "required": false; "isSignal": true; }; "accessibilityAttributes": { "alias": "accessibilityAttributes"; "required": false; "isSignal": true; }; "accessibleDescription": { "alias": "accessibleDescription"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "endIcon": { "alias": "endIcon"; "required": false; "isSignal": true; }; }, { "ui5Click": "ui5Click"; }, never, ["*"], true, never>;
}

export { Link };
