UNPKG

google-closure-compiler

Version:

Check, compile, optimize and compress Javascript with Closure-Compiler

4,124 lines • 140 kB
/*
 * Copyright 2026 The Closure Compiler Authors
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

// Generated by //javascript/externs/gen_typed_arrays:generate_es6_typed_array.
//
// disable formatting because this is a generated file with a test to verify
// it's up-to-date with the sources, and the code generator's formatting is not
// 100% perfect.
// clang-format off

/**
 * @fileoverview Definitions for ECMAScript TypedArray externs.
 * @see https://www.khronos.org/registry/typedarray/specs/latest/
 * @externs
 */

/**
 * @param {number|!ArrayBufferView|!Array<number>|!ArrayBuffer|!SharedArrayBuffer|null}
 *     lengthOrArrayOrBuffer
 *     NOTE: We require that at least this first argument be present even though
 *         the ECMAScript spec allows it to be absent, because this is better
 *         for readability and detection of programmer errors. We accept a null
 *         value for backwards compatibility with existing externs.
 * @param {number=} opt_byteOffset
 * @param {number=} opt_length
 * @template TArrayBuffer (unused)
 * @constructor
 * @implements {IArrayLike<number>}
 * @implements {Iterable<number>}
 * @extends {ArrayBufferView}
 * @throws {Error}
 * @modifies {arguments} If the user passes a backing array, then indexed
 *     accesses will modify the backing array. JSCompiler does not model
 *     this well. In other words, if you have:
 *     <code>
 *     var x = new ArrayBuffer(1);
 *     var y = new Int8Array(x);
 *     y[0] = 2;
 *     </code>
 *     JSCompiler will not recognize that the last assignment modifies x.
 *     We workaround this by marking all these arrays as @modifies {arguments},
 *     to introduce the possibility that x aliases y.
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int8Array
 */
function Int8Array(lengthOrArrayOrBuffer, opt_byteOffset, opt_length) {}

/** @const {number} */
Int8Array.BYTES_PER_ELEMENT;

/** @const {number} */
Int8Array.prototype.BYTES_PER_ELEMENT;

/**
 * @param {string|!IArrayLike<number>|!Iterable<number>} source
 * @param {function(this:S, ?, number): number=} mapFn
 * @param {S=} thisArg
 * @template S
 * @return {!Int8Array}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/from
 */
Int8Array.from = function(source, mapFn, thisArg) {};

/**
 * @param {...number} var_args
 * @return {!Int8Array}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/of
 */
Int8Array.of = function(var_args) {};

/**
 * NOTE: this is an ES2022 extern.
 * @param {number} index
 * @return {(number|undefined)}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/at
 */
Int8Array.prototype.at = function(index) {};

/**
 * @param {number} target
 * @param {number} start
 * @param {number=} opt_end
 * @return {!Int8Array}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/copyWithin
 */
Int8Array.prototype.copyWithin = function(target, start, opt_end) {};

/**
 * @return {!IteratorIterable<!Array<number>>}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/entries
 */
Int8Array.prototype.entries = function() {};

/**
 * @param {function(this:S, number, number, !Int8Array) : *} callback
 * @param {S=} opt_thisArg
 * @return {boolean}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/every
 */
Int8Array.prototype.every = function(callback, opt_thisArg) {};

/**
 * @param {number} value
 * @param {number=} opt_begin
 * @param {number=} opt_end
 * @return {!Int8Array}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/fill
 */
Int8Array.prototype.fill = function(value, opt_begin, opt_end) {};

/**
 * @param {function(this:S, number, number, !Int8Array) : *} callback
 * @param {S=} opt_thisArg
 * @return {!Int8Array}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/filter
 */
Int8Array.prototype.filter = function(callback, opt_thisArg) {};

/**
 * @param {function(this:S, number, number, !Int8Array) : *} callback
 * @param {S=} opt_thisArg
 * @return {(number|undefined)}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/find
 */
Int8Array.prototype.find = function(callback, opt_thisArg) {};

/**
 * @param {function(this:S, number, number, !Int8Array) : *} callback
 * @param {S=} opt_thisArg
 * @return {number}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/findIndex
 */
Int8Array.prototype.findIndex = function(callback, opt_thisArg) {};

/**
 * @param {function(this:S, number, number, !Int8Array) : boolean}
 *     callback
 * @param {S=} opt_thisArg
 * @return {(number|undefined)}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/findLast
 */
Int8Array.prototype.findLast = function(callback, opt_thisArg) {};

/**
 * @param {function(this:S, number, number, !Int8Array) : boolean}
 *     callback
 * @param {S=} opt_thisArg
 * @return {number}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/findLastIndex
 */
Int8Array.prototype.findLastIndex = function(callback, opt_thisArg) {};

/**
 * @param {function(this:S, number, number, !Int8Array) : ?} callback
 * @param {S=} opt_thisArg
 * @return {undefined}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/forEach
 */
Int8Array.prototype.forEach = function(callback, opt_thisArg) {};

/**
 * NOTE: this is an ES2016 (ES7) extern.
 * @param {number} searchElement
 * @param {number=} opt_fromIndex
 * @return {boolean}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/includes
 */
Int8Array.prototype.includes = function(searchElement, opt_fromIndex) {};

/**
 * @param {number} searchElement
 * @param {number=} opt_fromIndex
 * @return {number}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/indexOf
 */
Int8Array.prototype.indexOf = function(searchElement, opt_fromIndex) {};

/**
 * @param {string=} opt_separator
 * @return {string}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/join
 */
Int8Array.prototype.join = function(opt_separator) {};

/**
 * @return {!IteratorIterable<number>}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/keys
 */
Int8Array.prototype.keys = function() {};

/**
 * @param {number} searchElement
 * @param {number=} opt_fromIndex
 * @return {number}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/lastIndexOf
 */
Int8Array.prototype.lastIndexOf = function(searchElement, opt_fromIndex) {};

/** @type {number} */
Int8Array.prototype.length;

/**
 * @param {function(this:S, number, number, !Int8Array) : number}
 *     callback
 * @param {S=} opt_thisArg
 * @return {!Int8Array}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/map
 */
Int8Array.prototype.map = function(callback, opt_thisArg) {};

/**
 * @param {function((number|INIT|RET), number, number, !Int8Array) :
 *     RET} callback
 * @param {INIT=} opt_initialValue
 * @return {RET}
 * @template INIT,RET
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reduce
 */
Int8Array.prototype.reduce = function(callback, opt_initialValue) {};

/**
 * @param {function((number|INIT|RET), number, number, !Int8Array) :
 *     RET} callback
 * @param {INIT=} opt_initialValue
 * @return {RET}
 * @template INIT,RET
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reduceRight
 */
Int8Array.prototype.reduceRight = function(callback, opt_initialValue) {};

/**
 * @return {!Int8Array}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reverse
 */
Int8Array.prototype.reverse = function() {};

/**
 * @param {!ArrayBufferView|!Array<number>} array
 * @param {number=} opt_offset
 * @return {undefined}
 * @throws {!RangeError}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/set
 */
Int8Array.prototype.set = function(array, opt_offset) {};

/**
 * @param {number=} opt_begin
 * @param {number=} opt_end
 * @return {!Int8Array}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/slice
 */
Int8Array.prototype.slice = function(opt_begin, opt_end) {};

/**
 * @param {function(this:S, number, number, !Int8Array) : *} callback
 * @param {S=} opt_thisArg
 * @return {boolean}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/some
 */
Int8Array.prototype.some = function(callback, opt_thisArg) {};

/**
 * @param {(function(number, number) : number)=} opt_compareFunction
 * @return {!Int8Array}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/sort
 */
Int8Array.prototype.sort = function(opt_compareFunction) {};

/**
 * @param {number} begin
 * @param {number=} opt_end
 * @return {!Int8Array}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/subarray
 */
Int8Array.prototype.subarray = function(begin, opt_end) {};

/**
 * @return {!IteratorIterable<number>}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/values
 */
Int8Array.prototype.values = function() {};

/**
 * NOTE: this is an ES2023 extern.
 * @return {!Int8Array}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toReversed
 */
Int8Array.prototype.toReversed = function() {};

/**
 * NOTE: this is an ES2023 extern.
 * @param {function(number, number): number=} compareFn
 * @return {!Int8Array}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toSorted
 */
Int8Array.prototype.toSorted = function(compareFn) {};

/**
 * NOTE: this is an ES2023 extern.
 * @param {number} index
 * @param {number} value
 * @return {!Int8Array}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/with
 */
Int8Array.prototype.with = function(index, value) {};

/**
 * @return {string}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toLocaleString
 * @override
 */
Int8Array.prototype.toLocaleString = function() {};

/**
 * @return {string}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toString
 * @override
 */
Int8Array.prototype.toString = function() {};

/** @override */
Int8Array.prototype[Symbol.iterator] = function() {};

/**
 * @param {number|!ArrayBufferView|!Array<number>|!ArrayBuffer|!SharedArrayBuffer|null}
 *     lengthOrArrayOrBuffer
 *     NOTE: We require that at least this first argument be present even though
 *         the ECMAScript spec allows it to be absent, because this is better
 *         for readability and detection of programmer errors. We accept a null
 *         value for backwards compatibility with existing externs.
 * @param {number=} opt_byteOffset
 * @param {number=} opt_length
 * @template TArrayBuffer (unused)
 * @constructor
 * @implements {IArrayLike<number>}
 * @implements {Iterable<number>}
 * @extends {ArrayBufferView}
 * @throws {Error}
 * @modifies {arguments} If the user passes a backing array, then indexed
 *     accesses will modify the backing array. JSCompiler does not model
 *     this well. In other words, if you have:
 *     <code>
 *     var x = new ArrayBuffer(1);
 *     var y = new Uint8ClampedArray(x);
 *     y[0] = 2;
 *     </code>
 *     JSCompiler will not recognize that the last assignment modifies x.
 *     We workaround this by marking all these arrays as @modifies {arguments},
 *     to introduce the possibility that x aliases y.
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8ClampedArray
 */
function Uint8ClampedArray(lengthOrArrayOrBuffer, opt_byteOffset, opt_length) {}

/** @const {number} */
Uint8ClampedArray.BYTES_PER_ELEMENT;

/** @const {number} */
Uint8ClampedArray.prototype.BYTES_PER_ELEMENT;

/**
 * @param {string|!IArrayLike<number>|!Iterable<number>} source
 * @param {function(this:S, ?, number): number=} mapFn
 * @param {S=} thisArg
 * @template S
 * @return {!Uint8ClampedArray}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/from
 */
Uint8ClampedArray.from = function(source, mapFn, thisArg) {};

/**
 * @param {...number} var_args
 * @return {!Uint8ClampedArray}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/of
 */
Uint8ClampedArray.of = function(var_args) {};

/**
 * NOTE: this is an ES2022 extern.
 * @param {number} index
 * @return {(number|undefined)}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/at
 */
Uint8ClampedArray.prototype.at = function(index) {};

/**
 * @param {number} target
 * @param {number} start
 * @param {number=} opt_end
 * @return {!Uint8ClampedArray}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/copyWithin
 */
Uint8ClampedArray.prototype.copyWithin = function(target, start, opt_end) {};

/**
 * @return {!IteratorIterable<!Array<number>>}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/entries
 */
Uint8ClampedArray.prototype.entries = function() {};

/**
 * @param {function(this:S, number, number, !Uint8ClampedArray) : *} callback
 * @param {S=} opt_thisArg
 * @return {boolean}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/every
 */
Uint8ClampedArray.prototype.every = function(callback, opt_thisArg) {};

/**
 * @param {number} value
 * @param {number=} opt_begin
 * @param {number=} opt_end
 * @return {!Uint8ClampedArray}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/fill
 */
Uint8ClampedArray.prototype.fill = function(value, opt_begin, opt_end) {};

/**
 * @param {function(this:S, number, number, !Uint8ClampedArray) : *} callback
 * @param {S=} opt_thisArg
 * @return {!Uint8ClampedArray}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/filter
 */
Uint8ClampedArray.prototype.filter = function(callback, opt_thisArg) {};

/**
 * @param {function(this:S, number, number, !Uint8ClampedArray) : *} callback
 * @param {S=} opt_thisArg
 * @return {(number|undefined)}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/find
 */
Uint8ClampedArray.prototype.find = function(callback, opt_thisArg) {};

/**
 * @param {function(this:S, number, number, !Uint8ClampedArray) : *} callback
 * @param {S=} opt_thisArg
 * @return {number}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/findIndex
 */
Uint8ClampedArray.prototype.findIndex = function(callback, opt_thisArg) {};

/**
 * @param {function(this:S, number, number, !Uint8ClampedArray) : boolean}
 *     callback
 * @param {S=} opt_thisArg
 * @return {(number|undefined)}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/findLast
 */
Uint8ClampedArray.prototype.findLast = function(callback, opt_thisArg) {};

/**
 * @param {function(this:S, number, number, !Uint8ClampedArray) : boolean}
 *     callback
 * @param {S=} opt_thisArg
 * @return {number}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/findLastIndex
 */
