import { AfterContentInit, ChangeDetectorRef, EventEmitter, QueryList, TemplateRef } from '@angular/core';
import { ListItemInterface, Nullable } from '@fundamental-ngx/cdk/utils';
import { ButtonComponent } from '@fundamental-ngx/core/button';
import { CheckboxComponent } from '@fundamental-ngx/core/checkbox';
import { RadioButtonComponent } from '@fundamental-ngx/core/radio';
import { ListLinkDirective } from '../directives/list-link.directive';
import { ListFocusItem } from '../list-focus-item.model';
import * as i0 from "@angular/core";
/**
 * The component that represents a list item.
 * The list item can contain plain text, links or actions.
 */
export declare class ListItemComponent<T = any> extends ListFocusItem<T> implements AfterContentInit, ListItemInterface {
    private readonly _changeDetectorRef;
    /** Whether list item is selected */
    selected: boolean;
    /** Whether there is no data inside list item */
    noData: boolean;
    /** Whether there is item performs some action */
    action: boolean;
    /** Whether there is item performs some action */
    interactive: boolean;
    /** Whether list item contains busy indicator */
    growing: boolean;
    /** Counter on list item */
    counter: number;
    /** Whether list item shows active indicator. Used only in List with Subline. */
    active: boolean;
    /** Whether list item should contain additional unRead styles */
    unread: boolean;
    /**
     * Whether the list item is byline
     */
    byline: boolean;
    /** Aria-role attribute. */
    ariaRole: Nullable<string>;
    /** The ID of the list item element */
    id: Nullable<string>;
    /** Whether to prevent built-in click event logic on the list item.
     * Helpful when using lists with checkboxes or radio buttons when the list item should be clickable, but should not select/deselect the list item. */
    preventClick: boolean;
    /** @hidden Implementation of KeyboardSupportItemInterface | TODO Revisit KeyboardSupportItemInterface*/
    keyDown: EventEmitter<KeyboardEvent>;
    /** Whether list item contains link */
    link: boolean;
    /** @hidden */
    set radio(value: RadioButtonComponent);
    get radio(): RadioButtonComponent;
    /** @hidden */
    set checkbox(value: CheckboxComponent);
    get checkbox(): CheckboxComponent;
    /** @hidden */
    linkDirectives: QueryList<ListLinkDirective>;
    /** @hidden */
    buttons: QueryList<ButtonComponent>;
    /** @hidden group header id, that is being set by parent list component */
    _relatedGroupHeaderId: string | null;
    /** @hidden */
    readonly _list: import("@fundamental-ngx/core/list").ListComponentInterface | null;
    /** Template ref for Settings list item */
    settingsListTpl: import("@angular/core").InputSignal<TemplateRef<any> | undefined>;
    /** @hidden */
    private _role;
    /** @hidden An RxJS Subject that will kill the data stream upon component’s destruction (for unsubscribing)  */
    private readonly _destroyRef;
    /** @hidden */
    private readonly _onLinkListChanged$;
    /** @hidden */
    private _radio;
    /** @hidden */
    private _checkbox;
    /** @hidden */
    constructor(_changeDetectorRef: ChangeDetectorRef);
    /** @hidden */
    private get roleAttr();
    /** @hidden */
    keydownHandler(event: KeyboardEvent): void;
    /** @hidden */
    keyupHandler(event: KeyboardEvent): void;
    /** Handler for mouse events */
    onClick(event: MouseEvent): void;
    /** @hidden */
    private _onFocus;
    /** @hidden */
    ngAfterContentInit(): void;
    /** @hidden */
    private _listenOnLinkQueryChange;
    /** @hidden */
    private _listenOnButtonQueryChange;
    /** @hidden */
    private _addClassToButtons;
    /** @hidden */
    private _muteEvent;
    static ɵfac: i0.ɵɵFactoryDeclaration<ListItemComponent<any>, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ListItemComponent<any>, "[fdListItem] ,[fd-list-item]", never, { "selected": { "alias": "selected"; "required": false; }; "noData": { "alias": "noData"; "required": false; }; "action": { "alias": "action"; "required": false; }; "interactive": { "alias": "interactive"; "required": false; }; "growing": { "alias": "growing"; "required": false; }; "counter": { "alias": "counter"; "required": false; }; "active": { "alias": "active"; "required": false; }; "unread": { "alias": "unread"; "required": false; }; "byline": { "alias": "byline"; "required": false; }; "ariaRole": { "alias": "ariaRole"; "required": false; }; "id": { "alias": "id"; "required": false; }; "preventClick": { "alias": "preventClick"; "required": false; }; "settingsListTpl": { "alias": "settingsListTpl"; "required": false; "isSignal": true; }; }, { "keyDown": "keyDown"; }, ["radio", "checkbox", "linkDirectives", "buttons"], ["fd-checkbox", "fd-radio-button", "*"], true, never>;
}
