import { QueryList } from '@angular/core';
import { Highlightable, FocusableOption } from '@angular/cdk/a11y';
import { BaseStatesDirective } from '@eui/components/shared';
import { EuiListComponent } from '../eui-list.component';
import { EuiIconSvgComponent } from '@eui/components/eui-icon';
import { EuiLabelComponent } from '@eui/components/eui-label';
import { EuiTemplateDirective, EuiArrowKeyNavigableDirective } from '@eui/components/directives';
import * as i0 from "@angular/core";
import * as i1 from "@eui/components/shared";
/**
 * @description
 * Component that represents a single item within an EuiList.
 * Implements FocusableOption and Highlightable for keyboard navigation and accessibility.
 *
 * This component is designed to work with the EuiListComponent as part of a navigable list.
 * It supports various display states through the BaseStatesDirective, and can contain
 * nested list components, icons, labels, and custom templates.
 */
export declare class EuiListItemComponent implements FocusableOption, Highlightable {
    get cssClasses(): string;
    role: string;
    e2eAttr: string;
    tabindex: string;
    euiListComponent: QueryList<EuiListComponent>;
    euiIconSvgComponent: QueryList<EuiIconSvgComponent>;
    euiLabelComponent: QueryList<EuiLabelComponent>;
    templates: QueryList<EuiTemplateDirective>;
    euiArrowKeyNavigableDirective: EuiArrowKeyNavigableDirective;
    isActive: boolean;
    baseStatesDirective: BaseStatesDirective;
    private elementRef;
    /**
     * Sets focus on the list item element.
     * Used by the FocusKeyManager to handle keyboard navigation within the list.
     */
    focus(): void;
    /**
     * Programmatically triggers a click event on the list item element.
     * Typically, invoked when the user presses Enter while the item is focused.
     */
    click(): void;
    /**
     * Applies active styling to the list item.
     * Called by the FocusKeyManager when this item becomes the active item in the list.
     * Sets the isActive flag to true, which adds the 'eui-list-item--active' CSS class.
     */
    setActiveStyles(): void;
    /**
     * Removes active styling from the list item.
     * Called by the FocusKeyManager when another item becomes the active item.
     * Sets the isActive flag to false, removing the 'eui-list-item--active' CSS class.
     */
    setInactiveStyles(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<EuiListItemComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<EuiListItemComponent, "[euiListItem], eui-list-item", never, { "e2eAttr": { "alias": "e2eAttr"; "required": false; }; "isActive": { "alias": "isActive"; "required": false; }; }, {}, ["euiArrowKeyNavigableDirective", "euiListComponent", "euiIconSvgComponent", "euiLabelComponent", "templates"], ["eui-icon-svg, span[euiIconSvg]", "[eui-label], [euiLabel]", "*", "[eui-list], [euiList]"], true, [{ directive: typeof i1.BaseStatesDirective; inputs: { "euiPrimary": "euiPrimary"; "euiSecondary": "euiSecondary"; "euiSuccess": "euiSuccess"; "euiInfo": "euiInfo"; "euiWarning": "euiWarning"; "euiDanger": "euiDanger"; "euiAccent": "euiAccent"; "euiVariant": "euiVariant"; }; outputs: {}; }]>;
    static ngAcceptInputType_isActive: unknown;
}
//# sourceMappingURL=eui-list-item.component.d.ts.map