import * as i0 from '@angular/core';
import { WritableSignal, EventEmitter, OnChanges, SimpleChanges, OnInit, AfterViewInit, AfterViewChecked } from '@angular/core';
import { TranslateService } from '@ngx-translate/core';
import SimpleBar from 'simplebar';
import { BehaviorSubject } from 'rxjs/internal/BehaviorSubject';

declare class NavigationService {
    constructor();
    static ɵfac: i0.ɵɵFactoryDeclaration<NavigationService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<NavigationService>;
}

declare class NavigationComponent {
    static ɵfac: i0.ɵɵFactoryDeclaration<NavigationComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<NavigationComponent, "lib-navigation", never, {}, {}, never, never, true, never>;
}

type LocalizedStrings = {
    [key: string]: string;
};
interface MenuListType {
    'action': string;
    'id': string;
    'type': string;
    'class': string;
    'textId': string;
    'textIdDisabled': string;
    'disabledTitle': string;
    'checkSubscription': boolean;
    'devOrStageOnly': boolean;
    'clickPolicy': string;
}

declare class BimplusLocalizedWidgetComponent {
    translateService: TranslateService;
    _selectedLanguage: WritableSignal<string>;
    get selectedLanguage(): string;
    set selectedLanguage(value: string);
    _localizedStrings: WritableSignal<LocalizedStrings>;
    get localizedStrings(): LocalizedStrings;
    set localizedStrings(value: LocalizedStrings);
    static ɵfac: i0.ɵɵFactoryDeclaration<BimplusLocalizedWidgetComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<BimplusLocalizedWidgetComponent, "lib-bimplus-localized-widget", never, { "selectedLanguage": { "alias": "selectedLanguage"; "required": false; }; "localizedStrings": { "alias": "localizedStrings"; "required": false; }; }, {}, never, never, true, never>;
}

