import { AfterViewInit, Injector, OnDestroy } from '@angular/core';
import { RouterOutlet } from '@angular/router';
import { PageDirective } from "@wm/components/page";
import { App } from "@wm/core";
import * as i0 from "@angular/core";
export declare abstract class BaseLayoutComponent implements AfterViewInit, OnDestroy {
    injector: Injector;
    App: App;
    layoutName: string;
    layoutPages: string[];
    routerOutlet: RouterOutlet;
    pageDirective: PageDirective;
    abstract getExpressions(): any;
    /**
     * function to register bind expressions generated in this page instance
     * getExpressions function is defined in the generated page.comp.ts file
     * @param expressions, map of bind expression vs generated function
     */
    registerExpressions(): void;
    private overrideRouterOutlet;
    ngAfterViewInit(): void;
    init(): void;
    ngOnDestroy(): void;
    canReuse(): void;
    ngOnAttach(): void;
    ngOnDetach(): void;
    onActivate(pageComponent: any): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<BaseLayoutComponent, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<BaseLayoutComponent, never, never, {}, {}, never, never, false, never>;
}
