import { Injector, OnInit, TemplateRef } from '@angular/core';
import { Subject } from 'rxjs';
import { ScrollService } from '../../../core/scroll.service';
import { HierarchyBase, HierarchyItem } from '../hierarchy-base';
import * as i0 from "@angular/core";
export declare class HierarchyTreeComponent extends HierarchyBase implements OnInit {
    private scrollService;
    /** The value of the id attribute of the tree's root HTMLUListElement, suffixed with '_root' */
    id: string;
    /** Hide the root node */
    hideRootNode?: boolean;
    /** Custom item template to use in place of the default one */
    customItemTemplate?: TemplateRef<any>;
    /** Emits a HierarchyItem whenever one is selected by clicking */
    itemSelected: Subject<HierarchyItem>;
    /** The width of the spacing before a tree node, multipled by a HierarchyItem's level. Value is in pixels */
    indent: number;
    /** The value of the id attribute of the tree's scroll container element, used to scroll a selected item into view.  */
    scrollContainerId: string;
    constructor(scrollService: ScrollService, injector: Injector);
    ngOnInit(): void;
    /**
     * Scroll to the item currently marked as is-selected. Wait a tick for the
     * NavItemActiveDirective to update the selected class.
     */
    scrollToSelectedItem(): void;
    /**
     * When a HierarchyItem is selected, update the value of the activeUrl property with the value
     * of that item's url property and emit the item to any subscribers.
     */
    selectItem(item: HierarchyItem): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<HierarchyTreeComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<HierarchyTreeComponent, "ec-hierarchy-tree", never, { "id": { "alias": "id"; "required": false; }; "hideRootNode": { "alias": "hideRootNode"; "required": false; }; "customItemTemplate": { "alias": "customItemTemplate"; "required": false; }; }, { "itemSelected": "itemSelected"; }, never, never, false, never>;
}
