/**
 * @license
 * Copyright LOGO YAZILIM SANAYİ VE TİCARET A.Ş. All Rights Reserved.
 *
 * Save to the extent permitted by law, you may not use, copy, modify,
 * distribute or create derivative works of this material or any part
 * of it without the prior written consent of LOGO YAZILIM SANAYİ VE TİCARET A.Ş. Limited.
 * Any reproduction of this material must contain this notice.
 */
import { AfterViewInit, ElementRef, EventEmitter, OnChanges, OnInit, SimpleChanges } from '@angular/core';
import { ApplicationTreeComponent } from '@logo-software/application-tree';
import { LeftbarService } from './leftbar.service';
/**
 * Leftbar is the bound between apps. With leftbar component switching between apps feels like you are in the same environment even the apps are different.
 * Add the below code to your code stack and give initializer parameters.
 *
 * <sub>app.component.html</sub>
 *
 * ```html
 * <logo-leftbar
 *  (onInit)="sampleUserDataGet()"
 *  (onAddShortCut)="sampleAddShortcut()"
 *  (onAppSelected)="sampleAppAction($event)"
 *  (onHomeButton)="sampleHomeAction()"
 *  (onSettingsButton)="sampleSettingsAction()"
 *  (onTenantSelected)="sampleTenantAction($event)"
 *  (onInfoRequest)="sampleInfoReqAction($event)"
 *  (onSearch)="sampleSearchAction($event)"
 * >
 *    <p>CUSTOM CONTENT</p>
 * </logo-leftbar>
 * ```
 */
export declare class LeftbarComponent implements OnInit, OnChanges, AfterViewInit {
    leftbarService: LeftbarService;
    /**
     * User informations that shown on left bar
     */
    user: any;
    /**
     * Profile settings items which shown under user profile clicked
     */
    profileSettings: any;
    /**
     * Language settings that the application supports.
     */
    languageSettings: any;
    /**
     * Selected language model
     */
    selectedLanguage: any;
    /**
     * Applications that will shown on leftbar
     */
    applications: any;
    /**
     * Default selected application
     */
    defaultAppId: string;
    /**
     * Tenants of the user.
     */
    tenants: any;
    /**
     * Selected tenant of the user
     */
    defaultTenant: any;
    /**
     * The implementation is onPrem or onCloud
     */
    onPrem: boolean;
    /**
     * The status of Main page shown or not
     */
    isMainPage: boolean;
    /**
     * The status of Back Button shown or not
     */
    showBackBtn: boolean;
    /**
     * Placeholder of search area
     */
    searchPlaceholder: string;
    /**
     * Shortcuts of the user if there is
     */
    favorites: any;
    /**
     * Enable shortcuts for the user
     */
    enableShortCuts: boolean;
    /**
     * Disable/Enable App Selection for user.
     */
    disableAppSelection: boolean;
    /**
     * When add shorcut button clicked, an output event fired with boolean.
     */
    onAddShortCut: EventEmitter<number>;
    /**
     *  Home button click output with boolean.
     */
    onHomeButton: EventEmitter<boolean>;
    /**
     *  Back button click output with boolean.
     */
    onBackButton: EventEmitter<boolean>;
    /**
     *  On tenant selected output fired with selected item id in string.
     */
    onTenantSelected: EventEmitter<string>;
    /**
     *  On leftbar component initiliazed, an output fired with boolean.
     */
    onInit: EventEmitter<boolean>;
    /**
     *  When an application selected from user application list, an output fired with selected app id in string.
     */
    onAppSelected: EventEmitter<string>;
    /**
     *  On settings button clicked, an output fired with boolean.
     */
    onSettingsButton: EventEmitter<boolean>;
    /**
     *  When search area input entered and input length is at least 3 chars, an output fired with entered chars.
     */
    onSearch: EventEmitter<string>;
    /**
     *  When an info area clicked from user details, an output fired with selected info id in string.
     */
    onInfoRequest: EventEmitter<string>;
    /**
     * Output of the tenant search area
     */
    onTenantSearch: EventEmitter<string>;
    /**
     * When default tenant setted, this output will be triggered.
     */
    onDefaultTenantSet: EventEmitter<string>;
    /**
     * When user focusses to search, search area value will be triggered.
     */
    onFocusSearch: EventEmitter<string>;
    /**
     * When clicked to shortcut, output event triggered.
     */
    onClickShortCut: EventEmitter<any>;
    /**
     * When language changed, output event triggered.
     */
    onLanguageChange: EventEmitter<any>;
    onResize(event: any): void;
    popoverStatus: boolean;
    activePopover: string;
    mobileMenu: boolean;
    emptyShortcutSlots: any;
    defaultApp: any;
    tree: ApplicationTreeComponent;
    leftbarTenantSearch: ElementRef;
    constructor(leftbarService: LeftbarService);
    ngOnInit(): void;
    ngAfterViewInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    homeEmitter(): void;
    backEmitter(): void;
    /**
     *  Toggle user details in leftbar.
     */
    toggleUserDetails(): void;
    onLanguageSelect(event: any): void;
    togglePopover(id: string): void;
    /**
     *  Toggle leftbar to slim mode or extended mode.
     */
    toggleMenu(): void;
    toggleMobileMenu(): void;
    selectTenantEmitter(id: string): void;
    selectAppEmitter(app: any): void;
    shortcutSettingsEmitter(): void;
    addShortcutEmitter(i: number): void;
    clickShortcutEmitter(shortcut: any): void;
    doSearchEmitter(val: string): void;
    doFocusSearchEmitter(val: string): void;
    doTenantSearchEmitter(val: string): void;
    setAsDefaultTenantEmitter(id: string): void;
    infoReqEmitter(item: any, popoverItem: any): void;
    hasOverflow(element: HTMLElement): boolean;
    private setEmptySlots;
}
