import { AfterViewInit, Injector, OnDestroy } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router';
import { Subject } from 'rxjs';
import { AbstractI18nService, AbstractNavigationService, App, Viewport, ScriptLoaderService } from '@wm/core';
import { PageDirective, SpaPageDirective } from '@wm/components/page';
import { PrefabDirective } from '@wm/components/prefab';
import { FragmentMonitor } from '../util/fragment-monitor';
import { AppManagerService } from '../services/app.manager.service';
import * as i0 from "@angular/core";
export declare const commonPartialWidgets: {};
export declare abstract class BasePartialComponent extends FragmentMonitor implements AfterViewInit, OnDestroy {
    Widgets: any;
    Variables: any;
    Actions: any;
    App: App;
    injector: Injector;
    partialName: string;
    activePageName: string;
    route: ActivatedRoute;
    appManager: AppManagerService;
    navigationService: AbstractNavigationService;
    router: Router;
    pageParams: any;
    containerWidget: any;
    i18nService: AbstractI18nService;
    appLocale: any;
    partialDirective: any;
    pageDirective: PageDirective | SpaPageDirective;
    Prefab: PrefabDirective;
    scriptLoaderService: ScriptLoaderService;
    Viewport: Viewport;
    compileContent: boolean;
    spa: boolean;
    destroy$: Subject<unknown>;
    viewInit$: Subject<unknown>;
    private viewParent;
    abstract evalUserScript(prefabContext: any, appContext: any, utils: any): any;
    abstract getVariables(): any;
    abstract getExpressions(): any;
    getContainerWidgetInjector(): any;
    init(): void;
    registerWidgets(): void;
    registerDestroyListener(fn: Function): void;
    initUserScript(): void;
    initVariables(): void;
    /**
     * function to register bind expressions generated in this partial instance
     * getExpressions function is defined in the generated page.comp.ts file
     * @param expressions, map of bind expression vs generated function
     */
    registerExpressions(): void;
    registerPageParams(): void;
    defineI18nProps(): void;
    invokeOnReady(): void;
    private loadScripts;
    mute(): void;
    unmute(): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    ngOnAttach(refreshData: any): void;
    ngOnDetach(): void;
    onReady(params?: any): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<BasePartialComponent, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<BasePartialComponent, never, never, {}, {}, never, never, false, never>;
}