Uint8ClampedArray.prototype.findLastIndex = function(callback, opt_thisArg) {};

/**
 * @param {function(this:S, number, number, !Uint8ClampedArray) : ?} callback
 * @param {S=} opt_thisArg
 * @return {undefined}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/forEach
 */
Uint8ClampedArray.prototype.forEach = function(callback, opt_thisArg) {};

/**
 * NOTE: this is an ES2016 (ES7) extern.
 * @param {number} searchElement
 * @param {number=} opt_fromIndex
 * @return {boolean}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/includes
 */
Uint8ClampedArray.prototype.includes = function(searchElement, opt_fromIndex) {};

/**
 * @param {number} searchElement
 * @param {number=} opt_fromIndex
 * @return {number}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/indexOf
 */
Uint8ClampedArray.prototype.indexOf = function(searchElement, opt_fromIndex) {};

/**
 * @param {string=} opt_separator
 * @return {string}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/join
 */
Uint8ClampedArray.prototype.join = function(opt_separator) {};

/**
 * @return {!IteratorIterable<number>}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/keys
 */
Uint8ClampedArray.prototype.keys = function() {};

/**
 * @param {number} searchElement
 * @param {number=} opt_fromIndex
 * @return {number}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/lastIndexOf
 */
Uint8ClampedArray.prototype.lastIndexOf = function(searchElement, opt_fromIndex) {};

/** @type {number} */
Uint8ClampedArray.prototype.length;

/**
 * @param {function(this:S, number, number, !Uint8ClampedArray) : number}
 *     callback
 * @param {S=} opt_thisArg
 * @return {!Uint8ClampedArray}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/map
 */
Uint8ClampedArray.prototype.map = function(callback, opt_thisArg) {};

/**
 * @param {function((number|INIT|RET), number, number, !Uint8ClampedArray) :
 *     RET} callback
 * @param {INIT=} opt_initialValue
 * @return {RET}
 * @template INIT,RET
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reduce
 */
Uint8ClampedArray.prototype.reduce = function(callback, opt_initialValue) {};

/**
 * @param {function((number|INIT|RET), number, number, !Uint8ClampedArray) :
 *     RET} callback
 * @param {INIT=} opt_initialValue
 * @return {RET}
 * @template INIT,RET
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reduceRight
 */
Uint8ClampedArray.prototype.reduceRight = function(callback, opt_initialValue) {};

/**
 * @return {!Uint8ClampedArray}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reverse
 */
Uint8ClampedArray.prototype.reverse = function() {};

/**
 * @param {!ArrayBufferView|!Array<number>} array
 * @param {number=} opt_offset
 * @return {undefined}
 * @throws {!RangeError}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/set
 */
Uint8ClampedArray.prototype.set = function(array, opt_offset) {};

/**
 * @param {number=} opt_begin
 * @param {number=} opt_end
 * @return {!Uint8ClampedArray}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/slice
 */
Uint8ClampedArray.prototype.slice = function(opt_begin, opt_end) {};

/**
 * @param {function(this:S, number, number, !Uint8ClampedArray) : *} callback
 * @param {S=} opt_thisArg
 * @return {boolean}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/some
 */
Uint8ClampedArray.prototype.some = function(callback, opt_thisArg) {};

/**
 * @param {(function(number, number) : number)=} opt_compareFunction
 * @return {!Uint8ClampedArray}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/sort
 */
Uint8ClampedArray.prototype.sort = function(opt_compareFunction) {};

/**
 * @param {number} begin
 * @param {number=} opt_end
 * @return {!Uint8ClampedArray}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/subarray
 */
Uint8ClampedArray.prototype.subarray = function(begin, opt_end) {};

/**
 * @return {!IteratorIterable<number>}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/values
 */
Uint8ClampedArray.prototype.values = function() {};

/**
 * NOTE: this is an ES2023 extern.
 * @return {!Uint8ClampedArray}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toReversed
 */
Uint8ClampedArray.prototype.toReversed = function() {};

/**
 * NOTE: this is an ES2023 extern.
 * @param {function(number, number): number=} compareFn
 * @return {!Uint8ClampedArray}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toSorted
 */
Uint8ClampedArray.prototype.toSorted = function(compareFn) {};

/**
 * NOTE: this is an ES2023 extern.
 * @param {number} index
 * @param {number} value
 * @return {!Uint8ClampedArray}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/with
 */
Uint8ClampedArray.prototype.with = function(index, value) {};

/**
 * @return {string}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toLocaleString
 * @override
 */
Uint8ClampedArray.prototype.toLocaleString = function() {};

/**
 * @return {string}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toString
 * @override
 */
Uint8ClampedArray.prototype.toString = function() {};

/** @override */
Uint8ClampedArray.prototype[Symbol.iterator] = function() {};

/**
 * @param {number|!ArrayBufferView|!Array<number>|!ArrayBuffer|!SharedArrayBuffer|null}
 *     lengthOrArrayOrBuffer
 *     NOTE: We require that at least this first argument be present even though
 *         the ECMAScript spec allows it to be absent, because this is better
 *         for readability and detection of programmer errors. We accept a null
 *         value for backwards compatibility with existing externs.
 * @param {number=} opt_byteOffset
 * @param {number=} opt_length
 * @template TArrayBuffer (unused)
 * @constructor
 * @implements {IArrayLike<number>}
 * @implements {Iterable<number>}
 * @extends {ArrayBufferView}
 * @throws {Error}
 * @modifies {arguments} If the user passes a backing array, then indexed
 *     accesses will modify the backing array. JSCompiler does not model
 *     this well. In other words, if you have:
 *     <code>
 *     var x = new ArrayBuffer(1);
 *     var y = new Int16Array(x);
 *     y[0] = 2;
 *     </code>
 *     JSCompiler will not recognize that the last assignment modifies x.
 *     We workaround this by marking all these arrays as @modifies {arguments},
 *     to introduce the possibility that x aliases y.
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int16Array
 */
function Int16Array(lengthOrArrayOrBuffer, opt_byteOffset, opt_length) {}

/** @const {number} */
Int16Array.BYTES_PER_ELEMENT;

/** @const {number} */
Int16Array.prototype.BYTES_PER_ELEMENT;

/**
 * @param {string|!IArrayLike<number>|!Iterable<number>} source
 * @param {function(this:S, ?, number): number=} mapFn
 * @param {S=} thisArg
 * @template S
 * @return {!Int16Array}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/from
 */
Int16Array.from = function(source, mapFn, thisArg) {};

/**
 * @param {...number} var_args
 * @return {!Int16Array}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/of
 */
Int16Array.of = function(var_args) {};

/**
 * NOTE: this is an ES2022 extern.
 * @param {number} index
 * @return {(number|undefined)}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/at
 */
Int16Array.prototype.at = function(index) {};

/**
 * @param {number} target
 * @param {number} start
 * @param {number=} opt_end
 * @return {!Int16Array}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/copyWithin
 */
Int16Array.prototype.copyWithin = function(target, start, opt_end) {};

/**
 * @return {!IteratorIterable<!Array<number>>}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/entries
 */
Int16Array.prototype.entries = function() {};

/**
 * @param {function(this:S, number, number, !Int16Array) : *} callback
 * @param {S=} opt_thisArg
 * @return {boolean}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/every
 */
Int16Array.prototype.every = function(callback, opt_thisArg) {};

/**
 * @param {number} value
 * @param {number=} opt_begin
 * @param {number=} opt_end
 * @return {!Int16Array}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/fill
 */
Int16Array.prototype.fill = function(value, opt_begin, opt_end) {};

/**
 * @param {function(this:S, number, number, !Int16Array) : *} callback
 * @param {S=} opt_thisArg
 * @return {!Int16Array}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/filter
 */
Int16Array.prototype.filter = function(callback, opt_thisArg) {};

/**
 * @param {function(this:S, number, number, !Int16Array) : *} callback
 * @param {S=} opt_thisArg
 * @return {(number|undefined)}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/find
 */
Int16Array.prototype.find = function(callback, opt_thisArg) {};

/**
 * @param {function(this:S, number, number, !Int16Array) : *} callback
 * @param {S=} opt_thisArg
 * @return {number}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/findIndex
 */
Int16Array.prototype.findIndex = function(callback, opt_thisArg) {};

/**
 * @param {function(this:S, number, number, !Int16Array) : boolean}
 *     callback
 * @param {S=} opt_thisArg
 * @return {(number|undefined)}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/findLast
 */
Int16Array.prototype.findLast = function(callback, opt_thisArg) {};

/**
 * @param {function(this:S, number, number, !Int16Array) : boolean}
 *     callback
 * @param {S=} opt_thisArg
 * @return {number}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/findLastIndex
 */
Int16Array.prototype.findLastIndex = function(callback, opt_thisArg) {};

/**
 * @param {function(this:S, number, number, !Int16Array) : ?} callback
 * @param {S=} opt_thisArg
 * @return {undefined}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/forEach
 */
Int16Array.prototype.forEach = function(callback, opt_thisArg) {};

/**
 * NOTE: this is an ES2016 (ES7) extern.
 * @param {number} searchElement
 * @param {number=} opt_fromIndex
 * @return {boolean}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/includes
 */
Int16Array.prototype.includes = function(searchElement, opt_fromIndex) {};

/**
 * @param {number} searchElement
 * @param {number=} opt_fromIndex
 * @return {number}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/indexOf
 */
Int16Array.prototype.indexOf = function(searchElement, opt_fromIndex) {};

/**
 * @param {string=} opt_separator
 * @return {string}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/join
 */
Int16Array.prototype.join = function(opt_separator) {};

/**
 * @return {!IteratorIterable<number>}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/keys
 */
Int16Array.prototype.keys = function() {};

/**
 * @param {number} searchElement
 * @param {number=} opt_fromIndex
 * @return {number}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/lastIndexOf
 */
Int16Array.prototype.lastIndexOf = function(searchElement, opt_fromIndex) {};

/** @type {number} */
Int16Array.prototype.length;

/**
 * @param {function(this:S, number, number, !Int16Array) : number}
 *     callback
 * @param {S=} opt_thisArg
 * @return {!Int16Array}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/map
 */
Int16Array.prototype.map = function(callback, opt_thisArg) {};

/**
 * @param {function((number|INIT|RET), number, number, !Int16Array) :
 *     RET} callback
 * @param {INIT=} opt_initialValue
 * @return {RET}
 * @template INIT,RET
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reduce
 */
Int16Array.prototype.reduce = function(callback, opt_initialValue) {};

/**
 * @param {function((number|INIT|RET), number, number, !Int16Array) :
 *     RET} callback
 * @param {INIT=} opt_initialValue
 * @return {RET}
 * @template INIT,RET
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reduceRight
 */
Int16Array.prototype.reduceRight = function(callback, opt_initialValue) {};

/**
 * @return {!Int16Array}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reverse
 */
Int16Array.prototype.reverse = function() {};

/**
 * @param {!ArrayBufferView|!Array<number>} array
 * @param {number=} opt_offset
 * @return {undefined}
 * @throws {!RangeError}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/set
 */
Int16Array.prototype.set = function(array, opt_offset) {};

/**
 * @param {number=} opt_begin
 * @param {number=} opt_end
 * @return {!Int16Array}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/slice
 */
Int16Array.prototype.slice = function(opt_begin, opt_end) {};

/**
 * @param {function(this:S, number, number, !Int16Array) : *} callback
 * @param {S=} opt_thisArg
 * @return {boolean}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/some
 */
Int16Array.prototype.some = function(callback, opt_thisArg) {};

/**
 * @param {(function(number, number) : number)=} opt_compareFunction
 * @return {!Int16Array}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/sort
 */
Int16Array.prototype.sort = function(opt_compareFunction) {};

/**
 * @param {number} begin
 * @param {number=} opt_end
 * @return {!Int16Array}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/subarray
 */
Int16Array.prototype.subarray = function(begin, opt_end) {};

/**
 * @return {!IteratorIterable<number>}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/values
 */
Int16Array.prototype.values = function() {};

/**
 * NOTE: this is an ES2023 extern.
 * @return {!Int16Array}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toReversed
 */
Int16Array.prototype.toReversed = function() {};

/**
 * NOTE: this is an ES2023 extern.
 * @param {function(number, number): number=} compareFn
 * @return {!Int16Array}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toSorted
 */
Int16Array.prototype.toSorted = function(compareFn) {};

/**
 * NOTE: this is an ES2023 extern.
 * @param {number} index
 * @param {number} value
 * @return {!Int16Array}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/with
 */
Int16Array.prototype.with = function(index, value) {};

/**
 * @return {string}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toLocaleString
 * @override
 */
Int16Array.prototype.toLocaleString = function() {};

/**
 * @return {string}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toString
 * @override
 */
Int16Array.prototype.toString = function() {};

/** @override */
Int16Array.prototype[Symbol.iterator] = function() {};

