import { FlatTreeControl, NestedTreeControl } from '@angular/cdk/tree';
import { ElementRef, OnDestroy, OnInit } from '@angular/core';
import { MatTreeFlatDataSource, MatTreeFlattener, MatTreeNestedDataSource } from '@angular/material/tree';
import { Router } from '@angular/router';
import { AuthloginService, ChatMessage, CurrentService, ProjectService, RouteElementService, ElementsService } from 'dbweb-core';
import { Observable } from 'rxjs';
import { MainNavService } from '../../services/main-nav.service';
import { TabsService } from '../tabs.service';
import { NavItem } from './nav-item';
import { NavtreeService, NavHome } from './navtree.service';
export declare class FileFlatNode {
    expandable: boolean;
    filename: string;
    level: number;
    type: any;
    constructor(expandable: boolean, filename: string, level: number, type: any);
}
export declare class HomeNavComponent implements OnInit, OnDestroy {
    nav: NavHome;
    current: CurrentService;
    eles: ElementsService;
    database: NavtreeService;
    private auth;
    private routeEle;
    prj: ProjectService;
    navMain: MainNavService;
    private router;
    private tabs;
    dialogScroll: ElementRef<HTMLDivElement>;
    maxNavContainer: ElementRef<HTMLDivElement>;
    minNavContainer: ElementRef<HTMLDivElement>;
    isMinNav: boolean;
    isOpenDialog: boolean;
    nestedTreeControl: NestedTreeControl<NavItem>;
    nestedDataSource: MatTreeNestedDataSource<NavItem>;
    treeControl: FlatTreeControl<FileFlatNode>;
    treeFlattener: MatTreeFlattener<NavItem, FileFlatNode>;
    dataSource: MatTreeFlatDataSource<NavItem, FileFlatNode>;
    currentNode: NavItem;
    navItems: NavItem[];
    chatObservable: Observable<ChatMessage>;
    constructor(nav: NavHome, current: CurrentService, eles: ElementsService, database: NavtreeService, auth: AuthloginService, routeEle: RouteElementService, prj: ProjectService, navMain: MainNavService, router: Router, tabs: TabsService);
    switchNavToMin(v: boolean): void;
    ngOnInit(): void;
    ngOnDestroy(): void;
    logout(): void;
    hasNestedChild(_: number, nodeData: NavItem): boolean;
    _getChildren: (node: NavItem) => NavItem[];
    openDialog(): void;
    closeDialog(): void;
    obtainNode(title: string, navItems: NavItem[]): void;
    sendMessage(): void;
    keyDown(e: any): void;
    dialogScrolls(): void;
    isNews(): void;
}
