import { EventEmitter } from '@angular/core';
import { IParentConfig, QumlPlayerConfig } from '../../quml-library-interface';
import { QumlLibraryService } from '../../quml-library.service';
import { UtilService } from '../../util-service';
import { TransformationService } from '../transformation-service/transformation.service';
import { QuestionCursor } from '../../quml-question-cursor.service';
import * as i0 from "@angular/core";
export declare class ViewerService {
    qumlLibraryService: QumlLibraryService;
    utilService: UtilService;
    questionCursor: QuestionCursor;
    transformationService: TransformationService;
    qumlPlayerEvent: EventEmitter<any>;
    qumlQuestionEvent: EventEmitter<any>;
    zoom: string;
    rotation: number;
    qumlPlayerStartTime: number;
    qumlPlayerLastPageTime: number;
    totalNumberOfQuestions: number;
    currentQuestionIndex: number;
    contentName: string;
    src: string;
    userName: string;
    version: string;
    timeSpent: string;
    metaData: any;
    loadingProgress: number;
    endPageSeen: boolean;
    identifiers: any;
    threshold: number;
    isAvailableLocally: boolean;
    isSectionsAvailable: boolean;
    questionSetId: string;
    parentIdentifier: string;
    sectionQuestions: any[];
    sectionConfig: any;
    constructor(qumlLibraryService: QumlLibraryService, utilService: UtilService, questionCursor: QuestionCursor, transformationService: TransformationService);
    initialize(config: QumlPlayerConfig, threshold: number, questionIds: string[], parentConfig: IParentConfig): void;
    raiseStartEvent(currentQuestionIndex: any): void;
    raiseEndEvent(currentQuestionIndex: any, endPageSeen: any, score: any): void;
    raiseHeartBeatEvent(type: string, telemetryType: string, pageId: number | string, nextContentId?: string): void;
    raiseAssesEvent(questionData: any, index: number, pass: string, score: any, resValues: any, duration: number): void;
    raiseResponseEvent(identifier: any, qType: any, optionSelected: any): void;
    raiseSummaryEvent(currentQuestionIndex: any, endpageseen: any, score: any, summaryObj: any): void;
    raiseExceptionLog(errorCode: string, errorType: string, stacktrace: any, traceId: any): void;
    getSectionQuestionData(sectionChildren: any, questionIdArr: any): import("rxjs").Observable<{
        questions: any;
        count: any;
    }>;
    fetchIncompleteQuestionsData(availableQuestions: any, questionsIdNotHavingCompleteData: any): import("rxjs").Observable<{
        questions: any;
        count: any;
    }>;
    getQuestions(currentIndex?: number, index?: number): void;
    getQuestion(): void;
    generateMaxAttemptEvents(currentattempt: number, maxLimitExceeded: boolean, isLastAttempt: boolean): {
        eid: string;
        ver: string;
        edata: {
            type: string;
            currentattempt: number;
            maxLimitExceeded: boolean;
            isLastAttempt: boolean;
        };
        metaData: any;
    };
    updateSectionQuestions(id: string, questions: any): void;
    getSectionQuestions(id: string): any;
    pauseVideo(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<ViewerService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<ViewerService>;
}