/**
 * @param {number|!ArrayBufferView|!Array<number>|!ArrayBuffer|!SharedArrayBuffer|null}
 *     lengthOrArrayOrBuffer
 *     NOTE: We require that at least this first argument be present even though
 *         the ECMAScript spec allows it to be absent, because this is better
 *         for readability and detection of programmer errors. We accept a null
 *         value for backwards compatibility with existing externs.
 * @param {number=} opt_byteOffset
 * @param {number=} opt_length
 * @template TArrayBuffer (unused)
 * @constructor
 * @implements {IArrayLike<number>}
 * @implements {Iterable<number>}
 * @extends {ArrayBufferView}
 * @throws {Error}
 * @modifies {arguments} If the user passes a backing array, then indexed
 *     accesses will modify the backing array. JSCompiler does not model
 *     this well. In other words, if you have:
 *     <code>
 *     var x = new ArrayBuffer(1);
 *     var y = new Uint16Array(x);
 *     y[0] = 2;
 *     </code>
 *     JSCompiler will not recognize that the last assignment modifies x.
 *     We workaround this by marking all these arrays as @modifies {arguments},
 *     to introduce the possibility that x aliases y.
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint16Array
 */
function Uint16Array(lengthOrArrayOrBuffer, opt_byteOffset, opt_length) {}

/** @const {number} */
Uint16Array.BYTES_PER_ELEMENT;

/** @const {number} */
Uint16Array.prototype.BYTES_PER_ELEMENT;

/**
 * @param {string|!IArrayLike<number>|!Iterable<number>} source
 * @param {function(this:S, ?, number): number=} mapFn
 * @param {S=} thisArg
 * @template S
 * @return {!Uint16Array}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/from
 */
Uint16Array.from = function(source, mapFn, thisArg) {};

/**
 * @param {...number} var_args
 * @return {!Uint16Array}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/of
 */
Uint16Array.of = function(var_args) {};

/**
 * NOTE: this is an ES2022 extern.
 * @param {number} index
 * @return {(number|undefined)}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/at
 */
Uint16Array.prototype.at = function(index) {};

/**
 * @param {number} target
 * @param {number} start
 * @param {number=} opt_end
 * @return {!Uint16Array}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/copyWithin
 */
Uint16Array.prototype.copyWithin = function(target, start, opt_end) {};

/**
 * @return {!IteratorIterable<!Array<number>>}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/entries
 */
Uint16Array.prototype.entries = function() {};

/**
 * @param {function(this:S, number, number, !Uint16Array) : *} callback
 * @param {S=} opt_thisArg
 * @return {boolean}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/every
 */
Uint16Array.prototype.every = function(callback, opt_thisArg) {};

/**
 * @param {number} value
 * @param {number=} opt_begin
 * @param {number=} opt_end
 * @return {!Uint16Array}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/fill
 */
Uint16Array.prototype.fill = function(value, opt_begin, opt_end) {};

/**
 * @param {function(this:S, number, number, !Uint16Array) : *} callback
 * @param {S=} opt_thisArg
 * @return {!Uint16Array}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/filter
 */
Uint16Array.prototype.filter = function(callback, opt_thisArg) {};

/**
 * @param {function(this:S, number, number, !Uint16Array) : *} callback
 * @param {S=} opt_thisArg
 * @return {(number|undefined)}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/find
 */
Uint16Array.prototype.find = function(callback, opt_thisArg) {};

/**
 * @param {function(this:S, number, number, !Uint16Array) : *} callback
 * @param {S=} opt_thisArg
 * @return {number}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/findIndex
 */
Uint16Array.prototype.findIndex = function(callback, opt_thisArg) {};

/**
 * @param {function(this:S, number, number, !Uint16Array) : boolean}
 *     callback
 * @param {S=} opt_thisArg
 * @return {(number|undefined)}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/findLast
 */
Uint16Array.prototype.findLast = function(callback, opt_thisArg) {};

/**
 * @param {function(this:S, number, number, !Uint16Array) : boolean}
 *     callback
 * @param {S=} opt_thisArg
 * @return {number}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/findLastIndex
 */
Uint16Array.prototype.findLastIndex = function(callback, opt_thisArg) {};

/**
 * @param {function(this:S, number, number, !Uint16Array) : ?} callback
 * @param {S=} opt_thisArg
 * @return {undefined}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/forEach
 */
Uint16Array.prototype.forEach = function(callback, opt_thisArg) {};

/**
 * NOTE: this is an ES2016 (ES7) extern.
 * @param {number} searchElement
 * @param {number=} opt_fromIndex
 * @return {boolean}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/includes
 */
Uint16Array.prototype.includes = function(searchElement, opt_fromIndex) {};

/**
 * @param {number} searchElement
 * @param {number=} opt_fromIndex
 * @return {number}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/indexOf
 */
Uint16Array.prototype.indexOf = function(searchElement, opt_fromIndex) {};

/**
 * @param {string=} opt_separator
 * @return {string}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/join
 */
Uint16Array.prototype.join = function(opt_separator) {};

/**
 * @return {!IteratorIterable<number>}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/keys
 */
Uint16Array.prototype.keys = function() {};

/**
 * @param {number} searchElement
 * @param {number=} opt_fromIndex
 * @return {number}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/lastIndexOf
 */
Uint16Array.prototype.lastIndexOf = function(searchElement, opt_fromIndex) {};

/** @type {number} */
Uint16Array.prototype.length;

/**
 * @param {function(this:S, number, number, !Uint16Array) : number}
 *     callback
 * @param {S=} opt_thisArg
 * @return {!Uint16Array}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/map
 */
Uint16Array.prototype.map = function(callback, opt_thisArg) {};

/**
 * @param {function((number|INIT|RET), number, number, !Uint16Array) :
 *     RET} callback
 * @param {INIT=} opt_initialValue
 * @return {RET}
 * @template INIT,RET
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reduce
 */
Uint16Array.prototype.reduce = function(callback, opt_initialValue) {};

/**
 * @param {function((number|INIT|RET), number, number, !Uint16Array) :
 *     RET} callback
 * @param {INIT=} opt_initialValue
 * @return {RET}
 * @template INIT,RET
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reduceRight
 */
Uint16Array.prototype.reduceRight = function(callback, opt_initialValue) {};

/**
 * @return {!Uint16Array}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reverse
 */
Uint16Array.prototype.reverse = function() {};

/**
 * @param {!ArrayBufferView|!Array<number>} array
 * @param {number=} opt_offset
 * @return {undefined}
 * @throws {!RangeError}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/set
 */
Uint16Array.prototype.set = function(array, opt_offset) {};

/**
 * @param {number=} opt_begin
 * @param {number=} opt_end
 * @return {!Uint16Array}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/slice
 */
Uint16Array.prototype.slice = function(opt_begin, opt_end) {};

/**
 * @param {function(this:S, number, number, !Uint16Array) : *} callback
 * @param {S=} opt_thisArg
 * @return {boolean}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/some
 */
Uint16Array.prototype.some = function(callback, opt_thisArg) {};

/**
 * @param {(function(number, number) : number)=} opt_compareFunction
 * @return {!Uint16Array}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/sort
 */
Uint16Array.prototype.sort = function(opt_compareFunction) {};

/**
 * @param {number} begin
 * @param {number=} opt_end
 * @return {!Uint16Array}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/subarray
 */
Uint16Array.prototype.subarray = function(begin, opt_end) {};

/**
 * @return {!IteratorIterable<number>}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/values
 */
Uint16Array.prototype.values = function() {};

/**
 * NOTE: this is an ES2023 extern.
 * @return {!Uint16Array}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toReversed
 */
Uint16Array.prototype.toReversed = function() {};

/**
 * NOTE: this is an ES2023 extern.
 * @param {function(number, number): number=} compareFn
 * @return {!Uint16Array}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toSorted
 */
Uint16Array.prototype.toSorted = function(compareFn) {};

/**
 * NOTE: this is an ES2023 extern.
 * @param {number} index
 * @param {number} value
 * @return {!Uint16Array}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/with
 */
Uint16Array.prototype.with = function(index, value) {};

/**
 * @return {string}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toLocaleString
 * @override
 */
Uint16Array.prototype.toLocaleString = function() {};

/**
 * @return {string}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toString
 * @override
 */
Uint16Array.prototype.toString = function() {};

/** @override */
Uint16Array.prototype[Symbol.iterator] = function() {};

/**
 * @param {number|!ArrayBufferView|!Array<number>|!ArrayBuffer|!SharedArrayBuffer|null}
 *     lengthOrArrayOrBuffer
 *     NOTE: We require that at least this first argument be present even though
 *         the ECMAScript spec allows it to be absent, because this is better
 *         for readability and detection of programmer errors. We accept a null
 *         value for backwards compatibility with existing externs.
 * @param {number=} opt_byteOffset
 * @param {number=} opt_length
 * @template TArrayBuffer (unused)
 * @constructor
 * @implements {IArrayLike<number>}
 * @implements {Iterable<number>}
 * @extends {ArrayBufferView}
 * @throws {Error}
 * @modifies {arguments} If the user passes a backing array, then indexed
 *     accesses will modify the backing array. JSCompiler does not model
 *     this well. In other words, if you have:
 *     <code>
 *     var x = new ArrayBuffer(1);
 *     var y = new Int32Array(x);
 *     y[0] = 2;
 *     </code>
 *     JSCompiler will not recognize that the last assignment modifies x.
 *     We workaround this by marking all these arrays as @modifies {arguments},
 *     to introduce the possibility that x aliases y.
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int32Array
 */
function Int32Array(lengthOrArrayOrBuffer, opt_byteOffset, opt_length) {}

/** @const {number} */
Int32Array.BYTES_PER_ELEMENT;

/** @const {number} */
Int32Array.prototype.BYTES_PER_ELEMENT;

/**
 * @param {string|!IArrayLike<number>|!Iterable<number>} source
 * @param {function(this:S, ?, number): number=} mapFn
 * @param {S=} thisArg
 * @template S
 * @return {!Int32Array}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/from
 */
Int32Array.from = function(source, mapFn, thisArg) {};

/**
 * @param {...number} var_args
 * @return {!Int32Array}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/of
 */
Int32Array.of = function(var_args) {};

/**
 * NOTE: this is an ES2022 extern.
 * @param {number} index
 * @return {(number|undefined)}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/at
 */
Int32Array.prototype.at = function(index) {};

/**
 * @param {number} target
 * @param {number} start
 * @param {number=} opt_end
 * @return {!Int32Array}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/copyWithin
 */
Int32Array.prototype.copyWithin = function(target, start, opt_end) {};

/**
 * @return {!IteratorIterable<!Array<number>>}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/entries
 */
Int32Array.prototype.entries = function() {};

/**
 * @param {function(this:S, number, number, !Int32Array) : *} callback
 * @param {S=} opt_thisArg
 * @return {boolean}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/every
 */
Int32Array.prototype.every = function(callback, opt_thisArg) {};

/**
 * @param {number} value
 * @param {number=} opt_begin
 * @param {number=} opt_end
 * @return {!Int32Array}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/fill
 */
Int32Array.prototype.fill = function(value, opt_begin, opt_end) {};

/**
 * @param {function(this:S, number, number, !Int32Array) : *} callback
 * @param {S=} opt_thisArg
 * @return {!Int32Array}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/filter
 */
Int32Array.prototype.filter = function(callback, opt_thisArg) {};

/**
 * @param {function(this:S, number, number, !Int32Array) : *} callback
 * @param {S=} opt_thisArg
 * @return {(number|undefined)}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/find
 */
Int32Array.prototype.find = function(callback, opt_thisArg) {};

/**
 * @param {function(this:S, number, number, !Int32Array) : *} callback
 * @param {S=} opt_thisArg
 * @return {number}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/findIndex
 */
Int32Array.prototype.findIndex = function(callback, opt_thisArg) {};

/**
 * @param {function(this:S, number, number, !Int32Array) : boolean}
 *     callback
 * @param {S=} opt_thisArg
 * @return {(number|undefined)}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/findLast
 */
Int32Array.prototype.findLast = function(callback, opt_thisArg) {};

/**
 * @param {function(this:S, number, number, !Int32Array) : boolean}
 *     callback
 * @param {S=} opt_thisArg
 * @return {number}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/findLastIndex
 */
Int32Array.prototype.findLastIndex = function(callback, opt_thisArg) {};

/**
 * @param {function(this:S, number, number, !Int32Array) : ?} callback
 * @param {S=} opt_thisArg
 * @return {undefined}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/forEach
 */
Int32Array.prototype.forEach = function(callback, opt_thisArg) {};

/**
 * NOTE: this is an ES2016 (ES7) extern.
 * @param {number} searchElement
 * @param {number=} opt_fromIndex
 * @return {boolean}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/includes
 */
Int32Array.prototype.includes = function(searchElement, opt_fromIndex) {};

/**
 * @param {number} searchElement
 * @param {number=} opt_fromIndex
 * @return {number}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/indexOf
 */
Int32Array.prototype.indexOf = function(searchElement, opt_fromIndex) {};

/**
 * @param {string=} opt_separator
 * @return {string}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/join
 */
Int32Array.prototype.join = function(opt_separator) {};

/**
 * @return {!IteratorIterable<number>}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/keys
 */
Int32Array.prototype.keys = function() {};

