import { BindingSignaler } from 'aurelia-templating-resources';
import { HttpClient } from 'aurelia-fetch-client';
import { Datacontext } from './data/data-context';
import 'jquery';
import { RouterConfiguration, Router } from 'aurelia-router';
import { I18N } from 'aurelia-i18n';
import { EventAggregator, Subscription } from 'aurelia-event-aggregator';
import { Config } from './config';
import { AuthService } from './security/auth-service';
import { EntityManager } from './data/entity-manager';
import { BreezeModel } from './data/breeze-model';
import { DialogService } from 'aurelia-dialog';
export declare abstract class BaseApp {
    context: Datacontext;
    config: Config;
    eventAggregator: EventAggregator;
    breezeModel: BreezeModel;
    authService: AuthService;
    entityManager: EntityManager;
    httpClient: HttpClient;
    dialogService: DialogService;
    private signaler;
    router: Router;
    constants: any;
    i18n: I18N;
    isAuthenticated: boolean;
    subscription: Subscription;
    constructor(context: Datacontext, config: Config, eventAggregator: EventAggregator, breezeModel: BreezeModel, authService: AuthService, entityManager: EntityManager, httpClient: HttpClient, dialogService: DialogService, signaler: BindingSignaler);
    protected abstract isValidLanguage(language: string): boolean;
    protected switchLanguage(language: string): Promise<void>;
    loadProfile(): Promise<void>;
    protected disconnect(): void;
    configureRouter(routerConfig: RouterConfiguration, router: Router): Promise<void>;
    protected initialize(): Promise<void>;
    private subscribeToSecurityHub;
}
