import { ElementRef, EventEmitter, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
import { DomSanitizer, SafeStyle } from '@angular/platform-browser';
import { ActivatedRoute, Router } from '@angular/router';
import { NsContent } from '../../_services/widget-content.model';
import { WidgetContentService } from '../../_services/widget-content.service';
import { TFetchStatus, UtilityService, ConfigurationsService, LoggerService, EventService, MultilingualTranslationsService } from '@sunbird-cb/utils-v2';
import { Subscription } from 'rxjs';
import { NsAnalytics } from '../../models/app-toc-analytics.model';
import { NsAppToc } from '../../models/app-toc.model';
import { NsPlaylist } from '../../models/playlist.model';
import { NsGoal } from '../../models/goal.model';
import { AppTocService } from '../../services/app-toc.service';
import { UserAutocompleteService } from '../../_collection/_common/user-autocomplete/user-autocomplete.service';
import { MobileAppsService } from '../../services/mobile-apps.service';
import { UntypedFormControl, UntypedFormGroup } from '@angular/forms';
import { TitleTagService } from '../../services/title-tag.service';
import { ActionService } from '../../services/action.service';
import { DatePipe } from '@angular/common';
import { TranslateService } from '@ngx-translate/core';
import { TimerService } from '../../services/timer.service';
import { MatLegacyAutocomplete as MatAutocomplete, MatLegacyAutocompleteSelectedEvent as MatAutocompleteSelectedEvent } from '@angular/material/legacy-autocomplete';
import { MatLegacyChipInputEvent as MatChipInputEvent } from '@angular/material/legacy-chips';
import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog';
import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack-bar';
import * as i0 from "@angular/core";
export declare class AppTocBannerComponent implements OnInit, OnChanges, OnDestroy {
    private sanitizer;
    private router;
    private route;
    private dialog;
    private tocSvc;
    private contentSvc;
    private utilitySvc;
    private mobileAppsSvc;
    private snackBar;
    configSvc: ConfigurationsService;
    private tagSvc;
    private actionSVC;
    private logger;
    private datePipe;
    private translate;
    private userAutoComplete;
    private events;
    private langtranslations;
    private timerService;
    private environment;
    show: boolean;
    banners: NsAppToc.ITocBanner | null;
    content: NsContent.IContent | null;
    resumeData: NsContent.IContinueLearningData | null;
    analytics: NsAnalytics.IAnalytics | null;
    forPreview: boolean;
    batchData: /**NsContent.IBatchListResponse */ any | null;
    userEnrollmentList: NsContent.ICourse[] | null;
    withdrawOrEnroll: EventEmitter<string>;
    contentReadData: NsContent.IContent | null;
    clickToShare: boolean;
    programEnrollCall: EventEmitter<any>;
    timer: any;
    nsContent: typeof NsContent;
    batchControl: UntypedFormControl;
    primaryCategory: typeof NsContent.EPrimaryCategory;
    WFBlendedProgramStatus: typeof NsContent.WFBlendedProgramStatus;
    WFSTATUS_MSG_MAPPING: any;
    contentProgress: number;
    bannerUrl: SafeStyle | null;
    routePath: string;
    validPaths: Set<string>;
    routerParamSubscription: Subscription | null;
    routeSubscription: Subscription | null;
    batchWFDataSubscription: Subscription | null;
    firstResourceLink: {
        url: string;
        queryParams: {
            [key: string]: any;
        };
    } | null;
    resumeDataLink: {
        url: string;
        queryParams: {
            [key: string]: any;
        };
    } | null;
    isAssessVisible: boolean;
    isPracticeVisible: boolean;
    editButton: boolean;
    reviewButton: boolean;
    analyticsDataClient: any;
    btnPlaylistConfig: NsPlaylist.IBtnPlaylist | null;
    btnGoalsConfig: NsGoal.IBtnGoal | null;
    isRegistrationSupported: boolean;
    showRejected: boolean;
    checkRegistrationSources: Set<string>;
    isUserRegistered: boolean;
    actionBtnStatus: string;
    showIntranetMessage: boolean;
    showTakeAssessment: NsAppToc.IPostAssessment | null;
    externalContentFetchStatus: TFetchStatus;
    registerForExternal: boolean;
    isGoalsEnabled: boolean;
    contextId?: string;
    contextPath?: string;
    tocConfig: any;
    defaultSLogo: string;
    disableEnrollBtn: boolean;
    selectedBatch: any;
    helpEmail: string;
    selectedBatchSubscription: any;
    selectedBatchData: any;
    batchControlUnsubscribe: any;
    date: any;
    now: any;
    targetDate: any;
    targetTime: any;
    difference: number;
    days: any;
    hours: any;
    minutes: any;
    seconds: any;
    serverDateSubscription: any;
    serverDate: any;
    canShare: boolean;
    enableShare: boolean;
    rootOrgId: any;
    timerIntervalClear: any;
    shareForm: UntypedFormGroup | undefined;
    selectable: boolean;
    removable: boolean;
    addOnBlur: boolean;
    separatorKeysCodes: number[];
    userCtrl: UntypedFormControl;
    filteredUsers: any[] | undefined;
    users: any[];
    allUsers: any[];
    apiResponse: any;
    courseDetails: any;
    userProfile: any;
    userProfileObject: any;
    doptEligibleServicesList: string[];
    maxEmailsLimit: number;
    showLoader: boolean;
    constructor(sanitizer: DomSanitizer, router: Router, route: ActivatedRoute, dialog: MatDialog, tocSvc: AppTocService, contentSvc: WidgetContentService, utilitySvc: UtilityService, mobileAppsSvc: MobileAppsService, snackBar: MatSnackBar, configSvc: ConfigurationsService, tagSvc: TitleTagService, actionSVC: ActionService, logger: LoggerService, datePipe: DatePipe, translate: TranslateService, userAutoComplete: UserAutocompleteService, events: EventService, langtranslations: MultilingualTranslationsService, timerService: TimerService, environment: any);
    userInput: ElementRef<HTMLInputElement> | undefined;
    matAutocomplete: MatAutocomplete | undefined;
    ngOnInit(): void;
    getUsersToShare(queryStr: string): void;
    get showIntranetMsg(): boolean;
    get getBatchDuration(): number;
    get showStart(): {
        show: boolean;
        msg: string;
    };
    get isPostAssessment(): boolean;
    get isMobile(): boolean;
    get showSubtitleOnBanner(): boolean;
    getDoptEligibleServicesList(): void;
    ngOnChanges(_changes: SimpleChanges): void;
    requestToWithdrawDialog(): void;
    openConformationDialog(message: string): void;
    openRequestToEnroll(batchData: any): void;
    callBPSurevy(batchData: any): void;
    callBPProfileSurevy(batchData: any): void;
    requestToEnrollDialog(): void;
    requestAndWithDrawEnroll(state: string, action: string, wfIdValue?: string): void;
    getMimeType(content: NsContent.IContent, identifier: string): NsContent.EMimeTypes;
    private getBatchId;
    handleEnrollmentEndDate(batch: any): boolean;
    checkRejected(batch: any): boolean;
    checkWithdrawn(batch: any): boolean;
    batchChange(event: any): void;
    checkBatchStartDate(): void;
    setBatchControl(): void;
    clearAndCallTimer(): void;
    setbatchDateToCountDown(batchStartDate: string): void;
    private openSnackbar;
    get disableWithdrawnBtn(): boolean;
    get showInstructorLedMsg(): boolean;
    get getWFMsg(): any;
    get showIcon(): boolean;
    get showMsg(): boolean;
    get WFIcon(): "" | "circle" | "info";
    get iconColor(): "" | " " | "ws-mat-green-text" | "ws-mat-orange-text";
    get isHeaderHidden(): boolean;
    get showActionButtons(): boolean;
    get showButtonContainer(): boolean;
    get isResource(): boolean;
    getBatchUserCount(batchData: any): void;
    private getResumeDataFromList;
    private modifySensibleContentRating;
    private getLearningUrls;
    private assignPathAndUpdateBanner;
    private updateBannerUrl;
    playIntroVideo(): void;
    get sanitizedIntroductoryVideoIcon(): SafeStyle;
    private fetchExternalContentAccess;
    getRatingIcon(ratingIndex: number): 'star' | 'star_border' | 'star_half';
    private checkRegistrationStatus;
    generateQuery(type: 'RESUME' | 'START_OVER' | 'START'): {
        [key: string]: string;
    };
    get isInIFrame(): boolean;
    getBgColor(tagTitle: any): {
        color: string;
        'background-color': string;
    };
    getTargetTime(): number | "";
    callTimer(): void;
    timerFunc(serverDate: any): void;
    get showDisableMsg(): boolean;
    get findMessage(): any;
    onClickOfShare(): void;
    add(event: MatChipInputEvent): void;
    remove(user: string): void;
    selected(event: MatAutocompleteSelectedEvent): void;
    filterSharedUsers(value: string): string[];
    submitSharing(): void;
    onClose(): void;
    copyToClipboard(): void;
    raiseTelemetry(subType: any): void;
    translateLabels(label: string, type: any, subtype: any): any;
    ngOnDestroy(): void;
    translateLabel(label: string, type: any): any;
    static ɵfac: i0.ɵɵFactoryDeclaration<AppTocBannerComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AppTocBannerComponent, "ws-app-toc-banner", never, { "banners": { "alias": "banners"; "required": false; }; "content": { "alias": "content"; "required": false; }; "resumeData": { "alias": "resumeData"; "required": false; }; "analytics": { "alias": "analytics"; "required": false; }; "forPreview": { "alias": "forPreview"; "required": false; }; "batchData": { "alias": "batchData"; "required": false; }; "userEnrollmentList": { "alias": "userEnrollmentList"; "required": false; }; "contentReadData": { "alias": "contentReadData"; "required": false; }; "clickToShare": { "alias": "clickToShare"; "required": false; }; }, { "withdrawOrEnroll": "withdrawOrEnroll"; "programEnrollCall": "programEnrollCall"; }, never, never, false, never>;
}
//# sourceMappingURL=app-toc-banner.component.d.ts.map