declare class BimplusContactComponent extends BimplusLocalizedWidgetComponent {
    constructor();
    bimplusContactClicked: EventEmitter<string>;
    _contactClicked(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<BimplusContactComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<BimplusContactComponent, "lib-bimplus-contact", never, {}, { "bimplusContactClicked": "bimplusContactClicked"; }, never, never, true, never>;
}

declare class BimplusLanguageMenuComponent {
    _languagesList: {
        symbol: string;
        text: string;
    }[];
    isTouch: boolean;
    selectedLanguage: string;
    expandUp: boolean;
    _menuOpened: boolean;
    bimplusLanguageSelected: EventEmitter<string>;
    _switchLanguage(language: string): void;
    _toggleOpened(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<BimplusLanguageMenuComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<BimplusLanguageMenuComponent, "lib-bimplus-language-menu", never, { "isTouch": { "alias": "isTouch"; "required": false; }; "selectedLanguage": { "alias": "selectedLanguage"; "required": false; }; "expandUp": { "alias": "expandUp"; "required": false; }; }, { "bimplusLanguageSelected": "bimplusLanguageSelected"; }, never, never, true, never>;
    static ngAcceptInputType_isTouch: unknown;
    static ngAcceptInputType_expandUp: unknown;
}

interface BimplusMainMenuComponentAttribute {
    [key: string]: unknown;
}
declare class BimplusMainMenuComponent extends BimplusLocalizedWidgetComponent implements OnChanges {
    constructor();
    isEmbedded: boolean;
    isTouch: boolean;
    isIpadApp: boolean;
    isDev: boolean;
    isStage: boolean;
    hideProjectMenuIcons: boolean;
    showHorizontalMenuIcons: boolean;
    projectName: string;
    projectImageUrl: string;
    projectExplorerUrl: string;
    projectActiveItem: string;
    projectmembersDisabled: boolean;
    modelsDisabled: boolean;
    documentsDisabled: boolean;
    projectsettingsDisabled: boolean;
    processesDisabled: boolean;
    footerActiveItem: string;
    menuActiveItem: string;
    isCollapsed: boolean;
    showOverlay: boolean;
    teammembersSubscribed: boolean;
    propertymanagerSubscribed: boolean;
    autoconverterSubscribed: boolean;
    connexisSubscribed: boolean;
    openProjectDisabled: boolean;
    bimexplorerDisabled: boolean;
    autoconverterDisabled: boolean;
    connexisDisabled: boolean;
    teammembersDisabled: boolean;
    propertymanagerDisabled: boolean;
    shopDisabled: boolean;
    addinsDisabled: boolean;
    openProjectVisible: boolean;
    bimplusProjectMenuVisible: boolean;
    projectmembersVisible: boolean;
    modelsVisible: boolean;
    documentsVisible: boolean;
    projectsettingsVisible: boolean;
    processesVisible: boolean;
    bimexplorerVisible: boolean;
    autoconverterVisible: boolean;
    connexisVisible: boolean;
    teammembersVisible: boolean;
    propertymanagerVisible: boolean;
    shopVisible: boolean;
    addinsVisible: boolean;
    dividerprojectmanagementVisible: boolean;
    dividerappsVisible: boolean;
    getYourTeamVisible: boolean;
    tryBimplusProVisible: boolean;
    appsWithInfo: string[];
    appsOrder: string[];
    menuItemsOrder: string[];
    bimplusMainMenuClicked: EventEmitter<{
        action: string;
        type: string;
    }>;
    bimplusMainMenuOverlayClicked: EventEmitter<void>;
    ngOnChanges(changes: SimpleChanges): void;
    get apps(): MenuListType[];
    get footerList(): MenuListType[];
    /**--------------------------------------------------------------------------
    * check if app is subscribed
    --------------------------------------------------------------------------*/
    _isSubscribed(item: MenuListType): boolean;
    /**--------------------------------------------------------------------------
    * check if app is clickable
    --------------------------------------------------------------------------*/
    _isClickable(item: MenuListType): boolean;
    /**--------------------------------------------------------------------------
    * check if app is subscribed/visible
    --------------------------------------------------------------------------*/
    _isHidden(item: MenuListType): boolean;
    /**--------------------------------------------------------------------------
    * check if app is disabled
    --------------------------------------------------------------------------*/
    _isDisabled(item: MenuListType): boolean;
    _getContextData(item: MenuListType, active: boolean, disabled: boolean, clickable: boolean, selected: boolean): {
        item: MenuListType;
        active: boolean;
        disabled: boolean;
        clickable: boolean;
        selected: boolean;
        showInfoIcon: boolean;
    };
    _openPrjBtn: MenuListType;
    contextData: {
        item: string;
        active: boolean;
        disabled: boolean;
        clickable: boolean;
        selected: boolean;
    };
    appsList: MenuListType[];
    _menuFooterList: MenuListType[];
    _overlayClicked(): void;
    _mainMenuItemClicked(item: MenuListType, type: string, event: Event | undefined): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<BimplusMainMenuComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<BimplusMainMenuComponent, "lib-bimplus-main-menu", never, { "isEmbedded": { "alias": "isEmbedded"; "required": false; }; "isTouch": { "alias": "isTouch"; "required": false; }; "isIpadApp": { "alias": "isIpadApp"; "required": false; }; "isDev": { "alias": "isDev"; "required": false; }; "isStage": { "alias": "isStage"; "required": false; }; "hideProjectMenuIcons": { "alias": "hideProjectMenuIcons"; "required": false; }; "showHorizontalMenuIcons": { "alias": "showHorizontalMenuIcons"; "required": false; }; "projectName": { "alias": "projectName"; "required": false; }; "projectImageUrl": { "alias": "projectImageUrl"; "required": false; }; "projectExplorerUrl": { "alias": "projectExplorerUrl"; "required": false; }; "projectActiveItem": { "alias": "projectActiveItem"; "required": false; }; "projectmembersDisabled": { "alias": "projectmembersDisabled"; "required": false; }; "modelsDisabled": { "alias": "modelsDisabled"; "required": false; }; "documentsDisabled": { "alias": "documentsDisabled"; "required": false; }; "projectsettingsDisabled": { "alias": "projectsettingsDisabled"; "required": false; }; "processesDisabled": { "alias": "processesDisabled"; "required": false; }; "footerActiveItem": { "alias": "footerActiveItem"; "required": false; }; "menuActiveItem": { "alias": "menuActiveItem"; "required": false; }; "isCollapsed": { "alias": "isCollapsed"; "required": false; }; "showOverlay": { "alias": "showOverlay"; "required": false; }; "teammembersSubscribed": { "alias": "teammembersSubscribed"; "required": false; }; "propertymanagerSubscribed": { "alias": "propertymanagerSubscribed"; "required": false; }; "autoconverterSubscribed": { "alias": "autoconverterSubscribed"; "required": false; }; "connexisSubscribed": { "alias": "connexisSubscribed"; "required": false; }; "openProjectDisabled": { "alias": "openProjectDisabled"; "required": false; }; "bimexplorerDisabled": { "alias": "bimexplorerDisabled"; "required": false; }; "autoconverterDisabled": { "alias": "autoconverterDisabled"; "required": false; }; "connexisDisabled": { "alias": "connexisDisabled"; "required": false; }; "teammembersDisabled": { "alias": "teammembersDisabled"; "required": false; }; "propertymanagerDisabled": { "alias": "propertymanagerDisabled"; "required": false; }; "shopDisabled": { "alias": "shopDisabled"; "required": false; }; "addinsDisabled": { "alias": "addinsDisabled"; "required": false; }; "openProjectVisible": { "alias": "openProjectVisible"; "required": false; }; "bimplusProjectMenuVisible": { "alias": "bimplusProjectMenuVisible"; "required": false; }; "projectmembersVisible": { "alias": "projectmembersVisible"; "required": false; }; "modelsVisible": { "alias": "modelsVisible"; "required": false; }; "documentsVisible": { "alias": "documentsVisible"; "required": false; }; "projectsettingsVisible": { "alias": "projectsettingsVisible"; "required": false; }; "processesVisible": { "alias": "processesVisible"; "required": false; }; "bimexplorerVisible": { "alias": "bimexplorerVisible"; "required": false; }; "autoconverterVisible": { "alias": "autoconverterVisible"; "required": false; }; "connexisVisible": { "alias": "connexisVisible"; "required": false; }; "teammembersVisible": { "alias": "teammembersVisible"; "required": false; }; "propertymanagerVisible": { "alias": "propertymanagerVisible"; "required": false; }; "shopVisible": { "alias": "shopVisible"; "required": false; }; "addinsVisible": { "alias": "addinsVisible"; "required": false; }; "dividerprojectmanagementVisible": { "alias": "dividerprojectmanagementVisible"; "required": false; }; "dividerappsVisible": { "alias": "dividerappsVisible"; "required": false; }; "getYourTeamVisible": { "alias": "getYourTeamVisible"; "required": false; }; "tryBimplusProVisible": { "alias": "tryBimplusProVisible"; "required": false; }; "appsWithInfo": { "alias": "appsWithInfo"; "required": false; }; "appsOrder": { "alias": "appsOrder"; "required": false; }; "menuItemsOrder": { "alias": "menuItemsOrder"; "required": false; }; }, { "bimplusMainMenuClicked": "bimplusMainMenuClicked"; "bimplusMainMenuOverlayClicked": "bimplusMainMenuOverlayClicked"; }, never, never, true, never>;
    static ngAcceptInputType_isEmbedded: unknown;
    static ngAcceptInputType_isTouch: unknown;
    static ngAcceptInputType_isIpadApp: unknown;
    static ngAcceptInputType_isDev: unknown;
    static ngAcceptInputType_isStage: unknown;
    static ngAcceptInputType_hideProjectMenuIcons: unknown;
    static ngAcceptInputType_showHorizontalMenuIcons: unknown;
    static ngAcceptInputType_projectmembersDisabled: unknown;
    static ngAcceptInputType_modelsDisabled: unknown;
    static ngAcceptInputType_documentsDisabled: unknown;
    static ngAcceptInputType_projectsettingsDisabled: unknown;
    static ngAcceptInputType_processesDisabled: unknown;
    static ngAcceptInputType_isCollapsed: unknown;
    static ngAcceptInputType_showOverlay: unknown;
    static ngAcceptInputType_teammembersSubscribed: unknown;
    static ngAcceptInputType_propertymanagerSubscribed: unknown;
    static ngAcceptInputType_autoconverterSubscribed: unknown;
    static ngAcceptInputType_connexisSubscribed: unknown;
    static ngAcceptInputType_openProjectDisabled: unknown;
    static ngAcceptInputType_bimexplorerDisabled: unknown;
    static ngAcceptInputType_autoconverterDisabled: unknown;
    static ngAcceptInputType_connexisDisabled: unknown;
    static ngAcceptInputType_teammembersDisabled: unknown;
    static ngAcceptInputType_propertymanagerDisabled: unknown;
    static ngAcceptInputType_shopDisabled: unknown;
    static ngAcceptInputType_addinsDisabled: unknown;
    static ngAcceptInputType_openProjectVisible: unknown;
    static ngAcceptInputType_bimplusProjectMenuVisible: unknown;
    static ngAcceptInputType_projectmembersVisible: unknown;
    static ngAcceptInputType_modelsVisible: unknown;
    static ngAcceptInputType_documentsVisible: unknown;
    static ngAcceptInputType_projectsettingsVisible: unknown;
    static ngAcceptInputType_processesVisible: unknown;
    static ngAcceptInputType_bimexplorerVisible: unknown;
    static ngAcceptInputType_autoconverterVisible: unknown;
    static ngAcceptInputType_connexisVisible: unknown;
    static ngAcceptInputType_teammembersVisible: unknown;
    static ngAcceptInputType_propertymanagerVisible: unknown;
    static ngAcceptInputType_shopVisible: unknown;
    static ngAcceptInputType_addinsVisible: unknown;
    static ngAcceptInputType_dividerprojectmanagementVisible: unknown;
    static ngAcceptInputType_dividerappsVisible: unknown;
    static ngAcceptInputType_getYourTeamVisible: unknown;
    static ngAcceptInputType_tryBimplusProVisible: unknown;
}

declare enum LogoState {
    BimplusViewer = "bimplusViewer",// Bimplus logo
    ModelViewerBlack = "modelViewerBlack",// Model viewer black logo
    ModelViewer = "modelViewer",// Cloud viewer logo
    ConnexisViewer = "connexisViewer",// Connexis viewer logo
    ConnexisViewerBlack = "connexisViewerBlack"
}

declare class BimplusNavbarComponent {
    projectInfo: string;
    teamInfo: string;
    isDev: boolean;
    isStage: boolean;
    teamInfoOffset: string;
    isNavbarMenuVisible: boolean;
    isNavbarInfoVisible: boolean;
    logoState: i0.InputSignal<LogoState>;
    isModelViewerActive: i0.InputSignalWithTransform<boolean, unknown>;
    isNavbarMessageVisible: boolean;
    isNavbarMenuActive: boolean;
    isNavbarMenuEnabled: boolean;
    isTouch: boolean;
    isDashboardTooltipEnabled: boolean;
    selectedLanguage: string;
    bimplusNavbarClicked: EventEmitter<string>;
    LogoState: typeof LogoState;
    protected readonly logoStateSignal: i0.Signal<LogoState>;
    _menuClicked(): void;
    _logoClicked(): void;
    _projectInfoClicked(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<BimplusNavbarComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<BimplusNavbarComponent, "lib-bimplus-navbar", never, { "projectInfo": { "alias": "projectInfo"; "required": false; }; "teamInfo": { "alias": "teamInfo"; "required": false; }; "isDev": { "alias": "isDev"; "required": false; }; "isStage": { "alias": "isStage"; "required": false; }; "teamInfoOffset": { "alias": "teamInfoOffset"; "required": false; }; "isNavbarMenuVisible": { "alias": "isNavbarMenuVisible"; "required": false; }; "isNavbarInfoVisible": { "alias": "isNavbarInfoVisible"; "required": false; }; "logoState": { "alias": "logoState"; "required": false; "isSignal": true; }; "isModelViewerActive": { "alias": "isModelViewerActive"; "required": false; "isSignal": true; }; "isNavbarMessageVisible": { "alias": "isNavbarMessageVisible"; "required": false; }; "isNavbarMenuActive": { "alias": "isNavbarMenuActive"; "required": false; }; "isNavbarMenuEnabled": { "alias": "isNavbarMenuEnabled"; "required": false; }; "isTouch": { "alias": "isTouch"; "required": false; }; "isDashboardTooltipEnabled": { "alias": "isDashboardTooltipEnabled"; "required": false; }; "selectedLanguage": { "alias": "selectedLanguage"; "required": false; }; }, { "bimplusNavbarClicked": "bimplusNavbarClicked"; }, never, never, true, never>;
    static ngAcceptInputType_isDev: unknown;
    static ngAcceptInputType_isStage: unknown;
    static ngAcceptInputType_isNavbarMenuVisible: unknown;
    static ngAcceptInputType_isNavbarInfoVisible: unknown;
    static ngAcceptInputType_isNavbarMessageVisible: unknown;
    static ngAcceptInputType_isNavbarMenuActive: unknown;
    static ngAcceptInputType_isNavbarMenuEnabled: unknown;
    static ngAcceptInputType_isTouch: unknown;
    static ngAcceptInputType_isDashboardTooltipEnabled: unknown;
}

interface MessageModel {
    'id': string | undefined;
    'type': string | undefined;
    'title': string | undefined;
    'text': string | undefined;
    'link': string | undefined;
    'linkText': string | string[] | undefined;
    'links': string[] | undefined;
    'actionId': number | undefined;
    'capitalizedTitle': string | boolean | undefined;
}
declare class BimplusNotifyComponent extends BimplusLocalizedWidgetComponent implements OnChanges, OnInit {
    constructor();
    Array: ArrayConstructor;
    get newMessages(): boolean;
    get bimNotify(): boolean;
    /**--------------------------------------------------------------------------
    * List of messages
    --------------------------------------------------------------------------*/
    _messagesList: MessageModel[];
    /**--------------------------------------------------------------------------
    * properties
    --------------------------------------------------------------------------*/
    messagePreviewTime: number;
    /**--------------------------------------------------------------------------
    * properties
    --------------------------------------------------------------------------*/
    showMessagePreview: boolean;
    /**--------------------------------------------------------------------------
    * properties
    --------------------------------------------------------------------------*/
    previewMessagesLimit: number;
    /**--------------------------------------------------------------------------
    * offset of preview messages from main icon
    --------------------------------------------------------------------------*/
    previewMessagesOffsetY: string;
    /**--------------------------------------------------------------------------
    * properties
    --------------------------------------------------------------------------*/
    messages: string;
    ngOnChanges(changes: SimpleChanges): void;
    updateMessages(newValue: string): void;
    /**--------------------------------------------------------------------------
    * States
    --------------------------------------------------------------------------*/
    _menuOpened: boolean;
    _alertActive: boolean;
    _oldMessagesList: MessageModel[];
    _previewMessagesList: MessageModel[];
    /**--------------------------------------------------------------------------
    * Delete item event
    --------------------------------------------------------------------------*/
    bimplusNotifyDeleteMessage: EventEmitter<string>;
    /**--------------------------------------------------------------------------
    * Delete all item event
    --------------------------------------------------------------------------*/
    bimplusNotifyDeleteAllMessages: EventEmitter<string>;
    /**--------------------------------------------------------------------------
    * Message action event
    --------------------------------------------------------------------------*/
    bimplusNotifyMessageAction: EventEmitter<string>;
    /**--------------------------------------------------------------------------
    * initial component load
    --------------------------------------------------------------------------*/
    ngOnInit(): void;
    /**--------------------------------------------------------------------------
    * close single message
    --------------------------------------------------------------------------*/
    _closeMessage(item: MessageModel, preview: boolean, event: Event | undefined): void;
    /**--------------------------------------------------------------------------
    * close preview message
    --------------------------------------------------------------------------*/
    _closePreviewMessage(msgId: string | undefined, closedByUser?: boolean): void;
    /**--------------------------------------------------------------------------
    * close all messages
    --------------------------------------------------------------------------*/
    _deleteAllMessages(): void;
    /**--------------------------------------------------------------------------
    * message clicked
    --------------------------------------------------------------------------*/
    _messageAction(item: MessageModel, index: number): void;
    /**--------------------------------------------------------------------------
    * toggle menu open
    --------------------------------------------------------------------------*/
    _toggleOpened(): void;
    _messageNotReadYet(message: MessageModel): boolean;
    storeMessagesAsRead(messageList: string[]): void;
    clearAllLocalStorageMessages(): void;
    /**--------------------------------------------------------------------------
    * get item link title
    --------------------------------------------------------------------------*/
    _getItemLinkTitle(item: MessageModel, index: number): string;
    static ɵfac: i0.ɵɵFactoryDeclaration<BimplusNotifyComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<BimplusNotifyComponent, "lib-bimplus-notify", never, { "messagePreviewTime": { "alias": "messagePreviewTime"; "required": false; }; "showMessagePreview": { "alias": "showMessagePreview"; "required": false; }; "previewMessagesLimit": { "alias": "previewMessagesLimit"; "required": false; }; "previewMessagesOffsetY": { "alias": "previewMessagesOffsetY"; "required": false; }; "messages": { "alias": "messages"; "required": false; }; }, { "bimplusNotifyDeleteMessage": "bimplusNotifyDeleteMessage"; "bimplusNotifyDeleteAllMessages": "bimplusNotifyDeleteAllMessages"; "bimplusNotifyMessageAction": "bimplusNotifyMessageAction"; }, never, never, true, never>;
    static ngAcceptInputType_showMessagePreview: unknown;
}

declare class BimplusStorageInfoComponent extends BimplusLocalizedWidgetComponent {
    constructor();
    /**--------------------------------------------------------------------------
    * properties
    --------------------------------------------------------------------------*/
    usedStorage: i0.InputSignal<number>;
    bimplusStorageInfoClicked: EventEmitter<string>;
    /**--------------------------------------------------------------------------
    * clicked storage info container
    --------------------------------------------------------------------------*/
    _infoClicked(action: string): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<BimplusStorageInfoComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<BimplusStorageInfoComponent, "lib-bimplus-storage-info", never, { "usedStorage": { "alias": "usedStorage"; "required": false; "isSignal": true; }; }, { "bimplusStorageInfoClicked": "bimplusStorageInfoClicked"; }, never, never, true, never>;
}

interface MenuItem {
    id: string;
    action: string;
    class: string;
    textId: string;
    type: string;
    checkState: string;
    url: string;
    _url?: () => string;
    textClass: string;
    queryParams: string;
}
interface MenuItemEventData {
    index: number;
    action: string;
}
interface LangItem {
    symbol: string;
    text: string;
    lCode: string | undefined;
}
declare class BimplusUserMenuComponent extends BimplusLocalizedWidgetComponent implements OnChanges {
    constructor();
    _languagesList: LangItem[];
    /**--------------------------------------------------------------------------
    * States
    --------------------------------------------------------------------------*/
    _menuOpened: boolean;
    _languagesMenuOpened: boolean;
    /**--------------------------------------------------------------------------
    * properties
    --------------------------------------------------------------------------*/
    accountSettingsVisible: boolean;
    removeConnectedAppsVisible: boolean;
    userGuideVisible: boolean;
    supportVisible: boolean;
    forumVisible: boolean;
    releaseNotesVisible: boolean;
    submenuVisible: boolean;
    clearCacheVisible: boolean;
    dividerLoggedInVisible: boolean;
    logoutVisible: boolean;
    isEmbedded: boolean;
    isTouch: boolean;
    allowRcaItem: boolean;
    /**--------------------------------------------------------------------------
    * properties
    --------------------------------------------------------------------------*/
    buttonTitle: string;
    userName: string;
    userPhotoUrl: string;
    userGuideLinkUrl: string;
    supportLinkUrl: string;
    forumLinkUrl: string;
    /**--------------------------------------------------------------------------
    * Component events
    --------------------------------------------------------------------------*/
    bimplusUserMenuClicked: EventEmitter<MenuItemEventData>;
    bimplusLanguageSelected: EventEmitter<string>;
    ngOnChanges(changes: SimpleChanges): void;
    /**--------------------------------------------------------------------------
    * List of menu items
    * Note : action is used to identify action which should be executed
    --------------------------------------------------------------------------*/
    _menuItemsList: MenuItem[];
    /**--------------------------------------------------------------------------
    * Item clicked
    --------------------------------------------------------------------------*/
    _menuItemClicked(item: MenuItem, index: number): void;
    /**--------------------------------------------------------------------------
    * language submenu item clicked
    --------------------------------------------------------------------------*/
    _switchLanguage(language: string): void;
    /**--------------------------------------------------------------------------
    * toggle menu open
    --------------------------------------------------------------------------*/
    _toggleOpened(): void;
    /**--------------------------------------------------------------------------
    * toggle language submenu open
    --------------------------------------------------------------------------*/
    _toggleLanguagesSubmenuOpened(): void;
    /**--------------------------------------------------------------------------
    * check if item is visible
    --------------------------------------------------------------------------*/
    _isHidden(item: MenuItem): boolean;
    _buildUrl(item: MenuItem | undefined): string | undefined;
    _getMenuItems(): (MenuItem | undefined)[];
    _getLangId(lang: LangItem | undefined): string;
    static ɵfac: i0.ɵɵFactoryDeclaration<BimplusUserMenuComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<BimplusUserMenuComponent, "lib-bimplus-user-menu", never, { "accountSettingsVisible": { "alias": "accountSettingsVisible"; "required": false; }; "removeConnectedAppsVisible": { "alias": "removeConnectedAppsVisible"; "required": false; }; "userGuideVisible": { "alias": "userGuideVisible"; "required": false; }; "supportVisible": { "alias": "supportVisible"; "required": false; }; "forumVisible": { "alias": "forumVisible"; "required": false; }; "releaseNotesVisible": { "alias": "releaseNotesVisible"; "required": false; }; "submenuVisible": { "alias": "submenuVisible"; "required": false; }; "clearCacheVisible": { "alias": "clearCacheVisible"; "required": false; }; "dividerLoggedInVisible": { "alias": "dividerLoggedInVisible"; "required": false; }; "logoutVisible": { "alias": "logoutVisible"; "required": false; }; "isEmbedded": { "alias": "isEmbedded"; "required": false; }; "isTouch": { "alias": "isTouch"; "required": false; }; "allowRcaItem": { "alias": "allowRcaItem"; "required": false; }; "buttonTitle": { "alias": "buttonTitle"; "required": false; }; "userName": { "alias": "userName"; "required": false; }; "userPhotoUrl": { "alias": "userPhotoUrl"; "required": false; }; "userGuideLinkUrl": { "alias": "userGuideLinkUrl"; "required": false; }; "supportLinkUrl": { "alias": "supportLinkUrl"; "required": false; }; "forumLinkUrl": { "alias": "forumLinkUrl"; "required": false; }; }, { "bimplusUserMenuClicked": "bimplusUserMenuClicked"; "bimplusLanguageSelected": "bimplusLanguageSelected"; }, never, never, true, never>;
    static ngAcceptInputType_accountSettingsVisible: unknown;
    static ngAcceptInputType_removeConnectedAppsVisible: unknown;
    static ngAcceptInputType_userGuideVisible: unknown;
    static ngAcceptInputType_supportVisible: unknown;
    static ngAcceptInputType_forumVisible: unknown;
    static ngAcceptInputType_releaseNotesVisible: unknown;
    static ngAcceptInputType_submenuVisible: unknown;
    static ngAcceptInputType_clearCacheVisible: unknown;
    static ngAcceptInputType_dividerLoggedInVisible: unknown;
    static ngAcceptInputType_logoutVisible: unknown;
    static ngAcceptInputType_isEmbedded: unknown;
    static ngAcceptInputType_isTouch: unknown;
    static ngAcceptInputType_allowRcaItem: unknown;
}

declare class BimplusZoomComponent {
    /**--------------------------------------------------------------------------
    * List of available zoom
    --------------------------------------------------------------------------*/
    _zoomList: {
        symbol: string;
        text: string;
    }[];
    /**--------------------------------------------------------------------------
    * States
    --------------------------------------------------------------------------*/
    _menuOpened: boolean;
    /**--------------------------------------------------------------------------
    * properties
    --------------------------------------------------------------------------*/
    isTouch: boolean;
    /**--------------------------------------------------------------------------
    * properties
    --------------------------------------------------------------------------*/
    selectedZoom: string;
    /**--------------------------------------------------------------------------
    * Zoom selected event
    --------------------------------------------------------------------------*/
    bimplusZoomSelected: EventEmitter<string>;
    /**--------------------------------------------------------------------------
    * Zoom selection
    --------------------------------------------------------------------------*/
    _switchZoom(zoom: string): void;
    /**--------------------------------------------------------------------------
    * toggle menu open
    --------------------------------------------------------------------------*/
    _toggleOpened(): void;
    /**--------------------------------------------------------------------------
    * setup dynamic classes for zoom item
    --------------------------------------------------------------------------*/
    _getZoomClassObject(symbol: string): {
        [x: string]: boolean;
        selected: boolean;
    };
    static ɵfac: i0.ɵɵFactoryDeclaration<BimplusZoomComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<BimplusZoomComponent, "lib-bimplus-zoom", never, { "isTouch": { "alias": "isTouch"; "required": false; }; "selectedZoom": { "alias": "selectedZoom"; "required": false; }; }, { "bimplusZoomSelected": "bimplusZoomSelected"; }, never, never, true, never>;
    static ngAcceptInputType_isTouch: unknown;
}

declare class BimplusScrollableContainerComponent implements AfterViewInit, AfterViewChecked {
    private readonly elementRef;
    _simpleBar: SimpleBar;
    _element: HTMLElement;
    protected _scrollableContainerClassName: string;
    constructor();
    private _initializationSimpleScrollBar;
    ngAfterViewInit(): void;
    private _recalculateScrollbar;
    ngAfterViewChecked(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<BimplusScrollableContainerComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<BimplusScrollableContainerComponent, "lib-bimplus-scrollable-container", never, {}, {}, never, ["*"], true, never>;
}

declare class BimplusTouchMenuComponent extends BimplusLocalizedWidgetComponent implements OnChanges {
    constructor();
    /**--------------------------------------------------------------------------
    * List of menu items
    * Note : action is used to identify action which should be executed
    --------------------------------------------------------------------------*/
    _menuItemsList: {
        mode: string;
        class: string;
        textId: string;
    }[];
    get _selectedItem(): {
        mode: string;
        class: string;
        textId: string;
    } | undefined;
    /**--------------------------------------------------------------------------
    * States
    --------------------------------------------------------------------------*/
    _menuOpened: boolean;
    /**--------------------------------------------------------------------------
    * properties
    --------------------------------------------------------------------------*/
    isTouch: boolean;
    /**--------------------------------------------------------------------------
    * properties
    --------------------------------------------------------------------------*/
    selectedMode: string;
    /**--------------------------------------------------------------------------
    * Zoom selected event
    --------------------------------------------------------------------------*/
    bimplusTouchModeSelected: EventEmitter<string>;
    ngOnChanges(changes: SimpleChanges): void;
    /**--------------------------------------------------------------------------
    * Item clicked
    --------------------------------------------------------------------------*/
    _menuItemClicked(mode: string): void;
    /**--------------------------------------------------------------------------
    * toggle menu open
    --------------------------------------------------------------------------*/
    _toggleOpened(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<BimplusTouchMenuComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<BimplusTouchMenuComponent, "lib-bimplus-touch-menu", never, { "isTouch": { "alias": "isTouch"; "required": false; }; "selectedMode": { "alias": "selectedMode"; "required": false; }; }, { "bimplusTouchModeSelected": "bimplusTouchModeSelected"; }, never, never, true, never>;
    static ngAcceptInputType_isTouch: unknown;
}

interface BimplusProjectMenuComponentAttribute {
    [key: string]: unknown;
}
declare class BimplusProjectMenuComponent extends BimplusLocalizedWidgetComponent {
    constructor();
    projectName: string;
    projectImageUrl: string;
    projectExplorerUrl: string;
    projectActiveItem: string;
    projectmembersDisabled: boolean;
    modelsDisabled: boolean;
    documentsDisabled: boolean;
    projectsettingsDisabled: boolean;
    processesDisabled: boolean;
    projectmembersVisible: boolean;
    modelsVisible: boolean;
    documentsVisible: boolean;
    projectsettingsVisible: boolean;
    processesVisible: boolean;
    isCollapsed: boolean;
    isMiniMode: boolean;
    isTouch: boolean;
    hideMenuIcons: boolean;
    showHorizontalMenuIcons: boolean;
    menuItemsOrder: string[];
    get prjImgUrl(): string;
    get backgroundValue(): string;
    get prjImageOverlayStyle(): {
        background: string;
    };
    get prjImageStyle(): {
        background: string;
    };
    /**--------------------------------------------------------------------------
    * List of menu items
    * Note : action is used to identify action which should be executed
    * and also it serves as info topic id
    --------------------------------------------------------------------------*/
    _menuPrjList: MenuListType[];
    get menuItems(): MenuListType[];
    /**--------------------------------------------------------------------------
    * check if app is subscribed/visible
    --------------------------------------------------------------------------*/
    _isHidden(item: MenuListType): boolean;
    /**--------------------------------------------------------------------------
      * check if app is subscribed/visible
      --------------------------------------------------------------------------*/
    _isDisabled(item: MenuListType): boolean;
    _projectMenuItemClicked(action: string, param: string): void;
    /**--------------------------------------------------------------------------
  *  item clicked
  --------------------------------------------------------------------------*/
    _menuItemClicked(item: MenuListType, type: string, event: Event): void;
    _menuItemIgnoreAction(event: Event): void;
    _getPrjItemClassAttributes(item: MenuListType, isTouch: boolean): string;
    _getPrjIconClassAttributes(item: MenuListType): string;
    static ɵfac: i0.ɵɵFactoryDeclaration<BimplusProjectMenuComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<BimplusProjectMenuComponent, "lib-bimplus-project-menu", never, { "projectName": { "alias": "projectName"; "required": false; }; "projectImageUrl": { "alias": "projectImageUrl"; "required": false; }; "projectExplorerUrl": { "alias": "projectExplorerUrl"; "required": false; }; "projectActiveItem": { "alias": "projectActiveItem"; "required": false; }; "projectmembersDisabled": { "alias": "projectmembersDisabled"; "required": false; }; "modelsDisabled": { "alias": "modelsDisabled"; "required": false; }; "documentsDisabled": { "alias": "documentsDisabled"; "required": false; }; "projectsettingsDisabled": { "alias": "projectsettingsDisabled"; "required": false; }; "processesDisabled": { "alias": "processesDisabled"; "required": false; }; "projectmembersVisible": { "alias": "projectmembersVisible"; "required": false; }; "modelsVisible": { "alias": "modelsVisible"; "required": false; }; "documentsVisible": { "alias": "documentsVisible"; "required": false; }; "projectsettingsVisible": { "alias": "projectsettingsVisible"; "required": false; }; "processesVisible": { "alias": "processesVisible"; "required": false; }; "isCollapsed": { "alias": "isCollapsed"; "required": false; }; "isMiniMode": { "alias": "isMiniMode"; "required": false; }; "isTouch": { "alias": "isTouch"; "required": false; }; "hideMenuIcons": { "alias": "hideMenuIcons"; "required": false; }; "showHorizontalMenuIcons": { "alias": "showHorizontalMenuIcons"; "required": false; }; "menuItemsOrder": { "alias": "menuItemsOrder"; "required": false; }; }, {}, never, never, true, never>;
    static ngAcceptInputType_projectmembersDisabled: unknown;
    static ngAcceptInputType_modelsDisabled: unknown;
    static ngAcceptInputType_documentsDisabled: unknown;
    static ngAcceptInputType_projectsettingsDisabled: unknown;
    static ngAcceptInputType_processesDisabled: unknown;
    static ngAcceptInputType_projectmembersVisible: unknown;
    static ngAcceptInputType_modelsVisible: unknown;
    static ngAcceptInputType_documentsVisible: unknown;
    static ngAcceptInputType_projectsettingsVisible: unknown;
    static ngAcceptInputType_processesVisible: unknown;
    static ngAcceptInputType_isCollapsed: unknown;
    static ngAcceptInputType_isMiniMode: unknown;
    static ngAcceptInputType_isTouch: unknown;
    static ngAcceptInputType_hideMenuIcons: unknown;
    static ngAcceptInputType_showHorizontalMenuIcons: unknown;
}

declare class LanguageStringsService {
    set languageFilesUri(uri: string);
    private readonly defaultLang;
    currentLanguage$: BehaviorSubject<string>;
    currentLanguageStrings$: BehaviorSubject<LocalizedStrings>;
    get currentLanguage(): string;
    set currentLanguageStrings(langStrings: LocalizedStrings);
    get currentLanguageStrings(): LocalizedStrings;
    setCurrentLanguage(lang: string): Promise<void>;
    extractLocalizedStrings(stringIds: Array<string>): LocalizedStrings;
    fetchLanguageStrings(lang: string): Promise<void>;
    private _languageFilesUri;
    static ɵfac: i0.ɵɵFactoryDeclaration<LanguageStringsService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<LanguageStringsService>;
}

export { BimplusContactComponent, BimplusLanguageMenuComponent, BimplusLocalizedWidgetComponent, BimplusMainMenuComponent, BimplusNavbarComponent, BimplusNotifyComponent, BimplusProjectMenuComponent, BimplusScrollableContainerComponent, BimplusStorageInfoComponent, BimplusTouchMenuComponent, BimplusUserMenuComponent, BimplusZoomComponent, LanguageStringsService, LogoState, NavigationComponent, NavigationService };
export type { BimplusMainMenuComponentAttribute, BimplusProjectMenuComponentAttribute, LangItem, LocalizedStrings, MenuItem, MenuItemEventData, MenuListType };
