import { Injector } from '@angular/core';
import { RouteReuseStrategy } from '@angular/router';
import { AbstractHttpService, AbstractI18nService, StatePersistence } from '@wm/core';
import { SecurityService } from '@wm/security';
import * as i0 from "@angular/core";
export declare class AppRef {
    private inj;
    private i18nService;
    private statePersistence;
    private httpService;
    private securityService;
    private routeReuseStrategy;
    Variables: any;
    Actions: any;
    onAppVariablesReady: (...args: any[]) => void;
    onBeforeAppReady: (...args: any[]) => void;
    onSessionTimeout: (...args: any[]) => void;
    onPageReady: (...args: any[]) => void;
    onBeforePageLeave: (...args: any[]) => void;
    onBeforeServiceCall: (...args: any[]) => void;
    onServiceSuccess: (...args: any[]) => void;
    onServiceError: (...args: any[]) => void;
    dynamicComponentContainerRef: {};
    projectName: string;
    isPrefabType: boolean;
    isApplicationType: boolean;
    isTabletApplicationType: boolean;
    isTemplateBundleType: boolean;
    targetPlatform: string;
    appLocale: any;
    changeLocale: any;
    getSelectedLocale: any;
    setTimezone: any;
    setwidgetLocale: any;
    private _eventNotifier;
    landingPageName: any;
    reload(): void;
    constructor(inj: Injector, i18nService: AbstractI18nService, statePersistence: StatePersistence, httpService: AbstractHttpService, securityService: SecurityService, routeReuseStrategy: RouteReuseStrategy);
    clearPageCache(pageName?: string): void;
    notify(eventName: string, ...data: Array<any>): void;
    getDependency(injToken: any): any;
    /**
     * triggers the onSessionTimeout callback in app.js
     */
    on401(): void;
    subscribe(eventName: any, callback: (data: any) => void): () => void;
    notifyApp(template: any, type: any, title: any): void;
    /**
     * function to register bind expressions from app variables
     * it will be called from app.js in generated angular app
     * @param expressions, map of bind expression vs generated function
     */
    registerExpressions(expressions: any): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<AppRef, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<AppRef>;
}