/**
 * @param {number} searchElement
 * @param {number=} opt_fromIndex
 * @return {number}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/lastIndexOf
 */
Int32Array.prototype.lastIndexOf = function(searchElement, opt_fromIndex) {};

/** @type {number} */
Int32Array.prototype.length;

/**
 * @param {function(this:S, number, number, !Int32Array) : number}
 *     callback
 * @param {S=} opt_thisArg
 * @return {!Int32Array}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/map
 */
Int32Array.prototype.map = function(callback, opt_thisArg) {};

/**
 * @param {function((number|INIT|RET), number, number, !Int32Array) :
 *     RET} callback
 * @param {INIT=} opt_initialValue
 * @return {RET}
 * @template INIT,RET
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reduce
 */
Int32Array.prototype.reduce = function(callback, opt_initialValue) {};

/**
 * @param {function((number|INIT|RET), number, number, !Int32Array) :
 *     RET} callback
 * @param {INIT=} opt_initialValue
 * @return {RET}
 * @template INIT,RET
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reduceRight
 */
Int32Array.prototype.reduceRight = function(callback, opt_initialValue) {};

/**
 * @return {!Int32Array}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reverse
 */
Int32Array.prototype.reverse = function() {};

/**
 * @param {!ArrayBufferView|!Array<number>} array
 * @param {number=} opt_offset
 * @return {undefined}
 * @throws {!RangeError}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/set
 */
Int32Array.prototype.set = function(array, opt_offset) {};

/**
 * @param {number=} opt_begin
 * @param {number=} opt_end
 * @return {!Int32Array}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/slice
 */
Int32Array.prototype.slice = function(opt_begin, opt_end) {};

/**
 * @param {function(this:S, number, number, !Int32Array) : *} callback
 * @param {S=} opt_thisArg
 * @return {boolean}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/some
 */
Int32Array.prototype.some = function(callback, opt_thisArg) {};

/**
 * @param {(function(number, number) : number)=} opt_compareFunction
 * @return {!Int32Array}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/sort
 */
Int32Array.prototype.sort = function(opt_compareFunction) {};

/**
 * @param {number} begin
 * @param {number=} opt_end
 * @return {!Int32Array}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/subarray
 */
Int32Array.prototype.subarray = function(begin, opt_end) {};

/**
 * @return {!IteratorIterable<number>}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/values
 */
Int32Array.prototype.values = function() {};

/**
 * NOTE: this is an ES2023 extern.
 * @return {!Int32Array}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toReversed
 */
Int32Array.prototype.toReversed = function() {};

/**
 * NOTE: this is an ES2023 extern.
 * @param {function(number, number): number=} compareFn
 * @return {!Int32Array}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toSorted
 */
Int32Array.prototype.toSorted = function(compareFn) {};

/**
 * NOTE: this is an ES2023 extern.
 * @param {number} index
 * @param {number} value
 * @return {!Int32Array}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/with
 */
Int32Array.prototype.with = function(index, value) {};

/**
 * @return {string}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toLocaleString
 * @override
 */
Int32Array.prototype.toLocaleString = function() {};

/**
 * @return {string}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toString
 * @override
 */
Int32Array.prototype.toString = function() {};

/** @override */
Int32Array.prototype[Symbol.iterator] = function() {};

/**
 * @param {number|!ArrayBufferView|!Array<number>|!ArrayBuffer|!SharedArrayBuffer|null}
 *     lengthOrArrayOrBuffer
 *     NOTE: We require that at least this first argument be present even though
 *         the ECMAScript spec allows it to be absent, because this is better
 *         for readability and detection of programmer errors. We accept a null
 *         value for backwards compatibility with existing externs.
 * @param {number=} opt_byteOffset
 * @param {number=} opt_length
 * @template TArrayBuffer (unused)
 * @constructor
 * @implements {IArrayLike<number>}
 * @implements {Iterable<number>}
 * @extends {ArrayBufferView}
 * @throws {Error}
 * @modifies {arguments} If the user passes a backing array, then indexed
 *     accesses will modify the backing array. JSCompiler does not model
 *     this well. In other words, if you have:
 *     <code>
 *     var x = new ArrayBuffer(1);
 *     var y = new Uint32Array(x);
 *     y[0] = 2;
 *     </code>
 *     JSCompiler will not recognize that the last assignment modifies x.
 *     We workaround this by marking all these arrays as @modifies {arguments},
 *     to introduce the possibility that x aliases y.
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint32Array
 */
function Uint32Array(lengthOrArrayOrBuffer, opt_byteOffset, opt_length) {}

/** @const {number} */
Uint32Array.BYTES_PER_ELEMENT;

/** @const {number} */
Uint32Array.prototype.BYTES_PER_ELEMENT;

/**
 * @param {string|!IArrayLike<number>|!Iterable<number>} source
 * @param {function(this:S, ?, number): number=} mapFn
 * @param {S=} thisArg
 * @template S
 * @return {!Uint32Array}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/from
 */
Uint32Array.from = function(source, mapFn, thisArg) {};

/**
 * @param {...number} var_args
 * @return {!Uint32Array}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/of
 */
Uint32Array.of = function(var_args) {};

/**
 * NOTE: this is an ES2022 extern.
 * @param {number} index
 * @return {(number|undefined)}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/at
 */
Uint32Array.prototype.at = function(index) {};

/**
 * @param {number} target
 * @param {number} start
 * @param {number=} opt_end
 * @return {!Uint32Array}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/copyWithin
 */
Uint32Array.prototype.copyWithin = function(target, start, opt_end) {};

/**
 * @return {!IteratorIterable<!Array<number>>}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/entries
 */
Uint32Array.prototype.entries = function() {};

/**
 * @param {function(this:S, number, number, !Uint32Array) : *} callback
 * @param {S=} opt_thisArg
 * @return {boolean}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/every
 */
Uint32Array.prototype.every = function(callback, opt_thisArg) {};

/**
 * @param {number} value
 * @param {number=} opt_begin
 * @param {number=} opt_end
 * @return {!Uint32Array}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/fill
 */
Uint32Array.prototype.fill = function(value, opt_begin, opt_end) {};

/**
 * @param {function(this:S, number, number, !Uint32Array) : *} callback
 * @param {S=} opt_thisArg
 * @return {!Uint32Array}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/filter
 */
Uint32Array.prototype.filter = function(callback, opt_thisArg) {};

/**
 * @param {function(this:S, number, number, !Uint32Array) : *} callback
 * @param {S=} opt_thisArg
 * @return {(number|undefined)}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/find
 */
Uint32Array.prototype.find = function(callback, opt_thisArg) {};

/**
 * @param {function(this:S, number, number, !Uint32Array) : *} callback
 * @param {S=} opt_thisArg
 * @return {number}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/findIndex
 */
Uint32Array.prototype.findIndex = function(callback, opt_thisArg) {};

/**
 * @param {function(this:S, number, number, !Uint32Array) : boolean}
 *     callback
 * @param {S=} opt_thisArg
 * @return {(number|undefined)}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/findLast
 */
Uint32Array.prototype.findLast = function(callback, opt_thisArg) {};

/**
 * @param {function(this:S, number, number, !Uint32Array) : boolean}
 *     callback
 * @param {S=} opt_thisArg
 * @return {number}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/findLastIndex
 */
Uint32Array.prototype.findLastIndex = function(callback, opt_thisArg) {};

/**
 * @param {function(this:S, number, number, !Uint32Array) : ?} callback
 * @param {S=} opt_thisArg
 * @return {undefined}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/forEach
 */
Uint32Array.prototype.forEach = function(callback, opt_thisArg) {};

/**
 * NOTE: this is an ES2016 (ES7) extern.
 * @param {number} searchElement
 * @param {number=} opt_fromIndex
 * @return {boolean}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/includes
 */
Uint32Array.prototype.includes = function(searchElement, opt_fromIndex) {};

/**
 * @param {number} searchElement
 * @param {number=} opt_fromIndex
 * @return {number}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/indexOf
 */
Uint32Array.prototype.indexOf = function(searchElement, opt_fromIndex) {};

/**
 * @param {string=} opt_separator
 * @return {string}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/join
 */
Uint32Array.prototype.join = function(opt_separator) {};

/**
 * @return {!IteratorIterable<number>}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/keys
 */
Uint32Array.prototype.keys = function() {};

/**
 * @param {number} searchElement
 * @param {number=} opt_fromIndex
 * @return {number}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/lastIndexOf
 */
Uint32Array.prototype.lastIndexOf = function(searchElement, opt_fromIndex) {};

/** @type {number} */
Uint32Array.prototype.length;

/**
 * @param {function(this:S, number, number, !Uint32Array) : number}
 *     callback
 * @param {S=} opt_thisArg
 * @return {!Uint32Array}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/map
 */
Uint32Array.prototype.map = function(callback, opt_thisArg) {};

/**
 * @param {function((number|INIT|RET), number, number, !Uint32Array) :
 *     RET} callback
 * @param {INIT=} opt_initialValue
 * @return {RET}
 * @template INIT,RET
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reduce
 */
Uint32Array.prototype.reduce = function(callback, opt_initialValue) {};

/**
 * @param {function((number|INIT|RET), number, number, !Uint32Array) :
 *     RET} callback
 * @param {INIT=} opt_initialValue
 * @return {RET}
 * @template INIT,RET
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reduceRight
 */
Uint32Array.prototype.reduceRight = function(callback, opt_initialValue) {};

/**
 * @return {!Uint32Array}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reverse
 */
Uint32Array.prototype.reverse = function() {};

/**
 * @param {!ArrayBufferView|!Array<number>} array
 * @param {number=} opt_offset
 * @return {undefined}
 * @throws {!RangeError}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/set
 */
Uint32Array.prototype.set = function(array, opt_offset) {};

/**
 * @param {number=} opt_begin
 * @param {number=} opt_end
 * @return {!Uint32Array}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/slice
 */
Uint32Array.prototype.slice = function(opt_begin, opt_end) {};

/**
 * @param {function(this:S, number, number, !Uint32Array) : *} callback
 * @param {S=} opt_thisArg
 * @return {boolean}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/some
 */
Uint32Array.prototype.some = function(callback, opt_thisArg) {};

/**
 * @param {(function(number, number) : number)=} opt_compareFunction
 * @return {!Uint32Array}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/sort
 */
Uint32Array.prototype.sort = function(opt_compareFunction) {};

/**
 * @param {number} begin
 * @param {number=} opt_end
 * @return {!Uint32Array}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/subarray
 */
Uint32Array.prototype.subarray = function(begin, opt_end) {};

/**
 * @return {!IteratorIterable<number>}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/values
 */
Uint32Array.prototype.values = function() {};

/**
 * NOTE: this is an ES2023 extern.
 * @return {!Uint32Array}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toReversed
 */
Uint32Array.prototype.toReversed = function() {};

/**
 * NOTE: this is an ES2023 extern.
 * @param {function(number, number): number=} compareFn
 * @return {!Uint32Array}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toSorted
 */
Uint32Array.prototype.toSorted = function(compareFn) {};

/**
 * NOTE: this is an ES2023 extern.
 * @param {number} index
 * @param {number} value
 * @return {!Uint32Array}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/with
 */
Uint32Array.prototype.with = function(index, value) {};

/**
 * @return {string}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toLocaleString
 * @override
 */
Uint32Array.prototype.toLocaleString = function() {};

/**
 * @return {string}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toString
 * @override
 */
Uint32Array.prototype.toString = function() {};

/** @override */
Uint32Array.prototype[Symbol.iterator] = function() {};

/**
 * @param {number|!ArrayBufferView|!Array<number>|!ArrayBuffer|!SharedArrayBuffer|null}
 *     lengthOrArrayOrBuffer
 *     NOTE: We require that at least this first argument be present even though
 *         the ECMAScript spec allows it to be absent, because this is better
 *         for readability and detection of programmer errors. We accept a null
 *         value for backwards compatibility with existing externs.
 * @param {number=} opt_byteOffset
 * @param {number=} opt_length
 * @template TArrayBuffer (unused)
 * @constructor
 * @implements {IArrayLike<number>}
 * @implements {Iterable<number>}
 * @extends {ArrayBufferView}
 * @throws {Error}
 * @modifies {arguments} If the user passes a backing array, then indexed
 *     accesses will modify the backing array. JSCompiler does not model
 *     this well. In other words, if you have:
 *     <code>
 *     var x = new ArrayBuffer(1);
 *     var y = new Float16Array(x);
 *     y[0] = 2;
 *     </code>
 *     JSCompiler will not recognize that the last assignment modifies x.
 *     We workaround this by marking all these arrays as @modifies {arguments},
 *     to introduce the possibility that x aliases y.
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float16Array
 */
function Float16Array(lengthOrArrayOrBuffer, opt_byteOffset, opt_length) {}

/** @const {number} */
Float16Array.BYTES_PER_ELEMENT;

/** @const {number} */
Float16Array.prototype.BYTES_PER_ELEMENT;

/**
 * @param {string|!IArrayLike<number>|!Iterable<number>} source
 * @param {function(this:S, ?, number): number=} mapFn
 * @param {S=} thisArg
 * @template S
 * @return {!Float16Array}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/from
 */
