setHints(hints) {
			this.hints = hints;
			const tryHarder = hints !== null && hints !== undefined && undefined !== hints.get(DecodeHintType$1.TRY_HARDER);
			/*@SuppressWarnings("unchecked")*/
			const formats = hints === null || hints === undefined ? null : hints.get(DecodeHintType$1.POSSIBLE_FORMATS);
			const readers = new Array();
			if (formats !== null && formats !== undefined) {
				const addOneDReader = formats.some(f => f === BarcodeFormat$1.UPC_A ||
					f === BarcodeFormat$1.UPC_E ||
					f === BarcodeFormat$1.EAN_13 ||
					f === BarcodeFormat$1.EAN_8 ||
					f === BarcodeFormat$1.CODABAR ||
					f === BarcodeFormat$1.CODE_39 ||
					f === BarcodeFormat$1.CODE_93 ||
					f === BarcodeFormat$1.CODE_128 ||
					f === BarcodeFormat$1.ITF ||
					f === BarcodeFormat$1.RSS_14 ||
					f === BarcodeFormat$1.RSS_EXPANDED);
				// Put 1D readers upfront in "normal" mode
				// TYPESCRIPTPORT: TODO: uncomment below as they are ported
				if (addOneDReader && !tryHarder) {
					readers.push(new MultiFormatOneDReader(hints));
				}
				if (formats.includes(BarcodeFormat$1.QR_CODE)) {
					readers.push(new QRCodeReader());
				}
				if (formats.includes(BarcodeFormat$1.DATA_MATRIX)) {
					readers.push(new DataMatrixReader());
				}
				if (formats.includes(BarcodeFormat$1.AZTEC)) {
					readers.push(new AztecReader());
				}
				if (formats.includes(BarcodeFormat$1.PDF_417)) {
					readers.push(new PDF417Reader());
				}
				// if (formats.includes(BarcodeFormat.MAXICODE)) {
				//    readers.push(new MaxiCodeReader())
				// }
				// At end in "try harder" mode
				if (addOneDReader && tryHarder) {
					readers.push(new MultiFormatOneDReader(hints));
				}
			}
			if (readers.length === 0) {
				if (!tryHarder) {
					readers.push(new MultiFormatOneDReader(hints));
				}
				readers.push(new QRCodeReader());
				readers.push(new DataMatrixReader());
				readers.push(new AztecReader());
				readers.push(new PDF417Reader());
				// readers.push(new MaxiCodeReader())
				if (tryHarder) {
					readers.push(new MultiFormatOneDReader(hints));
				}
			}
			this.readers = readers; // .toArray(new Reader[readers.size()])
		}
This method adds state to the MultiFormatReader. By setting the hints once, subsequent calls
to decodeWithState(image) can reuse the same set of readers without reallocating memory. This
is important for performance in continuous scan clients.

@param hints The set of hints to use for subsequent calls to decode(image)