import { OnInit, OnDestroy, EventEmitter, ChangeDetectorRef, SimpleChanges } from '@angular/core';
import { Router } from '@angular/router';
import { AxoSnackBarService } from '../../public-api';
import { AuthService } from '../core/auth/auth.service';
import { UserService } from '../core/user/user.service';
import { AppListDto, OrganizationListDto } from '../../public-api';
import { MyAppListService } from '../app-list/my-app-list.service';
import { MatDialog } from '@angular/material/dialog';
import { FlattenService } from '../flatten-module/flatten.service';
import { CommonService } from '../../public-api';
import { LoggingService } from '../services/logging.service';
import * as i0 from "@angular/core";
export interface User {
    name: string;
    email: string;
    fname?: string;
    lname?: string;
    payment_status?: string;
    trial_end_date?: string;
}
export declare class CommonFooterComponent implements OnInit, OnDestroy {
    private _authService;
    private _changeDetectorRef;
    private _userService;
    private _mpAppListService;
    private _router;
    private _axoSnackBar;
    private dialog;
    private _flattenService;
    private _userServices;
    private _loggingService;
    private _commonService;
    userCount: number;
    userLimit: number;
    trialEndDate: string;
    trialDaysRemaining: number;
    payment_status: string;
    reinitialize: boolean;
    currentOrg: string;
    organizationId: string;
    appList: Array<AppListDto>;
    switchAcc: boolean;
    baseUrl: string;
    organizationList: Array<OrganizationListDto>;
    selectedOrganization: OrganizationListDto;
    user: User;
    listType: string;
    showAddBtn: boolean;
    showUpgradeBtn: boolean;
    switchAccountEvent: EventEmitter<any>;
    openAppEvent: EventEmitter<any>;
    updateListEvent: EventEmitter<any>;
    userName: string;
    userEmail: string;
    userImage: string;
    version: string;
    appId: string;
    currentUrl: string;
    baseUsrl: string;
    regex: RegExp;
    match: RegExpMatchArray;
    private _unsubscribeAll;
    hasOrgUserPermission: boolean;
    hasAppUserPermission: boolean;
    constructor(_authService: AuthService, _changeDetectorRef: ChangeDetectorRef, _userService: UserService, _mpAppListService: MyAppListService, _router: Router, _axoSnackBar: AxoSnackBarService, dialog: MatDialog, _flattenService: FlattenService, _userServices: CommonService, _loggingService: LoggingService, _commonService: CommonService);
    /**
     * Getter for current year
     */
    get currentYear(): number;
    getUserDetails(): void;
    calculateDaysRemaining(): void;
    navigatetoOrganiation(): void;
    navigateToRoute(): void;
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    /**
     * Call apps App Version Id route
     *
     * @param appVersionId
     */
    openApp(appVersionId: number): void;
    addUserList(): void;
    reqprofservices(): void;
    helpservices(): void;
    /**
     * function use to Switch the organization
     */
    switchAccount(organizationId: string): void;
    /**
     * Sign out
     */
    signOut(): void;
    /**
     * Billing
     */
    navigateToBilling(): void;
    /**
     * On destroy
     */
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<CommonFooterComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<CommonFooterComponent, "app-common-footer", never, { "reinitialize": "reinitialize"; "currentOrg": "currentOrg"; "organizationId": "organizationId"; "appList": "appList"; "switchAcc": "switchAcc"; "baseUrl": "baseUrl"; "organizationList": "organizationList"; "selectedOrganization": "selectedOrganization"; "user": "user"; "listType": "listType"; "showAddBtn": "showAddBtn"; "showUpgradeBtn": "showUpgradeBtn"; }, { "switchAccountEvent": "switchAccountEvent"; "openAppEvent": "openAppEvent"; "updateListEvent": "updateListEvent"; }, never, never>;
}