Float16Array.from = function(source, mapFn, thisArg) {};

/**
 * @param {...number} var_args
 * @return {!Float16Array}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/of
 */
Float16Array.of = function(var_args) {};

/**
 * NOTE: this is an ES2022 extern.
 * @param {number} index
 * @return {(number|undefined)}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/at
 */
Float16Array.prototype.at = function(index) {};

/**
 * @param {number} target
 * @param {number} start
 * @param {number=} opt_end
 * @return {!Float16Array}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/copyWithin
 */
Float16Array.prototype.copyWithin = function(target, start, opt_end) {};

/**
 * @return {!IteratorIterable<!Array<number>>}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/entries
 */
Float16Array.prototype.entries = function() {};

/**
 * @param {function(this:S, number, number, !Float16Array) : *} callback
 * @param {S=} opt_thisArg
 * @return {boolean}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/every
 */
Float16Array.prototype.every = function(callback, opt_thisArg) {};

/**
 * @param {number} value
 * @param {number=} opt_begin
 * @param {number=} opt_end
 * @return {!Float16Array}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/fill
 */
Float16Array.prototype.fill = function(value, opt_begin, opt_end) {};

/**
 * @param {function(this:S, number, number, !Float16Array) : *} callback
 * @param {S=} opt_thisArg
 * @return {!Float16Array}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/filter
 */
Float16Array.prototype.filter = function(callback, opt_thisArg) {};

/**
 * @param {function(this:S, number, number, !Float16Array) : *} callback
 * @param {S=} opt_thisArg
 * @return {(number|undefined)}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/find
 */
Float16Array.prototype.find = function(callback, opt_thisArg) {};

/**
 * @param {function(this:S, number, number, !Float16Array) : *} callback
 * @param {S=} opt_thisArg
 * @return {number}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/findIndex
 */
Float16Array.prototype.findIndex = function(callback, opt_thisArg) {};

/**
 * @param {function(this:S, number, number, !Float16Array) : boolean}
 *     callback
 * @param {S=} opt_thisArg
 * @return {(number|undefined)}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/findLast
 */
Float16Array.prototype.findLast = function(callback, opt_thisArg) {};

/**
 * @param {function(this:S, number, number, !Float16Array) : boolean}
 *     callback
 * @param {S=} opt_thisArg
 * @return {number}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/findLastIndex
 */
Float16Array.prototype.findLastIndex = function(callback, opt_thisArg) {};

/**
 * @param {function(this:S, number, number, !Float16Array) : ?} callback
 * @param {S=} opt_thisArg
 * @return {undefined}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/forEach
 */
Float16Array.prototype.forEach = function(callback, opt_thisArg) {};

/**
 * NOTE: this is an ES2016 (ES7) extern.
 * @param {number} searchElement
 * @param {number=} opt_fromIndex
 * @return {boolean}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/includes
 */
Float16Array.prototype.includes = function(searchElement, opt_fromIndex) {};

/**
 * @param {number} searchElement
 * @param {number=} opt_fromIndex
 * @return {number}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/indexOf
 */
Float16Array.prototype.indexOf = function(searchElement, opt_fromIndex) {};

/**
 * @param {string=} opt_separator
 * @return {string}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/join
 */
Float16Array.prototype.join = function(opt_separator) {};

/**
 * @return {!IteratorIterable<number>}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/keys
 */
Float16Array.prototype.keys = function() {};

/**
 * @param {number} searchElement
 * @param {number=} opt_fromIndex
 * @return {number}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/lastIndexOf
 */
Float16Array.prototype.lastIndexOf = function(searchElement, opt_fromIndex) {};

/** @type {number} */
Float16Array.prototype.length;

/**
 * @param {function(this:S, number, number, !Float16Array) : number}
 *     callback
 * @param {S=} opt_thisArg
 * @return {!Float16Array}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/map
 */
Float16Array.prototype.map = function(callback, opt_thisArg) {};

/**
 * @param {function((number|INIT|RET), number, number, !Float16Array) :
 *     RET} callback
 * @param {INIT=} opt_initialValue
 * @return {RET}
 * @template INIT,RET
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reduce
 */
Float16Array.prototype.reduce = function(callback, opt_initialValue) {};

/**
 * @param {function((number|INIT|RET), number, number, !Float16Array) :
 *     RET} callback
 * @param {INIT=} opt_initialValue
 * @return {RET}
 * @template INIT,RET
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reduceRight
 */
Float16Array.prototype.reduceRight = function(callback, opt_initialValue) {};

/**
 * @return {!Float16Array}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reverse
 */
Float16Array.prototype.reverse = function() {};

/**
 * @param {!ArrayBufferView|!Array<number>} array
 * @param {number=} opt_offset
 * @return {undefined}
 * @throws {!RangeError}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/set
 */
Float16Array.prototype.set = function(array, opt_offset) {};

/**
 * @param {number=} opt_begin
 * @param {number=} opt_end
 * @return {!Float16Array}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/slice
 */
Float16Array.prototype.slice = function(opt_begin, opt_end) {};

/**
 * @param {function(this:S, number, number, !Float16Array) : *} callback
 * @param {S=} opt_thisArg
 * @return {boolean}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/some
 */
Float16Array.prototype.some = function(callback, opt_thisArg) {};

/**
 * @param {(function(number, number) : number)=} opt_compareFunction
 * @return {!Float16Array}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/sort
 */
Float16Array.prototype.sort = function(opt_compareFunction) {};

/**
 * @param {number} begin
 * @param {number=} opt_end
 * @return {!Float16Array}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/subarray
 */
Float16Array.prototype.subarray = function(begin, opt_end) {};

/**
 * @return {!IteratorIterable<number>}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/values
 */
Float16Array.prototype.values = function() {};

/**
 * NOTE: this is an ES2023 extern.
 * @return {!Float16Array}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toReversed
 */
Float16Array.prototype.toReversed = function() {};

/**
 * NOTE: this is an ES2023 extern.
 * @param {function(number, number): number=} compareFn
 * @return {!Float16Array}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toSorted
 */
Float16Array.prototype.toSorted = function(compareFn) {};

/**
 * NOTE: this is an ES2023 extern.
 * @param {number} index
 * @param {number} value
 * @return {!Float16Array}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/with
 */
Float16Array.prototype.with = function(index, value) {};

/**
 * @return {string}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toLocaleString
 * @override
 */
Float16Array.prototype.toLocaleString = function() {};

/**
 * @return {string}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toString
 * @override
 */
Float16Array.prototype.toString = function() {};

/** @override */
Float16Array.prototype[Symbol.iterator] = function() {};

/**
 * @param {number|!ArrayBufferView|!Array<number>|!ArrayBuffer|!SharedArrayBuffer|null}
 *     lengthOrArrayOrBuffer
 *     NOTE: We require that at least this first argument be present even though
 *         the ECMAScript spec allows it to be absent, because this is better
 *         for readability and detection of programmer errors. We accept a null
 *         value for backwards compatibility with existing externs.
 * @param {number=} opt_byteOffset
 * @param {number=} opt_length
 * @template TArrayBuffer (unused)
 * @constructor
 * @implements {IArrayLike<number>}
 * @implements {Iterable<number>}
 * @extends {ArrayBufferView}
 * @throws {Error}
 * @modifies {arguments} If the user passes a backing array, then indexed
 *     accesses will modify the backing array. JSCompiler does not model
 *     this well. In other words, if you have:
 *     <code>
 *     var x = new ArrayBuffer(1);
 *     var y = new Float32Array(x);
 *     y[0] = 2;
 *     </code>
 *     JSCompiler will not recognize that the last assignment modifies x.
 *     We workaround this by marking all these arrays as @modifies {arguments},
 *     to introduce the possibility that x aliases y.
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float32Array
 */
function Float32Array(lengthOrArrayOrBuffer, opt_byteOffset, opt_length) {}

/** @const {number} */
Float32Array.BYTES_PER_ELEMENT;

/** @const {number} */
Float32Array.prototype.BYTES_PER_ELEMENT;

/**
 * @param {string|!IArrayLike<number>|!Iterable<number>} source
 * @param {function(this:S, ?, number): number=} mapFn
 * @param {S=} thisArg
 * @template S
 * @return {!Float32Array}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/from
 */
Float32Array.from = function(source, mapFn, thisArg) {};

/**
 * @param {...number} var_args
 * @return {!Float32Array}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/of
 */
Float32Array.of = function(var_args) {};

/**
 * NOTE: this is an ES2022 extern.
 * @param {number} index
 * @return {(number|undefined)}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/at
 */
Float32Array.prototype.at = function(index) {};

/**
 * @param {number} target
 * @param {number} start
 * @param {number=} opt_end
 * @return {!Float32Array}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/copyWithin
 */
Float32Array.prototype.copyWithin = function(target, start, opt_end) {};

/**
 * @return {!IteratorIterable<!Array<number>>}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/entries
 */
Float32Array.prototype.entries = function() {};

/**
 * @param {function(this:S, number, number, !Float32Array) : *} callback
 * @param {S=} opt_thisArg
 * @return {boolean}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/every
 */
Float32Array.prototype.every = function(callback, opt_thisArg) {};

/**
 * @param {number} value
 * @param {number=} opt_begin
 * @param {number=} opt_end
 * @return {!Float32Array}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/fill
 */
Float32Array.prototype.fill = function(value, opt_begin, opt_end) {};

/**
 * @param {function(this:S, number, number, !Float32Array) : *} callback
 * @param {S=} opt_thisArg
 * @return {!Float32Array}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/filter
 */
Float32Array.prototype.filter = function(callback, opt_thisArg) {};

/**
 * @param {function(this:S, number, number, !Float32Array) : *} callback
 * @param {S=} opt_thisArg
 * @return {(number|undefined)}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/find
 */
Float32Array.prototype.find = function(callback, opt_thisArg) {};

/**
 * @param {function(this:S, number, number, !Float32Array) : *} callback
 * @param {S=} opt_thisArg
 * @return {number}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/findIndex
 */
Float32Array.prototype.findIndex = function(callback, opt_thisArg) {};

/**
 * @param {function(this:S, number, number, !Float32Array) : boolean}
 *     callback
 * @param {S=} opt_thisArg
 * @return {(number|undefined)}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/findLast
 */
Float32Array.prototype.findLast = function(callback, opt_thisArg) {};

/**
 * @param {function(this:S, number, number, !Float32Array) : boolean}
 *     callback
 * @param {S=} opt_thisArg
 * @return {number}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/findLastIndex
 */
Float32Array.prototype.findLastIndex = function(callback, opt_thisArg) {};

/**
 * @param {function(this:S, number, number, !Float32Array) : ?} callback
 * @param {S=} opt_thisArg
 * @return {undefined}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/forEach
 */
Float32Array.prototype.forEach = function(callback, opt_thisArg) {};

/**
 * NOTE: this is an ES2016 (ES7) extern.
 * @param {number} searchElement
 * @param {number=} opt_fromIndex
 * @return {boolean}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/includes
 */
Float32Array.prototype.includes = function(searchElement, opt_fromIndex) {};

/**
 * @param {number} searchElement
 * @param {number=} opt_fromIndex
 * @return {number}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/indexOf
 */
Float32Array.prototype.indexOf = function(searchElement, opt_fromIndex) {};

/**
 * @param {string=} opt_separator
 * @return {string}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/join
 */
Float32Array.prototype.join = function(opt_separator) {};

/**
 * @return {!IteratorIterable<number>}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/keys
 */
Float32Array.prototype.keys = function() {};

/**
 * @param {number} searchElement
 * @param {number=} opt_fromIndex
 * @return {number}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/lastIndexOf
 */
Float32Array.prototype.lastIndexOf = function(searchElement, opt_fromIndex) {};

/** @type {number} */
Float32Array.prototype.length;

/**
 * @param {function(this:S, number, number, !Float32Array) : number}
 *     callback
 * @param {S=} opt_thisArg
 * @return {!Float32Array}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/map
 */
Float32Array.prototype.map = function(callback, opt_thisArg) {};

/**
 * @param {function((number|INIT|RET), number, number, !Float32Array) :
 *     RET} callback
 * @param {INIT=} opt_initialValue
 * @return {RET}
 * @template INIT,RET
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reduce
 */
Float32Array.prototype.reduce = function(callback, opt_initialValue) {};

/**
 * @param {function((number|INIT|RET), number, number, !Float32Array) :
 *     RET} callback
 * @param {INIT=} opt_initialValue
 * @return {RET}
 * @template INIT,RET
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reduceRight
 */
Float32Array.prototype.reduceRight = function(callback, opt_initialValue) {};

/**
 * @return {!Float32Array}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reverse
 */
Float32Array.prototype.reverse = function() {};

/**
 * @param {!ArrayBufferView|!Array<number>} array
 * @param {number=} opt_offset
 * @return {undefined}
 * @throws {!RangeError}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/set
 */
Float32Array.prototype.set = function(array, opt_offset) {};

/**
 * @param {number=} opt_begin
 * @param {number=} opt_end
 * @return {!Float32Array}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/slice
 */
