export type SCORMVersion = "1.2" | "2004"; export interface InputMessage { type: "initialize"; data: { version: SCORMVersion; state: LMSState; }; } export interface SCORMEvent { type: "set"; key: string; value: string; timestamp: number; sessionId: string; } export interface IncomingMessage { type: "commit" | "finish"; data: any; eventList: SCORMEvent[]; } export interface Interaction { id: string; weight?: number; learnerResponse?: any; result?: "correct" | "wrong" | "unanticipated" | "neutral" | number; objectiveIdList?: string[]; timestamp?: string; latency?: string; type?: string; } export interface Objective { id: string; scoreRaw?: number; scoreMin?: number; scoreMax?: number; successStatus?: "passed" | "failed" | "unknown"; completionStatus?: "completed" | "incomplete" | "not attempted" | "unknown"; description?: string; } export interface LMSState { studentName?: string; launchData?: any; suspendData?: any; completionStatus?: "completed" | "incomplete" | "not attempted" | "unknown"; successStatus?: "passed" | "failed" | "unknown"; language?: string; sessionTime?: number; scoreRaw?: number; scoreMax?: number; scoreMin?: number; progressMeasure?: number; interactionList?: Interaction[]; objectiveList?: Objective[]; } export declare const sanitizeLMSState: (state: LMSState) => LMSState; export declare const parse: (xmlString: string) => Document; type ManifestJson = { title: string; schemaversion: string; relativeUrl: string; }; export declare const convertXmlToObject: (xmlData: Document) => ManifestJson; export declare const fetchIMSManifest: (url: string) => Promise; export declare const getModuleVersionFromIMSManifestContent: (content: ManifestJson) => SCORMVersion; export declare const getModuleURLFromIMSManifestContent: (imsmanifestUrl: string, content: ManifestJson) => string; export {};