import type { IInfoBookAppendixHandler } from '../infobook/appendix/IInfoBookAppendixHandler'; import type { IInfoAppendix } from '../infobook/IInfoAppendix'; import type { IInfoBook } from '../infobook/IInfoBook'; import type { IInfoSection } from '../infobook/IInfoSection'; /** * Parses an XML file into an {@link IInfoBook}. */ export declare class XmlInfoBookParser { private readonly appendixHandlers; /** * Register an appendix handler for the given type. * @param {string} type A type string. * @param {IInfoBookAppendixHandler} handler An appendix handler. */ registerAppendixHandler(type: string, handler: IInfoBookAppendixHandler): void; /** * Parse the infobook at the given path. * @param {string} path A path. * @param {string} modId The owning mod. * @returns {Promise} Promise resolving to an infobook. */ parse(path: string, modId: string): Promise; /** * Convert a data object to an infobook. * @param data A data object. * @param {string} modId The owning mod. * @returns {IInfoBook} An infobook. */ jsonToInfoBook(data: any, modId: string): IInfoBook; /** * Convert a data object to a section. * @param data A data object. * @param sections The sections index to store the index into. * @param {string} modId The owning mod. * @returns {IInfoSection} A section. */ jsonToSection(data: any, sections: Record, modId: string): IInfoSection; /** * Convert a data object to a paragraph. * @param data A data object. * @returns {string} A paragraph string. */ jsonToParagraph(data: any): string; /** * Convert a data object to an appendix. * @param data A data object. * @param {string} modId The owning mod. * @returns {IInfoAppendix} An appendix. */ jsonToAppendix(data: any, modId: string): IInfoAppendix; }