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

declare class SuggestionItemGroup implements AfterViewInit {
    /**
     * Defines the header text of the <code>ui5-li-group</code>.
     */
    headerText: _angular_core.InputSignal<string | undefined>;
    /**
     * Defines the accessible name of the header.
     */
    headerAccessibleName: _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>;
    /**
     * Fired when a movable list item is moved over a potential drop target during a dragging operation.
  
  If the new position is valid, prevent the default action of the event using `preventDefault()`.
     */
    ui5MoveOver: _angular_core.OutputEmitterRef<UI5CustomEvent<_SuggestionItemGroup, "move-over">>;
    /**
     * Fired when a movable list item is dropped onto a drop target.
  
  **Note:** `move` event is fired only if there was a preceding `move-over` with prevented default action.
     */
    ui5Move: _angular_core.OutputEmitterRef<UI5CustomEvent<_SuggestionItemGroup, "move">>;
    /**
     * 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 items of the <code>ui5-suggestion-item-group</code>.
     * - **header**: Defines the header of the component.
  
  **Note:** Using this slot, the default header text of group and the value of `headerText` property will be overwritten.
     *
     * @example
     * ```html
     * <ui5-suggestion-item-group>
     *   <div slot="header">Custom header content</div>
     *   <p>Default slot content</p>
     * </ui5-suggestion-item-group>
     * ```
     *
     * @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<_SuggestionItemGroup>;
    injector: Injector;
    get element(): _SuggestionItemGroup;
    ngAfterViewInit(): void;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<SuggestionItemGroup, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<SuggestionItemGroup, "ui5-suggestion-item-group, [ui5-suggestion-item-group]", ["ui5SuggestionItemGroup"], { "headerText": { "alias": "headerText"; "required": false; "isSignal": true; }; "headerAccessibleName": { "alias": "headerAccessibleName"; "required": false; "isSignal": true; }; "wrappingType": { "alias": "wrappingType"; "required": false; "isSignal": true; }; }, { "ui5MoveOver": "ui5MoveOver"; "ui5Move": "ui5Move"; }, never, ["*"], true, never>;
}

export { SuggestionItemGroup };
