/**
 * Application abstract controller.
 *
 * Used functionalities:
 *
 *  - `open_panel`: When set, contains the name of the panel to open upon loading an application.
 *      Note: although this is a list, only one can be defined.
 *
 *
 * @param {angular.IScope} $scope Scope.
 * @param {angular.auto.IInjectorService} $injector Main injector.
 * @param {boolean} [mobile] Is mobile.
 * @class
 * @ngdoc controller
 */
export function AbstractAppController($scope: angular.IScope, $injector: angular.auto.IInjectorService, mobile?: boolean): void;
export class AbstractAppController {
    /**
     * Application abstract controller.
     *
     * Used functionalities:
     *
     *  - `open_panel`: When set, contains the name of the panel to open upon loading an application.
     *      Note: although this is a list, only one can be defined.
     *
     *
     * @param {angular.IScope} $scope Scope.
     * @param {angular.auto.IInjectorService} $injector Main injector.
     * @param {boolean} [mobile] Is mobile.
     * @class
     * @ngdoc controller
     */
    constructor($scope: angular.IScope, $injector: angular.auto.IInjectorService, mobile?: boolean);
    /** @type {import('gmf/options').gmfOptions} */
    options: import("gmf/options").gmfOptions;
    /**
     * Location service
     *
     * @type {import('ngeo/statemanager/Location').StatemanagerLocation}
     */
    ngeoLocation: import("ngeo/statemanager/Location").StatemanagerLocation;
    /**
     * @type {import('ol/Map').default}
     */
    map: import("ol/Map").default;
    /**
     * @type {import('ngeo/map/FeatureOverlay').FeatureOverlay}
     */
    drawFeatureLayer: import("ngeo/map/FeatureOverlay").FeatureOverlay;
    /**
     * @type {import('gmf/theme/Manager').ThemeManagerService}
     */
    gmfThemeManager: import("gmf/theme/Manager").ThemeManagerService;
    /**
     * @type {import('gmf/layertree/TreeManager').LayertreeTreeManager}
     */
    gmfTreeManager_: import("gmf/layertree/TreeManager").LayertreeTreeManager;
    /**
     * Themes service
     *
     * @type {import('gmf/theme/Themes').ThemesService}
     */
    gmfThemes: import("gmf/theme/Themes").ThemesService;
    /**
     * Checks if the themes are loaded
     *
     * @type {boolean}
     */
    loading: boolean;
    /**
     * This property is set to `true` when the themes change after a
     * successful login
     *
     * @type {boolean}
     */
    postLoading: boolean;
    /**
     * Permalink service
     *
     * @type {import('gmf/permalink/Permalink').PermalinkService}
     */
    permalink_: import("gmf/permalink/Permalink").PermalinkService;
    /**
     * @type {boolean}
     */
    hasEditableLayers: boolean;
    /**
     * Check editable layers
     */
    updateHasEditableLayers_: () => void;
    /**
     * URL to redirect to after login success.
     *
     * @type {?string}
     */
    loginRedirectUrl: string | null;
    /**
     * Listeners passed to searchDirective.
     *
     * @type {import('ngeo/search/searchDirective').SearchDirectiveListeners<olFeature<import('ol/geom/Geometry').default>>}
     */
    searchListeners: import("ngeo/search/searchDirective").SearchDirectiveListeners<olFeature<import("ol/geom/Geometry").default>>;
    loginActive: boolean;
    hasPrivateLayers: boolean;
    filterSelectorEnabled: boolean;
    filterSelectorActive: boolean;
    /**
     * @type {import('ngeo/store/user').User}
     */
    gmfUser: any;
    /**
     * @type {Object<string, string>}
     */
    dimensions: {
        [x: string]: string;
    };
    /**
     * @type {import('ngeo/map/BackgroundLayerMgr').MapBackgroundLayerManager}
     */
    backgroundLayerMgr_: import("ngeo/map/BackgroundLayerMgr").MapBackgroundLayerManager;
    /**
     * The active state of the ngeo query directive.
     *
     * @type {boolean}
     */
    queryActive: boolean;
    /**
     * @type {import('ngeo/query/MapQuerent').MapQuerent}
     */
    ngeoMapQuerent_: import("ngeo/query/MapQuerent").MapQuerent;
    /**
     * @type {import('ngeo/statemanager/Service').StatemanagerService}
     */
    stateManager: import("ngeo/statemanager/Service").StatemanagerService;
    /**
     * @type {tmh.tmh.IDynamicLocale}
     */
    tmhDynamicLocale: tmh.tmh.IDynamicLocale;
    /**
     * @type {angular.IScope}
     */
    $scope: angular.IScope;
    /**
     * @type {string}
     */
    lang: string;
    /**
     * Default language
     *
     * @type {import('gmf/options').defaultLang}
     */
    defaultLang: import("gmf/options").defaultLang;
    /**
     * Languages URL
     *
     * @type {import('gmf/options').langUrls}
     */
    langUrls: import("gmf/options").langUrls;
    /**
     * The gettext catalog
     *
     * @type {angular.gettext.gettextCatalog}
     */
    gettextCatalog: angular.gettext.gettextCatalog;
    /**
     * @type {string}
     */
    mapToolsGroup: string;
    displaywindowTitle: string | null;
    displaywindowOpen: boolean;
    displaywindowWidth: string | null;
    displaywindowHeight: string | null;
    displaywindowUrl: string | null;
    displaywindowContent: string | null;
    /**
     * Whether to update the size of the map on browser window resize.
     *
     * @type {boolean}
     */
    manageResize: boolean;
    /**
     * The duration (milliseconds) of the animation that may occur on the div
     * containing the map. Used to smoothly resize the map while the animation
     * is in progress.
     *
     * @type {number|undefined}
     */
    resizeTransition: number | undefined;
    /**
     * @type {string}
     */
    displaywindowDraggableContainment: string;
    /**
     * @param {string} lang Language code.
     */
    switchLanguage(lang: string): void;
    /**
     */
    initLanguage(): void;
    /**
     * @param {?import('gmf/themes').GmfTheme} theme Theme.
     */
    setDefaultBackground_(theme: import("gmf/themes").GmfTheme | null): void;
}
export namespace AbstractAppController {
    let $inject: string[];
}
/**
 * @protected
 * @returns {HTMLSpanElement} Span element with font-awesome inside of it
 */
export function getLocationIcon(): HTMLSpanElement;
export default myModule;
import angular from 'angular';
/**
 * @type {angular.IModule}
 * @hidden
 */
declare const myModule: angular.IModule;
