import { OnInit, OnDestroy, EventEmitter, ComponentRef, ComponentFactory, ComponentFactoryResolver, ViewContainerRef } from '@angular/core';
import { ChildrenOutletContexts, ActivatedRoute } from '@angular/router';
import { Location } from '@angular/common';
import { ViewState } from '../index';
import { RouterService } from './router.service';
import { RouteCacheController } from './route-cache-controller';
import { TabViewItemService } from '../tab-view-item/tab-view-item.service';
import { AppController } from '../../app/index';
export interface RouterItemConfig {
    state: ViewState;
    componentFactory: ComponentFactory<any>;
    activatedRoute: ActivatedRoute;
    childContexts: ChildrenOutletContexts;
}
export declare class RouterComponent implements OnInit, OnDestroy {
    private parentContexts;
    private routerService;
    private resolver;
    private routeCacheController;
    private viewContainerRef;
    private location;
    private appController;
    private tabViewItemService;
    private state;
    private initTouchBack;
    private steps;
    activateEvents: EventEmitter<any>;
    deactivateEvents: EventEmitter<any>;
    name: string;
    views: Array<RouterItemConfig>;
    readonly openMoveBack: boolean;
    readonly isActivated: boolean;
    readonly component: Object;
    readonly activatedRoute: ActivatedRoute;
    readonly activatedRouteData: {
        [name: string]: any;
    };
    private subs;
    private activated;
    private _activatedRoute;
    private isMoveBack;
    private isBack;
    constructor(parentContexts: ChildrenOutletContexts, routerService: RouterService, resolver: ComponentFactoryResolver, routeCacheController: RouteCacheController, viewContainerRef: ViewContainerRef, location: Location, appController: AppController, tabViewItemService: TabViewItemService, state: ViewState, initTouchBack: boolean, steps: number);
    ngOnInit(): void;
    ngOnDestroy(): void;
    detach(): ComponentRef<any>;
    attach(ref: ComponentRef<any>, activatedRoute: ActivatedRoute): void;
    activateWith(activatedRoute: ActivatedRoute, resolver: ComponentFactoryResolver | null): void;
    deactivate(): void;
    private setViewState(status);
    private setupRouterAnimation();
}
