async function loadTypeScriptConfigFileWithJiti(filePath, fileURL, mtime) {
	const { createJiti, version: jitiVersion } =
		// eslint-disable-next-line no-use-before-define -- `ConfigLoader.loadJiti` can be overwritten for testing
		await ConfigLoader.loadJiti().catch(() => {
			throw new Error(
				"The 'jiti' library is required for loading TypeScript configuration files. Make sure to install it.",
			);
		});

	// `createJiti` was added in jiti v2.
	if (typeof createJiti !== "function") {
		throw new Error(
			"You are using an outdated version of the 'jiti' library. Please update to the latest version of 'jiti' to ensure compatibility and access to the latest features.",
		);
	}

	/*
	 * Disabling `moduleCache` allows us to reload a
	 * config file when the last modified timestamp changes.
	 */
	const jitiOptions = {
		moduleCache: false,
	};

	if (jitiVersion.startsWith("2.1.")) {
		jitiOptions.interopDefault = false;
	}

	const jiti = createJiti(__filename, jitiOptions);
	const config = await jiti.import(fileURL.href);

	importedConfigFileModificationTime.set(filePath, mtime);

	return config?.default ?? config;
}
Load the TypeScript configuration file.
@param {string} filePath The absolute file path to load.
@param {URL} fileURL The file URL to load.
@param {number} mtime The last modified timestamp of the file.
@returns {Promise<any>} The configuration loaded from the file.
@since 9.24.0