import { OnInit, EventEmitter, OnDestroy, OnChanges, SimpleChanges } from '@angular/core';
import { AddressSpaceNode, AddressSpaceService, NodeNavigationData } from './address-space.service';
import { OpcuaService } from './opcuaService';
import { AlertService } from '@c8y/ngx-components';
import { DynamicDataSource } from './dynamic-data-source';
import { NestedTreeControl } from '@angular/cdk/tree';
import { Subscription } from 'rxjs';
import * as i0 from "@angular/core";
export declare class OpcuaAddressSpaceTreeComponent implements OnInit, OnDestroy, OnChanges {
    private addressSpaceService;
    private opcuaService;
    private alertService;
    set moId(id: string);
    node: any;
    focusEmitter: EventEmitter<AddressSpaceNode>;
    selectedNode: EventEmitter<AddressSpaceNode>;
    nestedTreeControl: NestedTreeControl<AddressSpaceNode>;
    dataSource: DynamicDataSource;
    focused: AddressSpaceNode;
    loading: boolean;
    subscriptionRef: Subscription;
    nodeNavDataSubscription: Subscription;
    private _moId;
    private destroy$;
    constructor(addressSpaceService: AddressSpaceService, opcuaService: OpcuaService, alertService: AlertService);
    getChildren: (node: AddressSpaceNode) => AddressSpaceNode[];
    hasChild: (_: number, _nodeData: AddressSpaceNode) => boolean;
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    initializeDataSet(): void;
    ngOnDestroy(): void;
    openNode(nodeNavData: NodeNavigationData): Promise<void>;
    setChildNodes(nodes: AddressSpaceNode[], ids: string[]): void;
    setupTree(nodeId?: string): Promise<void>;
    getMoId(): string;
    getIcon(nodeClassName: any): any;
    toggleFocusedNode(node: any): void;
    isFocusedNode(node: AddressSpaceNode): boolean;
    private getRelativePath;
    static ɵfac: i0.ɵɵFactoryDeclaration<OpcuaAddressSpaceTreeComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<OpcuaAddressSpaceTreeComponent, "opcua-address-space-tree", never, { "moId": { "alias": "moId"; "required": false; }; "node": { "alias": "node"; "required": false; }; "focusEmitter": { "alias": "focusEmitter"; "required": false; }; }, { "selectedNode": "selectedNode"; }, never, never, false, never>;
}
//# sourceMappingURL=opcua-address-space-tree.component.d.ts.map