import { OnDestroy } from '@angular/core'; import { BehaviorSubject, Observable } from 'rxjs'; import { DropdownItem, Location, PinnedItem, RetentionConfig, SalesContact, SideNavigationItem, Theming } from './atlas_sdk/api'; import { AtlasApiService } from './atlas_sdk/atlas.api.service'; import { UITheme, UserViewType } from './atlas_sdk/enums'; import { BusinessNavConfigService } from './config.service'; import * as i0 from "@angular/core"; export declare const LOCATIONS_PAGE_SIZE = 50; interface LoadMoreResponse { loading: Observable; hasMore: boolean; } export declare enum LocationType { BUSINESS = 1, BRAND = 2 } export interface LocationCounts { businesses: number; brands: number; } export declare class BusinessNavDataService implements OnDestroy { private apiService; private cfgService; private navigationData$; private salesInfo$; businessCenterName$: Observable; partnerName$: Observable; cobrandingLogoURL$: Observable; marketName$: Observable; marketLogoUrl$: Observable; retentionConfig$: Observable; salespersonName$: Observable; salespersonPictureUrl$: Observable; currentBrandName$: Observable; salespersonContact$: Observable; theme$: Observable; theming$: Observable; businessNavigationItems$: Observable; brandNavigationItems$: Observable; dropdownItems$: Observable; pinnedItems$: Observable; language$: Observable; userViewType$: Observable; businessAppBranding$: Observable; doneLoadingSMBBusinesses: boolean; doneLoadingSMBBrands: boolean; private loadedBusinesses$$; loadedBusinesses$: Observable; private loadedBrands$$; loadedBrands$: Observable; loadedLocations$: Observable; userId$: Observable; private loadingBusinesses$$; loadingBusinesses$: Observable; private hasMoreBusinesses; private pageBusinesses; private cursorBusinesses; private loadingBrands$$; loadingBrands$: Observable; private hasMoreBrands; private pageBrands; private cursorBrands; private locationSearch$$; private locationSearch$; private locationCounts$$; locationCounts$: Observable; defaultLocation$$: BehaviorSubject; defaultLocation$: Observable; private associatedAccountGroupIDs$; private batchedBusinessRequests$; private batchedBrandRequests$; private associatedBrandPaths$; private subscriptions; constructor(apiService: AtlasApiService, cfgService: BusinessNavConfigService); ngOnDestroy(): void; private distinctListComparator; private rememberLastResponse; private batchRequests; private getLastResponse; private rememberLastTheme; private getLastTheme; private locationIdFromConfig; private getName; sortLocations(locs: Location[]): Location[]; private sort; private getLocations; private doLocationsMatch; private buildGetLocationBatchRequests; private buildGetAccountGroupsBatchRequest; private buildGetBrandsBatchRequest; setOverridenDefaultLocation(defaultLocationOverride: string): void; loadMore(locationType: LocationType): Observable; private _smbLoadMore; private _elevatedLoadMore; private addLocations; updateSearch(value: string): void; loadSingleLocation(id: string, isAccountGroup?: boolean): void; private hasMore; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } export {};