import { Injector, Type } from '@angular/core';
import { Observable } from 'rxjs';
import { NcConfig, NcRouteContent } from './ng-cortex.interface';
import { NcPassport, NcApp, NcMenu } from './nc-api.interface';
export declare class NgCortexService {
    private _injector;
    config: NcConfig;
    token: string;
    passport: NcPassport;
    apps: NcApp[];
    activeApp: NcApp;
    activeAppMenus: NcMenu[];
    routeContents: NcRouteContent[];
    activeRouteContentIndex: number;
    private _initSubject;
    private _activeRouteContentIndex;
    private _navigateAfterLogin;
    private _title;
    private _titleSubject;
    private _authorities;
    private _settingSubjects;
    constructor(_injector: Injector);
    setTitle(title: string): void;
    getTitle(): string;
    setNavigateAfterLogin(route: string): void;
    init(configUrl: string): Observable<boolean>;
    register(options: NcPassport): Observable<boolean>;
    login(login: string, password: string, rememberMe?: boolean): Observable<boolean>;
    logout(): void;
    updataPassport(passport: NcPassport): Observable<boolean>;
    changePassword(currentPassword: string, newPassword: string): Observable<boolean>;
    changeApp(code: string): Observable<boolean>;
    importModule(name: string, url: string): Observable<any>;
    getAbsUrl(url: string): string;
    import(url: string): Observable<{
        source: any;
        mainModule: Type<any>;
        mainComponent: Type<any>;
    }>;
    closeRoute(route: string, navigateTo?: string): void;
    clearRoute(navigateTo?: string): void;
    closeOtherRoute(route: string): void;
    updateSetting(key: string, setting: any): void;
    getSetting(key: string): any;
    getSettingChanger(key: string): Observable<any>;
    cleanSettingChanger(key: string): void;
    private _authenticate;
    private _getDependences;
    private _getPassport;
    private _getApplications;
    private _initTitleSubject;
    private _initRouterSubject;
    private _getActiveRouterOutlet;
    private _updateRoutes;
    private _resetRoutes;
    private _getMenus;
    private _getModules;
    private _getPermissions;
    private _removePermissions;
}
