import { AfterContentInit, ElementRef, EventEmitter, QueryList } from '@angular/core';
import { UxLinkLegacy } from '@eui/core';
import { EuiTreeListComponent } from './eui-tree-list.component';
import { EuiTreeListItemContentComponent } from './item-content/item-content.component';
import { BaseStatesDirective } from '@eui/components/shared';
import * as i0 from "@angular/core";
import * as i1 from "@eui/components/shared";
export declare class EuiTreeListItemComponent implements AfterContentInit {
    get cssClasses(): string;
    tabIndex: string;
    protected ariaRole: string;
    id: string;
    ariaLabel: string;
    e2eAttr: string;
    /**
     * The label of the tree list item if there is no customLabel.
     * @type {string}
     */
    label: string;
    /**
     * @deprecated This property is not used anymore and will be removed in the next major version.
     */
    linkUrl: string;
    /**
     * The sublabel of the tree list item if there is no customLabel.
     * @type {string}
     */
    subLabel: string;
    /**
     * @deprecated This property is not used anymore and will be removed in the next major version.
     */
    url: string;
    /**
     * @deprecated This property is not used anymore and will be removed in the next major version.
     */
    subLinks: UxLinkLegacy[];
    /**
     * Option that enables a corresponding class if it is set to true.
     * @default false
     */
    isActive: boolean;
    /**
     * Option to set the expanded state of the list item.
     * @default false
     */
    isExpanded: boolean;
    /**
     * Option to set the expanded state of the list item when it is always expanded.
     * @default false
     */
    isAlwaysExpanded: boolean;
    /**
     * Option to set the visible state of the list item and apply the corresponding hidden class if it is set to false.
     * @default true
     */
    isVisible: boolean;
    /**
     * @deprecated This property is not used anymore and will be removed in the next major version.
     */
    isDisplaySubLinksOnHover: boolean;
    /**
     * @deprecated This property is not used anymore and will be removed in the next major version.
     */
    isNavigateOnlyOnLabelClick: boolean;
    /**
     * Event emitted upon toggling the expanded state.
     */
    toggled: EventEmitter<EuiTreeListItemComponent>;
    isHovered: boolean;
    treeListComponent: EuiTreeListComponent;
    hasSub: boolean;
    hasCustomContent: boolean;
    focusable: ElementRef<HTMLDivElement>;
    customLabel: QueryList<EuiTreeListItemLabelTagDirective>;
    customDetailContent: QueryList<EuiTreeListItemDetailsContentTagDirective>;
    customSubContainerContent: QueryList<EuiTreeListItemSubContainerContentTagDirective>;
    subTreeList: QueryList<EuiTreeListComponent>;
    customContent: QueryList<EuiTreeListItemContentComponent>;
    protected elementRef: ElementRef<any>;
    baseStatesDirective: BaseStatesDirective;
    ngAfterContentInit(): void;
    /**
     * Method fired when the expander button is clicked.
     * @param {Event} event - The click event.
     */
    toggle(event: Event): void;
    /**
     * Method fired when a key is pressed down.
     * @param {KeyboardEvent} event - The keyboard event.
     */
    onKeyDown(event: KeyboardEvent): void;
    /**
     * Method that sets the visible state.
     * @param {boolean} state - The visible state.
     */
    setVisibleState(state: boolean): void;
    /**
     * Method that sets the expanded state.
     * @param {boolean} state - The expanded state.
     */
    setExpandedState(state: boolean): void;
    /**
     * Method used to enable/disable the focus state.
     */
    focus(): void;
    /**
     * Method used to focus on the last expanded tree item.
     */
    focusOnLastExpandedTreeItem(): void;
    /**
     * Method used to focus on the next tree item.
     * @returns {boolean} - Returns true if the focus was set, false otherwise.
     * @protected
     */
    protected focusOnNextTreeItem(): boolean;
    /**
     * Method used to disable the focus state.
     * @protected
     */
    protected disableFocus(): void;
    /**
     * Method used to enable the focus state.
     * @protected
     */
    protected enableFocus(): void;
    /**
     * Method used to get the CSS classes for the tree list item.
     * @returns {string} - The CSS classes.
     * @private
     */
    private getCssClasses;
    static ɵfac: i0.ɵɵFactoryDeclaration<EuiTreeListItemComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<EuiTreeListItemComponent, "eui-tree-list-item", never, { "id": { "alias": "id"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "e2eAttr": { "alias": "e2eAttr"; "required": false; }; "label": { "alias": "label"; "required": false; }; "linkUrl": { "alias": "linkUrl"; "required": false; }; "subLabel": { "alias": "subLabel"; "required": false; }; "url": { "alias": "url"; "required": false; }; "subLinks": { "alias": "subLinks"; "required": false; }; "isActive": { "alias": "isActive"; "required": false; }; "isExpanded": { "alias": "isExpanded"; "required": false; }; "isAlwaysExpanded": { "alias": "isAlwaysExpanded"; "required": false; }; "isVisible": { "alias": "isVisible"; "required": false; }; "isDisplaySubLinksOnHover": { "alias": "isDisplaySubLinksOnHover"; "required": false; }; "isNavigateOnlyOnLabelClick": { "alias": "isNavigateOnlyOnLabelClick"; "required": false; }; }, { "toggled": "toggled"; }, ["customLabel", "customDetailContent", "customSubContainerContent", "subTreeList", "customContent"], ["eui-tree-list-item-content", "eui-tree-list-item-label", "eui-tree-list-item-details", "eui-tree-list-item-sub-container", "*"], true, [{ directive: typeof i1.BaseStatesDirective; inputs: { "euiPrimary": "euiPrimary"; "euiSecondary": "euiSecondary"; "euiInfo": "euiInfo"; "euiSuccess": "euiSuccess"; "euiWarning": "euiWarning"; "euiDanger": "euiDanger"; "euiAccent": "euiAccent"; "euiVariant": "euiVariant"; }; outputs: {}; }]>;
    static ngAcceptInputType_isActive: unknown;
    static ngAcceptInputType_isExpanded: unknown;
    static ngAcceptInputType_isAlwaysExpanded: unknown;
    static ngAcceptInputType_isVisible: unknown;
    static ngAcceptInputType_isDisplaySubLinksOnHover: unknown;
    static ngAcceptInputType_isNavigateOnlyOnLabelClick: unknown;
}
export declare class EuiTreeListItemLabelTagDirective {
    static ɵfac: i0.ɵɵFactoryDeclaration<EuiTreeListItemLabelTagDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<EuiTreeListItemLabelTagDirective, "eui-tree-list-item-label", never, {}, {}, never, never, true, never>;
}
export declare class EuiTreeListItemDetailsContentTagDirective {
    static ɵfac: i0.ɵɵFactoryDeclaration<EuiTreeListItemDetailsContentTagDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<EuiTreeListItemDetailsContentTagDirective, "eui-tree-list-item-details", never, {}, {}, never, never, true, never>;
}
export declare class EuiTreeListItemSubContainerContentTagDirective {
    static ɵfac: i0.ɵɵFactoryDeclaration<EuiTreeListItemSubContainerContentTagDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<EuiTreeListItemSubContainerContentTagDirective, "eui-tree-list-item-sub-container", never, {}, {}, never, never, true, never>;
}
//# sourceMappingURL=eui-tree-list-item.component.d.ts.map