Float32Array.prototype.slice = function(opt_begin, opt_end) {};

/**
 * @param {function(this:S, number, number, !Float32Array) : *} callback
 * @param {S=} opt_thisArg
 * @return {boolean}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/some
 */
Float32Array.prototype.some = function(callback, opt_thisArg) {};

/**
 * @param {(function(number, number) : number)=} opt_compareFunction
 * @return {!Float32Array}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/sort
 */
Float32Array.prototype.sort = function(opt_compareFunction) {};

/**
 * @param {number} begin
 * @param {number=} opt_end
 * @return {!Float32Array}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/subarray
 */
Float32Array.prototype.subarray = function(begin, opt_end) {};

/**
 * @return {!IteratorIterable<number>}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/values
 */
Float32Array.prototype.values = function() {};

/**
 * NOTE: this is an ES2023 extern.
 * @return {!Float32Array}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toReversed
 */
Float32Array.prototype.toReversed = function() {};

/**
 * NOTE: this is an ES2023 extern.
 * @param {function(number, number): number=} compareFn
 * @return {!Float32Array}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toSorted
 */
Float32Array.prototype.toSorted = function(compareFn) {};

/**
 * NOTE: this is an ES2023 extern.
 * @param {number} index
 * @param {number} value
 * @return {!Float32Array}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/with
 */
Float32Array.prototype.with = function(index, value) {};

/**
 * @return {string}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toLocaleString
 * @override
 */
Float32Array.prototype.toLocaleString = function() {};

/**
 * @return {string}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toString
 * @override
 */
Float32Array.prototype.toString = function() {};

/** @override */
Float32Array.prototype[Symbol.iterator] = function() {};

/**
 * @param {number|!ArrayBufferView|!Array<number>|!ArrayBuffer|!SharedArrayBuffer|null}
 *     lengthOrArrayOrBuffer
 *     NOTE: We require that at least this first argument be present even though
 *         the ECMAScript spec allows it to be absent, because this is better
 *         for readability and detection of programmer errors. We accept a null
 *         value for backwards compatibility with existing externs.
 * @param {number=} opt_byteOffset
 * @param {number=} opt_length
 * @template TArrayBuffer (unused)
 * @constructor
 * @implements {IArrayLike<number>}
 * @implements {Iterable<number>}
 * @extends {ArrayBufferView}
 * @throws {Error}
 * @modifies {arguments} If the user passes a backing array, then indexed
 *     accesses will modify the backing array. JSCompiler does not model
 *     this well. In other words, if you have:
 *     <code>
 *     var x = new ArrayBuffer(1);
 *     var y = new Float64Array(x);
 *     y[0] = 2;
 *     </code>
 *     JSCompiler will not recognize that the last assignment modifies x.
 *     We workaround this by marking all these arrays as @modifies {arguments},
 *     to introduce the possibility that x aliases y.
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float64Array
 */
function Float64Array(lengthOrArrayOrBuffer, opt_byteOffset, opt_length) {}

/** @const {number} */
Float64Array.BYTES_PER_ELEMENT;

/** @const {number} */
Float64Array.prototype.BYTES_PER_ELEMENT;

/**
 * @param {string|!IArrayLike<number>|!Iterable<number>} source
 * @param {function(this:S, ?, number): number=} mapFn
 * @param {S=} thisArg
 * @template S
 * @return {!Float64Array}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/from
 */
Float64Array.from = function(source, mapFn, thisArg) {};

/**
 * @param {...number} var_args
 * @return {!Float64Array}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/of
 */
Float64Array.of = function(var_args) {};

/**
 * NOTE: this is an ES2022 extern.
 * @param {number} index
 * @return {(number|undefined)}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/at
 */
Float64Array.prototype.at = function(index) {};

/**
 * @param {number} target
 * @param {number} start
 * @param {number=} opt_end
 * @return {!Float64Array}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/copyWithin
 */
Float64Array.prototype.copyWithin = function(target, start, opt_end) {};

/**
 * @return {!IteratorIterable<!Array<number>>}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/entries
 */
Float64Array.prototype.entries = function() {};

/**
 * @param {function(this:S, number, number, !Float64Array) : *} callback
 * @param {S=} opt_thisArg
 * @return {boolean}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/every
 */
Float64Array.prototype.every = function(callback, opt_thisArg) {};

/**
 * @param {number} value
 * @param {number=} opt_begin
 * @param {number=} opt_end
 * @return {!Float64Array}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/fill
 */
Float64Array.prototype.fill = function(value, opt_begin, opt_end) {};

/**
 * @param {function(this:S, number, number, !Float64Array) : *} callback
 * @param {S=} opt_thisArg
 * @return {!Float64Array}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/filter
 */
Float64Array.prototype.filter = function(callback, opt_thisArg) {};

/**
 * @param {function(this:S, number, number, !Float64Array) : *} callback
 * @param {S=} opt_thisArg
 * @return {(number|undefined)}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/find
 */
Float64Array.prototype.find = function(callback, opt_thisArg) {};

/**
 * @param {function(this:S, number, number, !Float64Array) : *} callback
 * @param {S=} opt_thisArg
 * @return {number}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/findIndex
 */
Float64Array.prototype.findIndex = function(callback, opt_thisArg) {};

/**
 * @param {function(this:S, number, number, !Float64Array) : boolean}
 *     callback
 * @param {S=} opt_thisArg
 * @return {(number|undefined)}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/findLast
 */
Float64Array.prototype.findLast = function(callback, opt_thisArg) {};

/**
 * @param {function(this:S, number, number, !Float64Array) : boolean}
 *     callback
 * @param {S=} opt_thisArg
 * @return {number}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/findLastIndex
 */
Float64Array.prototype.findLastIndex = function(callback, opt_thisArg) {};

/**
 * @param {function(this:S, number, number, !Float64Array) : ?} callback
 * @param {S=} opt_thisArg
 * @return {undefined}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/forEach
 */
Float64Array.prototype.forEach = function(callback, opt_thisArg) {};

/**
 * NOTE: this is an ES2016 (ES7) extern.
 * @param {number} searchElement
 * @param {number=} opt_fromIndex
 * @return {boolean}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/includes
 */
Float64Array.prototype.includes = function(searchElement, opt_fromIndex) {};

/**
 * @param {number} searchElement
 * @param {number=} opt_fromIndex
 * @return {number}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/indexOf
 */
Float64Array.prototype.indexOf = function(searchElement, opt_fromIndex) {};

/**
 * @param {string=} opt_separator
 * @return {string}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/join
 */
Float64Array.prototype.join = function(opt_separator) {};

/**
 * @return {!IteratorIterable<number>}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/keys
 */
Float64Array.prototype.keys = function() {};

/**
 * @param {number} searchElement
 * @param {number=} opt_fromIndex
 * @return {number}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/lastIndexOf
 */
Float64Array.prototype.lastIndexOf = function(searchElement, opt_fromIndex) {};

/** @type {number} */
Float64Array.prototype.length;

/**
 * @param {function(this:S, number, number, !Float64Array) : number}
 *     callback
 * @param {S=} opt_thisArg
 * @return {!Float64Array}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/map
 */
Float64Array.prototype.map = function(callback, opt_thisArg) {};

/**
 * @param {function((number|INIT|RET), number, number, !Float64Array) :
 *     RET} callback
 * @param {INIT=} opt_initialValue
 * @return {RET}
 * @template INIT,RET
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reduce
 */
Float64Array.prototype.reduce = function(callback, opt_initialValue) {};

/**
 * @param {function((number|INIT|RET), number, number, !Float64Array) :
 *     RET} callback
 * @param {INIT=} opt_initialValue
 * @return {RET}
 * @template INIT,RET
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reduceRight
 */
Float64Array.prototype.reduceRight = function(callback, opt_initialValue) {};

/**
 * @return {!Float64Array}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reverse
 */
Float64Array.prototype.reverse = function() {};

/**
 * @param {!ArrayBufferView|!Array<number>} array
 * @param {number=} opt_offset
 * @return {undefined}
 * @throws {!RangeError}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/set
 */
Float64Array.prototype.set = function(array, opt_offset) {};

/**
 * @param {number=} opt_begin
 * @param {number=} opt_end
 * @return {!Float64Array}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/slice
 */
Float64Array.prototype.slice = function(opt_begin, opt_end) {};

/**
 * @param {function(this:S, number, number, !Float64Array) : *} callback
 * @param {S=} opt_thisArg
 * @return {boolean}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/some
 */
Float64Array.prototype.some = function(callback, opt_thisArg) {};

/**
 * @param {(function(number, number) : number)=} opt_compareFunction
 * @return {!Float64Array}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/sort
 */
Float64Array.prototype.sort = function(opt_compareFunction) {};

/**
 * @param {number} begin
 * @param {number=} opt_end
 * @return {!Float64Array}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/subarray
 */
Float64Array.prototype.subarray = function(begin, opt_end) {};

/**
 * @return {!IteratorIterable<number>}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/values
 */
Float64Array.prototype.values = function() {};

/**
 * NOTE: this is an ES2023 extern.
 * @return {!Float64Array}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toReversed
 */
Float64Array.prototype.toReversed = function() {};

/**
 * NOTE: this is an ES2023 extern.
 * @param {function(number, number): number=} compareFn
 * @return {!Float64Array}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toSorted
 */
Float64Array.prototype.toSorted = function(compareFn) {};

/**
 * NOTE: this is an ES2023 extern.
 * @param {number} index
 * @param {number} value
 * @return {!Float64Array}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/with
 */
Float64Array.prototype.with = function(index, value) {};

/**
 * @return {string}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toLocaleString
 * @override
 */
Float64Array.prototype.toLocaleString = function() {};

/**
 * @return {string}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toString
 * @override
 */
Float64Array.prototype.toString = function() {};

/** @override */
Float64Array.prototype[Symbol.iterator] = function() {};

/**
 * @param {number|!ArrayBufferView|!Array<number>|!ArrayBuffer|!SharedArrayBuffer|null}
 *     lengthOrArrayOrBuffer
 *     NOTE: We require that at least this first argument be present even though
 *         the ECMAScript spec allows it to be absent, because this is better
 *         for readability and detection of programmer errors. We accept a null
 *         value for backwards compatibility with existing externs.
 * @param {number=} opt_byteOffset
 * @param {number=} opt_length
 * @template TArrayBuffer (unused)
 * @constructor
 * @implements {IArrayLike<number>}
 * @implements {Iterable<number>}
 * @extends {ArrayBufferView}
 * @throws {Error}
 * @modifies {arguments} If the user passes a backing array, then indexed
 *     accesses will modify the backing array. JSCompiler does not model
 *     this well. In other words, if you have:
 *     <code>
 *     var x = new ArrayBuffer(1);
 *     var y = new Uint8Array(x);
 *     y[0] = 2;
 *     </code>
 *     JSCompiler will not recognize that the last assignment modifies x.
 *     We workaround this by marking all these arrays as @modifies {arguments},
 *     to introduce the possibility that x aliases y.
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array
 */
function Uint8Array(lengthOrArrayOrBuffer, opt_byteOffset, opt_length) {}

/** @const {number} */
Uint8Array.BYTES_PER_ELEMENT;

/** @const {number} */
Uint8Array.prototype.BYTES_PER_ELEMENT;

/**
 * @param {string|!IArrayLike<number>|!Iterable<number>} source
 * @param {function(this:S, ?, number): number=} mapFn
 * @param {S=} thisArg
 * @template S
 * @return {!Uint8Array}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/from
 */
Uint8Array.from = function(source, mapFn, thisArg) {};

/**
 * @param {...number} var_args
 * @return {!Uint8Array}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/of
 */
Uint8Array.of = function(var_args) {};

/**
 * NOTE: this is an ES2022 extern.
 * @param {number} index
 * @return {(number|undefined)}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/at
 */
Uint8Array.prototype.at = function(index) {};

/**
 * @param {number} target
 * @param {number} start
 * @param {number=} opt_end
 * @return {!Uint8Array}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/copyWithin
 */
Uint8Array.prototype.copyWithin = function(target, start, opt_end) {};

/**
 * @return {!IteratorIterable<!Array<number>>}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/entries
 */
Uint8Array.prototype.entries = function() {};

/**
 * @param {function(this:S, number, number, !Uint8Array) : *} callback
 * @param {S=} opt_thisArg
 * @return {boolean}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/every
 */
Uint8Array.prototype.every = function(callback, opt_thisArg) {};

/**
 * @param {number} value
 * @param {number=} opt_begin
 * @param {number=} opt_end
 * @return {!Uint8Array}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/fill
 */
Uint8Array.prototype.fill = function(value, opt_begin, opt_end) {};

/**
 * @param {function(this:S, number, number, !Uint8Array) : *} callback
 * @param {S=} opt_thisArg
 * @return {!Uint8Array}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/filter
 */
Uint8Array.prototype.filter = function(callback, opt_thisArg) {};

/**
 * @param {function(this:S, number, number, !Uint8Array) : *} callback
 * @param {S=} opt_thisArg
 * @return {(number|undefined)}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/find
 */
Uint8Array.prototype.find = function(callback, opt_thisArg) {};

