constructor(options = {}) {
		const processedOptions = processOptions(options);
		const cliEngine = new CLIEngine(processedOptions, {
			preloadedPlugins: options.plugins,
		});
		const { configArrayFactory, lastConfigArrays } =
			getCLIEngineInternalSlots(cliEngine);
		let updated = false;

		/*
		 * Address `overrideConfig` to set override config.
		 * Operate the `configArrayFactory` internal slot directly because this
		 * functionality doesn't exist as the public API of CLIEngine.
		 */
		if (hasDefinedProperty(options.overrideConfig)) {
			configArrayFactory.setOverrideConfig(options.overrideConfig);
			updated = true;
		}

		// Update caches.
		if (updated) {
			configArrayFactory.clearCache();
			lastConfigArrays[0] = configArrayFactory.getConfigArrayForFile();
		}

		// Initialize private properties.
		privateMembersMap.set(this, {
			cliEngine,
			options: processedOptions,
		});
	}
Creates a new instance of the main ESLint API.
@param {LegacyESLintOptions} options The options for this instance.