interface ModuleResolutionConfig { waitSeconds?: number; context?: string; catchError?: boolean; urlArgs?: string; paths: { [key: string]: string | string[]; }; shim?: { [key: string]: { deps?: string[]; exports?: string; }; }; } type transformItemApi = { load: (uri: string, signal?: AbortSignal) => Promise; parse: (xmlString: string) => transformItemApi; path: (location: string) => transformItemApi; fn: (fn: (xmlFragment: XMLDocument) => void) => transformItemApi; pciHooks: (uri: string) => transformItemApi; configurePci: (baseUrl: string, getModuleResolutionConfig: (baseUrl: string, fileUrl: string) => Promise, selector?: string) => Promise; extendElementName: (elementName: string, extend: string) => transformItemApi; extendElementsWithClass: (param?: string) => transformItemApi; customInteraction: (baseRef: string, baseItem: string) => transformItemApi; convertCDATAtoComment: () => transformItemApi; shuffleInteractions: (seed?: string | number | null) => transformItemApi; stripStyleSheets: () => transformItemApi; html: () => string; xml: () => string; htmlDoc: (registry?: CustomElementRegistry) => DocumentFragment; xmlDoc: () => XMLDocument; }; declare const qtiTransformItem: () => transformItemApi; /** * Returns an object with methods to load, parse and transform QTI tests. * @returns An object with methods to load, parse and transform QTI tests. * @example * const qtiTransformer = qtiTransformTest(); * await qtiTransformer.load('https://example.com/test.xml'); * const items = qtiTransformer.items(); * const html = qtiTransformer.html(); * const xml = qtiTransformer.xml(); */ type transformTestApi = { load: (uri: string, signal?: AbortSignal) => Promise; parse: (xmlString: string) => transformTestApi; path: (location: string) => transformTestApi; fn: (fn: (xmlFragment: XMLDocument) => void) => transformTestApi; /** * Deterministically shuffle the children of every section that carries a * , honoring fixed items and nested * keep-together / visible rules. The same seed reproduces the same order. */ shuffleOrdering: (seed?: string | number | null) => transformTestApi; items: () => { identifier: string; href: string; category: string; }[]; html: () => string; xml: () => string; htmlDoc: (registry?: CustomElementRegistry) => DocumentFragment; xmlDoc: () => XMLDocument; }; declare const qtiTransformTest: () => transformTestApi; export { type ModuleResolutionConfig as M, qtiTransformTest as a, type transformTestApi as b, qtiTransformItem as q, type transformItemApi as t };