import { OnInit, OnDestroy, SimpleChanges, EventEmitter, ChangeDetectorRef } from '@angular/core';
import { Router } from '@angular/router';
import { AxoSnackBarService } from '../axo-snack-bar/axo-snack-bar.service';
import { AuthService } from '../core/auth/auth.service';
import { UserService } from '../core/user/user.service';
import { User } from '../core/user/user.types';
import { AppListDto } from './app-list-dto';
import { MyAppListService } from './my-app-list.service';
import { OrganizationListDto } from './organization-list-dto';
import { MatDialog } from '@angular/material/dialog';
import { FlattenService } from '../flatten-module/flatten.service';
import { HttpClient } from '@angular/common/http';
import { CookieService } from 'ngx-cookie-service';
import { ActivatedRoute } from '@angular/router';
import { LoggingService } from '../services/logging.service';
import { CommonService } from '../common.service';
import { CommonLibConfigurationService } from '../common-lib-configuration.service';
import { DataViewFiltersService } from '../data-view-lib/data-view-filters/data-view-filters.service';
import { SubscribedPlanName } from '../subscribedPlanName.service';
import { StripeService } from '../stripe.service';
import * as i0 from "@angular/core";
export declare class AppListComponent implements OnInit, OnDestroy {
    private _authService;
    private _changeDetectorRef;
    private _userService;
    private commonLibConfig;
    private _mpAppListService;
    private _router;
    private _axoSnackBar;
    private dialog;
    private _flattenService;
    private http;
    private _httpClient;
    private cookieService;
    private route;
    private router;
    private _loggingService;
    private _commonService;
    private _dataViewFiltersService;
    private _subscribedPlanName;
    private stripeService;
    currentOrg: string;
    appList: Array<AppListDto>;
    baseUrl: string;
    organizationList: Array<OrganizationListDto>;
    selectedOrganization: OrganizationListDto;
    user: User;
    listType: string;
    showCreateButton: boolean;
    showQRIcon: boolean;
    showDotsOption: boolean;
    showCustomize: boolean;
    showAddBtn: boolean;
    switchAccountEvent: EventEmitter<any>;
    openAppEvent: EventEmitter<any>;
    updateListEvent: EventEmitter<any>;
    isAppChangedAfterPublish: boolean;
    userName: string;
    appVersionId: number;
    userEmail: string;
    fullVersion: string;
    fullVersions: string[];
    userImage: string;
    version: string;
    minorVersion: string;
    appId: string;
    builderUrl: string;
    openPopupMenu: number;
    gradients: string[];
    currentUrl: string;
    baseUsrl: string;
    regex: RegExp;
    match: RegExpMatchArray;
    reinitializeFooter: boolean;
    data: {};
    previousOrg: string;
    private _unsubscribeAll;
    organizatonId: number;
    userPermissions: string[];
    hasOrgUserAccess: boolean;
    currentAppVersionId: string;
    showWebPortalAccessOverlay: boolean;
    private hasCalledGetUserPermissions;
    permissions: string[];
    constructor(_authService: AuthService, _changeDetectorRef: ChangeDetectorRef, _userService: UserService, commonLibConfig: CommonLibConfigurationService, _mpAppListService: MyAppListService, _router: Router, _axoSnackBar: AxoSnackBarService, dialog: MatDialog, _flattenService: FlattenService, http: HttpClient, // Inject HttpClient
    _httpClient: HttpClient, cookieService: CookieService, route: ActivatedRoute, router: Router, _loggingService: LoggingService, _commonService: CommonService, _dataViewFiltersService: DataViewFiltersService, _subscribedPlanName: SubscribedPlanName, stripeService: StripeService);
    /**
     * Getter for current year
     */
    get currentYear(): number;
    setOpenPopupMenu(appId: any): void;
    openQRCodeDialog(): void;
    navigatetoOrganiation(): void;
    navigatetoOrganiationSettings(): void;
    padZero(value: string): string;
    hasAppBuilderPermission: boolean;
    getUserDetails(): void;
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    assignGradients(): void;
    /**
     * Opens the app after ensuring permissions are loaded.
     *
     * @param appVersionId The ID of the app version to open.
     */
    openApp(appVersionId: number): void;
    navigateToHome(appVersionId: number): void;
    /**
     * function use to Switch the organization
     */
    switchAccount(organizationId: string): void;
    /**
     * Sign out
     */
    signOut(): void;
    /**
     * Billing
     */
    navigateToBilling(): void;
    /**
     *to create new app
     */
    openCreateAppDialog(): void;
    createApp(name: string, description: string): void;
    checkAndPublishApp(installedApp: string): void;
    fetchAppDetails(flatten: any): void;
    installApp(userInput: string, category: string): Promise<void>;
    openDeleteAppDialog(appVersionId: number): void;
    deleteApp(appVersionId: number): void;
    private openLoadingDialogWithMessage;
    private openSuccessDialog;
    capitalizeWords(str: string): string;
    /**
     * On destroy
     */
    ngOnDestroy(): void;
    disableQR(appVersionId: any, index: number): void;
    disableQRDialog(appVersionId: any, index: number): void;
    getUserPermissions(): Promise<void>;
    isRestrictedUrl(): boolean;
    static ɵfac: i0.ɵɵFactoryDeclaration<AppListComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AppListComponent, "lib-app-list", never, { "currentOrg": "currentOrg"; "appList": "appList"; "baseUrl": "baseUrl"; "organizationList": "organizationList"; "selectedOrganization": "selectedOrganization"; "user": "user"; "listType": "listType"; "showCreateButton": "showCreateButton"; "showQRIcon": "showQRIcon"; "showDotsOption": "showDotsOption"; "showCustomize": "showCustomize"; "showAddBtn": "showAddBtn"; }, { "switchAccountEvent": "switchAccountEvent"; "openAppEvent": "openAppEvent"; "updateListEvent": "updateListEvent"; }, never, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<AppListComponent>;
}
