import type * as logger from "@superbuilders/slog"; /** * Converts problematic HTML entities to their numeric equivalents or actual characters. * This prevents validation errors from the QTI API which doesn't accept named HTML entities. * * @param xml The XML string to process * @param logger The logger instance * @returns The XML string with HTML entities converted */ export declare function convertHtmlEntities(xml: string, logger: logger.Logger): string; /** * Fixes unescaped angle brackets within MathML mo elements. * This handles the common case where < and > symbols are not properly escaped * within mathematical operator elements. * * @param xml The XML string to process * @param logger The logger instance * @returns The XML string with properly escaped angle brackets in mo elements */ export declare function fixMathMLOperators(xml: string, logger: logger.Logger): string; /** * Strips all XML comments from the provided XML string. * This prevents issues with malformed comments that could cause XML parsing errors. * * @param xml The XML string to process * @param logger The logger instance * @returns The XML string with all comments removed */ export declare function stripXmlComments(xml: string, logger: logger.Logger): string; /** * Removes consecutive newlines from the XML string, leaving only single newlines. * This handles all types of line endings (Unix \n, Windows \r\n, and mixed). * * @param xml The XML string to process * @param logger The logger instance * @returns The XML string with consecutive newlines reduced to single newlines */ export declare function removeDoubleNewlines(xml: string, logger: logger.Logger): string; /** * Fixes Khan Academy graphie URLs by appending .svg extension if missing. * This handles URLs in the format: https://cdn.kastatic.org/ka-perseus-graphie/[hash] * * @param xml The XML string to process * @param logger The logger instance * @returns The XML string with properly formatted Khan graphie URLs */ export declare function fixKhanGraphieUrls(xml: string, logger: logger.Logger): string; /** * MISSION CRITICAL: Fixes unescaped inequality operators throughout the XML. * - For qti-value elements: Escapes to HTML entities (<= and >=) for ASCII input * - For all other content: Converts to Unicode symbols (≤ and ≥) for proper display * * This function uses EXTREMELY robust named capture groups and multiple safeguards * to ensure it NEVER corrupts valid XML. * * @param xml The XML string to process * @param logger The logger instance * @returns The XML string with properly handled inequality operators */ export declare function fixInequalityOperators(xml: string, logger: logger.Logger): string; //# sourceMappingURL=xml-fixes.d.ts.map