import { AfterViewInit, ChangeDetectorRef, EventEmitter, OnDestroy, OnInit } from "@angular/core";
import { ActivatedRoute, Router, RouterOutlet } from "@angular/router";
import { RouteReuseStrategy } from "@angular/router";
import { CommonFunctionService } from "../../service/common-function.service";
import { DrawerService } from "../../service/drawer.service";
import { KeepAliveService } from "../../service/keep-alive.service";
import { CdkDragDrop } from "@angular/cdk/drag-drop";
export declare class MultiTabComponent implements OnInit, AfterViewInit, OnDestroy {
    router: Router;
    cf: CommonFunctionService;
    activatedRoute: ActivatedRoute;
    private ref;
    private drawer;
    private routeReuseStrategy;
    constructor(router: Router, cf: CommonFunctionService, activatedRoute: ActivatedRoute, ref: ChangeDetectorRef, drawer: DrawerService, routeReuseStrategy: RouteReuseStrategy);
    keepAlive: KeepAliveService;
    singleReuseUrls: string[];
    noGenerateTabUrls: string[];
    flattenMenu: any[];
    defaultTabUrl: string;
    onRefreshTab: EventEmitter<any>;
    onCloseTab: EventEmitter<any>;
    private subscriptions;
    TAB_WIDTH: number;
    GAP_NORMAL: number;
    GAP_SMALL: number;
    textGap: any;
    foo: RouterOutlet;
    comRef: any;
    tabList: any[];
    selectedTab: number;
    maxTabs: number;
    screenWidth: number;
    translation: any;
    onResize(event: any): void;
    ngOnInit(): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    setEllipsisTitle(): void;
    calcTabWidth(): {
        allWidth: any;
        leftWidth: any;
        rightWidth: any;
    };
    initTab(): void;
    closeTab(idx: any, noChange?: any): void;
    changeTab(tab: any, idx: any): void;
    addTab(url: any, title: any): void;
    setTab(url: any, pureUrl: any, title: any): void;
    onTabDrop(event: CdkDragDrop<string[]>): void;
    timer: any;
    refreshTab(): void;
    clearCache(url: any): void;
    cleanAllCache(): void;
    private urlWithoutQuery;
}
