import { NextContent } from '@project-sunbird/sunbird-player-sdk-v9/sunbird-player-sdk.interface'; export interface Context { mode: string; threshold?: number; authToken?: string; sid: string; did: string; uid: string; channel: string; pdata: Pdata; contextRollup: ContextRollup; tags: string[]; cdata?: Cdata[]; timeDiff?: number; objectRollup?: ObjectRollup; host?: string; endpoint?: string; userData?: { firstName: string; lastName: string; }; } export interface Pdata { id: string; pid: string; ver: string; } export interface ContextRollup { l1?: string; l2?: string; l3?: string; l4?: string; } export interface Cdata { type: string; id: string; } export interface ObjectRollup { l1?: string; l2?: string; l3?: string; l4?: string; } export interface Config { traceId?: string; sideMenu?: { enable?: boolean; showShare?: boolean; showDownload?: boolean; showReplay?: boolean; showExit?: boolean; }; progressBar?: any[]; questions?: any[]; lastQuestionId?: string; duration?: number; nextContent?: NextContent; showDeviceOrientation?: boolean; showLegend?: boolean; shuffleOptions?: boolean; warningTime?: number; showWarningTimer?: boolean; } export interface QumlPlayerConfig { context?: Context; metadata: any; data?: any; config: Config; } export interface Question { code: string; templateId: string; name: string; body: string; responseDeclaration?: any; outcomeDeclaration?: any; interactionTypes: Array; interactions: any; editorState: any; status: string; media: Array; qType: string; mimeType: string; primaryCategory: string; solutions: any; } export interface ISideMenuConfig { enable: boolean; showShare: boolean; showDownload: boolean; showExit: boolean; } export interface IParentConfig { loadScoreBoard: boolean; requiresSubmit: boolean; isSectionsAvailable: boolean; isReplayed: boolean; identifier: string; contentName: string; baseUrl: string; isAvailableLocally: boolean; instructions: any; questionCount: number; sideMenuConfig: ISideMenuConfig; showFeedback: boolean; showLegend: boolean; metadata?: any; warningTime: number; showWarningTimer: boolean; } export interface ISummary { correct: number; partial: number; skipped: number; wrong: number; } export interface IAttempts { max: number; current: number; }