@file:Suppress("INTERFACE_WITH_SUPERCLASS", "OVERRIDING_FINAL_MEMBER", "RETURN_TYPE_MISMATCH_ON_OVERRIDE", "CONFLICTING_OVERLOADS") package tsstdlib import kotlin.js.* import org.khronos.webgl.* import org.w3c.dom.* import org.w3c.dom.events.* import org.w3c.dom.parsing.* import org.w3c.dom.svg.* import org.w3c.dom.url.* import org.w3c.fetch.* import org.w3c.files.* import org.w3c.notifications.* import org.w3c.performance.* import org.w3c.workers.* import org.w3c.xhr.* external interface DateConstructor { @nativeInvoke operator fun invoke(): String var prototype: Date fun parse(s: String): Number fun UTC(year: Number, month: Number, date: Number = definedExternally, hours: Number = definedExternally, minutes: Number = definedExternally, seconds: Number = definedExternally, ms: Number = definedExternally): Number fun now(): Number } external interface ConcatArray { var length: Number @nativeGetter operator fun get(n: Number): T? @nativeSetter operator fun set(n: Number, value: T) fun join(separator: String = definedExternally): String fun slice(start: Number = definedExternally, end: Number = definedExternally): Array } external interface ArrayConstructor { fun from(iterable: Iterable): Array fun from(iterable: ArrayLike): Array fun from(iterable: Iterable, mapfn: (v: T, k: Number) -> U, thisArg: Any = definedExternally): Array fun from(iterable: Iterable, mapfn: (v: T, k: Number) -> U): Array fun from(iterable: ArrayLike, mapfn: (v: T, k: Number) -> U, thisArg: Any = definedExternally): Array fun from(iterable: ArrayLike, mapfn: (v: T, k: Number) -> U): Array fun of(vararg items: T): Array @nativeInvoke operator fun invoke(arrayLength: Number = definedExternally): Array @nativeInvoke operator fun invoke(): Array @nativeInvoke operator fun invoke(arrayLength: Number): Array @nativeInvoke operator fun invoke(vararg items: T): Array fun isArray(arg: Any): Boolean var prototype: Array } external interface PromiseLike { fun then(onfulfilled: ((value: T) -> Any?)? = definedExternally, onrejected: ((reason: Any) -> Any?)? = definedExternally): PromiseLike } external interface ArrayLike { var length: Number @nativeGetter operator fun get(n: Number): T? @nativeSetter operator fun set(n: Number, value: T) } typealias Record = Any