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

declare class ListItemStandard implements AfterViewInit {
    /**
     * Defines the text of the component.
     */
    text: _angular_core.InputSignal<string | undefined>;
    /**
     * Defines the description displayed right under the item text, if such is present.
     */
    description: _angular_core.InputSignal<string | undefined>;
    /**
     * Defines the `icon` source URI.
  
  **Note:**
  SAP-icons font provides numerous built-in icons. To find all the available icons, see the
  [Icon Explorer](https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html).
     */
    icon: _angular_core.InputSignal<string | undefined>;
    /**
     * Defines whether the `icon` should be displayed in the beginning of the list item or in the end.
     */
    iconEnd: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /**
     * Defines the `additionalText`, displayed in the end of the list item.
     */
    additionalText: _angular_core.InputSignal<string | undefined>;
    /**
     * Defines the state of the `additionalText`.
  
  Available options are: `"None"` (by default), `"Positive"`, `"Critical"`, `"Information"` and `"Negative"`.
     */
    additionalTextState: _angular_core.InputSignal<"None" | "Positive" | "Critical" | "Negative" | "Information" | undefined>;
    /**
     * Defines whether the item is movable.
     */
    movable: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /**
     * Defines the text alternative of the component.
  Note: If not provided a default text alternative will be set, if present.
     */
    accessibleName: _angular_core.InputSignal<string | undefined>;
    /**
     * Defines if the text of the component should wrap when it's too long.
  When set to "Normal", the content (title, description) will be wrapped
  using the `ui5-expandable-text` component.<br/>
  
  The text can wrap up to 100 characters on small screens (size S) and
  up to 300 characters on larger screens (size M and above). When text exceeds
  these limits, it truncates with an ellipsis followed by a text expansion trigger.
  
  Available options are:
  - `None` (default) - The text will truncate with an ellipsis.
  - `Normal` - The text will wrap (without truncation).
     */
    wrappingType: _angular_core.InputSignal<"None" | "Normal" | undefined>;
    /**
     * Defines the visual indication and behavior of the list items.
  Available options are `Active` (by default), `Inactive`, `Detail` and `Navigation`.
  
  **Note:** When set to `Active` or `Navigation`, the item will provide visual response upon press and hover,
  while with type `Inactive` and `Detail` - will not.
     */
    type: _angular_core.InputSignal<"Inactive" | "Active" | "Detail" | "Navigation" | undefined>;
    /**
     * Defines the additional accessibility attributes that will be applied to the component.
  The following fields are supported:
  
  - **ariaSetsize**: Defines the number of items in the current set  when not all items in the set are present in the DOM.
  **Note:** The value is an integer reflecting the number of items in the complete set. If the size of the entire set is unknown, set `-1`.
  
      - **ariaPosinset**: Defines an element's number or position in the current set when not all items are present in the DOM.
      **Note:** The value is an integer greater than or equal to 1, and less than or equal to the size of the set when that size is known.
     */
    accessibilityAttributes: _angular_core.InputSignal<ListItemAccessibilityAttributes | undefined>;
    /**
     * The navigated state of the list item.
  If set to `true`, a navigation indicator is displayed at the end of the list item.
     */
    navigated: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /**
     * Defines the text of the tooltip that would be displayed for the list item.
     */
    tooltip: _angular_core.InputSignal<string | undefined>;
    /**
     * Defines the highlight state of the list items.
  Available options are: `"None"` (by default), `"Positive"`, `"Critical"`, `"Information"` and `"Negative"`.
     */
    highlight: _angular_core.InputSignal<"None" | "Positive" | "Critical" | "Negative" | "Information" | undefined>;
    /**
     * Defines the selected state of the component.
     */
    selected: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /**
     * Fired when the user clicks on the detail button when type is `Detail`.
     */
    ui5DetailClick: _angular_core.OutputEmitterRef<UI5CustomEvent<_ListItemStandard, "detail-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 custom formatted text of the component.
  
  **Note:** For optimal text wrapping and a consistent layout, it is strongly recommended to use the `text` property.
  
  Use the `default` slot only when custom formatting with HTML elements (e.g., `<b>`, `<i>`) is required.
  Be aware that wrapping (via `wrappingType="Normal"`) may not function correctly with custom HTML content in the `default` slot.
  
  If both `text` and `default` slot are used, the `text` property takes precedence.
     * - **image**: **Note:** While the slot allows option for setting custom avatar, to match the
  design guidelines, please use the `ui5-avatar` with it's default size - S.
  
  **Note:** If bigger `ui5-avatar` needs to be used, then the size of the
  `ui5-li` should be customized in order to fit.
     * - **deleteButton**: Defines the delete button, displayed in "Delete" mode.
  **Note:** While the slot allows custom buttons, to match
  design guidelines, please use the `ui5-button` component.
  **Note:** When the slot is not present, a built-in delete button will be displayed.
     *
     * @example
     * ```html
     * <ui5-li>
     *   <div slot="header">Custom header content</div>
     *   <p>Default slot content</p>
     * </ui5-li>
     * ```
     *
     * @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;
        since?: undefined;
    } | {
        name: string;
        description: string;
        since: string;
    })[];
    elementRef: ElementRef<_ListItemStandard>;
    injector: Injector;
    get element(): _ListItemStandard;
    ngAfterViewInit(): void;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<ListItemStandard, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<ListItemStandard, "ui5-li, [ui5-li]", ["ui5ListItemStandard"], { "text": { "alias": "text"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "iconEnd": { "alias": "iconEnd"; "required": false; "isSignal": true; }; "additionalText": { "alias": "additionalText"; "required": false; "isSignal": true; }; "additionalTextState": { "alias": "additionalTextState"; "required": false; "isSignal": true; }; "movable": { "alias": "movable"; "required": false; "isSignal": true; }; "accessibleName": { "alias": "accessibleName"; "required": false; "isSignal": true; }; "wrappingType": { "alias": "wrappingType"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "accessibilityAttributes": { "alias": "accessibilityAttributes"; "required": false; "isSignal": true; }; "navigated": { "alias": "navigated"; "required": false; "isSignal": true; }; "tooltip": { "alias": "tooltip"; "required": false; "isSignal": true; }; "highlight": { "alias": "highlight"; "required": false; "isSignal": true; }; "selected": { "alias": "selected"; "required": false; "isSignal": true; }; }, { "ui5DetailClick": "ui5DetailClick"; }, never, ["*"], true, never>;
}

export { ListItemStandard };
