import { AccessControlService } from '../../services/access-control.service';
import { OnDestroy, OnInit, OnChanges } from '@angular/core';
import { DomSanitizer, SafeHtml } from '@angular/platform-browser';
import { ActivatedRoute, Router } from '@angular/router';
import { ConfigurationsService, LoggerService, EventService, MultilingualTranslationsService } from '@sunbird-cb/utils-v2';
import { NsContent } from '../../_services/widget-content.model';
import { Observable, Subscription } from 'rxjs';
import { NsAppToc, NsCohorts } from '../../models/app-toc.model';
import { AppTocService } from '../../services/app-toc.service';
import { TitleTagService } from '../../services/title-tag.service';
import { MobileAppsService } from '../../services/mobile-apps.service';
import { ConnectionHoverService } from '../../_collection/_common/connection-hover-card/connection-hover.servive';
import { UntypedFormGroup } from '@angular/forms';
import { RatingService } from '../../_services/rating.service';
import { TranslateService } from '@ngx-translate/core';
import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog';
import { MatLegacyTabChangeEvent as MatTabChangeEvent } from '@angular/material/legacy-tabs';
import { NsAutoComplete } from '../../models/auto-complete.model';
import * as i0 from "@angular/core";
export declare class AppTocSinglePageComponent implements OnInit, OnChanges, OnDestroy {
    private router;
    private route;
    private tocSharedSvc;
    private domSanitizer;
    private authAccessControlSvc;
    private logger;
    private titleTagService;
    createBatchDialog: MatDialog;
    private mobileAppsSvc;
    configSvc: ConfigurationsService;
    private connectionHoverService;
    private eventSvc;
    private ratingSvc;
    private translate;
    private langtranslations;
    private environment;
    contentTypes: typeof NsContent.EContentTypes;
    primaryCategory: typeof NsContent.EPrimaryCategory;
    showMoreGlance: boolean;
    askAuthorEnabled: boolean;
    trainingLHubEnabled: boolean;
    trainingLHubCount$?: Observable<number>;
    body: SafeHtml | null;
    viewMoreRelatedTopics: boolean;
    hasTocStructure: boolean;
    tocStructure: NsAppToc.ITocStructure | null;
    contentParents: {
        [key: string]: NsAppToc.IContentParentResponse[];
    };
    objKeys: {
        (o: object): string[];
        (o: {}): string[];
    };
    fragment: string;
    activeFragment: Observable<string>;
    content: NsContent.IContent | null;
    initialrouteData: any;
    routeSubscription: Subscription | null;
    forPreview: boolean;
    resumeData: NsContent.IContinueLearningData | null;
    batchData: /**NsContent.IBatchListResponse */ any | null;
    tocConfig: any;
    loggedInUserId: any;
    private routeQuerySubscription;
    batchId: string;
    isNotEditor: boolean;
    cohortResults: {
        [key: string]: {
            hasError: boolean;
            contents: NsCohorts.ICohortsContent[];
        };
    };
    cohortTypesEnum: typeof NsCohorts.ECohortTypes;
    discussionConfig: any;
    batchDataLoaded: boolean;
    showDiscussionForum: any;
    competencies: any;
    howerUser: any;
    searchForm: UntypedFormGroup | undefined;
    private unsubscribe;
    progress: number;
    ratingSummary: any;
    ratingLookup: any;
    ratingSummaryProcessed: any;
    ratingReviews: any[];
    ratingViewCount: number;
    ratingViewCountDefault: number;
    lookupLimit: number;
    sortReviewValues: string[];
    previousFilter: string;
    lastLookUp: any;
    reviewPage: number;
    reviewDefaultLimit: number;
    disableLoadMore: boolean;
    displayLoader: boolean;
    tabSelectedIndex: number;
    updateReviewsSubscription: Subscription | null;
    authReplies: any;
    lookupLoading: Boolean;
    selectedBatchData: any;
    batchSubscription: any;
    compentencyKey: string;
    constructor(router: Router, route: ActivatedRoute, tocSharedSvc: AppTocService, domSanitizer: DomSanitizer, authAccessControlSvc: AccessControlService, logger: LoggerService, titleTagService: TitleTagService, createBatchDialog: MatDialog, mobileAppsSvc: MobileAppsService, configSvc: ConfigurationsService, connectionHoverService: ConnectionHoverService, eventSvc: EventService, ratingSvc: RatingService, translate: TranslateService, langtranslations: MultilingualTranslationsService, environment: any);
    ngOnInit(): void;
    ngOnChanges(): void;
    detailUrl(data: any): string;
    ngOnDestroy(): void;
    get showSubtitleOnBanner(): boolean;
    get showDescription(): boolean;
    get isResource(): boolean;
    setSocialMediaMetaTags(data: any): void;
    private initData;
    sanitize(data: any): SafeHtml;
    getContentParent(): void;
    getCompetencies(competencies: any): any[];
    parseContentParent(content: NsAppToc.IContentParentResponse): void;
    resetAndFetchTocStructure(): void;
    openDialog(content: any): void;
    parseJsonData(s: string): any;
    get enablePeopleSearch(): boolean;
    goToUserProfile(user: NsAutoComplete.IUserAutoComplete): void;
    getUserFullName(user: any): string;
    getHoverUser(user: any): void;
    fetchCohorts(cohortType: NsCohorts.ECohortTypes, contentID: any): void;
    fetchRatingSummary(): void;
    getAuthorReply(identifier: string, primaryCategory: NsContent.EPrimaryCategory, userIds: any[]): Subscription;
    get checkForFacilitators(): any[];
    fetchRatingLookup(): void;
    showALLReviews(length: number): void;
    processRatingSummary(): {
        breakDown: any[];
        latest50Reviews: any[];
        ratingsNumber: any[];
        total_number_of_ratings: any;
        avgRating: number;
    };
    processRatingLookup(response: any): void;
    countStarsPercentage(value: any, key: any, total: any): string | 0;
    getRatingIcon(ratingIndex: number, avg: number): 'star' | 'star_border' | 'star_half';
    getRatingIconClass(ratingIndex: number, avg: number): boolean;
    sortReviews(sort: string): void;
    updateReviews(): void;
    get usr(): any;
    tabClicked(tabEvent: MatTabChangeEvent): void;
    loadMore(): void;
    translateLabels(label: string, type: any): any;
    static ɵfac: i0.ɵɵFactoryDeclaration<AppTocSinglePageComponent, [null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, { optional: true; }]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AppTocSinglePageComponent, "ws-app-app-toc-single-page", never, { "content": { "alias": "content"; "required": false; }; "initialrouteData": { "alias": "initialrouteData"; "required": false; }; "forPreview": { "alias": "forPreview"; "required": false; }; "resumeData": { "alias": "resumeData"; "required": false; }; "batchData": { "alias": "batchData"; "required": false; }; }, {}, never, never, false, never>;
}
//# sourceMappingURL=app-toc-single-page.component.d.ts.map