const com_acme_MyFoo = goog.require('com.acme.MyFoo');
const j2wasm_CharUtils = goog.require('j2wasm.CharUtils');
const j2wasm_ConsoleUtils = goog.require('j2wasm.ConsoleUtils');
const j2wasm_DoubleUtils = goog.require('j2wasm.DoubleUtils');
const j2wasm_ExceptionUtils = goog.require('j2wasm.ExceptionUtils');
const j2wasm_StringUtils = goog.require('j2wasm.StringUtils');
const nativejstypes_Bar = goog.require('nativejstypes.Bar');
const nativejstypes_NativeNonreferencedMethods = goog.require('nativejstypes.NativeNonreferencedMethods');
const nativejstypes_NativeReferencedPrivateMethods = goog.require('nativejstypes.NativeReferencedPrivateMethods');
const nativejstypes_Nullability = goog.require('nativejstypes.Nullability');
const toplevel = goog.require('toplevel');

/** @return {!Object<string, *>} Wasm import object */
function getImports() {
 return {
  'WebAssembly': WebAssembly,
  'imports': {
   '?.toString': (/** ? */ $instance, ) => $instance.toString(),
   'Date.UTC': Date.UTC,
   'Date.constructor': () => new Date(),
   'Date.constructor$1': (/** number */ milliseconds, ) => new Date(milliseconds, ),
   'Date.constructor$7': (/** number */ year, /** number */ month, /** number */ dayOfMonth, /** number */ hours, /** number */ minutes, /** number */ seconds, /** number */ millis, ) => new Date(year, month, dayOfMonth, hours, minutes, seconds, millis, ),
   'Date.getDate': (/** !Date */ $instance, ) => $instance.getDate(),
   'Date.getDay': (/** !Date */ $instance, ) => $instance.getDay(),
   'Date.getFullYear': (/** !Date */ $instance, ) => $instance.getFullYear(),
   'Date.getHours': (/** !Date */ $instance, ) => $instance.getHours(),
   'Date.getMilliseconds': (/** !Date */ $instance, ) => $instance.getMilliseconds(),
   'Date.getMinutes': (/** !Date */ $instance, ) => $instance.getMinutes(),
   'Date.getMonth': (/** !Date */ $instance, ) => $instance.getMonth(),
   'Date.getSeconds': (/** !Date */ $instance, ) => $instance.getSeconds(),
   'Date.getTime': (/** !Date */ $instance, ) => $instance.getTime(),
   'Date.getTimezoneOffset': (/** !Date */ $instance, ) => $instance.getTimezoneOffset(),
   'Date.getUTCDate': (/** !Date */ $instance, ) => $instance.getUTCDate(),
   'Date.getUTCFullYear': (/** !Date */ $instance, ) => $instance.getUTCFullYear(),
   'Date.getUTCHours': (/** !Date */ $instance, ) => $instance.getUTCHours(),
   'Date.getUTCMinutes': (/** !Date */ $instance, ) => $instance.getUTCMinutes(),
   'Date.getUTCMonth': (/** !Date */ $instance, ) => $instance.getUTCMonth(),
   'Date.getUTCSeconds': (/** !Date */ $instance, ) => $instance.getUTCSeconds(),
   'Date.now': Date.now,
   'Date.parse': Date.parse,
   'Date.setDate$1': (/** !Date */ $instance, /** number */ dayOfMonth, ) => $instance.setDate(dayOfMonth, ),
   'Date.setFullYear$1': (/** !Date */ $instance, /** number */ year, ) => $instance.setFullYear(year, ),
   'Date.setFullYear$3': (/** !Date */ $instance, /** number */ year, /** number */ month, /** number */ day, ) => $instance.setFullYear(year, month, day, ),
   'Date.setHours$1': (/** !Date */ $instance, /** number */ hours, ) => $instance.setHours(hours, ),
   'Date.setHours$4': (/** !Date */ $instance, /** number */ hours, /** number */ mins, /** number */ secs, /** number */ ms, ) => $instance.setHours(hours, mins, secs, ms, ),
   'Date.setMinutes$1': (/** !Date */ $instance, /** number */ minutes, ) => $instance.setMinutes(minutes, ),
   'Date.setMonth$1': (/** !Date */ $instance, /** number */ month, ) => $instance.setMonth(month, ),
   'Date.setSeconds$1': (/** !Date */ $instance, /** number */ seconds, ) => $instance.setSeconds(seconds, ),
   'Date.setTime$1': (/** !Date */ $instance, /** number */ milliseconds, ) => $instance.setTime(milliseconds, ),
   'Date.toLocaleString': (/** !Date */ $instance, ) => $instance.toLocaleString(),
   'Error': Error,
   'Error.constructor': () => new Error(),
   'Headers.append$2': (/** !Headers */ $instance, /** string */ name, /** string */ value, ) => $instance.append(name, value, ),
   'Headers.constructor': () => new Headers(),
   'Headers.get$1': (/** !Headers */ $instance, /** string */ name, ) => $instance.get(name, ),
   'Math.acos': Math.acos,
   'Math.asin': Math.asin,
   'Math.atan': Math.atan,
   'Math.atan2': Math.atan2,
   'Math.cbrt': Math.cbrt,
   'Math.cos': Math.cos,
   'Math.cosh': Math.cosh,
   'Math.exp': Math.exp,
   'Math.expm1': Math.expm1,
   'Math.hypot': Math.hypot,
   'Math.log': Math.log,
   'Math.log10': Math.log10,
   'Math.log1p': Math.log1p,
   'Math.pow': Math.pow,
   'Math.random': Math.random,
   'Math.round': Math.round,
   'Math.sign': Math.sign,
   'Math.sin': Math.sin,
   'Math.sinh': Math.sinh,
   'Math.tan': Math.tan,
   'Math.tanh': Math.tanh,
   'Number.prototype.toPrecision.call$2': (/** number */ value, /** number */ precision, ) => Number.prototype.toPrecision.call(value, precision, ),
   'Number.prototype.toString.call$1': (/** number */ d, ) => Number.prototype.toString.call(d, ),
   'Number.prototype.toString.call$2': (/** number */ i, /** number */ radix, ) => Number.prototype.toString.call(i, radix, ),
   'RegExp.constructor$1': (/** string */ regex, ) => new RegExp(regex, ),
   'RegExp.constructor$2': (/** string */ regex, /** string */ mode, ) => new RegExp(regex, mode, ),
   'RegExp.exec$1': (/** !RegExp */ $instance, /** string */ value, ) => $instance.exec(value, ),
   'RegExp.test$1': (/** !RegExp */ $instance, /** string */ value, ) => $instance.test(value, ),
   'RegExpResult.at$1': (/** !RegExpResult */ $instance, /** number */ index, ) => $instance.at(index, ),
   'atob': atob,
   'btoa': btoa,
   'com.acme.MyFoo.constructor': () => new com_acme_MyFoo(),
   'com.acme.MyFoo.sum': (/** !com_acme_MyFoo */ $instance, ) => $instance.sum(),
   'get Error.hasCaptureStackTraceProperty': () => Error.hasCaptureStackTraceProperty,
   'get Error.stack': (/** !Error */ $instance, ) => $instance.stack,
   'get RegExpResult.index': (/** !RegExpResult */ $instance, ) => $instance.index,
   'get RegExpResult.length': (/** !RegExpResult */ $instance, ) => $instance.length,
   'get com.acme.MyFoo.x': (/** !com_acme_MyFoo */ $instance, ) => $instance.x,
   'get com.acme.MyFoo.y': (/** !com_acme_MyFoo */ $instance, ) => $instance.y,
   'get nativejstypes.Bar.f': () => nativejstypes_Bar.f,
   'get nativejstypes.Bar.x': (/** !nativejstypes_Bar */ $instance, ) => $instance.x,
   'get nativejstypes.Bar.y': (/** !nativejstypes_Bar */ $instance, ) => $instance.y,
   'get nativejstypes.NativeReferencedPrivateMethods.s': () => nativejstypes_NativeReferencedPrivateMethods.s,
   'get nativejstypes.NativeReferencedPrivateMethods.x': (/** !nativejstypes_NativeReferencedPrivateMethods */ $instance, ) => $instance.x,
   'get toplevel.Nested.x': (/** !toplevel.Nested */ $instance, ) => $instance.x,
   'get toplevel.x': () => toplevel.x,
   'j2wasm.CharUtils.charToLowerCase': j2wasm_CharUtils.charToLowerCase,
   'j2wasm.CharUtils.charToUpperCase': j2wasm_CharUtils.charToUpperCase,
   'j2wasm.CharUtils.codePointToLowerCase': j2wasm_CharUtils.codePointToLowerCase,
   'j2wasm.CharUtils.codePointToUpperCase': j2wasm_CharUtils.codePointToUpperCase,
   'j2wasm.ConsoleUtils.log': j2wasm_ConsoleUtils.log,
   'j2wasm.DoubleUtils.dmod': j2wasm_DoubleUtils.dmod,
   'j2wasm.DoubleUtils.isValidDouble': j2wasm_DoubleUtils.isValidDouble,
   'j2wasm.ExceptionUtils.getJavaThrowable': j2wasm_ExceptionUtils.getJavaThrowable,
   'j2wasm.ExceptionUtils.setJavaThrowable': j2wasm_ExceptionUtils.setJavaThrowable,
   'j2wasm.StringUtils.compareToIgnoreCase': j2wasm_StringUtils.compareToIgnoreCase,
   'j2wasm.StringUtils.equalsIgnoreCase': j2wasm_StringUtils.equalsIgnoreCase,
   'j2wasm.StringUtils.generateClassName': j2wasm_StringUtils.generateClassName,
   'nativejstypes.Bar.Inner.constructor$1': (/** number */ n, ) => new nativejstypes_Bar.Inner(n, ),
   'nativejstypes.Bar.Inner.getInnerStatic': nativejstypes_Bar.Inner.getInnerStatic,
   'nativejstypes.Bar.Inner.square': (/** !nativejstypes_Bar.Inner */ $instance, ) => $instance.square(),
   'nativejstypes.Bar.constructor$2': (/** number */ x, /** number */ y, ) => new nativejstypes_Bar(x, y, ),
   'nativejstypes.Bar.getStatic': nativejstypes_Bar.getStatic,
   'nativejstypes.Bar.product': (/** !nativejstypes_Bar */ $instance, ) => $instance.product(),
   'nativejstypes.NativeNonreferencedMethods.getInstance2': (/** !nativejstypes_NativeNonreferencedMethods */ $instance, ) => $instance.getInstance2(),
   'nativejstypes.NativeReferencedPrivateMethods.constructor': () => new nativejstypes_NativeReferencedPrivateMethods(),
   'nativejstypes.NativeReferencedPrivateMethods.getInstance': (/** !nativejstypes_NativeReferencedPrivateMethods */ $instance, ) => $instance.getInstance(),
   'nativejstypes.NativeReferencedPrivateMethods.getStatic': nativejstypes_NativeReferencedPrivateMethods.getStatic,
   'nativejstypes.Nullability.acceptsNull$1': (/** !nativejstypes_Nullability */ $instance, /** string */ arg, ) => $instance.acceptsNull(arg, ),
   'nativejstypes.Nullability.constructor': () => new nativejstypes_Nullability(),
   'nativejstypes.Nullability.doesNotAcceptNull$1': (/** !nativejstypes_Nullability */ $instance, /** string */ arg, ) => $instance.doesNotAcceptNull(arg, ),
   'parseFloat': parseFloat,
   'performance.now': () => performance.now(),
   'set Error.hasCaptureStackTraceProperty': (/** boolean */ value, ) => Error.hasCaptureStackTraceProperty = value,
   'set Error.stack': (/** !Error */ $instance, /** string */ value, ) => $instance.stack = value,
   'set RegExp.lastIndex': (/** !RegExp */ $instance, /** number */ index, ) => $instance.lastIndex = index,
   'set com.acme.MyFoo.x': (/** !com_acme_MyFoo */ $instance, /** number */ value, ) => $instance.x = value,
   'set com.acme.MyFoo.y': (/** !com_acme_MyFoo */ $instance, /** number */ value, ) => $instance.y = value,
   'set nativejstypes.Bar.f': (/** number */ value, ) => nativejstypes_Bar.f = value,
   'set nativejstypes.Bar.x': (/** !nativejstypes_Bar */ $instance, /** number */ value, ) => $instance.x = value,
   'set nativejstypes.Bar.y': (/** !nativejstypes_Bar */ $instance, /** number */ value, ) => $instance.y = value,
   'set toplevel.Nested.x': (/** !toplevel.Nested */ $instance, /** number */ value, ) => $instance.x = value,
   'set toplevel.x': (/** number */ value, ) => toplevel.x = value,
   'string.indexOf$1': (/** string */ $instance, /** string */ str, ) => $instance.indexOf(str, ),
   'string.indexOf$2': (/** string */ $instance, /** string */ str, /** number */ startIndex, ) => $instance.indexOf(str, startIndex, ),
   'string.lastIndexOf$1': (/** string */ $instance, /** string */ str, ) => $instance.lastIndexOf(str, ),
   'string.lastIndexOf$2': (/** string */ $instance, /** string */ str, /** number */ start, ) => $instance.lastIndexOf(str, start, ),
   'string.repeat$1': (/** string */ $instance, /** number */ count, ) => $instance.repeat(count, ),
   'string.replace$2': (/** string */ $instance, /** !RegExp */ regex, /** string */ replace, ) => $instance.replace(regex, replace, ),
   'string.toLocaleLowerCase': (/** string */ $instance, ) => $instance.toLocaleLowerCase(),
   'string.toLocaleUpperCase': (/** string */ $instance, ) => $instance.toLocaleUpperCase(),
   'string.toLowerCase': (/** string */ $instance, ) => $instance.toLowerCase(),
   'string.toUpperCase': (/** string */ $instance, ) => $instance.toUpperCase(),
   'toplevel.Nested.constructor': () => new toplevel.Nested(),
  }
 };
}