/**
 * @param {function(this:S, number, number, !Uint8Array) : *} callback
 * @param {S=} opt_thisArg
 * @return {number}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/findIndex
 */
Uint8Array.prototype.findIndex = function(callback, opt_thisArg) {};

/**
 * @param {function(this:S, number, number, !Uint8Array) : boolean}
 *     callback
 * @param {S=} opt_thisArg
 * @return {(number|undefined)}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/findLast
 */
Uint8Array.prototype.findLast = function(callback, opt_thisArg) {};

/**
 * @param {function(this:S, number, number, !Uint8Array) : boolean}
 *     callback
 * @param {S=} opt_thisArg
 * @return {number}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/findLastIndex
 */
Uint8Array.prototype.findLastIndex = function(callback, opt_thisArg) {};

/**
 * @param {function(this:S, number, number, !Uint8Array) : ?} callback
 * @param {S=} opt_thisArg
 * @return {undefined}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/forEach
 */
Uint8Array.prototype.forEach = function(callback, opt_thisArg) {};

/**
 * NOTE: this is an ES2016 (ES7) extern.
 * @param {number} searchElement
 * @param {number=} opt_fromIndex
 * @return {boolean}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/includes
 */
Uint8Array.prototype.includes = function(searchElement, opt_fromIndex) {};

/**
 * @param {number} searchElement
 * @param {number=} opt_fromIndex
 * @return {number}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/indexOf
 */
Uint8Array.prototype.indexOf = function(searchElement, opt_fromIndex) {};

/**
 * @param {string=} opt_separator
 * @return {string}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/join
 */
Uint8Array.prototype.join = function(opt_separator) {};

/**
 * @return {!IteratorIterable<number>}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/keys
 */
Uint8Array.prototype.keys = function() {};

/**
 * @param {number} searchElement
 * @param {number=} opt_fromIndex
 * @return {number}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/lastIndexOf
 */
Uint8Array.prototype.lastIndexOf = function(searchElement, opt_fromIndex) {};

/** @type {number} */
Uint8Array.prototype.length;

/**
 * @param {function(this:S, number, number, !Uint8Array) : number}
 *     callback
 * @param {S=} opt_thisArg
 * @return {!Uint8Array}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/map
 */
Uint8Array.prototype.map = function(callback, opt_thisArg) {};

/**
 * @param {function((number|INIT|RET), number, number, !Uint8Array) :
 *     RET} callback
 * @param {INIT=} opt_initialValue
 * @return {RET}
 * @template INIT,RET
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reduce
 */
Uint8Array.prototype.reduce = function(callback, opt_initialValue) {};

/**
 * @param {function((number|INIT|RET), number, number, !Uint8Array) :
 *     RET} callback
 * @param {INIT=} opt_initialValue
 * @return {RET}
 * @template INIT,RET
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reduceRight
 */
Uint8Array.prototype.reduceRight = function(callback, opt_initialValue) {};

/**
 * @return {!Uint8Array}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reverse
 */
Uint8Array.prototype.reverse = function() {};

/**
 * @param {!ArrayBufferView|!Array<number>} array
 * @param {number=} opt_offset
 * @return {undefined}
 * @throws {!RangeError}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/set
 */
Uint8Array.prototype.set = function(array, opt_offset) {};

/**
 * @param {number=} opt_begin
 * @param {number=} opt_end
 * @return {!Uint8Array}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/slice
 */
Uint8Array.prototype.slice = function(opt_begin, opt_end) {};

/**
 * @param {function(this:S, number, number, !Uint8Array) : *} callback
 * @param {S=} opt_thisArg
 * @return {boolean}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/some
 */
Uint8Array.prototype.some = function(callback, opt_thisArg) {};

/**
 * @param {(function(number, number) : number)=} opt_compareFunction
 * @return {!Uint8Array}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/sort
 */
Uint8Array.prototype.sort = function(opt_compareFunction) {};

/**
 * @param {number} begin
 * @param {number=} opt_end
 * @return {!Uint8Array}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/subarray
 */
Uint8Array.prototype.subarray = function(begin, opt_end) {};

/**
 * @return {!IteratorIterable<number>}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/values
 */
Uint8Array.prototype.values = function() {};

/**
 * NOTE: this is an ES2023 extern.
 * @return {!Uint8Array}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toReversed
 */
Uint8Array.prototype.toReversed = function() {};

/**
 * NOTE: this is an ES2023 extern.
 * @param {function(number, number): number=} compareFn
 * @return {!Uint8Array}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toSorted
 */
Uint8Array.prototype.toSorted = function(compareFn) {};

/**
 * NOTE: this is an ES2023 extern.
 * @param {number} index
 * @param {number} value
 * @return {!Uint8Array}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/with
 */
Uint8Array.prototype.with = function(index, value) {};

/**
 * @return {string}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toLocaleString
 * @override
 */
Uint8Array.prototype.toLocaleString = function() {};

/**
 * @return {string}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toString
 * @override
 */
Uint8Array.prototype.toString = function() {};

/** @override */
Uint8Array.prototype[Symbol.iterator] = function() {};

// Additional methods unique to Uint8Array, that aren't on other TypedArrays.
// See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array#description.


/**
 * Options to use when decoding base64 into a Uint8Array.
 * @record
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array/fromBase64#options
 */
function Uint8ArrayBase64Options() {}

/**
 * Specifies the base64 alphabet to use. This can either be "base64", which will include the special characters `+`
 * and `/`, or "base64url", which will include the special characters `-` and `_`. If not specified, it defaults to
 * "base64".
 * @type {(undefined|string)}
 */
Uint8ArrayBase64Options.prototype.alphabet;

/**
 * Specifies how to handle the last chunk of the base64 string if it is an incomplete chunk. The value "strict" requires
 * that any incomplete chunk be padded with `=` characters and any trailing bits must be zero. The value
 * "stop-before-partial" indicates that decoding should only handle complete chunks and ignore partial chunks, allowing
 * them to be handled separately if desired (such as in future calls). The default value is "loose", which will decode
 * an incomplete chunk even if not padded by `=`.
 * @type {(undefined|string)}
 */
Uint8ArrayBase64Options.prototype.lastChunkHandling;


/**
 * Results from Uint8Array.prototype.setFromBase64.
 * @record
 */
function Uint8ArraySetFromBase64Results() {}

/**
 * The number of characters read from the base64 string. If the entire string's contents fit into the Uint8Array,
 * this will be equal to string.length. Otherwise, this will be equal to the number of 4-character chunks that
 * fit into the array.
 * @type {number}
 */
Uint8ArraySetFromBase64Results.prototype.read;

/**
 * The number of bytes written into the Uint8Array.
 * @type {number}
 */
Uint8ArraySetFromBase64Results.prototype.written;

/**
 * Options to use when invoking Uint8Array.prototype.toBase64.
 * @record
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array/toBase64#options
 */
function Uint8ArrayToBase64Options() {}

/**
 * Specifies the base64 alphabet to use. This can either be "base64", which will include the special characters `+`
 * and `/`, or "base64url", which will include the special characters `-` and `_`. If not specified, it defaults to
 * "base64".
 * @type {(undefined|string)}
 */
Uint8ArrayToBase64Options.prototype.alphabet;

/**
 * If true, the output base64 string will omit any `=` padding characters at the end. Defaults to false.
 * @type {(undefined|boolean)}
 */
Uint8ArrayToBase64Options.prototype.omitPadding;

/**
 * Results from Uint8Array.prototype.setFromHex.
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array/setFromHex#return_value
 * @interface
 * @struct
 */
function Uint8ArraySetFromHexResults() {}

/**
 * The number of hex characters read from the input string. If the decoded data fits into the
 * array, it is the length of the input string; otherwise, it is the number of complete hex
 * characters that fit into the array.
 * @type {number}
 */
Uint8ArraySetFromHexResults.prototype.read;

/**
 * The number of bytes written into the Uint8Array. Will never be greater than this Uint8Array's
 * length.
 * @type {number}
 */
Uint8ArraySetFromHexResults.prototype.written;

/**
 * Creates a new Uint8Array from a base64 encoded string.
 * @param {string} string a base64 string encoded array
 * @param {?Uint8ArrayBase64Options=} options an object specifying how to read the base64 string
 * @return {!Uint8Array} a newly created array with the specified bytes
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array/fromBase64
 */
Uint8Array.fromBase64 = function(string, options) {};

/**
 * Creates a new Uint8Array from a case-insensitive hex string with even length.
 * @param {string} string a hex string encoded array of bytes
 * @return {!Uint8Array} a newly created array with the specified bytes
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array/fromHex
 */
Uint8Array.fromHex = function(string) {};

/**
 * Sets the contents of the Uint8Array from a base64 encoded string.
 * @param {string} string a base64 string encoded array to write into this array
 * @param {?Uint8ArrayBase64Options=} options an object specifying how to read the base64 string
 * @return {!Uint8ArraySetFromBase64Results} results about the operation
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array/setFromBase64
 */
Uint8Array.prototype.setFromBase64 = function(string, options) {};

/**
 * Sets the contents of the Uint8Array from a hex encoded even length string. The string may
 * contain uppercase or lowercase hex characters.
 * @param {string} string a hex string of even length
 * @return {!Uint8ArraySetFromHexResults} results containing read and written stats
 */
Uint8Array.prototype.setFromHex = function(string) {};

/**
 * Encodes the contents of the Uint8Array into a base64 string.
 * @param {?Uint8ArrayToBase64Options=} options an object specifying how to encode the base64 string
 * @return {string} a base64 encoded string representing the contents of this array
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array/toBase64
 */
Uint8Array.prototype.toBase64 = function(options) {};

/**
 * Encodes the contents of the Uint8Array into a hex string.
 * @return {string} a hex encoded string representing the contents of this array
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array/toHex
 */
Uint8Array.prototype.toHex = function() {};

/**
 * @param {number|!ArrayBufferView|!Array<bigint>|!ArrayBuffer|!SharedArrayBuffer|null}
 *     lengthOrArrayOrBuffer
 *     NOTE: We require that at least this first argument be present even though
 *         the ECMAScript spec allows it to be absent, because this is better
 *         for readability and detection of programmer errors. We accept a null
 *         value for backwards compatibility with existing externs.
 * @param {number=} byteOffset
 * @param {number=} bufferLength
 * @template TArrayBuffer (unused)
 * @constructor
 * @implements {IArrayLike<bigint>}
 * @implements {Iterable<bigint>}
 * @extends {ArrayBufferView}
 * @throws {Error}
 * @modifies {arguments}
 */
function BigInt64Array(lengthOrArrayOrBuffer, byteOffset, bufferLength) {}

/** @const {number} */
BigInt64Array.BYTES_PER_ELEMENT;

/** @const {number} */
BigInt64Array.prototype.BYTES_PER_ELEMENT;

/**
 * @param {string|!IArrayLike<bigint>|!Iterable<bigint>} source
 * @param {function(this:S, ?, number): bigint=} mapFn
 * @param {S=} thisArg
 * @template S
 * @return {!BigInt64Array}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/from
 */
BigInt64Array.from = function(source, mapFn, thisArg) {};

/**
 * @param {...bigint} var_args
 * @return {!BigInt64Array}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/of
 */
BigInt64Array.of = function(var_args) {};

/**
 * NOTE: this is an ES2022 extern.
 * @param {number} index
 * @return {(bigint|undefined)}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/at
 */
BigInt64Array.prototype.at = function(index) {};

/**
 * @param {number} target
 * @param {number} start
 * @param {number=} opt_end
 * @return {!BigInt64Array}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/copyWithin
 */
BigInt64Array.prototype.copyWithin = function(target, start, opt_end) {};

/**
 * @return {!IteratorIterable<!Array<bigint>>}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/entries
 */
BigInt64Array.prototype.entries = function() {};

/**
 * @param {function(this:S, bigint, number, !BigInt64Array) : *} callback
 * @param {S=} opt_thisArg
 * @return {boolean}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/every
 */
BigInt64Array.prototype.every = function(callback, opt_thisArg) {};

/**
 * @param {bigint} value
 * @param {number=} opt_begin
 * @param {number=} opt_end
 * @return {!BigInt64Array}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/fill
 */
BigInt64Array.prototype.fill = function(value, opt_begin, opt_end) {};

/**
 * @param {function(this:S, bigint, number, !BigInt64Array) : *} callback
 * @param {S=} opt_thisArg
 * @return {!BigInt64Array}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/filter
 */
BigInt64Array.prototype.filter = function(callback, opt_thisArg) {};

/**
 * @param {function(this:S, bigint, number, !BigInt64Array) : *} callback
 * @param {S=} opt_thisArg
 * @return {(bigint|undefined)}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/find
 */
BigInt64Array.prototype.find = function(callback, opt_thisArg) {};

/**
 * @param {function(this:S, bigint, number, !BigInt64Array) : *} callback
 * @param {S=} opt_thisArg
 * @return {number}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/findIndex
 */
BigInt64Array.prototype.findIndex = function(callback, opt_thisArg) {};

