import { ChangeDetectorRef, EventEmitter, OnInit } from '@angular/core';
import { IIdentified, IManagedObject } from '@c8y/client';
import { TranslateService } from '@ngx-translate/core';
import { Subject } from 'rxjs';
import { AssetSelectorService } from './asset-selector.service';
import { GroupNode } from './group-node';
import * as i0 from "@angular/core";
export declare class AssetSelectorNodeComponent implements OnInit {
    private translateService;
    private cd;
    assetSelectorService: AssetSelectorService;
    /**
     * The current node.
     */
    node: GroupNode;
    /**
     * Root node. Node found at the top of the hierarchy.
     */
    rootNode: GroupNode;
    /**
     * All preselected items.
     */
    preselected: IIdentified | IIdentified[];
    /**
     * Should the path be shown.
     */
    showPath: boolean;
    /**
     * Can the user select multiple assets.
     */
    multi: boolean;
    /**
     * The current path to the node.
     */
    view: 'tree' | 'miller';
    /**
     * Used only for miller-view, displays the column level for the current node.
     * E.g if the index is one, this will be second column.
     */
    index: any;
    /**
     * Sets the active node.
     */
    active: GroupNode;
    /**
     * A function that should verify the need to add a column when a node is clicked.
     */
    handleNextMillerViewColumn: (node: GroupNode, index: number) => boolean;
    disabled: boolean;
    /**
     * Event, which indicates whether the loading of the node has completed.
     */
    isLoadingState: EventEmitter<boolean>;
    /**
     * Event that emits when a node is selected.
     */
    onSelect: EventEmitter<IManagedObject>;
    /**
     * Event that emits when a node is deselected.
     */
    onDeselect: EventEmitter<{
        deselectMode: 'single' | 'all';
        mo: IManagedObject;
    }>;
    breadcrumb: string;
    /**
     * @ignore
     */
    level: number;
    /**
     * @ignore
     */
    unsubscribe$: Subject<void>;
    isNodeSelectable: boolean;
    /** sets the `btn-pending` class in the load more button */
    isLoading: boolean;
    /**
     * @ignore
     */
    get expandTitle(): "Expand" | "Collapse";
    /**
     * @ignore only di
     */
    constructor(translateService: TranslateService, cd: ChangeDetectorRef, assetSelectorService: AssetSelectorService);
    /**
     * @ignore
     */
    ngOnInit(): Promise<void>;
    /**
     * Opens a node.
     */
    click(): void;
    setupBreadcrumbsAndLevel(node: GroupNode): void;
    /**
     * Selects the node and emits a change on the parent component.
     * @param node The node to select.
     */
    selected(node: GroupNode): void;
    /**
     * Handles clicks on a item in Miller View.
     * @param node The node that was clicked.
     */
    millerViewClick(node: GroupNode): void;
    /**
     * @ignore
     */
    ngOnDestroy(): void;
    isSelected(): boolean;
    isActive(): boolean;
    private updateSelection;
    static ɵfac: i0.ɵɵFactoryDeclaration<AssetSelectorNodeComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AssetSelectorNodeComponent, "c8y-asset-selector-node", never, { "node": { "alias": "node"; "required": false; }; "rootNode": { "alias": "rootNode"; "required": false; }; "preselected": { "alias": "preselected"; "required": false; }; "showPath": { "alias": "showPath"; "required": false; }; "multi": { "alias": "multi"; "required": false; }; "view": { "alias": "view"; "required": false; }; "index": { "alias": "index"; "required": false; }; "active": { "alias": "active"; "required": false; }; "handleNextMillerViewColumn": { "alias": "handleNextMillerViewColumn"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "isLoadingState": "isLoadingState"; "onSelect": "onSelect"; "onDeselect": "onDeselect"; }, never, never, false, never>;
}
//# sourceMappingURL=asset-selector-node.component.d.ts.map