/**
 * @param {function(this:S, bigint, number, !BigInt64Array) : boolean}
 *     callback
 * @param {S=} opt_thisArg
 * @return {(bigint|undefined)}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/findLast
 */
BigInt64Array.prototype.findLast = function(callback, opt_thisArg) {};

/**
 * @param {function(this:S, bigint, number, !BigInt64Array) : boolean}
 *     callback
 * @param {S=} opt_thisArg
 * @return {number}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/findLastIndex
 */
BigInt64Array.prototype.findLastIndex = function(callback, opt_thisArg) {};

/**
 * @param {function(this:S, bigint, number, !BigInt64Array) : ?} callback
 * @param {S=} opt_thisArg
 * @return {undefined}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/forEach
 */
BigInt64Array.prototype.forEach = function(callback, opt_thisArg) {};

/**
 * NOTE: this is an ES2016 (ES7) extern.
 * @param {bigint} searchElement
 * @param {number=} opt_fromIndex
 * @return {boolean}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/includes
 */
BigInt64Array.prototype.includes = function(searchElement, opt_fromIndex) {};

/**
 * @param {bigint} searchElement
 * @param {number=} opt_fromIndex
 * @return {number}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/indexOf
 */
BigInt64Array.prototype.indexOf = function(searchElement, opt_fromIndex) {};

/**
 * @param {string=} opt_separator
 * @return {string}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/join
 */
BigInt64Array.prototype.join = function(opt_separator) {};

/**
 * @return {!IteratorIterable<bigint>}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/keys
 */
BigInt64Array.prototype.keys = function() {};

/**
 * @param {bigint} searchElement
 * @param {number=} opt_fromIndex
 * @return {number}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/lastIndexOf
 */
BigInt64Array.prototype.lastIndexOf = function(
    searchElement, opt_fromIndex) {};

/** @type {number} */
BigInt64Array.prototype.length;

/**
 * @param {function(this:S, bigint, number, !BigInt64Array) : bigint}
 *     callback
 * @param {S=} opt_thisArg
 * @return {!BigInt64Array}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/map
 */
BigInt64Array.prototype.map = function(callback, opt_thisArg) {};

/**
 * @param {function((bigint|INIT|RET), bigint, number, !BigInt64Array) : RET}
 *     callback
 * @param {INIT=} opt_initialValue
 * @return {RET}
 * @template INIT,RET
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reduce
 */
BigInt64Array.prototype.reduce = function(callback, opt_initialValue) {};

/**
 * @param {function((bigint|INIT|RET), bigint, number, !BigInt64Array) : RET}
 *     callback
 * @param {INIT=} opt_initialValue
 * @return {RET}
 * @template INIT,RET
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reduceRight
 */
BigInt64Array.prototype.reduceRight = function(callback, opt_initialValue) {};

/**
 * @return {!BigInt64Array}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reverse
 */
BigInt64Array.prototype.reverse = function() {};

/**
 * @param {!ArrayBufferView|!Array<bigint>} array
 * @param {number=} opt_offset
 * @return {undefined}
 * @throws {!RangeError}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/set
 */
BigInt64Array.prototype.set = function(array, opt_offset) {};

/**
 * @param {number=} opt_begin
 * @param {number=} opt_end
 * @return {!BigInt64Array}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/slice
 */
BigInt64Array.prototype.slice = function(opt_begin, opt_end) {};

/**
 * @param {function(this:S, bigint, number, !BigInt64Array) : *} callback
 * @param {S=} opt_thisArg
 * @return {boolean}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/some
 */
BigInt64Array.prototype.some = function(callback, opt_thisArg) {};

/**
 * @param {(function(bigint, bigint) : number)=} opt_compareFunction
 * @return {!BigInt64Array}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/sort
 */
BigInt64Array.prototype.sort = function(opt_compareFunction) {};

/**
 * @param {number} begin
 * @param {number=} opt_end
 * @return {!BigInt64Array}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/subarray
 */
BigInt64Array.prototype.subarray = function(begin, opt_end) {};

/**
 * @return {!IteratorIterable<bigint>}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/values
 */
BigInt64Array.prototype.values = function() {};

/**
 * NOTE: this is an ES2023 extern.
 * @return {!BigInt64Array}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toReversed
 */
BigInt64Array.prototype.toReversed = function() {};

/**
 * NOTE: this is an ES2023 extern.
 * @param {function(bigint, bigint): number=} compareFn
 * @return {!BigInt64Array}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toSorted
 */
BigInt64Array.prototype.toSorted = function(compareFn) {};

/**
 * NOTE: this is an ES2023 extern.
 * @param {number} index
 * @param {bigint} value
 * @return {!BigInt64Array}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/with
 */
BigInt64Array.prototype.with = function(index, value) {};

/**
 * @return {string}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toLocaleString
 * @override
 */
BigInt64Array.prototype.toLocaleString = function() {};

/**
 * @return {string}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toString
 * @override
 */
BigInt64Array.prototype.toString = function() {};

/** @override */
BigInt64Array.prototype[Symbol.iterator] = function() {};

/**
 * @param {number|!ArrayBufferView|!Array<bigint>|!ArrayBuffer|!SharedArrayBuffer|null}
 *     lengthOrArrayOrBuffer
 *     NOTE: We require that at least this first argument be present even though
 *         the ECMAScript spec allows it to be absent, because this is better
 *         for readability and detection of programmer errors. We accept a null
 *         value for backwards compatibility with existing externs.
 * @param {number=} byteOffset
 * @param {number=} bufferLength
 * @template TArrayBuffer (unused)
 * @constructor
 * @implements {IArrayLike<bigint>}
 * @implements {Iterable<bigint>}
 * @extends {ArrayBufferView}
 * @throws {Error}
 * @modifies {arguments}
 */
function BigUint64Array(lengthOrArrayOrBuffer, byteOffset, bufferLength) {}

/** @const {number} */
BigUint64Array.BYTES_PER_ELEMENT;

/** @const {number} */
BigUint64Array.prototype.BYTES_PER_ELEMENT;

/**
 * @param {string|!IArrayLike<bigint>|!Iterable<bigint>} source
 * @param {function(this:S, ?, number): bigint=} mapFn
 * @param {S=} thisArg
 * @template S
 * @return {!BigUint64Array}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/from
 */
BigUint64Array.from = function(source, mapFn, thisArg) {};

/**
 * @param {...bigint} var_args
 * @return {!BigUint64Array}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/of
 */
BigUint64Array.of = function(var_args) {};

/**
 * NOTE: this is an ES2022 extern.
 * @param {number} index
 * @return {(bigint|undefined)}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/at
 */
BigUint64Array.prototype.at = function(index) {};

/**
 * @param {number} target
 * @param {number} start
 * @param {number=} opt_end
 * @return {!BigUint64Array}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/copyWithin
 */
BigUint64Array.prototype.copyWithin = function(target, start, opt_end) {};

/**
 * @return {!IteratorIterable<!Array<bigint>>}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/entries
 */
BigUint64Array.prototype.entries = function() {};

/**
 * @param {function(this:S, bigint, number, !BigUint64Array) : *} callback
 * @param {S=} opt_thisArg
 * @return {boolean}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/every
 */
BigUint64Array.prototype.every = function(callback, opt_thisArg) {};

/**
 * @param {bigint} value
 * @param {number=} opt_begin
 * @param {number=} opt_end
 * @return {!BigUint64Array}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/fill
 */
BigUint64Array.prototype.fill = function(value, opt_begin, opt_end) {};

/**
 * @param {function(this:S, bigint, number, !BigUint64Array) : *} callback
 * @param {S=} opt_thisArg
 * @return {!BigUint64Array}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/filter
 */
BigUint64Array.prototype.filter = function(callback, opt_thisArg) {};

/**
 * @param {function(this:S, bigint, number, !BigUint64Array) : *} callback
 * @param {S=} opt_thisArg
 * @return {(bigint|undefined)}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/find
 */
BigUint64Array.prototype.find = function(callback, opt_thisArg) {};

/**
 * @param {function(this:S, bigint, number, !BigUint64Array) : *} callback
 * @param {S=} opt_thisArg
 * @return {number}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/findIndex
 */
BigUint64Array.prototype.findIndex = function(callback, opt_thisArg) {};

/**
 * @param {function(this:S, bigint, number, !BigUint64Array) : boolean}
 *     callback
 * @param {S=} opt_thisArg
 * @return {(bigint|undefined)}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/findLast
 */
BigUint64Array.prototype.findLast = function(callback, opt_thisArg) {};

/**
 * @param {function(this:S, bigint, number, !BigUint64Array) : boolean}
 *     callback
 * @param {S=} opt_thisArg
 * @return {number}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/findLastIndex
 */
BigUint64Array.prototype.findLastIndex = function(callback, opt_thisArg) {};

/**
 * @param {function(this:S, bigint, number, !BigUint64Array) : ?} callback
 * @param {S=} opt_thisArg
 * @return {undefined}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/forEach
 */
BigUint64Array.prototype.forEach = function(callback, opt_thisArg) {};

/**
 * NOTE: this is an ES2016 (ES7) extern.
 * @param {bigint} searchElement
 * @param {number=} opt_fromIndex
 * @return {boolean}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/includes
 */
BigUint64Array.prototype.includes = function(searchElement, opt_fromIndex) {};

/**
 * @param {bigint} searchElement
 * @param {number=} opt_fromIndex
 * @return {number}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/indexOf
 */
BigUint64Array.prototype.indexOf = function(searchElement, opt_fromIndex) {};

/**
 * @param {string=} opt_separator
 * @return {string}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/join
 */
BigUint64Array.prototype.join = function(opt_separator) {};

/**
 * @return {!IteratorIterable<bigint>}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/keys
 */
BigUint64Array.prototype.keys = function() {};

/**
 * @param {bigint} searchElement
 * @param {number=} opt_fromIndex
 * @return {number}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/lastIndexOf
 */
BigUint64Array.prototype.lastIndexOf = function(
    searchElement, opt_fromIndex) {};

/** @type {number} */
BigUint64Array.prototype.length;

/**
 * @param {function(this:S, bigint, number, !BigUint64Array) : bigint}
 *     callback
 * @param {S=} opt_thisArg
 * @return {!BigUint64Array}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/map
 */
BigUint64Array.prototype.map = function(callback, opt_thisArg) {};

/**
 * @param {function((bigint|INIT|RET), bigint, number, !BigUint64Array) : RET}
 *     callback
 * @param {INIT=} opt_initialValue
 * @return {RET}
 * @template INIT,RET
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reduce
 */
BigUint64Array.prototype.reduce = function(callback, opt_initialValue) {};

/**
 * @param {function((bigint|INIT|RET), bigint, number, !BigUint64Array) : RET}
 *     callback
 * @param {INIT=} opt_initialValue
 * @return {RET}
 * @template INIT,RET
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reduceRight
 */
BigUint64Array.prototype.reduceRight = function(callback, opt_initialValue) {};

/**
 * @return {!BigUint64Array}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reverse
 */
BigUint64Array.prototype.reverse = function() {};

/**
 * @param {!ArrayBufferView|!Array<bigint>} array
 * @param {number=} opt_offset
 * @return {undefined}
 * @throws {!RangeError}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/set
 */
BigUint64Array.prototype.set = function(array, opt_offset) {};

/**
 * @param {number=} opt_begin
 * @param {number=} opt_end
 * @return {!BigUint64Array}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/slice
 */
BigUint64Array.prototype.slice = function(opt_begin, opt_end) {};

/**
 * @param {function(this:S, bigint, number, !BigUint64Array) : *} callback
 * @param {S=} opt_thisArg
 * @return {boolean}
 * @template S
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/some
 */
BigUint64Array.prototype.some = function(callback, opt_thisArg) {};

/**
 * @param {(function(bigint, bigint) : number)=} opt_compareFunction
 * @return {!BigUint64Array}
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/sort
 */
BigUint64Array.prototype.sort = function(opt_compareFunction) {};

/**
 * @param {number} begin
 * @param {number=} opt_end
 * @return {!BigUint64Array}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/subarray
 */
BigUint64Array.prototype.subarray = function(begin, opt_end) {};

/**
 * @return {!IteratorIterable<bigint>}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/values
 */
BigUint64Array.prototype.values = function() {};

/**
 * NOTE: this is an ES2023 extern.
 * @return {!BigUint64Array}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toReversed
 */
BigUint64Array.prototype.toReversed = function() {};

/**
 * NOTE: this is an ES2023 extern.
 * @param {function(bigint, bigint): number=} compareFn
 * @return {!BigUint64Array}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toSorted
 */
BigUint64Array.prototype.toSorted = function(compareFn) {};

/**
 * NOTE: this is an ES2023 extern.
 * @param {number} index
 * @param {bigint} value
 * @return {!BigUint64Array}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/with
 */
BigUint64Array.prototype.with = function(index, value) {};

/**
 * @return {string}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toLocaleString
 * @override
 */
BigUint64Array.prototype.toLocaleString = function() {};

/**
 * @return {string}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toString
 * @override
 */
BigUint64Array.prototype.toString = function() {};

/** @override */
BigUint64Array.prototype[Symbol.iterator] = function() {};