'use strict'; var ts = require('./typescript'); var minimatch = require('minimatch'); var path$1 = require('path-browserify'); var fastGlob = require('fast-glob'); var fs$1 = require('node:fs'); var fsp = require('node:fs/promises'); var os = require('node:os'); var path$2 = require('node:path'); function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; } function _interopNamespaceCompat(e) { if (e && typeof e === 'object' && 'default' in e) return e; var n = Object.create(null); if (e) { Object.keys(e).forEach(function (k) { if (k !== 'default') { var d = Object.getOwnPropertyDescriptor(e, k); Object.defineProperty(n, k, d.get ? d : { enumerable: true, get: function () { return e[k]; } }); } }); } n.default = e; return Object.freeze(n); } var ts__namespace = /*#__PURE__*/_interopNamespaceCompat(ts); var minimatch__namespace = /*#__PURE__*/_interopNamespaceCompat(minimatch); var path__default = /*#__PURE__*/_interopDefaultCompat(path$1); var fastGlob__default = /*#__PURE__*/_interopDefaultCompat(fastGlob); var fs__namespace = /*#__PURE__*/_interopNamespaceCompat(fs$1); var fsp__namespace = /*#__PURE__*/_interopNamespaceCompat(fsp); var os__namespace = /*#__PURE__*/_interopNamespaceCompat(os); var path__namespace = /*#__PURE__*/_interopNamespaceCompat(path$2); class KeyValueCache { #cacheItems = new Map(); getSize() { return this.#cacheItems.size; } getValues() { return this.#cacheItems.values(); } getValuesAsArray() { return Array.from(this.getValues()); } getKeys() { return this.#cacheItems.keys(); } getEntries() { return this.#cacheItems.entries(); } getOrCreate(key, createFunc) { let item = this.get(key); if (item == null) { item = createFunc(); this.set(key, item); } return item; } has(key) { return this.#cacheItems.has(key); } get(key) { return this.#cacheItems.get(key); } set(key, value) { this.#cacheItems.set(key, value); } replaceKey(key, newKey) { if (!this.#cacheItems.has(key)) throw new Error("Key not found."); const value = this.#cacheItems.get(key); this.#cacheItems.delete(key); this.#cacheItems.set(newKey, value); } removeByKey(key) { this.#cacheItems.delete(key); } clear() { this.#cacheItems.clear(); } } class ComparerToStoredComparer { #comparer; #storedValue; constructor(comparer, storedValue) { this.#comparer = comparer; this.#storedValue = storedValue; } compareTo(value) { return this.#comparer.compareTo(this.#storedValue, value); } } class LocaleStringComparer { static instance = new LocaleStringComparer(); compareTo(a, b) { const comparisonResult = a.localeCompare(b, "en-us-u-kf-upper"); if (comparisonResult < 0) return -1; else if (comparisonResult === 0) return 0; return 1; } } class PropertyComparer { #comparer; #getProperty; constructor(getProperty, comparer) { this.#getProperty = getProperty; this.#comparer = comparer; } compareTo(a, b) { return this.#comparer.compareTo(this.#getProperty(a), this.#getProperty(b)); } } class PropertyStoredComparer { #comparer; #getProperty; constructor(getProperty, comparer) { this.#getProperty = getProperty; this.#comparer = comparer; } compareTo(value) { return this.#comparer.compareTo(this.#getProperty(value)); } } class ArrayUtils { constructor() { } static isReadonlyArray(a) { return a instanceof Array; } static isNullOrEmpty(a) { return !(a instanceof Array) || a.length === 0; } static getUniqueItems(a) { return a.filter((item, index) => a.indexOf(item) === index); } static removeFirst(a, item) { const index = a.indexOf(item); if (index === -1) return false; a.splice(index, 1); return true; } static removeAll(a, isMatch) { const removedItems = []; for (let i = a.length - 1; i >= 0; i--) { if (isMatch(a[i])) { removedItems.push(a[i]); a.splice(i, 1); } } return removedItems; } static *toIterator(items) { for (const item of items) yield item; } static sortByProperty(items, getProp) { items.sort((a, b) => getProp(a) <= getProp(b) ? -1 : 1); return items; } static groupBy(items, getGroup) { const result = []; const groups = {}; for (const item of items) { const group = getGroup(item).toString(); if (groups[group] == null) { groups[group] = []; result.push(groups[group]); } groups[group].push(item); } return result; } static binaryInsertWithOverwrite(items, newItem, comparer) { let top = items.length - 1; let bottom = 0; while (bottom <= top) { const mid = Math.floor((top + bottom) / 2); if (comparer.compareTo(newItem, items[mid]) < 0) top = mid - 1; else bottom = mid + 1; } if (items[top] != null && comparer.compareTo(newItem, items[top]) === 0) items[top] = newItem; else items.splice(top + 1, 0, newItem); } static binarySearch(items, storedComparer) { let top = items.length - 1; let bottom = 0; while (bottom <= top) { const mid = Math.floor((top + bottom) / 2); const comparisonResult = storedComparer.compareTo(items[mid]); if (comparisonResult === 0) return mid; else if (comparisonResult < 0) top = mid - 1; else bottom = mid + 1; } return -1; } static containsSubArray(items, subArray) { let findIndex = 0; for (const item of items) { if (subArray[findIndex] === item) { findIndex++; if (findIndex === subArray.length) return true; } else { findIndex = 0; } } return false; } } function deepClone(objToClone) { return clone(objToClone); function clone(obj) { const newObj = Object.create(obj.constructor.prototype); for (const propName of Object.keys(obj)) newObj[propName] = cloneItem(obj[propName]); return newObj; } function cloneArray(array) { return array.map(cloneItem); } function cloneItem(item) { if (item instanceof Array) return cloneArray(item); else if (typeof item === "object") return item === null ? item : clone(item); return item; } } class EventContainer { #subscriptions = []; subscribe(subscription) { const index = this.#getIndex(subscription); if (index === -1) this.#subscriptions.push(subscription); } unsubscribe(subscription) { const index = this.#getIndex(subscription); if (index >= 0) this.#subscriptions.splice(index, 1); } fire(arg) { for (const subscription of this.#subscriptions) subscription(arg); } #getIndex(subscription) { return this.#subscriptions.indexOf(subscription); } } class IterableUtils { static find(items, condition) { for (const item of items) { if (condition(item)) return item; } return undefined; } } function nameof(key1, key2) { return key2 ?? key1; } class ObjectUtils { constructor() { } static clone(obj) { if (obj == null) return undefined; if (obj instanceof Array) return cloneArray(obj); return Object.assign({}, obj); function cloneArray(a) { return a.map(item => ObjectUtils.clone(item)); } } } function matchFiles(path, extensions, excludes, includes, useCaseSensitiveFileNames, currentDirectory, depth, getEntries, realpath, directoryExists) { return ts__namespace.matchFiles.apply(this, arguments); } function getFileMatcherPatterns(path, excludes, includes, useCaseSensitiveFileNames, currentDirectory) { return ts__namespace.getFileMatcherPatterns.apply(this, arguments); } function getEmitModuleResolutionKind(compilerOptions) { return ts__namespace.getEmitModuleResolutionKind.apply(this, arguments); } function getSyntaxKindName(kind) { return getKindCache()[kind]; } let kindCache = undefined; function getKindCache() { if (kindCache != null) return kindCache; kindCache = {}; for (const name of Object.keys(ts__namespace.SyntaxKind).filter(k => isNaN(parseInt(k, 10)))) { const value = ts__namespace.SyntaxKind[name]; if (kindCache[value] == null) kindCache[value] = name; } return kindCache; } exports.errors = void 0; (function (errors) { class BaseError extends Error { constructor(message, node) { const nodeLocation = node && getPrettyNodeLocation(node); const messageWithLocation = nodeLocation ? `${message}\n\n${nodeLocation}` : message; super(messageWithLocation); this.message = messageWithLocation; } } errors.BaseError = BaseError; class ArgumentError extends BaseError { constructor(argName, message, node) { super(`Argument Error (${argName}): ${message}`, node); } } errors.ArgumentError = ArgumentError; class ArgumentNullOrWhitespaceError extends ArgumentError { constructor(argName, node) { super(argName, "Cannot be null or whitespace.", node); } } errors.ArgumentNullOrWhitespaceError = ArgumentNullOrWhitespaceError; class ArgumentOutOfRangeError extends ArgumentError { constructor(argName, value, range, node) { super(argName, `Range is ${range[0]} to ${range[1]}, but ${value} was provided.`, node); } } errors.ArgumentOutOfRangeError = ArgumentOutOfRangeError; class ArgumentTypeError extends ArgumentError { constructor(argName, expectedType, actualType, node) { super(argName, `Expected type '${expectedType}', but was '${actualType}'.`, node); } } errors.ArgumentTypeError = ArgumentTypeError; class PathNotFoundError extends BaseError { path; constructor(path, prefix = "Path") { super(`${prefix} not found: ${path}`); this.path = path; } code = "ENOENT"; } errors.PathNotFoundError = PathNotFoundError; class DirectoryNotFoundError extends PathNotFoundError { constructor(dirPath) { super(dirPath, "Directory"); } } errors.DirectoryNotFoundError = DirectoryNotFoundError; class FileNotFoundError extends PathNotFoundError { constructor(filePath) { super(filePath, "File"); } } errors.FileNotFoundError = FileNotFoundError; class InvalidOperationError extends BaseError { constructor(message, node) { super(message, node); } } errors.InvalidOperationError = InvalidOperationError; class NotImplementedError extends BaseError { constructor(message = "Not implemented.", node) { super(message, node); } } errors.NotImplementedError = NotImplementedError; class NotSupportedError extends BaseError { constructor(message) { super(message); } } errors.NotSupportedError = NotSupportedError; function throwIfNotType(value, expectedType, argName) { if (typeof value !== expectedType) throw new ArgumentTypeError(argName, expectedType, typeof value); } errors.throwIfNotType = throwIfNotType; function throwIfNotString(value, argName) { if (typeof value !== "string") throw new ArgumentTypeError(argName, "string", typeof value); } errors.throwIfNotString = throwIfNotString; function throwIfWhitespaceOrNotString(value, argName) { throwIfNotString(value, argName); if (value.trim().length === 0) throw new ArgumentNullOrWhitespaceError(argName); } errors.throwIfWhitespaceOrNotString = throwIfWhitespaceOrNotString; function throwIfOutOfRange(value, range, argName) { if (value < range[0] || value > range[1]) throw new ArgumentOutOfRangeError(argName, value, range); } errors.throwIfOutOfRange = throwIfOutOfRange; function throwIfRangeOutOfRange(actualRange, range, argName) { if (actualRange[0] > actualRange[1]) throw new ArgumentError(argName, `The start of a range must not be greater than the end: [${actualRange[0]}, ${actualRange[1]}]`); throwIfOutOfRange(actualRange[0], range, argName); throwIfOutOfRange(actualRange[1], range, argName); } errors.throwIfRangeOutOfRange = throwIfRangeOutOfRange; function throwNotImplementedForSyntaxKindError(kind, node) { throw new NotImplementedError(`Not implemented feature for syntax kind '${getSyntaxKindName(kind)}'.`, node); } errors.throwNotImplementedForSyntaxKindError = throwNotImplementedForSyntaxKindError; function throwIfNegative(value, argName) { if (value < 0) throw new ArgumentError(argName, "Expected a non-negative value."); } errors.throwIfNegative = throwIfNegative; function throwIfNullOrUndefined(value, errorMessage, node) { if (value == null) throw new InvalidOperationError(typeof errorMessage === "string" ? errorMessage : errorMessage(), node); return value; } errors.throwIfNullOrUndefined = throwIfNullOrUndefined; function throwNotImplementedForNeverValueError(value, sourceNode) { const node = value; if (node != null && typeof node.kind === "number") return throwNotImplementedForSyntaxKindError(node.kind, sourceNode); throw new NotImplementedError(`Not implemented value: ${JSON.stringify(value)}`, sourceNode); } errors.throwNotImplementedForNeverValueError = throwNotImplementedForNeverValueError; function throwIfNotEqual(actual, expected, description) { if (actual !== expected) throw new InvalidOperationError(`Expected ${actual} to equal ${expected}. ${description}`); } errors.throwIfNotEqual = throwIfNotEqual; function throwIfTrue(value, errorMessage) { if (value === true) throw new InvalidOperationError(errorMessage); } errors.throwIfTrue = throwIfTrue; })(exports.errors || (exports.errors = {})); function getPrettyNodeLocation(node) { const source = getSourceLocation(node); if (!source) return undefined; return `${source.filePath}:${source.loc.line}:${source.loc.character}\n` + `> ${source.loc.line} | ${source.lineText}`; } function getSourceLocation(node) { if (!isNode(node)) return; const sourceFile = node.getSourceFile(); const sourceCode = sourceFile.getFullText(); const start = node.getStart(); const lineStart = sourceCode.lastIndexOf("\n", start) + 1; const nextNewLinePos = sourceCode.indexOf("\n", start); const lineEnd = nextNewLinePos === -1 ? sourceCode.length : nextNewLinePos; const textStart = (start - lineStart > 40) ? start - 37 : lineStart; const textEnd = (lineEnd - textStart > 80) ? textStart + 77 : lineEnd; let lineText = ""; if (textStart !== lineStart) lineText += "..."; lineText += sourceCode.substring(textStart, textEnd); if (textEnd !== lineEnd) lineText += "..."; return { filePath: sourceFile.getFilePath(), loc: { line: StringUtils.getLineNumberAtPos(sourceCode, start), character: start - lineStart + 1, }, lineText, }; } function isNode(node) { return typeof node === "object" && node !== null && ("getSourceFile" in node) && ("getStart" in node); } const CharCodes = { NEWLINE: "\n".charCodeAt(0), CARRIAGE_RETURN: "\r".charCodeAt(0), SPACE: " ".charCodeAt(0), TAB: "\t".charCodeAt(0)}; const regExWhitespaceSet = new Set([" ", "\f", "\n", "\r", "\t", "\v", "\u00A0", "\u2028", "\u2029"].map(c => c.charCodeAt(0))); class StringUtils { constructor() { } static isWhitespaceCharCode(charCode) { return regExWhitespaceSet.has(charCode); } static isSpaces(text) { if (text == null || text.length === 0) return false; for (let i = 0; i < text.length; i++) { if (text.charCodeAt(i) !== CharCodes.SPACE) return false; } return true; } static hasBom(text) { return text.charCodeAt(0) === 0xFEFF; } static stripBom(text) { if (StringUtils.hasBom(text)) return text.slice(1); return text; } static stripQuotes(text) { if (StringUtils.isQuoted(text)) return text.substring(1, text.length - 1); return text; } static isQuoted(text) { return text.startsWith("'") && text.endsWith("'") || text.startsWith("\"") && text.endsWith("\""); } static isNullOrWhitespace(str) { return typeof str !== "string" || StringUtils.isWhitespace(str); } static isNullOrEmpty(str) { return typeof str !== "string" || str.length === 0; } static isWhitespace(text) { if (text == null) return true; for (let i = 0; i < text.length; i++) { if (!StringUtils.isWhitespaceCharCode(text.charCodeAt(i))) return false; } return true; } static startsWithNewLine(str) { if (str == null) return false; return str.charCodeAt(0) === CharCodes.NEWLINE || str.charCodeAt(0) === CharCodes.CARRIAGE_RETURN && str.charCodeAt(1) === CharCodes.NEWLINE; } static endsWithNewLine(str) { if (str == null) return false; return str.charCodeAt(str.length - 1) === CharCodes.NEWLINE; } static insertAtLastNonWhitespace(str, insertText) { let i = str.length; while (i > 0 && StringUtils.isWhitespaceCharCode(str.charCodeAt(i - 1))) i--; return str.substring(0, i) + insertText + str.substring(i); } static getLineNumberAtPos(str, pos) { exports.errors.throwIfOutOfRange(pos, [0, str.length], "pos"); let count = 0; for (let i = 0; i < pos; i++) { if (str.charCodeAt(i) === CharCodes.NEWLINE) count++; } return count + 1; } static getLengthFromLineStartAtPos(str, pos) { exports.errors.throwIfOutOfRange(pos, [0, str.length], "pos"); return pos - StringUtils.getLineStartFromPos(str, pos); } static getLineStartFromPos(str, pos) { exports.errors.throwIfOutOfRange(pos, [0, str.length], "pos"); while (pos > 0) { const previousCharCode = str.charCodeAt(pos - 1); if (previousCharCode === CharCodes.NEWLINE || previousCharCode === CharCodes.CARRIAGE_RETURN) break; pos--; } return pos; } static getLineEndFromPos(str, pos) { exports.errors.throwIfOutOfRange(pos, [0, str.length], "pos"); while (pos < str.length) { const currentChar = str.charCodeAt(pos); if (currentChar === CharCodes.NEWLINE || currentChar === CharCodes.CARRIAGE_RETURN) break; pos++; } return pos; } static escapeForWithinString(str, quoteKind) { return StringUtils.escapeChar(str, quoteKind).replace(/(\r?\n)/g, "\\$1"); } static escapeChar(str, char) { if (char.length !== 1) throw new exports.errors.InvalidOperationError(`Specified char must be one character long.`); let result = ""; for (const currentChar of str) { if (currentChar === char) result += "\\"; result += currentChar; } return result; } static removeIndentation(str, opts) { const { isInStringAtPos, indentSizeInSpaces } = opts; const positions = []; let minIndentWidth; analyze(); return buildString(); function analyze() { let isAtStartOfLine = str.charCodeAt(0) === CharCodes.SPACE || str.charCodeAt(0) === CharCodes.TAB; for (let i = 0; i < str.length; i++) { if (!isAtStartOfLine) { if (str.charCodeAt(i) === CharCodes.NEWLINE && !isInStringAtPos(i + 1)) isAtStartOfLine = true; continue; } let startPosition = i; let spacesCount = 0; let tabsCount = 0; while (true) { let charCode = str.charCodeAt(i); if (charCode === CharCodes.SPACE) spacesCount++; else if (charCode === CharCodes.TAB) tabsCount++; else if (charCode === CharCodes.NEWLINE || charCode === CharCodes.CARRIAGE_RETURN && str.charCodeAt(i + 1) === CharCodes.NEWLINE) { spacesCount = 0; tabsCount = 0; positions.push([startPosition, i]); if (charCode === CharCodes.CARRIAGE_RETURN) { startPosition = i + 2; i++; } else { startPosition = i + 1; } } else if (charCode == null) break; else { const indentWidth = Math.ceil(spacesCount / indentSizeInSpaces) * indentSizeInSpaces + tabsCount * indentSizeInSpaces; if (minIndentWidth == null || indentWidth < minIndentWidth) minIndentWidth = indentWidth; positions.push([startPosition, i]); isAtStartOfLine = false; break; } i++; } } } function buildString() { if (positions.length === 0) return str; if (minIndentWidth == null || minIndentWidth === 0) return str; const deindentWidth = minIndentWidth; let result = ""; result += str.substring(0, positions[0][0]); for (let i = 0; i < positions.length; i++) { const [startPosition, endPosition] = positions[i]; let indentCount = 0; let pos; for (pos = startPosition; pos < endPosition; pos++) { if (indentCount >= deindentWidth) break; if (str.charCodeAt(pos) === CharCodes.SPACE) indentCount++; else if (str.charCodeAt(pos) === CharCodes.TAB) indentCount += indentSizeInSpaces; } result += str.substring(pos, positions[i + 1]?.[0] ?? str.length); } return result; } } static indent(str, times, options) { if (times === 0) return str; const { indentText, indentSizeInSpaces, isInStringAtPos } = options; const fullIndentationText = times > 0 ? indentText.repeat(times) : undefined; const totalIndentSpaces = Math.abs(times * indentSizeInSpaces); let result = ""; let lineStart = 0; let lineEnd = 0; for (let i = 0; i < str.length; i++) { lineStart = i; while (i < str.length && str.charCodeAt(i) !== CharCodes.NEWLINE) i++; lineEnd = i === str.length ? i : i + 1; appendLine(); } return result; function appendLine() { if (isInStringAtPos(lineStart)) result += str.substring(lineStart, lineEnd); else if (times > 0) result += fullIndentationText + str.substring(lineStart, lineEnd); else { let start = lineStart; let indentSpaces = 0; for (start = lineStart; start < str.length; start++) { if (indentSpaces >= totalIndentSpaces) break; if (str.charCodeAt(start) === CharCodes.SPACE) indentSpaces++; else if (str.charCodeAt(start) === CharCodes.TAB) indentSpaces += indentSizeInSpaces; else break; } result += str.substring(start, lineEnd); } } } } class SortedKeyValueArray { #array = []; #getKey; #comparer; constructor(getKey, comparer) { this.#getKey = getKey; this.#comparer = comparer; } set(value) { ArrayUtils.binaryInsertWithOverwrite(this.#array, value, new PropertyComparer(this.#getKey, this.#comparer)); } removeByValue(value) { this.removeByKey(this.#getKey(value)); } removeByKey(key) { const storedComparer = new ComparerToStoredComparer(this.#comparer, key); const index = ArrayUtils.binarySearch(this.#array, new PropertyStoredComparer(this.#getKey, storedComparer)); if (index >= 0) this.#array.splice(index, 1); } getArrayCopy() { return [...this.#array]; } hasItems() { return this.#array.length > 0; } *entries() { yield* this.#array; } } class WeakCache { #cacheItems = new WeakMap(); getOrCreate(key, createFunc) { let item = this.get(key); if (item == null) { item = createFunc(); this.set(key, item); } return item; } has(key) { return this.#cacheItems.has(key); } get(key) { return this.#cacheItems.get(key); } set(key, value) { this.#cacheItems.set(key, value); } removeByKey(key) { this.#cacheItems.delete(key); } } function createCompilerSourceFile(filePath, scriptSnapshot, optionsOrScriptTarget, version, setParentNodes, scriptKind) { return ts__namespace.createLanguageServiceSourceFile(filePath, scriptSnapshot, optionsOrScriptTarget ?? ts__namespace.ScriptTarget.Latest, version, setParentNodes, scriptKind); } function createDocumentCache(files) { const cache = new InternalDocumentCache(); cache._addFiles(files); return cache; } class FileSystemDocumentCache { #documentCache; #absoluteToOriginalPath = new Map(); constructor(fileSystem, documentCache) { for (const filePath of documentCache._getFilePaths()) this.#absoluteToOriginalPath.set(fileSystem.getStandardizedAbsolutePath(filePath), filePath); this.#documentCache = documentCache; } getDocumentIfMatch(filePath, scriptSnapshot, scriptTarget, scriptKind) { const originalFilePath = this.#absoluteToOriginalPath.get(filePath); if (originalFilePath == null) return; return this.#documentCache._getDocumentIfMatch(originalFilePath, filePath, scriptSnapshot, scriptTarget, scriptKind); } } class InternalDocumentCache { __documentCacheBrand; #fileTexts = new Map(); #documents = new Map(); _addFiles(files) { for (const file of files) this.#fileTexts.set(file.fileName, file.text); } _getFilePaths() { return this.#fileTexts.keys(); } _getCacheForFileSystem(fileSystem) { return new FileSystemDocumentCache(fileSystem, this); } _getDocumentIfMatch(filePath, absoluteFilePath, scriptSnapshot, scriptTarget, scriptKind) { const fileText = this.#fileTexts.get(filePath); if (fileText == null) return undefined; if (fileText !== scriptSnapshot.getText(0, scriptSnapshot.getLength())) return undefined; return this.#getDocument(filePath, absoluteFilePath, scriptSnapshot, scriptTarget, scriptKind); } #getDocument(filePath, absoluteFilePath, scriptSnapshot, scriptTarget, scriptKind) { const documentKey = this.#getKey(filePath, scriptTarget, scriptKind); let document = this.#documents.get(documentKey); if (document == null) { document = createCompilerSourceFile(absoluteFilePath, scriptSnapshot, scriptTarget, "-1", false, scriptKind); this.#documents.set(documentKey, document); } document = deepClone(document); document.fileName = absoluteFilePath; return document; } #getKey(filePath, scriptTarget, scriptKind) { return (filePath + (scriptTarget?.toString() ?? "-1") + (scriptKind?.toString() ?? "-1")); } } const libFiles = [{ fileName: "lib.es2024.sharedmemory.d.ts", text: "/// \n/// \ninterface Atomics{waitAsync(typedArray:Int32Array,index:number,value:number,timeout?:number):{async:false;value:\"not-equal\"|\"timed-out\";}|{async:true;value:Promise<\"ok\"|\"timed-out\">;};waitAsync(typedArray:BigInt64Array,index:number,value:bigint,timeout?:number):{async:false;value:\"not-equal\"|\"timed-out\";}|{async:true;value:Promise<\"ok\"|\"timed-out\">;};}interface SharedArrayBuffer{get growable():boolean;get maxByteLength():number;grow(newByteLength?:number):void;}interface SharedArrayBufferConstructor{new(byteLength:number,options?:{maxByteLength?:number;}):SharedArrayBuffer;}" }, { fileName: "lib.es2023.d.ts", text: "/// \n/// \n/// \n/// \n/// \n" }, { fileName: "lib.es2024.object.d.ts", text: "/// \ninterface ObjectConstructor{groupBy(items:Iterable,keySelector:(item:T,index:number)=>K,):Partial>;}" }, { fileName: "lib.es2015.core.d.ts", text: "/// \ninterface Array{find(predicate:(value:T,index:number,obj:T[])=>value is S,thisArg?:any):S|undefined;find(predicate:(value:T,index:number,obj:T[])=>unknown,thisArg?:any):T|undefined;findIndex(predicate:(value:T,index:number,obj:T[])=>unknown,thisArg?:any):number;fill(value:T,start?:number,end?:number):this;copyWithin(target:number,start:number,end?:number):this;toLocaleString(locales:string|string[],options?:Intl.NumberFormatOptions&Intl.DateTimeFormatOptions):string;}interface ArrayConstructor{from(arrayLike:ArrayLike):T[];from(arrayLike:ArrayLike,mapfn:(v:T,k:number)=>U,thisArg?:any):U[];of(...items:T[]):T[];}interface DateConstructor{new(value:number|string|Date):Date;}interface Function{readonly name:string;}interface Math{clz32(x:number):number;imul(x:number,y:number):number;sign(x:number):number;log10(x:number):number;log2(x:number):number;log1p(x:number):number;expm1(x:number):number;cosh(x:number):number;sinh(x:number):number;tanh(x:number):number;acosh(x:number):number;asinh(x:number):number;atanh(x:number):number;hypot(...values:number[]):number;trunc(x:number):number;fround(x:number):number;cbrt(x:number):number;}interface NumberConstructor{readonly EPSILON:number;isFinite(number:unknown):boolean;isInteger(number:unknown):boolean;isNaN(number:unknown):boolean;isSafeInteger(number:unknown):boolean;readonly MAX_SAFE_INTEGER:number;readonly MIN_SAFE_INTEGER:number;parseFloat(string:string):number;parseInt(string:string,radix?:number):number;}interface ObjectConstructor{assign(target:T,source:U):T&U;assign(target:T,source1:U,source2:V):T&U&V;assign(target:T,source1:U,source2:V,source3:W):T&U&V&W;assign(target:object,...sources:any[]):any;getOwnPropertySymbols(o:any):symbol[];keys(o:{}):string[];is(value1:any,value2:any):boolean;setPrototypeOf(o:any,proto:object|null):any;}interface ReadonlyArray{find(predicate:(value:T,index:number,obj:readonly T[])=>value is S,thisArg?:any):S|undefined;find(predicate:(value:T,index:number,obj:readonly T[])=>unknown,thisArg?:any):T|undefined;findIndex(predicate:(value:T,index:number,obj:readonly T[])=>unknown,thisArg?:any):number;toLocaleString(locales:string|string[],options?:Intl.NumberFormatOptions&Intl.DateTimeFormatOptions):string;}interface RegExp{readonly flags:string;readonly sticky:boolean;readonly unicode:boolean;}interface RegExpConstructor{new(pattern:RegExp|string,flags?:string):RegExp;(pattern:RegExp|string,flags?:string):RegExp;}interface String{codePointAt(pos:number):number|undefined;includes(searchString:string,position?:number):boolean;endsWith(searchString:string,endPosition?:number):boolean;normalize(form:\"NFC\"|\"NFD\"|\"NFKC\"|\"NFKD\"):string;normalize(form?:string):string;repeat(count:number):string;startsWith(searchString:string,position?:number):boolean;anchor(name:string):string;big():string;blink():string;bold():string;fixed():string;fontcolor(color:string):string;fontsize(size:number):string;fontsize(size:string):string;italics():string;link(url:string):string;small():string;strike():string;sub():string;sup():string;}interface StringConstructor{fromCodePoint(...codePoints:number[]):string;raw(template:{raw:readonly string[]|ArrayLike;},...substitutions:any[]):string;}interface Int8Array{toLocaleString(locales:string|string[],options?:Intl.NumberFormatOptions):string;}interface Uint8Array{toLocaleString(locales:string|string[],options?:Intl.NumberFormatOptions):string;}interface Uint8ClampedArray{toLocaleString(locales:string|string[],options?:Intl.NumberFormatOptions):string;}interface Int16Array{toLocaleString(locales:string|string[],options?:Intl.NumberFormatOptions):string;}interface Uint16Array{toLocaleString(locales:string|string[],options?:Intl.NumberFormatOptions):string;}interface Int32Array{toLocaleString(locales:string|string[],options?:Intl.NumberFormatOptions):string;}interface Uint32Array{toLocaleString(locales:string|string[],options?:Intl.NumberFormatOptions):string;}interface Float32Array{toLocaleString(locales:string|string[],options?:Intl.NumberFormatOptions):string;}interface Float64Array{toLocaleString(locales:string|string[],options?:Intl.NumberFormatOptions):string;}" }, { fileName: "lib.es2015.d.ts", text: "/// \n/// \n/// \n/// \n/// \n/// \n/// \n/// \n/// \n/// \n/// \n" }, { fileName: "lib.es2024.arraybuffer.d.ts", text: "/// \ninterface ArrayBuffer{get maxByteLength():number;get resizable():boolean;resize(newByteLength?:number):void;get detached():boolean;transfer(newByteLength?:number):ArrayBuffer;transferToFixedLength(newByteLength?:number):ArrayBuffer;}interface ArrayBufferConstructor{new(byteLength:number,options?:{maxByteLength?:number;}):ArrayBuffer;}" }, { fileName: "lib.webworker.asynciterable.d.ts", text: "/// \ninterface FileSystemDirectoryHandleAsyncIteratorextends AsyncIteratorObject{[Symbol.asyncIterator]():FileSystemDirectoryHandleAsyncIterator;}interface FileSystemDirectoryHandle{[Symbol.asyncIterator]():FileSystemDirectoryHandleAsyncIterator<[string,FileSystemHandle]>;entries():FileSystemDirectoryHandleAsyncIterator<[string,FileSystemHandle]>;keys():FileSystemDirectoryHandleAsyncIterator;values():FileSystemDirectoryHandleAsyncIterator;}interface ReadableStreamAsyncIteratorextends AsyncIteratorObject{[Symbol.asyncIterator]():ReadableStreamAsyncIterator;}interface ReadableStream{[Symbol.asyncIterator](options?:ReadableStreamIteratorOptions):ReadableStreamAsyncIterator;values(options?:ReadableStreamIteratorOptions):ReadableStreamAsyncIterator;}" }, { fileName: "lib.es2020.bigint.d.ts", text: "/// \n/// \ninterface BigIntToLocaleStringOptions{localeMatcher?:string;style?:string;numberingSystem?:string;unit?:string;unitDisplay?:string;currency?:string;currencyDisplay?:string;useGrouping?:boolean;minimumIntegerDigits?:1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21;minimumFractionDigits?:0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20;maximumFractionDigits?:0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20;minimumSignificantDigits?:1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21;maximumSignificantDigits?:1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21;notation?:string;compactDisplay?:string;}interface BigInt{toString(radix?:number):string;toLocaleString(locales?:Intl.LocalesArgument,options?:BigIntToLocaleStringOptions):string;valueOf():bigint;readonly[Symbol.toStringTag]:\"BigInt\";}interface BigIntConstructor{(value:bigint|boolean|number|string):bigint;readonly prototype:BigInt;asIntN(bits:number,int:bigint):bigint;asUintN(bits:number,int:bigint):bigint;}declare var BigInt:BigIntConstructor;interface BigInt64Array{readonly BYTES_PER_ELEMENT:number;readonly buffer:TArrayBuffer;readonly byteLength:number;readonly byteOffset:number;copyWithin(target:number,start:number,end?:number):this;entries():ArrayIterator<[number,bigint]>;every(predicate:(value:bigint,index:number,array:BigInt64Array)=>boolean,thisArg?:any):boolean;fill(value:bigint,start?:number,end?:number):this;filter(predicate:(value:bigint,index:number,array:BigInt64Array)=>any,thisArg?:any):BigInt64Array;find(predicate:(value:bigint,index:number,array:BigInt64Array)=>boolean,thisArg?:any):bigint|undefined;findIndex(predicate:(value:bigint,index:number,array:BigInt64Array)=>boolean,thisArg?:any):number;forEach(callbackfn:(value:bigint,index:number,array:BigInt64Array)=>void,thisArg?:any):void;includes(searchElement:bigint,fromIndex?:number):boolean;indexOf(searchElement:bigint,fromIndex?:number):number;join(separator?:string):string;keys():ArrayIterator;lastIndexOf(searchElement:bigint,fromIndex?:number):number;readonly length:number;map(callbackfn:(value:bigint,index:number,array:BigInt64Array)=>bigint,thisArg?:any):BigInt64Array;reduce(callbackfn:(previousValue:bigint,currentValue:bigint,currentIndex:number,array:BigInt64Array)=>bigint):bigint;reduce(callbackfn:(previousValue:U,currentValue:bigint,currentIndex:number,array:BigInt64Array)=>U,initialValue:U):U;reduceRight(callbackfn:(previousValue:bigint,currentValue:bigint,currentIndex:number,array:BigInt64Array)=>bigint):bigint;reduceRight(callbackfn:(previousValue:U,currentValue:bigint,currentIndex:number,array:BigInt64Array)=>U,initialValue:U):U;reverse():this;set(array:ArrayLike,offset?:number):void;slice(start?:number,end?:number):BigInt64Array;some(predicate:(value:bigint,index:number,array:BigInt64Array)=>boolean,thisArg?:any):boolean;sort(compareFn?:(a:bigint,b:bigint)=>number|bigint):this;subarray(begin?:number,end?:number):BigInt64Array;toLocaleString(locales?:string|string[],options?:Intl.NumberFormatOptions):string;toString():string;valueOf():BigInt64Array;values():ArrayIterator;[Symbol.iterator]():ArrayIterator;readonly[Symbol.toStringTag]:\"BigInt64Array\";[index:number]:bigint;}interface BigInt64ArrayConstructor{readonly prototype:BigInt64Array;new(length?:number):BigInt64Array;new(array:ArrayLike|Iterable):BigInt64Array;new(buffer:TArrayBuffer,byteOffset?:number,length?:number):BigInt64Array;new(buffer:ArrayBuffer,byteOffset?:number,length?:number):BigInt64Array;new(array:ArrayLike|ArrayBuffer):BigInt64Array;readonly BYTES_PER_ELEMENT:number;of(...items:bigint[]):BigInt64Array;from(arrayLike:ArrayLike):BigInt64Array;from(arrayLike:ArrayLike,mapfn:(v:U,k:number)=>bigint,thisArg?:any):BigInt64Array;from(elements:Iterable):BigInt64Array;from(elements:Iterable,mapfn?:(v:T,k:number)=>bigint,thisArg?:any):BigInt64Array;}declare var BigInt64Array:BigInt64ArrayConstructor;interface BigUint64Array{readonly BYTES_PER_ELEMENT:number;readonly buffer:TArrayBuffer;readonly byteLength:number;readonly byteOffset:number;copyWithin(target:number,start:number,end?:number):this;entries():ArrayIterator<[number,bigint]>;every(predicate:(value:bigint,index:number,array:BigUint64Array)=>boolean,thisArg?:any):boolean;fill(value:bigint,start?:number,end?:number):this;filter(predicate:(value:bigint,index:number,array:BigUint64Array)=>any,thisArg?:any):BigUint64Array;find(predicate:(value:bigint,index:number,array:BigUint64Array)=>boolean,thisArg?:any):bigint|undefined;findIndex(predicate:(value:bigint,index:number,array:BigUint64Array)=>boolean,thisArg?:any):number;forEach(callbackfn:(value:bigint,index:number,array:BigUint64Array)=>void,thisArg?:any):void;includes(searchElement:bigint,fromIndex?:number):boolean;indexOf(searchElement:bigint,fromIndex?:number):number;join(separator?:string):string;keys():ArrayIterator;lastIndexOf(searchElement:bigint,fromIndex?:number):number;readonly length:number;map(callbackfn:(value:bigint,index:number,array:BigUint64Array)=>bigint,thisArg?:any):BigUint64Array;reduce(callbackfn:(previousValue:bigint,currentValue:bigint,currentIndex:number,array:BigUint64Array)=>bigint):bigint;reduce(callbackfn:(previousValue:U,currentValue:bigint,currentIndex:number,array:BigUint64Array)=>U,initialValue:U):U;reduceRight(callbackfn:(previousValue:bigint,currentValue:bigint,currentIndex:number,array:BigUint64Array)=>bigint):bigint;reduceRight(callbackfn:(previousValue:U,currentValue:bigint,currentIndex:number,array:BigUint64Array)=>U,initialValue:U):U;reverse():this;set(array:ArrayLike,offset?:number):void;slice(start?:number,end?:number):BigUint64Array;some(predicate:(value:bigint,index:number,array:BigUint64Array)=>boolean,thisArg?:any):boolean;sort(compareFn?:(a:bigint,b:bigint)=>number|bigint):this;subarray(begin?:number,end?:number):BigUint64Array;toLocaleString(locales?:string|string[],options?:Intl.NumberFormatOptions):string;toString():string;valueOf():BigUint64Array;values():ArrayIterator;[Symbol.iterator]():ArrayIterator;readonly[Symbol.toStringTag]:\"BigUint64Array\";[index:number]:bigint;}interface BigUint64ArrayConstructor{readonly prototype:BigUint64Array;new(length?:number):BigUint64Array;new(array:ArrayLike|Iterable):BigUint64Array;new(buffer:TArrayBuffer,byteOffset?:number,length?:number):BigUint64Array;new(buffer:ArrayBuffer,byteOffset?:number,length?:number):BigUint64Array;new(array:ArrayLike|ArrayBuffer):BigUint64Array;readonly BYTES_PER_ELEMENT:number;of(...items:bigint[]):BigUint64Array;from(arrayLike:ArrayLike):BigUint64Array;from(arrayLike:ArrayLike,mapfn:(v:U,k:number)=>bigint,thisArg?:any):BigUint64Array;from(elements:Iterable):BigUint64Array;from(elements:Iterable,mapfn?:(v:T,k:number)=>bigint,thisArg?:any):BigUint64Array;}declare var BigUint64Array:BigUint64ArrayConstructor;interface DataView{getBigInt64(byteOffset:number,littleEndian?:boolean):bigint;getBigUint64(byteOffset:number,littleEndian?:boolean):bigint;setBigInt64(byteOffset:number,value:bigint,littleEndian?:boolean):void;setBigUint64(byteOffset:number,value:bigint,littleEndian?:boolean):void;}declare namespace Intl{interface NumberFormat{format(value:number|bigint):string;}}" }, { fileName: "lib.es5.d.ts", text: "/// \n/// \n/// \ndeclare var NaN:number;declare var Infinity:number;declare function eval(x:string):any;declare function parseInt(string:string,radix?:number):number;declare function parseFloat(string:string):number;declare function isNaN(number:number):boolean;declare function isFinite(number:number):boolean;declare function decodeURI(encodedURI:string):string;declare function decodeURIComponent(encodedURIComponent:string):string;declare function encodeURI(uri:string):string;declare function encodeURIComponent(uriComponent:string|number|boolean):string;declare function escape(string:string):string;declare function unescape(string:string):string;interface Symbol{toString():string;valueOf():symbol;}declare type PropertyKey=string|number|symbol;interface PropertyDescriptor{configurable?:boolean;enumerable?:boolean;value?:any;writable?:boolean;get?():any;set?(v:any):void;}interface PropertyDescriptorMap{[key:PropertyKey]:PropertyDescriptor;}interface Object{constructor:Function;toString():string;toLocaleString():string;valueOf():Object;hasOwnProperty(v:PropertyKey):boolean;isPrototypeOf(v:Object):boolean;propertyIsEnumerable(v:PropertyKey):boolean;}interface ObjectConstructor{new(value?:any):Object;():any;(value:any):any;readonly prototype:Object;getPrototypeOf(o:any):any;getOwnPropertyDescriptor(o:any,p:PropertyKey):PropertyDescriptor|undefined;getOwnPropertyNames(o:any):string[];create(o:object|null):any;create(o:object|null,properties:PropertyDescriptorMap&ThisType):any;defineProperty(o:T,p:PropertyKey,attributes:PropertyDescriptor&ThisType):T;defineProperties(o:T,properties:PropertyDescriptorMap&ThisType):T;seal(o:T):T;freeze(f:T):T;freeze(o:T):Readonly;freeze(o:T):Readonly;preventExtensions(o:T):T;isSealed(o:any):boolean;isFrozen(o:any):boolean;isExtensible(o:any):boolean;keys(o:object):string[];}declare var Object:ObjectConstructor;interface Function{apply(this:Function,thisArg:any,argArray?:any):any;call(this:Function,thisArg:any,...argArray:any[]):any;bind(this:Function,thisArg:any,...argArray:any[]):any;toString():string;prototype:any;readonly length:number;arguments:any;caller:Function;}interface FunctionConstructor{new(...args:string[]):Function;(...args:string[]):Function;readonly prototype:Function;}declare var Function:FunctionConstructor;type ThisParameterType=T extends(this:infer U,...args:never)=>any?U:unknown;type OmitThisParameter=unknown extends ThisParameterType?T:T extends(...args:infer A)=>infer R?(...args:A)=>R:T;interface CallableFunction extends Function{apply(this:(this:T)=>R,thisArg:T):R;apply(this:(this:T,...args:A)=>R,thisArg:T,args:A):R;call(this:(this:T,...args:A)=>R,thisArg:T,...args:A):R;bind(this:T,thisArg:ThisParameterType):OmitThisParameter;bind(this:(this:T,...args:[...A,...B])=>R,thisArg:T,...args:A):(...args:B)=>R;}interface NewableFunction extends Function{apply(this:new()=>T,thisArg:T):void;apply(this:new(...args:A)=>T,thisArg:T,args:A):void;call(this:new(...args:A)=>T,thisArg:T,...args:A):void;bind(this:T,thisArg:any):T;bind(this:new(...args:[...A,...B])=>R,thisArg:any,...args:A):new(...args:B)=>R;}interface IArguments{[index:number]:any;length:number;callee:Function;}interface String{toString():string;charAt(pos:number):string;charCodeAt(index:number):number;concat(...strings:string[]):string;indexOf(searchString:string,position?:number):number;lastIndexOf(searchString:string,position?:number):number;localeCompare(that:string):number;match(regexp:string|RegExp):RegExpMatchArray|null;replace(searchValue:string|RegExp,replaceValue:string):string;replace(searchValue:string|RegExp,replacer:(substring:string,...args:any[])=>string):string;search(regexp:string|RegExp):number;slice(start?:number,end?:number):string;split(separator:string|RegExp,limit?:number):string[];substring(start:number,end?:number):string;toLowerCase():string;toLocaleLowerCase(locales?:string|string[]):string;toUpperCase():string;toLocaleUpperCase(locales?:string|string[]):string;trim():string;readonly length:number;substr(from:number,length?:number):string;valueOf():string;readonly[index:number]:string;}interface StringConstructor{new(value?:any):String;(value?:any):string;readonly prototype:String;fromCharCode(...codes:number[]):string;}declare var String:StringConstructor;interface Boolean{valueOf():boolean;}interface BooleanConstructor{new(value?:any):Boolean;(value?:T):boolean;readonly prototype:Boolean;}declare var Boolean:BooleanConstructor;interface Number{toString(radix?:number):string;toFixed(fractionDigits?:number):string;toExponential(fractionDigits?:number):string;toPrecision(precision?:number):string;valueOf():number;}interface NumberConstructor{new(value?:any):Number;(value?:any):number;readonly prototype:Number;readonly MAX_VALUE:number;readonly MIN_VALUE:number;readonly NaN:number;readonly NEGATIVE_INFINITY:number;readonly POSITIVE_INFINITY:number;}declare var Number:NumberConstructor;interface TemplateStringsArray extends ReadonlyArray{readonly raw:readonly string[];}interface ImportMeta{}interface ImportCallOptions{assert?:ImportAssertions;with?:ImportAttributes;}interface ImportAssertions{[key:string]:string;}interface ImportAttributes{[key:string]:string;}interface Math{readonly E:number;readonly LN10:number;readonly LN2:number;readonly LOG2E:number;readonly LOG10E:number;readonly PI:number;readonly SQRT1_2:number;readonly SQRT2:number;abs(x:number):number;acos(x:number):number;asin(x:number):number;atan(x:number):number;atan2(y:number,x:number):number;ceil(x:number):number;cos(x:number):number;exp(x:number):number;floor(x:number):number;log(x:number):number;max(...values:number[]):number;min(...values:number[]):number;pow(x:number,y:number):number;random():number;round(x:number):number;sin(x:number):number;sqrt(x:number):number;tan(x:number):number;}declare var Math:Math;interface Date{toString():string;toDateString():string;toTimeString():string;toLocaleString():string;toLocaleDateString():string;toLocaleTimeString():string;valueOf():number;getTime():number;getFullYear():number;getUTCFullYear():number;getMonth():number;getUTCMonth():number;getDate():number;getUTCDate():number;getDay():number;getUTCDay():number;getHours():number;getUTCHours():number;getMinutes():number;getUTCMinutes():number;getSeconds():number;getUTCSeconds():number;getMilliseconds():number;getUTCMilliseconds():number;getTimezoneOffset():number;setTime(time:number):number;setMilliseconds(ms:number):number;setUTCMilliseconds(ms:number):number;setSeconds(sec:number,ms?:number):number;setUTCSeconds(sec:number,ms?:number):number;setMinutes(min:number,sec?:number,ms?:number):number;setUTCMinutes(min:number,sec?:number,ms?:number):number;setHours(hours:number,min?:number,sec?:number,ms?:number):number;setUTCHours(hours:number,min?:number,sec?:number,ms?:number):number;setDate(date:number):number;setUTCDate(date:number):number;setMonth(month:number,date?:number):number;setUTCMonth(month:number,date?:number):number;setFullYear(year:number,month?:number,date?:number):number;setUTCFullYear(year:number,month?:number,date?:number):number;toUTCString():string;toISOString():string;toJSON(key?:any):string;}interface DateConstructor{new():Date;new(value:number|string):Date;new(year:number,monthIndex:number,date?:number,hours?:number,minutes?:number,seconds?:number,ms?:number):Date;():string;readonly prototype:Date;parse(s:string):number;UTC(year:number,monthIndex:number,date?:number,hours?:number,minutes?:number,seconds?:number,ms?:number):number;now():number;}declare var Date:DateConstructor;interface RegExpMatchArray extends Array{index?:number;input?:string;0:string;}interface RegExpExecArray extends Array{index:number;input:string;0:string;}interface RegExp{exec(string:string):RegExpExecArray|null;test(string:string):boolean;readonly source:string;readonly global:boolean;readonly ignoreCase:boolean;readonly multiline:boolean;lastIndex:number;compile(pattern:string,flags?:string):this;}interface RegExpConstructor{new(pattern:RegExp|string):RegExp;new(pattern:string,flags?:string):RegExp;(pattern:RegExp|string):RegExp;(pattern:string,flags?:string):RegExp;readonly\"prototype\":RegExp;\"$1\":string;\"$2\":string;\"$3\":string;\"$4\":string;\"$5\":string;\"$6\":string;\"$7\":string;\"$8\":string;\"$9\":string;\"input\":string;\"$_\":string;\"lastMatch\":string;\"$&\":string;\"lastParen\":string;\"$+\":string;\"leftContext\":string;\"$`\":string;\"rightContext\":string;\"$'\":string;}declare var RegExp:RegExpConstructor;interface Error{name:string;message:string;stack?:string;}interface ErrorConstructor{new(message?:string):Error;(message?:string):Error;readonly prototype:Error;}declare var Error:ErrorConstructor;interface EvalError extends Error{}interface EvalErrorConstructor extends ErrorConstructor{new(message?:string):EvalError;(message?:string):EvalError;readonly prototype:EvalError;}declare var EvalError:EvalErrorConstructor;interface RangeError extends Error{}interface RangeErrorConstructor extends ErrorConstructor{new(message?:string):RangeError;(message?:string):RangeError;readonly prototype:RangeError;}declare var RangeError:RangeErrorConstructor;interface ReferenceError extends Error{}interface ReferenceErrorConstructor extends ErrorConstructor{new(message?:string):ReferenceError;(message?:string):ReferenceError;readonly prototype:ReferenceError;}declare var ReferenceError:ReferenceErrorConstructor;interface SyntaxError extends Error{}interface SyntaxErrorConstructor extends ErrorConstructor{new(message?:string):SyntaxError;(message?:string):SyntaxError;readonly prototype:SyntaxError;}declare var SyntaxError:SyntaxErrorConstructor;interface TypeError extends Error{}interface TypeErrorConstructor extends ErrorConstructor{new(message?:string):TypeError;(message?:string):TypeError;readonly prototype:TypeError;}declare var TypeError:TypeErrorConstructor;interface URIError extends Error{}interface URIErrorConstructor extends ErrorConstructor{new(message?:string):URIError;(message?:string):URIError;readonly prototype:URIError;}declare var URIError:URIErrorConstructor;interface JSON{parse(text:string,reviver?:(this:any,key:string,value:any)=>any):any;stringify(value:any,replacer?:(this:any,key:string,value:any)=>any,space?:string|number):string;stringify(value:any,replacer?:(number|string)[]|null,space?:string|number):string;}declare var JSON:JSON;interface ReadonlyArray{readonly length:number;toString():string;toLocaleString():string;concat(...items:ConcatArray[]):T[];concat(...items:(T|ConcatArray)[]):T[];join(separator?:string):string;slice(start?:number,end?:number):T[];indexOf(searchElement:T,fromIndex?:number):number;lastIndexOf(searchElement:T,fromIndex?:number):number;every(predicate:(value:T,index:number,array:readonly T[])=>value is S,thisArg?:any):this is readonly S[];every(predicate:(value:T,index:number,array:readonly T[])=>unknown,thisArg?:any):boolean;some(predicate:(value:T,index:number,array:readonly T[])=>unknown,thisArg?:any):boolean;forEach(callbackfn:(value:T,index:number,array:readonly T[])=>void,thisArg?:any):void;map(callbackfn:(value:T,index:number,array:readonly T[])=>U,thisArg?:any):U[];filter(predicate:(value:T,index:number,array:readonly T[])=>value is S,thisArg?:any):S[];filter(predicate:(value:T,index:number,array:readonly T[])=>unknown,thisArg?:any):T[];reduce(callbackfn:(previousValue:T,currentValue:T,currentIndex:number,array:readonly T[])=>T):T;reduce(callbackfn:(previousValue:T,currentValue:T,currentIndex:number,array:readonly T[])=>T,initialValue:T):T;reduce(callbackfn:(previousValue:U,currentValue:T,currentIndex:number,array:readonly T[])=>U,initialValue:U):U;reduceRight(callbackfn:(previousValue:T,currentValue:T,currentIndex:number,array:readonly T[])=>T):T;reduceRight(callbackfn:(previousValue:T,currentValue:T,currentIndex:number,array:readonly T[])=>T,initialValue:T):T;reduceRight(callbackfn:(previousValue:U,currentValue:T,currentIndex:number,array:readonly T[])=>U,initialValue:U):U;readonly[n:number]:T;}interface ConcatArray{readonly length:number;readonly[n:number]:T;join(separator?:string):string;slice(start?:number,end?:number):T[];}interface Array{length:number;toString():string;toLocaleString():string;pop():T|undefined;push(...items:T[]):number;concat(...items:ConcatArray[]):T[];concat(...items:(T|ConcatArray)[]):T[];join(separator?:string):string;reverse():T[];shift():T|undefined;slice(start?:number,end?:number):T[];sort(compareFn?:(a:T,b:T)=>number):this;splice(start:number,deleteCount?:number):T[];splice(start:number,deleteCount:number,...items:T[]):T[];unshift(...items:T[]):number;indexOf(searchElement:T,fromIndex?:number):number;lastIndexOf(searchElement:T,fromIndex?:number):number;every(predicate:(value:T,index:number,array:T[])=>value is S,thisArg?:any):this is S[];every(predicate:(value:T,index:number,array:T[])=>unknown,thisArg?:any):boolean;some(predicate:(value:T,index:number,array:T[])=>unknown,thisArg?:any):boolean;forEach(callbackfn:(value:T,index:number,array:T[])=>void,thisArg?:any):void;map(callbackfn:(value:T,index:number,array:T[])=>U,thisArg?:any):U[];filter(predicate:(value:T,index:number,array:T[])=>value is S,thisArg?:any):S[];filter(predicate:(value:T,index:number,array:T[])=>unknown,thisArg?:any):T[];reduce(callbackfn:(previousValue:T,currentValue:T,currentIndex:number,array:T[])=>T):T;reduce(callbackfn:(previousValue:T,currentValue:T,currentIndex:number,array:T[])=>T,initialValue:T):T;reduce(callbackfn:(previousValue:U,currentValue:T,currentIndex:number,array:T[])=>U,initialValue:U):U;reduceRight(callbackfn:(previousValue:T,currentValue:T,currentIndex:number,array:T[])=>T):T;reduceRight(callbackfn:(previousValue:T,currentValue:T,currentIndex:number,array:T[])=>T,initialValue:T):T;reduceRight(callbackfn:(previousValue:U,currentValue:T,currentIndex:number,array:T[])=>U,initialValue:U):U;[n:number]:T;}interface ArrayConstructor{new(arrayLength?:number):any[];new(arrayLength:number):T[];new(...items:T[]):T[];(arrayLength?:number):any[];(arrayLength:number):T[];(...items:T[]):T[];isArray(arg:any):arg is any[];readonly prototype:any[];}declare var Array:ArrayConstructor;interface TypedPropertyDescriptor{enumerable?:boolean;configurable?:boolean;writable?:boolean;value?:T;get?:()=>T;set?:(value:T)=>void;}declare type PromiseConstructorLike=new(executor:(resolve:(value:T|PromiseLike)=>void,reject:(reason?:any)=>void)=>void)=>PromiseLike;interface PromiseLike{then(onfulfilled?:((value:T)=>TResult1|PromiseLike)|undefined|null,onrejected?:((reason:any)=>TResult2|PromiseLike)|undefined|null):PromiseLike;}interface Promise{then(onfulfilled?:((value:T)=>TResult1|PromiseLike)|undefined|null,onrejected?:((reason:any)=>TResult2|PromiseLike)|undefined|null):Promise;catch(onrejected?:((reason:any)=>TResult|PromiseLike)|undefined|null):Promise;}type Awaited=T extends null|undefined?T:T extends object&{then(onfulfilled:infer F,...args:infer _):any;}?\nF extends((value:infer V,...args:infer _)=>any)?\nAwaited:never:T;interface ArrayLike{readonly length:number;readonly[n:number]:T;}type Partial={[P in keyof T]?:T[P];};type Required={[P in keyof T]-?:T[P];};type Readonly={readonly[P in keyof T]:T[P];};type Pick={[P in K]:T[P];};type Record={[P in K]:T;};type Exclude=T extends U?never:T;type Extract=T extends U?T:never;type Omit=Pick>;type NonNullable=T&{};type Parametersany>=T extends(...args:infer P)=>any?P:never;type ConstructorParametersany>=T extends abstract new(...args:infer P)=>any?P:never;type ReturnTypeany>=T extends(...args:any)=>infer R?R:any;type InstanceTypeany>=T extends abstract new(...args:any)=>infer R?R:any;type Uppercase=intrinsic;type Lowercase=intrinsic;type Capitalize=intrinsic;type Uncapitalize=intrinsic;type NoInfer=intrinsic;interface ThisType{}interface WeakKeyTypes{object:object;}type WeakKey=WeakKeyTypes[keyof WeakKeyTypes];interface ArrayBuffer{readonly byteLength:number;slice(begin?:number,end?:number):ArrayBuffer;}interface ArrayBufferTypes{ArrayBuffer:ArrayBuffer;}type ArrayBufferLike=ArrayBufferTypes[keyof ArrayBufferTypes];interface ArrayBufferConstructor{readonly prototype:ArrayBuffer;new(byteLength:number):ArrayBuffer;isView(arg:any):arg is ArrayBufferView;}declare var ArrayBuffer:ArrayBufferConstructor;interface ArrayBufferView{readonly buffer:TArrayBuffer;readonly byteLength:number;readonly byteOffset:number;}interface DataView{readonly buffer:TArrayBuffer;readonly byteLength:number;readonly byteOffset:number;getFloat32(byteOffset:number,littleEndian?:boolean):number;getFloat64(byteOffset:number,littleEndian?:boolean):number;getInt8(byteOffset:number):number;getInt16(byteOffset:number,littleEndian?:boolean):number;getInt32(byteOffset:number,littleEndian?:boolean):number;getUint8(byteOffset:number):number;getUint16(byteOffset:number,littleEndian?:boolean):number;getUint32(byteOffset:number,littleEndian?:boolean):number;setFloat32(byteOffset:number,value:number,littleEndian?:boolean):void;setFloat64(byteOffset:number,value:number,littleEndian?:boolean):void;setInt8(byteOffset:number,value:number):void;setInt16(byteOffset:number,value:number,littleEndian?:boolean):void;setInt32(byteOffset:number,value:number,littleEndian?:boolean):void;setUint8(byteOffset:number,value:number):void;setUint16(byteOffset:number,value:number,littleEndian?:boolean):void;setUint32(byteOffset:number,value:number,littleEndian?:boolean):void;}interface DataViewConstructor{readonly prototype:DataView;new(buffer:TArrayBuffer,byteOffset?:number,byteLength?:number):DataView;}declare var DataView:DataViewConstructor;interface Int8Array{readonly BYTES_PER_ELEMENT:number;readonly buffer:TArrayBuffer;readonly byteLength:number;readonly byteOffset:number;copyWithin(target:number,start:number,end?:number):this;every(predicate:(value:number,index:number,array:this)=>unknown,thisArg?:any):boolean;fill(value:number,start?:number,end?:number):this;filter(predicate:(value:number,index:number,array:this)=>any,thisArg?:any):Int8Array;find(predicate:(value:number,index:number,obj:this)=>boolean,thisArg?:any):number|undefined;findIndex(predicate:(value:number,index:number,obj:this)=>boolean,thisArg?:any):number;forEach(callbackfn:(value:number,index:number,array:this)=>void,thisArg?:any):void;indexOf(searchElement:number,fromIndex?:number):number;join(separator?:string):string;lastIndexOf(searchElement:number,fromIndex?:number):number;readonly length:number;map(callbackfn:(value:number,index:number,array:this)=>number,thisArg?:any):Int8Array;reduce(callbackfn:(previousValue:number,currentValue:number,currentIndex:number,array:this)=>number):number;reduce(callbackfn:(previousValue:number,currentValue:number,currentIndex:number,array:this)=>number,initialValue:number):number;reduce(callbackfn:(previousValue:U,currentValue:number,currentIndex:number,array:this)=>U,initialValue:U):U;reduceRight(callbackfn:(previousValue:number,currentValue:number,currentIndex:number,array:this)=>number):number;reduceRight(callbackfn:(previousValue:number,currentValue:number,currentIndex:number,array:this)=>number,initialValue:number):number;reduceRight(callbackfn:(previousValue:U,currentValue:number,currentIndex:number,array:this)=>U,initialValue:U):U;reverse():this;set(array:ArrayLike,offset?:number):void;slice(start?:number,end?:number):Int8Array;some(predicate:(value:number,index:number,array:this)=>unknown,thisArg?:any):boolean;sort(compareFn?:(a:number,b:number)=>number):this;subarray(begin?:number,end?:number):Int8Array;toLocaleString():string;toString():string;valueOf():this;[index:number]:number;}interface Int8ArrayConstructor{readonly prototype:Int8Array;new(length:number):Int8Array;new(array:ArrayLike):Int8Array;new(buffer:TArrayBuffer,byteOffset?:number,length?:number):Int8Array;new(buffer:ArrayBuffer,byteOffset?:number,length?:number):Int8Array;new(array:ArrayLike|ArrayBuffer):Int8Array;readonly BYTES_PER_ELEMENT:number;of(...items:number[]):Int8Array;from(arrayLike:ArrayLike):Int8Array;from(arrayLike:ArrayLike,mapfn:(v:T,k:number)=>number,thisArg?:any):Int8Array;}declare var Int8Array:Int8ArrayConstructor;interface Uint8Array{readonly BYTES_PER_ELEMENT:number;readonly buffer:TArrayBuffer;readonly byteLength:number;readonly byteOffset:number;copyWithin(target:number,start:number,end?:number):this;every(predicate:(value:number,index:number,array:this)=>unknown,thisArg?:any):boolean;fill(value:number,start?:number,end?:number):this;filter(predicate:(value:number,index:number,array:this)=>any,thisArg?:any):Uint8Array;find(predicate:(value:number,index:number,obj:this)=>boolean,thisArg?:any):number|undefined;findIndex(predicate:(value:number,index:number,obj:this)=>boolean,thisArg?:any):number;forEach(callbackfn:(value:number,index:number,array:this)=>void,thisArg?:any):void;indexOf(searchElement:number,fromIndex?:number):number;join(separator?:string):string;lastIndexOf(searchElement:number,fromIndex?:number):number;readonly length:number;map(callbackfn:(value:number,index:number,array:this)=>number,thisArg?:any):Uint8Array;reduce(callbackfn:(previousValue:number,currentValue:number,currentIndex:number,array:this)=>number):number;reduce(callbackfn:(previousValue:number,currentValue:number,currentIndex:number,array:this)=>number,initialValue:number):number;reduce(callbackfn:(previousValue:U,currentValue:number,currentIndex:number,array:this)=>U,initialValue:U):U;reduceRight(callbackfn:(previousValue:number,currentValue:number,currentIndex:number,array:this)=>number):number;reduceRight(callbackfn:(previousValue:number,currentValue:number,currentIndex:number,array:this)=>number,initialValue:number):number;reduceRight(callbackfn:(previousValue:U,currentValue:number,currentIndex:number,array:this)=>U,initialValue:U):U;reverse():this;set(array:ArrayLike,offset?:number):void;slice(start?:number,end?:number):Uint8Array;some(predicate:(value:number,index:number,array:this)=>unknown,thisArg?:any):boolean;sort(compareFn?:(a:number,b:number)=>number):this;subarray(begin?:number,end?:number):Uint8Array;toLocaleString():string;toString():string;valueOf():this;[index:number]:number;}interface Uint8ArrayConstructor{readonly prototype:Uint8Array;new(length:number):Uint8Array;new(array:ArrayLike):Uint8Array;new(buffer:TArrayBuffer,byteOffset?:number,length?:number):Uint8Array;new(buffer:ArrayBuffer,byteOffset?:number,length?:number):Uint8Array;new(array:ArrayLike|ArrayBuffer):Uint8Array;readonly BYTES_PER_ELEMENT:number;of(...items:number[]):Uint8Array;from(arrayLike:ArrayLike):Uint8Array;from(arrayLike:ArrayLike,mapfn:(v:T,k:number)=>number,thisArg?:any):Uint8Array;}declare var Uint8Array:Uint8ArrayConstructor;interface Uint8ClampedArray{readonly BYTES_PER_ELEMENT:number;readonly buffer:TArrayBuffer;readonly byteLength:number;readonly byteOffset:number;copyWithin(target:number,start:number,end?:number):this;every(predicate:(value:number,index:number,array:this)=>unknown,thisArg?:any):boolean;fill(value:number,start?:number,end?:number):this;filter(predicate:(value:number,index:number,array:this)=>any,thisArg?:any):Uint8ClampedArray;find(predicate:(value:number,index:number,obj:this)=>boolean,thisArg?:any):number|undefined;findIndex(predicate:(value:number,index:number,obj:this)=>boolean,thisArg?:any):number;forEach(callbackfn:(value:number,index:number,array:this)=>void,thisArg?:any):void;indexOf(searchElement:number,fromIndex?:number):number;join(separator?:string):string;lastIndexOf(searchElement:number,fromIndex?:number):number;readonly length:number;map(callbackfn:(value:number,index:number,array:this)=>number,thisArg?:any):Uint8ClampedArray;reduce(callbackfn:(previousValue:number,currentValue:number,currentIndex:number,array:this)=>number):number;reduce(callbackfn:(previousValue:number,currentValue:number,currentIndex:number,array:this)=>number,initialValue:number):number;reduce(callbackfn:(previousValue:U,currentValue:number,currentIndex:number,array:this)=>U,initialValue:U):U;reduceRight(callbackfn:(previousValue:number,currentValue:number,currentIndex:number,array:this)=>number):number;reduceRight(callbackfn:(previousValue:number,currentValue:number,currentIndex:number,array:this)=>number,initialValue:number):number;reduceRight(callbackfn:(previousValue:U,currentValue:number,currentIndex:number,array:this)=>U,initialValue:U):U;reverse():this;set(array:ArrayLike,offset?:number):void;slice(start?:number,end?:number):Uint8ClampedArray;some(predicate:(value:number,index:number,array:this)=>unknown,thisArg?:any):boolean;sort(compareFn?:(a:number,b:number)=>number):this;subarray(begin?:number,end?:number):Uint8ClampedArray;toLocaleString():string;toString():string;valueOf():this;[index:number]:number;}interface Uint8ClampedArrayConstructor{readonly prototype:Uint8ClampedArray;new(length:number):Uint8ClampedArray;new(array:ArrayLike):Uint8ClampedArray;new(buffer:TArrayBuffer,byteOffset?:number,length?:number):Uint8ClampedArray;new(buffer:ArrayBuffer,byteOffset?:number,length?:number):Uint8ClampedArray;new(array:ArrayLike|ArrayBuffer):Uint8ClampedArray;readonly BYTES_PER_ELEMENT:number;of(...items:number[]):Uint8ClampedArray;from(arrayLike:ArrayLike):Uint8ClampedArray;from(arrayLike:ArrayLike,mapfn:(v:T,k:number)=>number,thisArg?:any):Uint8ClampedArray;}declare var Uint8ClampedArray:Uint8ClampedArrayConstructor;interface Int16Array{readonly BYTES_PER_ELEMENT:number;readonly buffer:TArrayBuffer;readonly byteLength:number;readonly byteOffset:number;copyWithin(target:number,start:number,end?:number):this;every(predicate:(value:number,index:number,array:this)=>unknown,thisArg?:any):boolean;fill(value:number,start?:number,end?:number):this;filter(predicate:(value:number,index:number,array:this)=>any,thisArg?:any):Int16Array;find(predicate:(value:number,index:number,obj:this)=>boolean,thisArg?:any):number|undefined;findIndex(predicate:(value:number,index:number,obj:this)=>boolean,thisArg?:any):number;forEach(callbackfn:(value:number,index:number,array:this)=>void,thisArg?:any):void;indexOf(searchElement:number,fromIndex?:number):number;join(separator?:string):string;lastIndexOf(searchElement:number,fromIndex?:number):number;readonly length:number;map(callbackfn:(value:number,index:number,array:this)=>number,thisArg?:any):Int16Array;reduce(callbackfn:(previousValue:number,currentValue:number,currentIndex:number,array:this)=>number):number;reduce(callbackfn:(previousValue:number,currentValue:number,currentIndex:number,array:this)=>number,initialValue:number):number;reduce(callbackfn:(previousValue:U,currentValue:number,currentIndex:number,array:this)=>U,initialValue:U):U;reduceRight(callbackfn:(previousValue:number,currentValue:number,currentIndex:number,array:this)=>number):number;reduceRight(callbackfn:(previousValue:number,currentValue:number,currentIndex:number,array:this)=>number,initialValue:number):number;reduceRight(callbackfn:(previousValue:U,currentValue:number,currentIndex:number,array:this)=>U,initialValue:U):U;reverse():this;set(array:ArrayLike,offset?:number):void;slice(start?:number,end?:number):Int16Array;some(predicate:(value:number,index:number,array:this)=>unknown,thisArg?:any):boolean;sort(compareFn?:(a:number,b:number)=>number):this;subarray(begin?:number,end?:number):Int16Array;toLocaleString():string;toString():string;valueOf():this;[index:number]:number;}interface Int16ArrayConstructor{readonly prototype:Int16Array;new(length:number):Int16Array;new(array:ArrayLike):Int16Array;new(buffer:TArrayBuffer,byteOffset?:number,length?:number):Int16Array;new(buffer:ArrayBuffer,byteOffset?:number,length?:number):Int16Array;new(array:ArrayLike|ArrayBuffer):Int16Array;readonly BYTES_PER_ELEMENT:number;of(...items:number[]):Int16Array;from(arrayLike:ArrayLike):Int16Array;from(arrayLike:ArrayLike,mapfn:(v:T,k:number)=>number,thisArg?:any):Int16Array;}declare var Int16Array:Int16ArrayConstructor;interface Uint16Array{readonly BYTES_PER_ELEMENT:number;readonly buffer:TArrayBuffer;readonly byteLength:number;readonly byteOffset:number;copyWithin(target:number,start:number,end?:number):this;every(predicate:(value:number,index:number,array:this)=>unknown,thisArg?:any):boolean;fill(value:number,start?:number,end?:number):this;filter(predicate:(value:number,index:number,array:this)=>any,thisArg?:any):Uint16Array;find(predicate:(value:number,index:number,obj:this)=>boolean,thisArg?:any):number|undefined;findIndex(predicate:(value:number,index:number,obj:this)=>boolean,thisArg?:any):number;forEach(callbackfn:(value:number,index:number,array:this)=>void,thisArg?:any):void;indexOf(searchElement:number,fromIndex?:number):number;join(separator?:string):string;lastIndexOf(searchElement:number,fromIndex?:number):number;readonly length:number;map(callbackfn:(value:number,index:number,array:this)=>number,thisArg?:any):Uint16Array;reduce(callbackfn:(previousValue:number,currentValue:number,currentIndex:number,array:this)=>number):number;reduce(callbackfn:(previousValue:number,currentValue:number,currentIndex:number,array:this)=>number,initialValue:number):number;reduce(callbackfn:(previousValue:U,currentValue:number,currentIndex:number,array:this)=>U,initialValue:U):U;reduceRight(callbackfn:(previousValue:number,currentValue:number,currentIndex:number,array:this)=>number):number;reduceRight(callbackfn:(previousValue:number,currentValue:number,currentIndex:number,array:this)=>number,initialValue:number):number;reduceRight(callbackfn:(previousValue:U,currentValue:number,currentIndex:number,array:this)=>U,initialValue:U):U;reverse():this;set(array:ArrayLike,offset?:number):void;slice(start?:number,end?:number):Uint16Array;some(predicate:(value:number,index:number,array:this)=>unknown,thisArg?:any):boolean;sort(compareFn?:(a:number,b:number)=>number):this;subarray(begin?:number,end?:number):Uint16Array;toLocaleString():string;toString():string;valueOf():this;[index:number]:number;}interface Uint16ArrayConstructor{readonly prototype:Uint16Array;new(length:number):Uint16Array;new(array:ArrayLike):Uint16Array;new(buffer:TArrayBuffer,byteOffset?:number,length?:number):Uint16Array;new(buffer:ArrayBuffer,byteOffset?:number,length?:number):Uint16Array;new(array:ArrayLike|ArrayBuffer):Uint16Array;readonly BYTES_PER_ELEMENT:number;of(...items:number[]):Uint16Array;from(arrayLike:ArrayLike):Uint16Array;from(arrayLike:ArrayLike,mapfn:(v:T,k:number)=>number,thisArg?:any):Uint16Array;}declare var Uint16Array:Uint16ArrayConstructor;interface Int32Array{readonly BYTES_PER_ELEMENT:number;readonly buffer:TArrayBuffer;readonly byteLength:number;readonly byteOffset:number;copyWithin(target:number,start:number,end?:number):this;every(predicate:(value:number,index:number,array:this)=>unknown,thisArg?:any):boolean;fill(value:number,start?:number,end?:number):this;filter(predicate:(value:number,index:number,array:this)=>any,thisArg?:any):Int32Array;find(predicate:(value:number,index:number,obj:this)=>boolean,thisArg?:any):number|undefined;findIndex(predicate:(value:number,index:number,obj:this)=>boolean,thisArg?:any):number;forEach(callbackfn:(value:number,index:number,array:this)=>void,thisArg?:any):void;indexOf(searchElement:number,fromIndex?:number):number;join(separator?:string):string;lastIndexOf(searchElement:number,fromIndex?:number):number;readonly length:number;map(callbackfn:(value:number,index:number,array:this)=>number,thisArg?:any):Int32Array;reduce(callbackfn:(previousValue:number,currentValue:number,currentIndex:number,array:this)=>number):number;reduce(callbackfn:(previousValue:number,currentValue:number,currentIndex:number,array:this)=>number,initialValue:number):number;reduce(callbackfn:(previousValue:U,currentValue:number,currentIndex:number,array:this)=>U,initialValue:U):U;reduceRight(callbackfn:(previousValue:number,currentValue:number,currentIndex:number,array:this)=>number):number;reduceRight(callbackfn:(previousValue:number,currentValue:number,currentIndex:number,array:this)=>number,initialValue:number):number;reduceRight(callbackfn:(previousValue:U,currentValue:number,currentIndex:number,array:this)=>U,initialValue:U):U;reverse():this;set(array:ArrayLike,offset?:number):void;slice(start?:number,end?:number):Int32Array;some(predicate:(value:number,index:number,array:this)=>unknown,thisArg?:any):boolean;sort(compareFn?:(a:number,b:number)=>number):this;subarray(begin?:number,end?:number):Int32Array;toLocaleString():string;toString():string;valueOf():this;[index:number]:number;}interface Int32ArrayConstructor{readonly prototype:Int32Array;new(length:number):Int32Array;new(array:ArrayLike):Int32Array;new(buffer:TArrayBuffer,byteOffset?:number,length?:number):Int32Array;new(buffer:ArrayBuffer,byteOffset?:number,length?:number):Int32Array;new(array:ArrayLike|ArrayBuffer):Int32Array;readonly BYTES_PER_ELEMENT:number;of(...items:number[]):Int32Array;from(arrayLike:ArrayLike):Int32Array;from(arrayLike:ArrayLike,mapfn:(v:T,k:number)=>number,thisArg?:any):Int32Array;}declare var Int32Array:Int32ArrayConstructor;interface Uint32Array{readonly BYTES_PER_ELEMENT:number;readonly buffer:TArrayBuffer;readonly byteLength:number;readonly byteOffset:number;copyWithin(target:number,start:number,end?:number):this;every(predicate:(value:number,index:number,array:this)=>unknown,thisArg?:any):boolean;fill(value:number,start?:number,end?:number):this;filter(predicate:(value:number,index:number,array:this)=>any,thisArg?:any):Uint32Array;find(predicate:(value:number,index:number,obj:this)=>boolean,thisArg?:any):number|undefined;findIndex(predicate:(value:number,index:number,obj:this)=>boolean,thisArg?:any):number;forEach(callbackfn:(value:number,index:number,array:this)=>void,thisArg?:any):void;indexOf(searchElement:number,fromIndex?:number):number;join(separator?:string):string;lastIndexOf(searchElement:number,fromIndex?:number):number;readonly length:number;map(callbackfn:(value:number,index:number,array:this)=>number,thisArg?:any):Uint32Array;reduce(callbackfn:(previousValue:number,currentValue:number,currentIndex:number,array:this)=>number):number;reduce(callbackfn:(previousValue:number,currentValue:number,currentIndex:number,array:this)=>number,initialValue:number):number;reduce(callbackfn:(previousValue:U,currentValue:number,currentIndex:number,array:this)=>U,initialValue:U):U;reduceRight(callbackfn:(previousValue:number,currentValue:number,currentIndex:number,array:this)=>number):number;reduceRight(callbackfn:(previousValue:number,currentValue:number,currentIndex:number,array:this)=>number,initialValue:number):number;reduceRight(callbackfn:(previousValue:U,currentValue:number,currentIndex:number,array:this)=>U,initialValue:U):U;reverse():this;set(array:ArrayLike,offset?:number):void;slice(start?:number,end?:number):Uint32Array;some(predicate:(value:number,index:number,array:this)=>unknown,thisArg?:any):boolean;sort(compareFn?:(a:number,b:number)=>number):this;subarray(begin?:number,end?:number):Uint32Array;toLocaleString():string;toString():string;valueOf():this;[index:number]:number;}interface Uint32ArrayConstructor{readonly prototype:Uint32Array;new(length:number):Uint32Array;new(array:ArrayLike):Uint32Array;new(buffer:TArrayBuffer,byteOffset?:number,length?:number):Uint32Array;new(buffer:ArrayBuffer,byteOffset?:number,length?:number):Uint32Array;new(array:ArrayLike|ArrayBuffer):Uint32Array;readonly BYTES_PER_ELEMENT:number;of(...items:number[]):Uint32Array;from(arrayLike:ArrayLike):Uint32Array;from(arrayLike:ArrayLike,mapfn:(v:T,k:number)=>number,thisArg?:any):Uint32Array;}declare var Uint32Array:Uint32ArrayConstructor;interface Float32Array{readonly BYTES_PER_ELEMENT:number;readonly buffer:TArrayBuffer;readonly byteLength:number;readonly byteOffset:number;copyWithin(target:number,start:number,end?:number):this;every(predicate:(value:number,index:number,array:this)=>unknown,thisArg?:any):boolean;fill(value:number,start?:number,end?:number):this;filter(predicate:(value:number,index:number,array:this)=>any,thisArg?:any):Float32Array;find(predicate:(value:number,index:number,obj:this)=>boolean,thisArg?:any):number|undefined;findIndex(predicate:(value:number,index:number,obj:this)=>boolean,thisArg?:any):number;forEach(callbackfn:(value:number,index:number,array:this)=>void,thisArg?:any):void;indexOf(searchElement:number,fromIndex?:number):number;join(separator?:string):string;lastIndexOf(searchElement:number,fromIndex?:number):number;readonly length:number;map(callbackfn:(value:number,index:number,array:this)=>number,thisArg?:any):Float32Array;reduce(callbackfn:(previousValue:number,currentValue:number,currentIndex:number,array:this)=>number):number;reduce(callbackfn:(previousValue:number,currentValue:number,currentIndex:number,array:this)=>number,initialValue:number):number;reduce(callbackfn:(previousValue:U,currentValue:number,currentIndex:number,array:this)=>U,initialValue:U):U;reduceRight(callbackfn:(previousValue:number,currentValue:number,currentIndex:number,array:this)=>number):number;reduceRight(callbackfn:(previousValue:number,currentValue:number,currentIndex:number,array:this)=>number,initialValue:number):number;reduceRight(callbackfn:(previousValue:U,currentValue:number,currentIndex:number,array:this)=>U,initialValue:U):U;reverse():this;set(array:ArrayLike,offset?:number):void;slice(start?:number,end?:number):Float32Array;some(predicate:(value:number,index:number,array:this)=>unknown,thisArg?:any):boolean;sort(compareFn?:(a:number,b:number)=>number):this;subarray(begin?:number,end?:number):Float32Array;toLocaleString():string;toString():string;valueOf():this;[index:number]:number;}interface Float32ArrayConstructor{readonly prototype:Float32Array;new(length:number):Float32Array;new(array:ArrayLike):Float32Array;new(buffer:TArrayBuffer,byteOffset?:number,length?:number):Float32Array;new(buffer:ArrayBuffer,byteOffset?:number,length?:number):Float32Array;new(array:ArrayLike|ArrayBuffer):Float32Array;readonly BYTES_PER_ELEMENT:number;of(...items:number[]):Float32Array;from(arrayLike:ArrayLike):Float32Array;from(arrayLike:ArrayLike,mapfn:(v:T,k:number)=>number,thisArg?:any):Float32Array;}declare var Float32Array:Float32ArrayConstructor;interface Float64Array{readonly BYTES_PER_ELEMENT:number;readonly buffer:TArrayBuffer;readonly byteLength:number;readonly byteOffset:number;copyWithin(target:number,start:number,end?:number):this;every(predicate:(value:number,index:number,array:this)=>unknown,thisArg?:any):boolean;fill(value:number,start?:number,end?:number):this;filter(predicate:(value:number,index:number,array:this)=>any,thisArg?:any):Float64Array;find(predicate:(value:number,index:number,obj:this)=>boolean,thisArg?:any):number|undefined;findIndex(predicate:(value:number,index:number,obj:this)=>boolean,thisArg?:any):number;forEach(callbackfn:(value:number,index:number,array:this)=>void,thisArg?:any):void;indexOf(searchElement:number,fromIndex?:number):number;join(separator?:string):string;lastIndexOf(searchElement:number,fromIndex?:number):number;readonly length:number;map(callbackfn:(value:number,index:number,array:this)=>number,thisArg?:any):Float64Array;reduce(callbackfn:(previousValue:number,currentValue:number,currentIndex:number,array:this)=>number):number;reduce(callbackfn:(previousValue:number,currentValue:number,currentIndex:number,array:this)=>number,initialValue:number):number;reduce(callbackfn:(previousValue:U,currentValue:number,currentIndex:number,array:this)=>U,initialValue:U):U;reduceRight(callbackfn:(previousValue:number,currentValue:number,currentIndex:number,array:this)=>number):number;reduceRight(callbackfn:(previousValue:number,currentValue:number,currentIndex:number,array:this)=>number,initialValue:number):number;reduceRight(callbackfn:(previousValue:U,currentValue:number,currentIndex:number,array:this)=>U,initialValue:U):U;reverse():this;set(array:ArrayLike,offset?:number):void;slice(start?:number,end?:number):Float64Array;some(predicate:(value:number,index:number,array:this)=>unknown,thisArg?:any):boolean;sort(compareFn?:(a:number,b:number)=>number):this;subarray(begin?:number,end?:number):Float64Array;toLocaleString():string;toString():string;valueOf():this;[index:number]:number;}interface Float64ArrayConstructor{readonly prototype:Float64Array;new(length:number):Float64Array;new(array:ArrayLike):Float64Array;new(buffer:TArrayBuffer,byteOffset?:number,length?:number):Float64Array;new(buffer:ArrayBuffer,byteOffset?:number,length?:number):Float64Array;new(array:ArrayLike|ArrayBuffer):Float64Array;readonly BYTES_PER_ELEMENT:number;of(...items:number[]):Float64Array;from(arrayLike:ArrayLike):Float64Array;from(arrayLike:ArrayLike,mapfn:(v:T,k:number)=>number,thisArg?:any):Float64Array;}declare var Float64Array:Float64ArrayConstructor;declare namespace Intl{interface CollatorOptions{usage?:\"sort\"|\"search\"|undefined;localeMatcher?:\"lookup\"|\"best fit\"|undefined;numeric?:boolean|undefined;caseFirst?:\"upper\"|\"lower\"|\"false\"|undefined;sensitivity?:\"base\"|\"accent\"|\"case\"|\"variant\"|undefined;collation?:\"big5han\"|\"compat\"|\"dict\"|\"direct\"|\"ducet\"|\"emoji\"|\"eor\"|\"gb2312\"|\"phonebk\"|\"phonetic\"|\"pinyin\"|\"reformed\"|\"searchjl\"|\"stroke\"|\"trad\"|\"unihan\"|\"zhuyin\"|undefined;ignorePunctuation?:boolean|undefined;}interface ResolvedCollatorOptions{locale:string;usage:string;sensitivity:string;ignorePunctuation:boolean;collation:string;caseFirst:string;numeric:boolean;}interface Collator{compare(x:string,y:string):number;resolvedOptions():ResolvedCollatorOptions;}interface CollatorConstructor{new(locales?:string|string[],options?:CollatorOptions):Collator;(locales?:string|string[],options?:CollatorOptions):Collator;supportedLocalesOf(locales:string|string[],options?:CollatorOptions):string[];}var Collator:CollatorConstructor;interface NumberFormatOptionsStyleRegistry{decimal:never;percent:never;currency:never;}type NumberFormatOptionsStyle=keyof NumberFormatOptionsStyleRegistry;interface NumberFormatOptionsCurrencyDisplayRegistry{code:never;symbol:never;name:never;}type NumberFormatOptionsCurrencyDisplay=keyof NumberFormatOptionsCurrencyDisplayRegistry;interface NumberFormatOptionsUseGroupingRegistry{}type NumberFormatOptionsUseGrouping={}extends NumberFormatOptionsUseGroupingRegistry?boolean:keyof NumberFormatOptionsUseGroupingRegistry|\"true\"|\"false\"|boolean;type ResolvedNumberFormatOptionsUseGrouping={}extends NumberFormatOptionsUseGroupingRegistry?boolean:keyof NumberFormatOptionsUseGroupingRegistry|false;interface NumberFormatOptions{localeMatcher?:\"lookup\"|\"best fit\"|undefined;style?:NumberFormatOptionsStyle|undefined;currency?:string|undefined;currencyDisplay?:NumberFormatOptionsCurrencyDisplay|undefined;useGrouping?:NumberFormatOptionsUseGrouping|undefined;minimumIntegerDigits?:number|undefined;minimumFractionDigits?:number|undefined;maximumFractionDigits?:number|undefined;minimumSignificantDigits?:number|undefined;maximumSignificantDigits?:number|undefined;}interface ResolvedNumberFormatOptions{locale:string;numberingSystem:string;style:NumberFormatOptionsStyle;currency?:string;currencyDisplay?:NumberFormatOptionsCurrencyDisplay;minimumIntegerDigits:number;minimumFractionDigits?:number;maximumFractionDigits?:number;minimumSignificantDigits?:number;maximumSignificantDigits?:number;useGrouping:ResolvedNumberFormatOptionsUseGrouping;}interface NumberFormat{format(value:number):string;resolvedOptions():ResolvedNumberFormatOptions;}interface NumberFormatConstructor{new(locales?:string|string[],options?:NumberFormatOptions):NumberFormat;(locales?:string|string[],options?:NumberFormatOptions):NumberFormat;supportedLocalesOf(locales:string|string[],options?:NumberFormatOptions):string[];readonly prototype:NumberFormat;}var NumberFormat:NumberFormatConstructor;interface DateTimeFormatOptions{localeMatcher?:\"best fit\"|\"lookup\"|undefined;weekday?:\"long\"|\"short\"|\"narrow\"|undefined;era?:\"long\"|\"short\"|\"narrow\"|undefined;year?:\"numeric\"|\"2-digit\"|undefined;month?:\"numeric\"|\"2-digit\"|\"long\"|\"short\"|\"narrow\"|undefined;day?:\"numeric\"|\"2-digit\"|undefined;hour?:\"numeric\"|\"2-digit\"|undefined;minute?:\"numeric\"|\"2-digit\"|undefined;second?:\"numeric\"|\"2-digit\"|undefined;timeZoneName?:\"short\"|\"long\"|\"shortOffset\"|\"longOffset\"|\"shortGeneric\"|\"longGeneric\"|undefined;formatMatcher?:\"best fit\"|\"basic\"|undefined;hour12?:boolean|undefined;timeZone?:string|undefined;}interface ResolvedDateTimeFormatOptions{locale:string;calendar:string;numberingSystem:string;timeZone:string;hour12?:boolean;weekday?:string;era?:string;year?:string;month?:string;day?:string;hour?:string;minute?:string;second?:string;timeZoneName?:string;}interface DateTimeFormat{format(date?:Date|number):string;resolvedOptions():ResolvedDateTimeFormatOptions;}interface DateTimeFormatConstructor{new(locales?:string|string[],options?:DateTimeFormatOptions):DateTimeFormat;(locales?:string|string[],options?:DateTimeFormatOptions):DateTimeFormat;supportedLocalesOf(locales:string|string[],options?:DateTimeFormatOptions):string[];readonly prototype:DateTimeFormat;}var DateTimeFormat:DateTimeFormatConstructor;}interface String{localeCompare(that:string,locales?:string|string[],options?:Intl.CollatorOptions):number;}interface Number{toLocaleString(locales?:string|string[],options?:Intl.NumberFormatOptions):string;}interface Date{toLocaleString(locales?:string|string[],options?:Intl.DateTimeFormatOptions):string;toLocaleDateString(locales?:string|string[],options?:Intl.DateTimeFormatOptions):string;toLocaleTimeString(locales?:string|string[],options?:Intl.DateTimeFormatOptions):string;}" }, { fileName: "lib.es2024.string.d.ts", text: "/// \ninterface String{isWellFormed():boolean;toWellFormed():string;}" }, { fileName: "lib.es2020.symbol.wellknown.d.ts", text: "/// \n/// \n/// \ninterface SymbolConstructor{readonly matchAll:unique symbol;}interface RegExpStringIteratorextends IteratorObject{[Symbol.iterator]():RegExpStringIterator;}interface RegExp{[Symbol.matchAll](str:string):RegExpStringIterator;}" }, { fileName: "lib.es2024.regexp.d.ts", text: "/// \ninterface RegExp{readonly unicodeSets:boolean;}" }, { fileName: "lib.es2020.intl.d.ts", text: "/// \n/// \ndeclare namespace Intl{type UnicodeBCP47LocaleIdentifier=string;type RelativeTimeFormatUnit=|\"year\"|\"years\"|\"quarter\"|\"quarters\"|\"month\"|\"months\"|\"week\"|\"weeks\"|\"day\"|\"days\"|\"hour\"|\"hours\"|\"minute\"|\"minutes\"|\"second\"|\"seconds\";type RelativeTimeFormatUnitSingular=|\"year\"|\"quarter\"|\"month\"|\"week\"|\"day\"|\"hour\"|\"minute\"|\"second\";type RelativeTimeFormatLocaleMatcher=\"lookup\"|\"best fit\";type RelativeTimeFormatNumeric=\"always\"|\"auto\";type RelativeTimeFormatStyle=\"long\"|\"short\"|\"narrow\";type LocalesArgument=UnicodeBCP47LocaleIdentifier|Locale|readonly(UnicodeBCP47LocaleIdentifier|Locale)[]|undefined;interface RelativeTimeFormatOptions{localeMatcher?:RelativeTimeFormatLocaleMatcher;numeric?:RelativeTimeFormatNumeric;style?:RelativeTimeFormatStyle;}interface ResolvedRelativeTimeFormatOptions{locale:UnicodeBCP47LocaleIdentifier;style:RelativeTimeFormatStyle;numeric:RelativeTimeFormatNumeric;numberingSystem:string;}type RelativeTimeFormatPart=|{type:\"literal\";value:string;}|{type:Exclude;value:string;unit:RelativeTimeFormatUnitSingular;};interface RelativeTimeFormat{format(value:number,unit:RelativeTimeFormatUnit):string;formatToParts(value:number,unit:RelativeTimeFormatUnit):RelativeTimeFormatPart[];resolvedOptions():ResolvedRelativeTimeFormatOptions;}const RelativeTimeFormat:{new(locales?:LocalesArgument,options?:RelativeTimeFormatOptions,):RelativeTimeFormat;supportedLocalesOf(locales?:LocalesArgument,options?:RelativeTimeFormatOptions,):UnicodeBCP47LocaleIdentifier[];};interface NumberFormatOptionsStyleRegistry{unit:never;}interface NumberFormatOptionsCurrencyDisplayRegistry{narrowSymbol:never;}interface NumberFormatOptionsSignDisplayRegistry{auto:never;never:never;always:never;exceptZero:never;}type NumberFormatOptionsSignDisplay=keyof NumberFormatOptionsSignDisplayRegistry;interface NumberFormatOptions{numberingSystem?:string|undefined;compactDisplay?:\"short\"|\"long\"|undefined;notation?:\"standard\"|\"scientific\"|\"engineering\"|\"compact\"|undefined;signDisplay?:NumberFormatOptionsSignDisplay|undefined;unit?:string|undefined;unitDisplay?:\"short\"|\"long\"|\"narrow\"|undefined;currencySign?:\"standard\"|\"accounting\"|undefined;}interface ResolvedNumberFormatOptions{compactDisplay?:\"short\"|\"long\";notation:\"standard\"|\"scientific\"|\"engineering\"|\"compact\";signDisplay:NumberFormatOptionsSignDisplay;unit?:string;unitDisplay?:\"short\"|\"long\"|\"narrow\";currencySign?:\"standard\"|\"accounting\";}interface NumberFormatPartTypeRegistry{compact:never;exponentInteger:never;exponentMinusSign:never;exponentSeparator:never;unit:never;unknown:never;}interface DateTimeFormatOptions{calendar?:string|undefined;dayPeriod?:\"narrow\"|\"short\"|\"long\"|undefined;numberingSystem?:string|undefined;dateStyle?:\"full\"|\"long\"|\"medium\"|\"short\"|undefined;timeStyle?:\"full\"|\"long\"|\"medium\"|\"short\"|undefined;hourCycle?:\"h11\"|\"h12\"|\"h23\"|\"h24\"|undefined;}type LocaleHourCycleKey=\"h12\"|\"h23\"|\"h11\"|\"h24\";type LocaleCollationCaseFirst=\"upper\"|\"lower\"|\"false\";interface LocaleOptions{baseName?:string;calendar?:string;caseFirst?:LocaleCollationCaseFirst;collation?:string;hourCycle?:LocaleHourCycleKey;language?:string;numberingSystem?:string;numeric?:boolean;region?:string;script?:string;}interface Locale extends LocaleOptions{baseName:string;language:string;maximize():Locale;minimize():Locale;toString():UnicodeBCP47LocaleIdentifier;}const Locale:{new(tag:UnicodeBCP47LocaleIdentifier|Locale,options?:LocaleOptions):Locale;};type DisplayNamesFallback=|\"code\"|\"none\";type DisplayNamesType=|\"language\"|\"region\"|\"script\"|\"calendar\"|\"dateTimeField\"|\"currency\";type DisplayNamesLanguageDisplay=|\"dialect\"|\"standard\";interface DisplayNamesOptions{localeMatcher?:RelativeTimeFormatLocaleMatcher;style?:RelativeTimeFormatStyle;type:DisplayNamesType;languageDisplay?:DisplayNamesLanguageDisplay;fallback?:DisplayNamesFallback;}interface ResolvedDisplayNamesOptions{locale:UnicodeBCP47LocaleIdentifier;style:RelativeTimeFormatStyle;type:DisplayNamesType;fallback:DisplayNamesFallback;languageDisplay?:DisplayNamesLanguageDisplay;}interface DisplayNames{of(code:string):string|undefined;resolvedOptions():ResolvedDisplayNamesOptions;}const DisplayNames:{prototype:DisplayNames;new(locales:LocalesArgument,options:DisplayNamesOptions):DisplayNames;supportedLocalesOf(locales?:LocalesArgument,options?:{localeMatcher?:RelativeTimeFormatLocaleMatcher;}):UnicodeBCP47LocaleIdentifier[];};interface CollatorConstructor{new(locales?:LocalesArgument,options?:CollatorOptions):Collator;(locales?:LocalesArgument,options?:CollatorOptions):Collator;supportedLocalesOf(locales:LocalesArgument,options?:CollatorOptions):string[];}interface DateTimeFormatConstructor{new(locales?:LocalesArgument,options?:DateTimeFormatOptions):DateTimeFormat;(locales?:LocalesArgument,options?:DateTimeFormatOptions):DateTimeFormat;supportedLocalesOf(locales:LocalesArgument,options?:DateTimeFormatOptions):string[];}interface NumberFormatConstructor{new(locales?:LocalesArgument,options?:NumberFormatOptions):NumberFormat;(locales?:LocalesArgument,options?:NumberFormatOptions):NumberFormat;supportedLocalesOf(locales:LocalesArgument,options?:NumberFormatOptions):string[];}interface PluralRulesConstructor{new(locales?:LocalesArgument,options?:PluralRulesOptions):PluralRules;(locales?:LocalesArgument,options?:PluralRulesOptions):PluralRules;supportedLocalesOf(locales:LocalesArgument,options?:{localeMatcher?:\"lookup\"|\"best fit\";}):string[];}}" }, { fileName: "lib.es2020.promise.d.ts", text: "/// \ninterface PromiseFulfilledResult{status:\"fulfilled\";value:T;}interface PromiseRejectedResult{status:\"rejected\";reason:any;}type PromiseSettledResult=PromiseFulfilledResult|PromiseRejectedResult;interface PromiseConstructor{allSettled(values:T):Promise<{-readonly[P in keyof T]:PromiseSettledResult>;}>;allSettled(values:Iterable>):Promise>[]>;}" }, { fileName: "lib.es2024.d.ts", text: "/// \n/// \n/// \n/// \n/// \n/// \n/// \n/// \n/// \n" }, { fileName: "lib.es2020.date.d.ts", text: "/// \n/// \ninterface Date{toLocaleString(locales?:Intl.LocalesArgument,options?:Intl.DateTimeFormatOptions):string;toLocaleDateString(locales?:Intl.LocalesArgument,options?:Intl.DateTimeFormatOptions):string;toLocaleTimeString(locales?:Intl.LocalesArgument,options?:Intl.DateTimeFormatOptions):string;}" }, { fileName: "lib.esnext.full.d.ts", text: "/// \n/// \n/// \n/// \n/// \n/// \n/// \n" }, { fileName: "lib.es2020.d.ts", text: "/// \n/// \n/// \n/// \n/// \n/// \n/// \n/// \n/// \n/// \n" }, { fileName: "lib.es2022.intl.d.ts", text: "/// \ndeclare namespace Intl{interface SegmenterOptions{localeMatcher?:\"best fit\"|\"lookup\"|undefined;granularity?:\"grapheme\"|\"word\"|\"sentence\"|undefined;}interface Segmenter{segment(input:string):Segments;resolvedOptions():ResolvedSegmenterOptions;}interface ResolvedSegmenterOptions{locale:string;granularity:\"grapheme\"|\"word\"|\"sentence\";}interface SegmentIteratorextends IteratorObject{[Symbol.iterator]():SegmentIterator;}interface Segments{containing(codeUnitIndex?:number):SegmentData;[Symbol.iterator]():SegmentIterator;}interface SegmentData{segment:string;index:number;input:string;isWordLike?:boolean;}const Segmenter:{prototype:Segmenter;new(locales?:LocalesArgument,options?:SegmenterOptions):Segmenter;supportedLocalesOf(locales:LocalesArgument,options?:Pick):UnicodeBCP47LocaleIdentifier[];};function supportedValuesOf(key:\"calendar\"|\"collation\"|\"currency\"|\"numberingSystem\"|\"timeZone\"|\"unit\"):string[];}" }, { fileName: "lib.es2024.promise.d.ts", text: "/// \ninterface PromiseWithResolvers{promise:Promise;resolve:(value:T|PromiseLike)=>void;reject:(reason?:any)=>void;}interface PromiseConstructor{withResolvers():PromiseWithResolvers;}" }, { fileName: "lib.es2024.collection.d.ts", text: "/// \ninterface MapConstructor{groupBy(items:Iterable,keySelector:(item:T,index:number)=>K,):Map;}" }, { fileName: "lib.es2018.intl.d.ts", text: "/// \ndeclare namespace Intl{type LDMLPluralRule=\"zero\"|\"one\"|\"two\"|\"few\"|\"many\"|\"other\";type PluralRuleType=\"cardinal\"|\"ordinal\";interface PluralRulesOptions{localeMatcher?:\"lookup\"|\"best fit\"|undefined;type?:PluralRuleType|undefined;minimumIntegerDigits?:number|undefined;minimumFractionDigits?:number|undefined;maximumFractionDigits?:number|undefined;minimumSignificantDigits?:number|undefined;maximumSignificantDigits?:number|undefined;}interface ResolvedPluralRulesOptions{locale:string;pluralCategories:LDMLPluralRule[];type:PluralRuleType;minimumIntegerDigits:number;minimumFractionDigits:number;maximumFractionDigits:number;minimumSignificantDigits?:number;maximumSignificantDigits?:number;}interface PluralRules{resolvedOptions():ResolvedPluralRulesOptions;select(n:number):LDMLPluralRule;}interface PluralRulesConstructor{new(locales?:string|readonly string[],options?:PluralRulesOptions):PluralRules;(locales?:string|readonly string[],options?:PluralRulesOptions):PluralRules;supportedLocalesOf(locales:string|readonly string[],options?:{localeMatcher?:\"lookup\"|\"best fit\";}):string[];}const PluralRules:PluralRulesConstructor;interface NumberFormatPartTypeRegistry{literal:never;nan:never;infinity:never;percent:never;integer:never;group:never;decimal:never;fraction:never;plusSign:never;minusSign:never;percentSign:never;currency:never;}type NumberFormatPartTypes=keyof NumberFormatPartTypeRegistry;interface NumberFormatPart{type:NumberFormatPartTypes;value:string;}interface NumberFormat{formatToParts(number?:number|bigint):NumberFormatPart[];}}" }, { fileName: "lib.es2019.intl.d.ts", text: "/// \ndeclare namespace Intl{interface DateTimeFormatPartTypesRegistry{unknown:never;}}" }, { fileName: "lib.dom.iterable.d.ts", text: "/// \ninterface AudioParam{setValueCurveAtTime(values:Iterable,startTime:number,duration:number):AudioParam;}interface AudioParamMap extends ReadonlyMap{}interface BaseAudioContext{createIIRFilter(feedforward:Iterable,feedback:Iterable):IIRFilterNode;createPeriodicWave(real:Iterable,imag:Iterable,constraints?:PeriodicWaveConstraints):PeriodicWave;}interface CSSKeyframesRule{[Symbol.iterator]():ArrayIterator;}interface CSSNumericArray{[Symbol.iterator]():ArrayIterator;entries():ArrayIterator<[number,CSSNumericValue]>;keys():ArrayIterator;values():ArrayIterator;}interface CSSRuleList{[Symbol.iterator]():ArrayIterator;}interface CSSStyleDeclaration{[Symbol.iterator]():ArrayIterator;}interface CSSTransformValue{[Symbol.iterator]():ArrayIterator;entries():ArrayIterator<[number,CSSTransformComponent]>;keys():ArrayIterator;values():ArrayIterator;}interface CSSUnparsedValue{[Symbol.iterator]():ArrayIterator;entries():ArrayIterator<[number,CSSUnparsedSegment]>;keys():ArrayIterator;values():ArrayIterator;}interface Cache{addAll(requests:Iterable):Promise;}interface CanvasPath{roundRect(x:number,y:number,w:number,h:number,radii?:number|DOMPointInit|Iterable):void;}interface CanvasPathDrawingStyles{setLineDash(segments:Iterable):void;}interface CustomStateSet extends Set{}interface DOMRectList{[Symbol.iterator]():ArrayIterator;}interface DOMStringList{[Symbol.iterator]():ArrayIterator;}interface DOMTokenList{[Symbol.iterator]():ArrayIterator;entries():ArrayIterator<[number,string]>;keys():ArrayIterator;values():ArrayIterator;}interface DataTransferItemList{[Symbol.iterator]():ArrayIterator;}interface EventCounts extends ReadonlyMap{}interface FileList{[Symbol.iterator]():ArrayIterator;}interface FontFaceSet extends Set{}interface FormDataIteratorextends IteratorObject{[Symbol.iterator]():FormDataIterator;}interface FormData{[Symbol.iterator]():FormDataIterator<[string,FormDataEntryValue]>;entries():FormDataIterator<[string,FormDataEntryValue]>;keys():FormDataIterator;values():FormDataIterator;}interface HTMLAllCollection{[Symbol.iterator]():ArrayIterator;}interface HTMLCollectionBase{[Symbol.iterator]():ArrayIterator;}interface HTMLCollectionOf{[Symbol.iterator]():ArrayIterator;}interface HTMLFormElement{[Symbol.iterator]():ArrayIterator;}interface HTMLSelectElement{[Symbol.iterator]():ArrayIterator;}interface HeadersIteratorextends IteratorObject{[Symbol.iterator]():HeadersIterator;}interface Headers{[Symbol.iterator]():HeadersIterator<[string,string]>;entries():HeadersIterator<[string,string]>;keys():HeadersIterator;values():HeadersIterator;}interface Highlight extends Set{}interface HighlightRegistry extends Map{}interface IDBDatabase{transaction(storeNames:string|Iterable,mode?:IDBTransactionMode,options?:IDBTransactionOptions):IDBTransaction;}interface IDBObjectStore{createIndex(name:string,keyPath:string|Iterable,options?:IDBIndexParameters):IDBIndex;}interface ImageTrackList{[Symbol.iterator]():ArrayIterator;}interface MIDIInputMap extends ReadonlyMap{}interface MIDIOutput{send(data:Iterable,timestamp?:DOMHighResTimeStamp):void;}interface MIDIOutputMap extends ReadonlyMap{}interface MediaKeyStatusMapIteratorextends IteratorObject{[Symbol.iterator]():MediaKeyStatusMapIterator;}interface MediaKeyStatusMap{[Symbol.iterator]():MediaKeyStatusMapIterator<[BufferSource,MediaKeyStatus]>;entries():MediaKeyStatusMapIterator<[BufferSource,MediaKeyStatus]>;keys():MediaKeyStatusMapIterator;values():MediaKeyStatusMapIterator;}interface MediaList{[Symbol.iterator]():ArrayIterator;}interface MessageEvent{initMessageEvent(type:string,bubbles?:boolean,cancelable?:boolean,data?:any,origin?:string,lastEventId?:string,source?:MessageEventSource|null,ports?:Iterable):void;}interface MimeTypeArray{[Symbol.iterator]():ArrayIterator;}interface NamedNodeMap{[Symbol.iterator]():ArrayIterator;}interface Navigator{requestMediaKeySystemAccess(keySystem:string,supportedConfigurations:Iterable):Promise;vibrate(pattern:Iterable):boolean;}interface NodeList{[Symbol.iterator]():ArrayIterator;entries():ArrayIterator<[number,Node]>;keys():ArrayIterator;values():ArrayIterator;}interface NodeListOf{[Symbol.iterator]():ArrayIterator;entries():ArrayIterator<[number,TNode]>;keys():ArrayIterator;values():ArrayIterator;}interface Plugin{[Symbol.iterator]():ArrayIterator;}interface PluginArray{[Symbol.iterator]():ArrayIterator;}interface RTCRtpTransceiver{setCodecPreferences(codecs:Iterable):void;}interface RTCStatsReport extends ReadonlyMap{}interface SVGLengthList{[Symbol.iterator]():ArrayIterator;}interface SVGNumberList{[Symbol.iterator]():ArrayIterator;}interface SVGPointList{[Symbol.iterator]():ArrayIterator;}interface SVGStringList{[Symbol.iterator]():ArrayIterator;}interface SVGTransformList{[Symbol.iterator]():ArrayIterator;}interface SourceBufferList{[Symbol.iterator]():ArrayIterator;}interface SpeechRecognitionResult{[Symbol.iterator]():ArrayIterator;}interface SpeechRecognitionResultList{[Symbol.iterator]():ArrayIterator;}interface StylePropertyMapReadOnlyIteratorextends IteratorObject{[Symbol.iterator]():StylePropertyMapReadOnlyIterator;}interface StylePropertyMapReadOnly{[Symbol.iterator]():StylePropertyMapReadOnlyIterator<[string,Iterable]>;entries():StylePropertyMapReadOnlyIterator<[string,Iterable]>;keys():StylePropertyMapReadOnlyIterator;values():StylePropertyMapReadOnlyIterator>;}interface StyleSheetList{[Symbol.iterator]():ArrayIterator;}interface SubtleCrypto{deriveKey(algorithm:AlgorithmIdentifier|EcdhKeyDeriveParams|HkdfParams|Pbkdf2Params,baseKey:CryptoKey,derivedKeyType:AlgorithmIdentifier|AesDerivedKeyParams|HmacImportParams|HkdfParams|Pbkdf2Params,extractable:boolean,keyUsages:Iterable):Promise;generateKey(algorithm:\"Ed25519\"|{name:\"Ed25519\"},extractable:boolean,keyUsages:ReadonlyArray<\"sign\"|\"verify\">):Promise;generateKey(algorithm:RsaHashedKeyGenParams|EcKeyGenParams,extractable:boolean,keyUsages:ReadonlyArray):Promise;generateKey(algorithm:AesKeyGenParams|HmacKeyGenParams|Pbkdf2Params,extractable:boolean,keyUsages:ReadonlyArray):Promise;generateKey(algorithm:AlgorithmIdentifier,extractable:boolean,keyUsages:Iterable):Promise;importKey(format:\"jwk\",keyData:JsonWebKey,algorithm:AlgorithmIdentifier|RsaHashedImportParams|EcKeyImportParams|HmacImportParams|AesKeyAlgorithm,extractable:boolean,keyUsages:ReadonlyArray):Promise;importKey(format:Exclude,keyData:BufferSource,algorithm:AlgorithmIdentifier|RsaHashedImportParams|EcKeyImportParams|HmacImportParams|AesKeyAlgorithm,extractable:boolean,keyUsages:Iterable):Promise;unwrapKey(format:KeyFormat,wrappedKey:BufferSource,unwrappingKey:CryptoKey,unwrapAlgorithm:AlgorithmIdentifier|RsaOaepParams|AesCtrParams|AesCbcParams|AesGcmParams,unwrappedKeyAlgorithm:AlgorithmIdentifier|RsaHashedImportParams|EcKeyImportParams|HmacImportParams|AesKeyAlgorithm,extractable:boolean,keyUsages:Iterable):Promise;}interface TextTrackCueList{[Symbol.iterator]():ArrayIterator;}interface TextTrackList{[Symbol.iterator]():ArrayIterator;}interface TouchList{[Symbol.iterator]():ArrayIterator;}interface URLSearchParamsIteratorextends IteratorObject{[Symbol.iterator]():URLSearchParamsIterator;}interface URLSearchParams{[Symbol.iterator]():URLSearchParamsIterator<[string,string]>;entries():URLSearchParamsIterator<[string,string]>;keys():URLSearchParamsIterator;values():URLSearchParamsIterator;}interface ViewTransitionTypeSet extends Set{}interface WEBGL_draw_buffers{drawBuffersWEBGL(buffers:Iterable):void;}interface WEBGL_multi_draw{multiDrawArraysInstancedWEBGL(mode:GLenum,firstsList:Int32Array|Iterable,firstsOffset:number,countsList:Int32Array|Iterable,countsOffset:number,instanceCountsList:Int32Array|Iterable,instanceCountsOffset:number,drawcount:GLsizei):void;multiDrawArraysWEBGL(mode:GLenum,firstsList:Int32Array|Iterable,firstsOffset:number,countsList:Int32Array|Iterable,countsOffset:number,drawcount:GLsizei):void;multiDrawElementsInstancedWEBGL(mode:GLenum,countsList:Int32Array|Iterable,countsOffset:number,type:GLenum,offsetsList:Int32Array|Iterable,offsetsOffset:number,instanceCountsList:Int32Array|Iterable,instanceCountsOffset:number,drawcount:GLsizei):void;multiDrawElementsWEBGL(mode:GLenum,countsList:Int32Array|Iterable,countsOffset:number,type:GLenum,offsetsList:Int32Array|Iterable,offsetsOffset:number,drawcount:GLsizei):void;}interface WebGL2RenderingContextBase{clearBufferfv(buffer:GLenum,drawbuffer:GLint,values:Iterable,srcOffset?:number):void;clearBufferiv(buffer:GLenum,drawbuffer:GLint,values:Iterable,srcOffset?:number):void;clearBufferuiv(buffer:GLenum,drawbuffer:GLint,values:Iterable,srcOffset?:number):void;drawBuffers(buffers:Iterable):void;getActiveUniforms(program:WebGLProgram,uniformIndices:Iterable,pname:GLenum):any;getUniformIndices(program:WebGLProgram,uniformNames:Iterable):Iterable|null;invalidateFramebuffer(target:GLenum,attachments:Iterable):void;invalidateSubFramebuffer(target:GLenum,attachments:Iterable,x:GLint,y:GLint,width:GLsizei,height:GLsizei):void;transformFeedbackVaryings(program:WebGLProgram,varyings:Iterable,bufferMode:GLenum):void;uniform1uiv(location:WebGLUniformLocation|null,data:Iterable,srcOffset?:number,srcLength?:GLuint):void;uniform2uiv(location:WebGLUniformLocation|null,data:Iterable,srcOffset?:number,srcLength?:GLuint):void;uniform3uiv(location:WebGLUniformLocation|null,data:Iterable,srcOffset?:number,srcLength?:GLuint):void;uniform4uiv(location:WebGLUniformLocation|null,data:Iterable,srcOffset?:number,srcLength?:GLuint):void;uniformMatrix2x3fv(location:WebGLUniformLocation|null,transpose:GLboolean,data:Iterable,srcOffset?:number,srcLength?:GLuint):void;uniformMatrix2x4fv(location:WebGLUniformLocation|null,transpose:GLboolean,data:Iterable,srcOffset?:number,srcLength?:GLuint):void;uniformMatrix3x2fv(location:WebGLUniformLocation|null,transpose:GLboolean,data:Iterable,srcOffset?:number,srcLength?:GLuint):void;uniformMatrix3x4fv(location:WebGLUniformLocation|null,transpose:GLboolean,data:Iterable,srcOffset?:number,srcLength?:GLuint):void;uniformMatrix4x2fv(location:WebGLUniformLocation|null,transpose:GLboolean,data:Iterable,srcOffset?:number,srcLength?:GLuint):void;uniformMatrix4x3fv(location:WebGLUniformLocation|null,transpose:GLboolean,data:Iterable,srcOffset?:number,srcLength?:GLuint):void;vertexAttribI4iv(index:GLuint,values:Iterable):void;vertexAttribI4uiv(index:GLuint,values:Iterable):void;}interface WebGL2RenderingContextOverloads{uniform1fv(location:WebGLUniformLocation|null,data:Iterable,srcOffset?:number,srcLength?:GLuint):void;uniform1iv(location:WebGLUniformLocation|null,data:Iterable,srcOffset?:number,srcLength?:GLuint):void;uniform2fv(location:WebGLUniformLocation|null,data:Iterable,srcOffset?:number,srcLength?:GLuint):void;uniform2iv(location:WebGLUniformLocation|null,data:Iterable,srcOffset?:number,srcLength?:GLuint):void;uniform3fv(location:WebGLUniformLocation|null,data:Iterable,srcOffset?:number,srcLength?:GLuint):void;uniform3iv(location:WebGLUniformLocation|null,data:Iterable,srcOffset?:number,srcLength?:GLuint):void;uniform4fv(location:WebGLUniformLocation|null,data:Iterable,srcOffset?:number,srcLength?:GLuint):void;uniform4iv(location:WebGLUniformLocation|null,data:Iterable,srcOffset?:number,srcLength?:GLuint):void;uniformMatrix2fv(location:WebGLUniformLocation|null,transpose:GLboolean,data:Iterable,srcOffset?:number,srcLength?:GLuint):void;uniformMatrix3fv(location:WebGLUniformLocation|null,transpose:GLboolean,data:Iterable,srcOffset?:number,srcLength?:GLuint):void;uniformMatrix4fv(location:WebGLUniformLocation|null,transpose:GLboolean,data:Iterable,srcOffset?:number,srcLength?:GLuint):void;}interface WebGLRenderingContextBase{vertexAttrib1fv(index:GLuint,values:Iterable):void;vertexAttrib2fv(index:GLuint,values:Iterable):void;vertexAttrib3fv(index:GLuint,values:Iterable):void;vertexAttrib4fv(index:GLuint,values:Iterable):void;}interface WebGLRenderingContextOverloads{uniform1fv(location:WebGLUniformLocation|null,v:Iterable):void;uniform1iv(location:WebGLUniformLocation|null,v:Iterable):void;uniform2fv(location:WebGLUniformLocation|null,v:Iterable):void;uniform2iv(location:WebGLUniformLocation|null,v:Iterable):void;uniform3fv(location:WebGLUniformLocation|null,v:Iterable):void;uniform3iv(location:WebGLUniformLocation|null,v:Iterable):void;uniform4fv(location:WebGLUniformLocation|null,v:Iterable):void;uniform4iv(location:WebGLUniformLocation|null,v:Iterable):void;uniformMatrix2fv(location:WebGLUniformLocation|null,transpose:GLboolean,value:Iterable):void;uniformMatrix3fv(location:WebGLUniformLocation|null,transpose:GLboolean,value:Iterable):void;uniformMatrix4fv(location:WebGLUniformLocation|null,transpose:GLboolean,value:Iterable):void;}" }, { fileName: "lib.es2018.full.d.ts", text: "/// \n/// \n/// \n/// \n/// \n/// \n/// \n" }, { fileName: "lib.es2019.full.d.ts", text: "/// \n/// \n/// \n/// \n/// \n/// \n/// \n" }, { fileName: "lib.es2017.full.d.ts", text: "/// \n/// \n/// \n/// \n/// \n/// \n" }, { fileName: "lib.esnext.collection.d.ts", text: "/// \n/// \ninterface ReadonlySetLike{keys():Iterator;has(value:T):boolean;readonly size:number;}interface Set{union(other:ReadonlySetLike):Set;intersection(other:ReadonlySetLike):Set;difference(other:ReadonlySetLike):Set;symmetricDifference(other:ReadonlySetLike):Set;isSubsetOf(other:ReadonlySetLike):boolean;isSupersetOf(other:ReadonlySetLike):boolean;isDisjointFrom(other:ReadonlySetLike):boolean;}interface ReadonlySet{union(other:ReadonlySetLike):Set;intersection(other:ReadonlySetLike):Set;difference(other:ReadonlySetLike):Set;symmetricDifference(other:ReadonlySetLike):Set;isSubsetOf(other:ReadonlySetLike):boolean;isSupersetOf(other:ReadonlySetLike):boolean;isDisjointFrom(other:ReadonlySetLike):boolean;}" }, { fileName: "lib.es2023.full.d.ts", text: "/// \n/// \n/// \n/// \n/// \n/// \n/// \n" }, { fileName: "lib.es2017.d.ts", text: "/// \n/// \n/// \n/// \n/// \n/// \n/// \n/// \n/// \n" }, { fileName: "lib.es2016.d.ts", text: "/// \n/// \n/// \n/// \n" }, { fileName: "lib.webworker.d.ts", text: "/// \ninterface AddEventListenerOptions extends EventListenerOptions{once?:boolean;passive?:boolean;signal?:AbortSignal;}interface AesCbcParams extends Algorithm{iv:BufferSource;}interface AesCtrParams extends Algorithm{counter:BufferSource;length:number;}interface AesDerivedKeyParams extends Algorithm{length:number;}interface AesGcmParams extends Algorithm{additionalData?:BufferSource;iv:BufferSource;tagLength?:number;}interface AesKeyAlgorithm extends KeyAlgorithm{length:number;}interface AesKeyGenParams extends Algorithm{length:number;}interface Algorithm{name:string;}interface AudioConfiguration{bitrate?:number;channels?:string;contentType:string;samplerate?:number;spatialRendering?:boolean;}interface AudioDataCopyToOptions{format?:AudioSampleFormat;frameCount?:number;frameOffset?:number;planeIndex:number;}interface AudioDataInit{data:BufferSource;format:AudioSampleFormat;numberOfChannels:number;numberOfFrames:number;sampleRate:number;timestamp:number;transfer?:ArrayBuffer[];}interface AudioDecoderConfig{codec:string;description?:BufferSource;numberOfChannels:number;sampleRate:number;}interface AudioDecoderInit{error:WebCodecsErrorCallback;output:AudioDataOutputCallback;}interface AudioDecoderSupport{config?:AudioDecoderConfig;supported?:boolean;}interface AudioEncoderConfig{bitrate?:number;bitrateMode?:BitrateMode;codec:string;numberOfChannels:number;opus?:OpusEncoderConfig;sampleRate:number;}interface AudioEncoderInit{error:WebCodecsErrorCallback;output:EncodedAudioChunkOutputCallback;}interface AudioEncoderSupport{config?:AudioEncoderConfig;supported?:boolean;}interface AvcEncoderConfig{format?:AvcBitstreamFormat;}interface BlobPropertyBag{endings?:EndingType;type?:string;}interface CSSMatrixComponentOptions{is2D?:boolean;}interface CSSNumericType{angle?:number;flex?:number;frequency?:number;length?:number;percent?:number;percentHint?:CSSNumericBaseType;resolution?:number;time?:number;}interface CacheQueryOptions{ignoreMethod?:boolean;ignoreSearch?:boolean;ignoreVary?:boolean;}interface ClientQueryOptions{includeUncontrolled?:boolean;type?:ClientTypes;}interface CloseEventInit extends EventInit{code?:number;reason?:string;wasClean?:boolean;}interface CryptoKeyPair{privateKey:CryptoKey;publicKey:CryptoKey;}interface CustomEventInitextends EventInit{detail?:T;}interface DOMMatrix2DInit{a?:number;b?:number;c?:number;d?:number;e?:number;f?:number;m11?:number;m12?:number;m21?:number;m22?:number;m41?:number;m42?:number;}interface DOMMatrixInit extends DOMMatrix2DInit{is2D?:boolean;m13?:number;m14?:number;m23?:number;m24?:number;m31?:number;m32?:number;m33?:number;m34?:number;m43?:number;m44?:number;}interface DOMPointInit{w?:number;x?:number;y?:number;z?:number;}interface DOMQuadInit{p1?:DOMPointInit;p2?:DOMPointInit;p3?:DOMPointInit;p4?:DOMPointInit;}interface DOMRectInit{height?:number;width?:number;x?:number;y?:number;}interface EcKeyGenParams extends Algorithm{namedCurve:NamedCurve;}interface EcKeyImportParams extends Algorithm{namedCurve:NamedCurve;}interface EcdhKeyDeriveParams extends Algorithm{public:CryptoKey;}interface EcdsaParams extends Algorithm{hash:HashAlgorithmIdentifier;}interface EncodedAudioChunkInit{data:AllowSharedBufferSource;duration?:number;timestamp:number;transfer?:ArrayBuffer[];type:EncodedAudioChunkType;}interface EncodedAudioChunkMetadata{decoderConfig?:AudioDecoderConfig;}interface EncodedVideoChunkInit{data:AllowSharedBufferSource;duration?:number;timestamp:number;type:EncodedVideoChunkType;}interface EncodedVideoChunkMetadata{decoderConfig?:VideoDecoderConfig;}interface ErrorEventInit extends EventInit{colno?:number;error?:any;filename?:string;lineno?:number;message?:string;}interface EventInit{bubbles?:boolean;cancelable?:boolean;composed?:boolean;}interface EventListenerOptions{capture?:boolean;}interface EventSourceInit{withCredentials?:boolean;}interface ExtendableEventInit extends EventInit{}interface ExtendableMessageEventInit extends ExtendableEventInit{data?:any;lastEventId?:string;origin?:string;ports?:MessagePort[];source?:Client|ServiceWorker|MessagePort|null;}interface FetchEventInit extends ExtendableEventInit{clientId?:string;handled?:Promise;preloadResponse?:Promise;replacesClientId?:string;request:Request;resultingClientId?:string;}interface FilePropertyBag extends BlobPropertyBag{lastModified?:number;}interface FileSystemCreateWritableOptions{keepExistingData?:boolean;}interface FileSystemGetDirectoryOptions{create?:boolean;}interface FileSystemGetFileOptions{create?:boolean;}interface FileSystemReadWriteOptions{at?:number;}interface FileSystemRemoveOptions{recursive?:boolean;}interface FontFaceDescriptors{ascentOverride?:string;descentOverride?:string;display?:FontDisplay;featureSettings?:string;lineGapOverride?:string;stretch?:string;style?:string;unicodeRange?:string;weight?:string;}interface FontFaceSetLoadEventInit extends EventInit{fontfaces?:FontFace[];}interface GetNotificationOptions{tag?:string;}interface HkdfParams extends Algorithm{hash:HashAlgorithmIdentifier;info:BufferSource;salt:BufferSource;}interface HmacImportParams extends Algorithm{hash:HashAlgorithmIdentifier;length?:number;}interface HmacKeyGenParams extends Algorithm{hash:HashAlgorithmIdentifier;length?:number;}interface IDBDatabaseInfo{name?:string;version?:number;}interface IDBIndexParameters{multiEntry?:boolean;unique?:boolean;}interface IDBObjectStoreParameters{autoIncrement?:boolean;keyPath?:string|string[]|null;}interface IDBTransactionOptions{durability?:IDBTransactionDurability;}interface IDBVersionChangeEventInit extends EventInit{newVersion?:number|null;oldVersion?:number;}interface ImageBitmapOptions{colorSpaceConversion?:ColorSpaceConversion;imageOrientation?:ImageOrientation;premultiplyAlpha?:PremultiplyAlpha;resizeHeight?:number;resizeQuality?:ResizeQuality;resizeWidth?:number;}interface ImageBitmapRenderingContextSettings{alpha?:boolean;}interface ImageDataSettings{colorSpace?:PredefinedColorSpace;}interface ImageDecodeOptions{completeFramesOnly?:boolean;frameIndex?:number;}interface ImageDecodeResult{complete:boolean;image:VideoFrame;}interface ImageDecoderInit{colorSpaceConversion?:ColorSpaceConversion;data:ImageBufferSource;desiredHeight?:number;desiredWidth?:number;preferAnimation?:boolean;transfer?:ArrayBuffer[];type:string;}interface ImageEncodeOptions{quality?:number;type?:string;}interface JsonWebKey{alg?:string;crv?:string;d?:string;dp?:string;dq?:string;e?:string;ext?:boolean;k?:string;key_ops?:string[];kty?:string;n?:string;oth?:RsaOtherPrimesInfo[];p?:string;q?:string;qi?:string;use?:string;x?:string;y?:string;}interface KeyAlgorithm{name:string;}interface LockInfo{clientId?:string;mode?:LockMode;name?:string;}interface LockManagerSnapshot{held?:LockInfo[];pending?:LockInfo[];}interface LockOptions{ifAvailable?:boolean;mode?:LockMode;signal?:AbortSignal;steal?:boolean;}interface MediaCapabilitiesDecodingInfo extends MediaCapabilitiesInfo{configuration?:MediaDecodingConfiguration;}interface MediaCapabilitiesEncodingInfo extends MediaCapabilitiesInfo{configuration?:MediaEncodingConfiguration;}interface MediaCapabilitiesInfo{powerEfficient:boolean;smooth:boolean;supported:boolean;}interface MediaConfiguration{audio?:AudioConfiguration;video?:VideoConfiguration;}interface MediaDecodingConfiguration extends MediaConfiguration{type:MediaDecodingType;}interface MediaEncodingConfiguration extends MediaConfiguration{type:MediaEncodingType;}interface MediaStreamTrackProcessorInit{maxBufferSize?:number;}interface MessageEventInitextends EventInit{data?:T;lastEventId?:string;origin?:string;ports?:MessagePort[];source?:MessageEventSource|null;}interface MultiCacheQueryOptions extends CacheQueryOptions{cacheName?:string;}interface NavigationPreloadState{enabled?:boolean;headerValue?:string;}interface NotificationEventInit extends ExtendableEventInit{action?:string;notification:Notification;}interface NotificationOptions{badge?:string;body?:string;data?:any;dir?:NotificationDirection;icon?:string;lang?:string;requireInteraction?:boolean;silent?:boolean|null;tag?:string;}interface OpusEncoderConfig{complexity?:number;format?:OpusBitstreamFormat;frameDuration?:number;packetlossperc?:number;usedtx?:boolean;useinbandfec?:boolean;}interface Pbkdf2Params extends Algorithm{hash:HashAlgorithmIdentifier;iterations:number;salt:BufferSource;}interface PerformanceMarkOptions{detail?:any;startTime?:DOMHighResTimeStamp;}interface PerformanceMeasureOptions{detail?:any;duration?:DOMHighResTimeStamp;end?:string|DOMHighResTimeStamp;start?:string|DOMHighResTimeStamp;}interface PerformanceObserverInit{buffered?:boolean;entryTypes?:string[];type?:string;}interface PermissionDescriptor{name:PermissionName;}interface PlaneLayout{offset:number;stride:number;}interface ProgressEventInit extends EventInit{lengthComputable?:boolean;loaded?:number;total?:number;}interface PromiseRejectionEventInit extends EventInit{promise:Promise;reason?:any;}interface PushEventInit extends ExtendableEventInit{data?:PushMessageDataInit;}interface PushSubscriptionJSON{endpoint?:string;expirationTime?:EpochTimeStamp|null;keys?:Record;}interface PushSubscriptionOptionsInit{applicationServerKey?:BufferSource|string|null;userVisibleOnly?:boolean;}interface QueuingStrategy{highWaterMark?:number;size?:QueuingStrategySize;}interface QueuingStrategyInit{highWaterMark:number;}interface RTCEncodedAudioFrameMetadata{contributingSources?:number[];payloadType?:number;sequenceNumber?:number;synchronizationSource?:number;}interface RTCEncodedVideoFrameMetadata{contributingSources?:number[];dependencies?:number[];frameId?:number;height?:number;payloadType?:number;spatialIndex?:number;synchronizationSource?:number;temporalIndex?:number;timestamp?:number;width?:number;}interface ReadableStreamGetReaderOptions{mode?:ReadableStreamReaderMode;}interface ReadableStreamIteratorOptions{preventCancel?:boolean;}interface ReadableStreamReadDoneResult{done:true;value?:T;}interface ReadableStreamReadValueResult{done:false;value:T;}interface ReadableWritablePair{readable:ReadableStream;writable:WritableStream;}interface RegistrationOptions{scope?:string;type?:WorkerType;updateViaCache?:ServiceWorkerUpdateViaCache;}interface ReportingObserverOptions{buffered?:boolean;types?:string[];}interface RequestInit{body?:BodyInit|null;cache?:RequestCache;credentials?:RequestCredentials;headers?:HeadersInit;integrity?:string;keepalive?:boolean;method?:string;mode?:RequestMode;priority?:RequestPriority;redirect?:RequestRedirect;referrer?:string;referrerPolicy?:ReferrerPolicy;signal?:AbortSignal|null;window?:null;}interface ResponseInit{headers?:HeadersInit;status?:number;statusText?:string;}interface RsaHashedImportParams extends Algorithm{hash:HashAlgorithmIdentifier;}interface RsaHashedKeyGenParams extends RsaKeyGenParams{hash:HashAlgorithmIdentifier;}interface RsaKeyGenParams extends Algorithm{modulusLength:number;publicExponent:BigInteger;}interface RsaOaepParams extends Algorithm{label?:BufferSource;}interface RsaOtherPrimesInfo{d?:string;r?:string;t?:string;}interface RsaPssParams extends Algorithm{saltLength:number;}interface SecurityPolicyViolationEventInit extends EventInit{blockedURI?:string;columnNumber?:number;disposition?:SecurityPolicyViolationEventDisposition;documentURI?:string;effectiveDirective?:string;lineNumber?:number;originalPolicy?:string;referrer?:string;sample?:string;sourceFile?:string;statusCode?:number;violatedDirective?:string;}interface StorageEstimate{quota?:number;usage?:number;}interface StreamPipeOptions{preventAbort?:boolean;preventCancel?:boolean;preventClose?:boolean;signal?:AbortSignal;}interface StructuredSerializeOptions{transfer?:Transferable[];}interface TextDecodeOptions{stream?:boolean;}interface TextDecoderOptions{fatal?:boolean;ignoreBOM?:boolean;}interface TextEncoderEncodeIntoResult{read:number;written:number;}interface Transformer{flush?:TransformerFlushCallback;readableType?:undefined;start?:TransformerStartCallback;transform?:TransformerTransformCallback;writableType?:undefined;}interface UnderlyingByteSource{autoAllocateChunkSize?:number;cancel?:UnderlyingSourceCancelCallback;pull?:(controller:ReadableByteStreamController)=>void|PromiseLike;start?:(controller:ReadableByteStreamController)=>any;type:\"bytes\";}interface UnderlyingDefaultSource{cancel?:UnderlyingSourceCancelCallback;pull?:(controller:ReadableStreamDefaultController)=>void|PromiseLike;start?:(controller:ReadableStreamDefaultController)=>any;type?:undefined;}interface UnderlyingSink{abort?:UnderlyingSinkAbortCallback;close?:UnderlyingSinkCloseCallback;start?:UnderlyingSinkStartCallback;type?:undefined;write?:UnderlyingSinkWriteCallback;}interface UnderlyingSource{autoAllocateChunkSize?:number;cancel?:UnderlyingSourceCancelCallback;pull?:UnderlyingSourcePullCallback;start?:UnderlyingSourceStartCallback;type?:ReadableStreamType;}interface VideoColorSpaceInit{fullRange?:boolean|null;matrix?:VideoMatrixCoefficients|null;primaries?:VideoColorPrimaries|null;transfer?:VideoTransferCharacteristics|null;}interface VideoConfiguration{bitrate:number;colorGamut?:ColorGamut;contentType:string;framerate:number;hasAlphaChannel?:boolean;hdrMetadataType?:HdrMetadataType;height:number;scalabilityMode?:string;transferFunction?:TransferFunction;width:number;}interface VideoDecoderConfig{codec:string;codedHeight?:number;codedWidth?:number;colorSpace?:VideoColorSpaceInit;description?:AllowSharedBufferSource;displayAspectHeight?:number;displayAspectWidth?:number;hardwareAcceleration?:HardwareAcceleration;optimizeForLatency?:boolean;}interface VideoDecoderInit{error:WebCodecsErrorCallback;output:VideoFrameOutputCallback;}interface VideoDecoderSupport{config?:VideoDecoderConfig;supported?:boolean;}interface VideoEncoderConfig{alpha?:AlphaOption;avc?:AvcEncoderConfig;bitrate?:number;bitrateMode?:VideoEncoderBitrateMode;codec:string;contentHint?:string;displayHeight?:number;displayWidth?:number;framerate?:number;hardwareAcceleration?:HardwareAcceleration;height:number;latencyMode?:LatencyMode;scalabilityMode?:string;width:number;}interface VideoEncoderEncodeOptions{avc?:VideoEncoderEncodeOptionsForAvc;keyFrame?:boolean;}interface VideoEncoderEncodeOptionsForAvc{quantizer?:number|null;}interface VideoEncoderInit{error:WebCodecsErrorCallback;output:EncodedVideoChunkOutputCallback;}interface VideoEncoderSupport{config?:VideoEncoderConfig;supported?:boolean;}interface VideoFrameBufferInit{codedHeight:number;codedWidth:number;colorSpace?:VideoColorSpaceInit;displayHeight?:number;displayWidth?:number;duration?:number;format:VideoPixelFormat;layout?:PlaneLayout[];timestamp:number;visibleRect?:DOMRectInit;}interface VideoFrameCopyToOptions{colorSpace?:PredefinedColorSpace;format?:VideoPixelFormat;layout?:PlaneLayout[];rect?:DOMRectInit;}interface VideoFrameInit{alpha?:AlphaOption;displayHeight?:number;displayWidth?:number;duration?:number;timestamp?:number;visibleRect?:DOMRectInit;}interface WebGLContextAttributes{alpha?:boolean;antialias?:boolean;depth?:boolean;desynchronized?:boolean;failIfMajorPerformanceCaveat?:boolean;powerPreference?:WebGLPowerPreference;premultipliedAlpha?:boolean;preserveDrawingBuffer?:boolean;stencil?:boolean;}interface WebGLContextEventInit extends EventInit{statusMessage?:string;}interface WebTransportCloseInfo{closeCode?:number;reason?:string;}interface WebTransportErrorOptions{source?:WebTransportErrorSource;streamErrorCode?:number|null;}interface WebTransportHash{algorithm?:string;value?:BufferSource;}interface WebTransportOptions{allowPooling?:boolean;congestionControl?:WebTransportCongestionControl;requireUnreliable?:boolean;serverCertificateHashes?:WebTransportHash[];}interface WebTransportSendStreamOptions{sendOrder?:number;}interface WorkerOptions{credentials?:RequestCredentials;name?:string;type?:WorkerType;}interface WriteParams{data?:BufferSource|Blob|string|null;position?:number|null;size?:number|null;type:WriteCommandType;}interface ANGLE_instanced_arrays{drawArraysInstancedANGLE(mode:GLenum,first:GLint,count:GLsizei,primcount:GLsizei):void;drawElementsInstancedANGLE(mode:GLenum,count:GLsizei,type:GLenum,offset:GLintptr,primcount:GLsizei):void;vertexAttribDivisorANGLE(index:GLuint,divisor:GLuint):void;readonly VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE:0x88FE;}interface AbortController{readonly signal:AbortSignal;abort(reason?:any):void;}declare var AbortController:{prototype:AbortController;new():AbortController;};interface AbortSignalEventMap{\"abort\":Event;}interface AbortSignal extends EventTarget{readonly aborted:boolean;onabort:((this:AbortSignal,ev:Event)=>any)|null;readonly reason:any;throwIfAborted():void;addEventListener(type:K,listener:(this:AbortSignal,ev:AbortSignalEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener(type:K,listener:(this:AbortSignal,ev:AbortSignalEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var AbortSignal:{prototype:AbortSignal;new():AbortSignal;abort(reason?:any):AbortSignal;any(signals:AbortSignal[]):AbortSignal;timeout(milliseconds:number):AbortSignal;};interface AbstractWorkerEventMap{\"error\":ErrorEvent;}interface AbstractWorker{onerror:((this:AbstractWorker,ev:ErrorEvent)=>any)|null;addEventListener(type:K,listener:(this:AbstractWorker,ev:AbstractWorkerEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener(type:K,listener:(this:AbstractWorker,ev:AbstractWorkerEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}interface AnimationFrameProvider{cancelAnimationFrame(handle:number):void;requestAnimationFrame(callback:FrameRequestCallback):number;}interface AudioData{readonly duration:number;readonly format:AudioSampleFormat|null;readonly numberOfChannels:number;readonly numberOfFrames:number;readonly sampleRate:number;readonly timestamp:number;allocationSize(options:AudioDataCopyToOptions):number;clone():AudioData;close():void;copyTo(destination:AllowSharedBufferSource,options:AudioDataCopyToOptions):void;}declare var AudioData:{prototype:AudioData;new(init:AudioDataInit):AudioData;};interface AudioDecoderEventMap{\"dequeue\":Event;}interface AudioDecoder extends EventTarget{readonly decodeQueueSize:number;ondequeue:((this:AudioDecoder,ev:Event)=>any)|null;readonly state:CodecState;close():void;configure(config:AudioDecoderConfig):void;decode(chunk:EncodedAudioChunk):void;flush():Promise;reset():void;addEventListener(type:K,listener:(this:AudioDecoder,ev:AudioDecoderEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener(type:K,listener:(this:AudioDecoder,ev:AudioDecoderEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var AudioDecoder:{prototype:AudioDecoder;new(init:AudioDecoderInit):AudioDecoder;isConfigSupported(config:AudioDecoderConfig):Promise;};interface AudioEncoderEventMap{\"dequeue\":Event;}interface AudioEncoder extends EventTarget{readonly encodeQueueSize:number;ondequeue:((this:AudioEncoder,ev:Event)=>any)|null;readonly state:CodecState;close():void;configure(config:AudioEncoderConfig):void;encode(data:AudioData):void;flush():Promise;reset():void;addEventListener(type:K,listener:(this:AudioEncoder,ev:AudioEncoderEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener(type:K,listener:(this:AudioEncoder,ev:AudioEncoderEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var AudioEncoder:{prototype:AudioEncoder;new(init:AudioEncoderInit):AudioEncoder;isConfigSupported(config:AudioEncoderConfig):Promise;};interface Blob{readonly size:number;readonly type:string;arrayBuffer():Promise;bytes():Promise;slice(start?:number,end?:number,contentType?:string):Blob;stream():ReadableStream;text():Promise;}declare var Blob:{prototype:Blob;new(blobParts?:BlobPart[],options?:BlobPropertyBag):Blob;};interface Body{readonly body:ReadableStream|null;readonly bodyUsed:boolean;arrayBuffer():Promise;blob():Promise;bytes():Promise;formData():Promise;json():Promise;text():Promise;}interface BroadcastChannelEventMap{\"message\":MessageEvent;\"messageerror\":MessageEvent;}interface BroadcastChannel extends EventTarget{readonly name:string;onmessage:((this:BroadcastChannel,ev:MessageEvent)=>any)|null;onmessageerror:((this:BroadcastChannel,ev:MessageEvent)=>any)|null;close():void;postMessage(message:any):void;addEventListener(type:K,listener:(this:BroadcastChannel,ev:BroadcastChannelEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener(type:K,listener:(this:BroadcastChannel,ev:BroadcastChannelEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var BroadcastChannel:{prototype:BroadcastChannel;new(name:string):BroadcastChannel;};interface ByteLengthQueuingStrategy extends QueuingStrategy{readonly highWaterMark:number;readonly size:QueuingStrategySize;}declare var ByteLengthQueuingStrategy:{prototype:ByteLengthQueuingStrategy;new(init:QueuingStrategyInit):ByteLengthQueuingStrategy;};interface CSSImageValue extends CSSStyleValue{}declare var CSSImageValue:{prototype:CSSImageValue;new():CSSImageValue;};interface CSSKeywordValue extends CSSStyleValue{value:string;}declare var CSSKeywordValue:{prototype:CSSKeywordValue;new(value:string):CSSKeywordValue;};interface CSSMathClamp extends CSSMathValue{readonly lower:CSSNumericValue;readonly upper:CSSNumericValue;readonly value:CSSNumericValue;}declare var CSSMathClamp:{prototype:CSSMathClamp;new(lower:CSSNumberish,value:CSSNumberish,upper:CSSNumberish):CSSMathClamp;};interface CSSMathInvert extends CSSMathValue{readonly value:CSSNumericValue;}declare var CSSMathInvert:{prototype:CSSMathInvert;new(arg:CSSNumberish):CSSMathInvert;};interface CSSMathMax extends CSSMathValue{readonly values:CSSNumericArray;}declare var CSSMathMax:{prototype:CSSMathMax;new(...args:CSSNumberish[]):CSSMathMax;};interface CSSMathMin extends CSSMathValue{readonly values:CSSNumericArray;}declare var CSSMathMin:{prototype:CSSMathMin;new(...args:CSSNumberish[]):CSSMathMin;};interface CSSMathNegate extends CSSMathValue{readonly value:CSSNumericValue;}declare var CSSMathNegate:{prototype:CSSMathNegate;new(arg:CSSNumberish):CSSMathNegate;};interface CSSMathProduct extends CSSMathValue{readonly values:CSSNumericArray;}declare var CSSMathProduct:{prototype:CSSMathProduct;new(...args:CSSNumberish[]):CSSMathProduct;};interface CSSMathSum extends CSSMathValue{readonly values:CSSNumericArray;}declare var CSSMathSum:{prototype:CSSMathSum;new(...args:CSSNumberish[]):CSSMathSum;};interface CSSMathValue extends CSSNumericValue{readonly operator:CSSMathOperator;}declare var CSSMathValue:{prototype:CSSMathValue;new():CSSMathValue;};interface CSSMatrixComponent extends CSSTransformComponent{matrix:DOMMatrix;}declare var CSSMatrixComponent:{prototype:CSSMatrixComponent;new(matrix:DOMMatrixReadOnly,options?:CSSMatrixComponentOptions):CSSMatrixComponent;};interface CSSNumericArray{readonly length:number;forEach(callbackfn:(value:CSSNumericValue,key:number,parent:CSSNumericArray)=>void,thisArg?:any):void;[index:number]:CSSNumericValue;}declare var CSSNumericArray:{prototype:CSSNumericArray;new():CSSNumericArray;};interface CSSNumericValue extends CSSStyleValue{add(...values:CSSNumberish[]):CSSNumericValue;div(...values:CSSNumberish[]):CSSNumericValue;equals(...value:CSSNumberish[]):boolean;max(...values:CSSNumberish[]):CSSNumericValue;min(...values:CSSNumberish[]):CSSNumericValue;mul(...values:CSSNumberish[]):CSSNumericValue;sub(...values:CSSNumberish[]):CSSNumericValue;to(unit:string):CSSUnitValue;toSum(...units:string[]):CSSMathSum;type():CSSNumericType;}declare var CSSNumericValue:{prototype:CSSNumericValue;new():CSSNumericValue;};interface CSSPerspective extends CSSTransformComponent{length:CSSPerspectiveValue;}declare var CSSPerspective:{prototype:CSSPerspective;new(length:CSSPerspectiveValue):CSSPerspective;};interface CSSRotate extends CSSTransformComponent{angle:CSSNumericValue;x:CSSNumberish;y:CSSNumberish;z:CSSNumberish;}declare var CSSRotate:{prototype:CSSRotate;new(angle:CSSNumericValue):CSSRotate;new(x:CSSNumberish,y:CSSNumberish,z:CSSNumberish,angle:CSSNumericValue):CSSRotate;};interface CSSScale extends CSSTransformComponent{x:CSSNumberish;y:CSSNumberish;z:CSSNumberish;}declare var CSSScale:{prototype:CSSScale;new(x:CSSNumberish,y:CSSNumberish,z?:CSSNumberish):CSSScale;};interface CSSSkew extends CSSTransformComponent{ax:CSSNumericValue;ay:CSSNumericValue;}declare var CSSSkew:{prototype:CSSSkew;new(ax:CSSNumericValue,ay:CSSNumericValue):CSSSkew;};interface CSSSkewX extends CSSTransformComponent{ax:CSSNumericValue;}declare var CSSSkewX:{prototype:CSSSkewX;new(ax:CSSNumericValue):CSSSkewX;};interface CSSSkewY extends CSSTransformComponent{ay:CSSNumericValue;}declare var CSSSkewY:{prototype:CSSSkewY;new(ay:CSSNumericValue):CSSSkewY;};interface CSSStyleValue{toString():string;}declare var CSSStyleValue:{prototype:CSSStyleValue;new():CSSStyleValue;};interface CSSTransformComponent{is2D:boolean;toMatrix():DOMMatrix;toString():string;}declare var CSSTransformComponent:{prototype:CSSTransformComponent;new():CSSTransformComponent;};interface CSSTransformValue extends CSSStyleValue{readonly is2D:boolean;readonly length:number;toMatrix():DOMMatrix;forEach(callbackfn:(value:CSSTransformComponent,key:number,parent:CSSTransformValue)=>void,thisArg?:any):void;[index:number]:CSSTransformComponent;}declare var CSSTransformValue:{prototype:CSSTransformValue;new(transforms:CSSTransformComponent[]):CSSTransformValue;};interface CSSTranslate extends CSSTransformComponent{x:CSSNumericValue;y:CSSNumericValue;z:CSSNumericValue;}declare var CSSTranslate:{prototype:CSSTranslate;new(x:CSSNumericValue,y:CSSNumericValue,z?:CSSNumericValue):CSSTranslate;};interface CSSUnitValue extends CSSNumericValue{readonly unit:string;value:number;}declare var CSSUnitValue:{prototype:CSSUnitValue;new(value:number,unit:string):CSSUnitValue;};interface CSSUnparsedValue extends CSSStyleValue{readonly length:number;forEach(callbackfn:(value:CSSUnparsedSegment,key:number,parent:CSSUnparsedValue)=>void,thisArg?:any):void;[index:number]:CSSUnparsedSegment;}declare var CSSUnparsedValue:{prototype:CSSUnparsedValue;new(members:CSSUnparsedSegment[]):CSSUnparsedValue;};interface CSSVariableReferenceValue{readonly fallback:CSSUnparsedValue|null;variable:string;}declare var CSSVariableReferenceValue:{prototype:CSSVariableReferenceValue;new(variable:string,fallback?:CSSUnparsedValue|null):CSSVariableReferenceValue;};interface Cache{add(request:RequestInfo|URL):Promise;addAll(requests:RequestInfo[]):Promise;delete(request:RequestInfo|URL,options?:CacheQueryOptions):Promise;keys(request?:RequestInfo|URL,options?:CacheQueryOptions):Promise>;match(request:RequestInfo|URL,options?:CacheQueryOptions):Promise;matchAll(request?:RequestInfo|URL,options?:CacheQueryOptions):Promise>;put(request:RequestInfo|URL,response:Response):Promise;}declare var Cache:{prototype:Cache;new():Cache;};interface CacheStorage{delete(cacheName:string):Promise;has(cacheName:string):Promise;keys():Promise;match(request:RequestInfo|URL,options?:MultiCacheQueryOptions):Promise;open(cacheName:string):Promise;}declare var CacheStorage:{prototype:CacheStorage;new():CacheStorage;};interface CanvasCompositing{globalAlpha:number;globalCompositeOperation:GlobalCompositeOperation;}interface CanvasDrawImage{drawImage(image:CanvasImageSource,dx:number,dy:number):void;drawImage(image:CanvasImageSource,dx:number,dy:number,dw:number,dh:number):void;drawImage(image:CanvasImageSource,sx:number,sy:number,sw:number,sh:number,dx:number,dy:number,dw:number,dh:number):void;}interface CanvasDrawPath{beginPath():void;clip(fillRule?:CanvasFillRule):void;clip(path:Path2D,fillRule?:CanvasFillRule):void;fill(fillRule?:CanvasFillRule):void;fill(path:Path2D,fillRule?:CanvasFillRule):void;isPointInPath(x:number,y:number,fillRule?:CanvasFillRule):boolean;isPointInPath(path:Path2D,x:number,y:number,fillRule?:CanvasFillRule):boolean;isPointInStroke(x:number,y:number):boolean;isPointInStroke(path:Path2D,x:number,y:number):boolean;stroke():void;stroke(path:Path2D):void;}interface CanvasFillStrokeStyles{fillStyle:string|CanvasGradient|CanvasPattern;strokeStyle:string|CanvasGradient|CanvasPattern;createConicGradient(startAngle:number,x:number,y:number):CanvasGradient;createLinearGradient(x0:number,y0:number,x1:number,y1:number):CanvasGradient;createPattern(image:CanvasImageSource,repetition:string|null):CanvasPattern|null;createRadialGradient(x0:number,y0:number,r0:number,x1:number,y1:number,r1:number):CanvasGradient;}interface CanvasFilters{filter:string;}interface CanvasGradient{addColorStop(offset:number,color:string):void;}declare var CanvasGradient:{prototype:CanvasGradient;new():CanvasGradient;};interface CanvasImageData{createImageData(sw:number,sh:number,settings?:ImageDataSettings):ImageData;createImageData(imagedata:ImageData):ImageData;getImageData(sx:number,sy:number,sw:number,sh:number,settings?:ImageDataSettings):ImageData;putImageData(imagedata:ImageData,dx:number,dy:number):void;putImageData(imagedata:ImageData,dx:number,dy:number,dirtyX:number,dirtyY:number,dirtyWidth:number,dirtyHeight:number):void;}interface CanvasImageSmoothing{imageSmoothingEnabled:boolean;imageSmoothingQuality:ImageSmoothingQuality;}interface CanvasPath{arc(x:number,y:number,radius:number,startAngle:number,endAngle:number,counterclockwise?:boolean):void;arcTo(x1:number,y1:number,x2:number,y2:number,radius:number):void;bezierCurveTo(cp1x:number,cp1y:number,cp2x:number,cp2y:number,x:number,y:number):void;closePath():void;ellipse(x:number,y:number,radiusX:number,radiusY:number,rotation:number,startAngle:number,endAngle:number,counterclockwise?:boolean):void;lineTo(x:number,y:number):void;moveTo(x:number,y:number):void;quadraticCurveTo(cpx:number,cpy:number,x:number,y:number):void;rect(x:number,y:number,w:number,h:number):void;roundRect(x:number,y:number,w:number,h:number,radii?:number|DOMPointInit|(number|DOMPointInit)[]):void;}interface CanvasPathDrawingStyles{lineCap:CanvasLineCap;lineDashOffset:number;lineJoin:CanvasLineJoin;lineWidth:number;miterLimit:number;getLineDash():number[];setLineDash(segments:number[]):void;}interface CanvasPattern{setTransform(transform?:DOMMatrix2DInit):void;}declare var CanvasPattern:{prototype:CanvasPattern;new():CanvasPattern;};interface CanvasRect{clearRect(x:number,y:number,w:number,h:number):void;fillRect(x:number,y:number,w:number,h:number):void;strokeRect(x:number,y:number,w:number,h:number):void;}interface CanvasShadowStyles{shadowBlur:number;shadowColor:string;shadowOffsetX:number;shadowOffsetY:number;}interface CanvasState{isContextLost():boolean;reset():void;restore():void;save():void;}interface CanvasText{fillText(text:string,x:number,y:number,maxWidth?:number):void;measureText(text:string):TextMetrics;strokeText(text:string,x:number,y:number,maxWidth?:number):void;}interface CanvasTextDrawingStyles{direction:CanvasDirection;font:string;fontKerning:CanvasFontKerning;fontStretch:CanvasFontStretch;fontVariantCaps:CanvasFontVariantCaps;letterSpacing:string;textAlign:CanvasTextAlign;textBaseline:CanvasTextBaseline;textRendering:CanvasTextRendering;wordSpacing:string;}interface CanvasTransform{getTransform():DOMMatrix;resetTransform():void;rotate(angle:number):void;scale(x:number,y:number):void;setTransform(a:number,b:number,c:number,d:number,e:number,f:number):void;setTransform(transform?:DOMMatrix2DInit):void;transform(a:number,b:number,c:number,d:number,e:number,f:number):void;translate(x:number,y:number):void;}interface Client{readonly frameType:FrameType;readonly id:string;readonly type:ClientTypes;readonly url:string;postMessage(message:any,transfer:Transferable[]):void;postMessage(message:any,options?:StructuredSerializeOptions):void;}declare var Client:{prototype:Client;new():Client;};interface Clients{claim():Promise;get(id:string):Promise;matchAll(options?:T):Promise>;openWindow(url:string|URL):Promise;}declare var Clients:{prototype:Clients;new():Clients;};interface CloseEvent extends Event{readonly code:number;readonly reason:string;readonly wasClean:boolean;}declare var CloseEvent:{prototype:CloseEvent;new(type:string,eventInitDict?:CloseEventInit):CloseEvent;};interface CompressionStream extends GenericTransformStream{readonly readable:ReadableStream;readonly writable:WritableStream;}declare var CompressionStream:{prototype:CompressionStream;new(format:CompressionFormat):CompressionStream;};interface CountQueuingStrategy extends QueuingStrategy{readonly highWaterMark:number;readonly size:QueuingStrategySize;}declare var CountQueuingStrategy:{prototype:CountQueuingStrategy;new(init:QueuingStrategyInit):CountQueuingStrategy;};interface Crypto{readonly subtle:SubtleCrypto;getRandomValues(array:T):T;randomUUID():`${string}-${string}-${string}-${string}-${string}`;\n}\n\ndeclare var Crypto: {\n prototype: Crypto;\n new(): Crypto;\n};\n\n/**\n * The CryptoKey dictionary of the Web Crypto API represents a cryptographic key.\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/CryptoKey)\n */\ninterface CryptoKey {\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CryptoKey/algorithm) */\n readonly algorithm: KeyAlgorithm;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CryptoKey/extractable) */\n readonly extractable: boolean;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CryptoKey/type) */\n readonly type: KeyType;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CryptoKey/usages) */\n readonly usages: KeyUsage[];\n}\n\ndeclare var CryptoKey: {\n prototype: CryptoKey;\n new(): CryptoKey;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CustomEvent) */\ninterface CustomEvent extends Event {\n /**\n * Returns any custom data event was created with. Typically used for synthetic events.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/CustomEvent/detail)\n */\n readonly detail: T;\n /**\n * @deprecated\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/CustomEvent/initCustomEvent)\n */\n initCustomEvent(type: string, bubbles?: boolean, cancelable?: boolean, detail?: T): void;\n}\n\ndeclare var CustomEvent: {\n prototype: CustomEvent;\n new(type: string, eventInitDict?: CustomEventInit): CustomEvent;\n};\n\n/**\n * An abnormal event (called an exception) which occurs as a result of calling a method or accessing a property of a web API.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMException)\n */\ninterface DOMException extends Error {\n /**\n * @deprecated\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMException/code)\n */\n readonly code: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMException/message) */\n readonly message: string;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMException/name) */\n readonly name: string;\n readonly INDEX_SIZE_ERR: 1;\n readonly DOMSTRING_SIZE_ERR: 2;\n readonly HIERARCHY_REQUEST_ERR: 3;\n readonly WRONG_DOCUMENT_ERR: 4;\n readonly INVALID_CHARACTER_ERR: 5;\n readonly NO_DATA_ALLOWED_ERR: 6;\n readonly NO_MODIFICATION_ALLOWED_ERR: 7;\n readonly NOT_FOUND_ERR: 8;\n readonly NOT_SUPPORTED_ERR: 9;\n readonly INUSE_ATTRIBUTE_ERR: 10;\n readonly INVALID_STATE_ERR: 11;\n readonly SYNTAX_ERR: 12;\n readonly INVALID_MODIFICATION_ERR: 13;\n readonly NAMESPACE_ERR: 14;\n readonly INVALID_ACCESS_ERR: 15;\n readonly VALIDATION_ERR: 16;\n readonly TYPE_MISMATCH_ERR: 17;\n readonly SECURITY_ERR: 18;\n readonly NETWORK_ERR: 19;\n readonly ABORT_ERR: 20;\n readonly URL_MISMATCH_ERR: 21;\n readonly QUOTA_EXCEEDED_ERR: 22;\n readonly TIMEOUT_ERR: 23;\n readonly INVALID_NODE_TYPE_ERR: 24;\n readonly DATA_CLONE_ERR: 25;\n}\n\ndeclare var DOMException: {\n prototype: DOMException;\n new(message?: string, name?: string): DOMException;\n readonly INDEX_SIZE_ERR: 1;\n readonly DOMSTRING_SIZE_ERR: 2;\n readonly HIERARCHY_REQUEST_ERR: 3;\n readonly WRONG_DOCUMENT_ERR: 4;\n readonly INVALID_CHARACTER_ERR: 5;\n readonly NO_DATA_ALLOWED_ERR: 6;\n readonly NO_MODIFICATION_ALLOWED_ERR: 7;\n readonly NOT_FOUND_ERR: 8;\n readonly NOT_SUPPORTED_ERR: 9;\n readonly INUSE_ATTRIBUTE_ERR: 10;\n readonly INVALID_STATE_ERR: 11;\n readonly SYNTAX_ERR: 12;\n readonly INVALID_MODIFICATION_ERR: 13;\n readonly NAMESPACE_ERR: 14;\n readonly INVALID_ACCESS_ERR: 15;\n readonly VALIDATION_ERR: 16;\n readonly TYPE_MISMATCH_ERR: 17;\n readonly SECURITY_ERR: 18;\n readonly NETWORK_ERR: 19;\n readonly ABORT_ERR: 20;\n readonly URL_MISMATCH_ERR: 21;\n readonly QUOTA_EXCEEDED_ERR: 22;\n readonly TIMEOUT_ERR: 23;\n readonly INVALID_NODE_TYPE_ERR: 24;\n readonly DATA_CLONE_ERR: 25;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrix) */\ninterface DOMMatrix extends DOMMatrixReadOnly {\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrix#instance_properties) */\n a: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrix#instance_properties) */\n b: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrix#instance_properties) */\n c: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrix#instance_properties) */\n d: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrix#instance_properties) */\n e: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrix#instance_properties) */\n f: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrix#instance_properties) */\n m11: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrix#instance_properties) */\n m12: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrix#instance_properties) */\n m13: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrix#instance_properties) */\n m14: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrix#instance_properties) */\n m21: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrix#instance_properties) */\n m22: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrix#instance_properties) */\n m23: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrix#instance_properties) */\n m24: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrix#instance_properties) */\n m31: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrix#instance_properties) */\n m32: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrix#instance_properties) */\n m33: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrix#instance_properties) */\n m34: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrix#instance_properties) */\n m41: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrix#instance_properties) */\n m42: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrix#instance_properties) */\n m43: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrix#instance_properties) */\n m44: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrix/invertSelf) */\n invertSelf(): DOMMatrix;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrix/multiplySelf) */\n multiplySelf(other?: DOMMatrixInit): DOMMatrix;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrix/preMultiplySelf) */\n preMultiplySelf(other?: DOMMatrixInit): DOMMatrix;\n rotateAxisAngleSelf(x?: number, y?: number, z?: number, angle?: number): DOMMatrix;\n rotateFromVectorSelf(x?: number, y?: number): DOMMatrix;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrix/rotateSelf) */\n rotateSelf(rotX?: number, rotY?: number, rotZ?: number): DOMMatrix;\n scale3dSelf(scale?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix;\n scaleSelf(scaleX?: number, scaleY?: number, scaleZ?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrix/skewXSelf) */\n skewXSelf(sx?: number): DOMMatrix;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrix/skewYSelf) */\n skewYSelf(sy?: number): DOMMatrix;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrix/translateSelf) */\n translateSelf(tx?: number, ty?: number, tz?: number): DOMMatrix;\n}\n\ndeclare var DOMMatrix: {\n prototype: DOMMatrix;\n new(init?: string | number[]): DOMMatrix;\n fromFloat32Array(array32: Float32Array): DOMMatrix;\n fromFloat64Array(array64: Float64Array): DOMMatrix;\n fromMatrix(other?: DOMMatrixInit): DOMMatrix;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly) */\ninterface DOMMatrixReadOnly {\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly#instance_properties) */\n readonly a: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly#instance_properties) */\n readonly b: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly#instance_properties) */\n readonly c: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly#instance_properties) */\n readonly d: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly#instance_properties) */\n readonly e: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly#instance_properties) */\n readonly f: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/is2D) */\n readonly is2D: boolean;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/isIdentity) */\n readonly isIdentity: boolean;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly#instance_properties) */\n readonly m11: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly#instance_properties) */\n readonly m12: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly#instance_properties) */\n readonly m13: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly#instance_properties) */\n readonly m14: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly#instance_properties) */\n readonly m21: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly#instance_properties) */\n readonly m22: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly#instance_properties) */\n readonly m23: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly#instance_properties) */\n readonly m24: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly#instance_properties) */\n readonly m31: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly#instance_properties) */\n readonly m32: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly#instance_properties) */\n readonly m33: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly#instance_properties) */\n readonly m34: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly#instance_properties) */\n readonly m41: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly#instance_properties) */\n readonly m42: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly#instance_properties) */\n readonly m43: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly#instance_properties) */\n readonly m44: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/flipX) */\n flipX(): DOMMatrix;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/flipY) */\n flipY(): DOMMatrix;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/inverse) */\n inverse(): DOMMatrix;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/multiply) */\n multiply(other?: DOMMatrixInit): DOMMatrix;\n rotate(rotX?: number, rotY?: number, rotZ?: number): DOMMatrix;\n rotateAxisAngle(x?: number, y?: number, z?: number, angle?: number): DOMMatrix;\n rotateFromVector(x?: number, y?: number): DOMMatrix;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/scale) */\n scale(scaleX?: number, scaleY?: number, scaleZ?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix;\n scale3d(scale?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix;\n /** @deprecated */\n scaleNonUniform(scaleX?: number, scaleY?: number): DOMMatrix;\n skewX(sx?: number): DOMMatrix;\n skewY(sy?: number): DOMMatrix;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/toFloat32Array) */\n toFloat32Array(): Float32Array;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/toFloat64Array) */\n toFloat64Array(): Float64Array;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/toJSON) */\n toJSON(): any;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/transformPoint) */\n transformPoint(point?: DOMPointInit): DOMPoint;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/translate) */\n translate(tx?: number, ty?: number, tz?: number): DOMMatrix;\n}\n\ndeclare var DOMMatrixReadOnly: {\n prototype: DOMMatrixReadOnly;\n new(init?: string | number[]): DOMMatrixReadOnly;\n fromFloat32Array(array32: Float32Array): DOMMatrixReadOnly;\n fromFloat64Array(array64: Float64Array): DOMMatrixReadOnly;\n fromMatrix(other?: DOMMatrixInit): DOMMatrixReadOnly;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMPoint) */\ninterface DOMPoint extends DOMPointReadOnly {\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMPoint/w) */\n w: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMPoint/x) */\n x: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMPoint/y) */\n y: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMPoint/z) */\n z: number;\n}\n\ndeclare var DOMPoint: {\n prototype: DOMPoint;\n new(x?: number, y?: number, z?: number, w?: number): DOMPoint;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMPoint/fromPoint_static) */\n fromPoint(other?: DOMPointInit): DOMPoint;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMPointReadOnly) */\ninterface DOMPointReadOnly {\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMPointReadOnly/w) */\n readonly w: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMPointReadOnly/x) */\n readonly x: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMPointReadOnly/y) */\n readonly y: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMPointReadOnly/z) */\n readonly z: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMPointReadOnly/matrixTransform) */\n matrixTransform(matrix?: DOMMatrixInit): DOMPoint;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMPointReadOnly/toJSON) */\n toJSON(): any;\n}\n\ndeclare var DOMPointReadOnly: {\n prototype: DOMPointReadOnly;\n new(x?: number, y?: number, z?: number, w?: number): DOMPointReadOnly;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMPointReadOnly/fromPoint_static) */\n fromPoint(other?: DOMPointInit): DOMPointReadOnly;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMQuad) */\ninterface DOMQuad {\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMQuad/p1) */\n readonly p1: DOMPoint;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMQuad/p2) */\n readonly p2: DOMPoint;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMQuad/p3) */\n readonly p3: DOMPoint;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMQuad/p4) */\n readonly p4: DOMPoint;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMQuad/getBounds) */\n getBounds(): DOMRect;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMQuad/toJSON) */\n toJSON(): any;\n}\n\ndeclare var DOMQuad: {\n prototype: DOMQuad;\n new(p1?: DOMPointInit, p2?: DOMPointInit, p3?: DOMPointInit, p4?: DOMPointInit): DOMQuad;\n fromQuad(other?: DOMQuadInit): DOMQuad;\n fromRect(other?: DOMRectInit): DOMQuad;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMRect) */\ninterface DOMRect extends DOMRectReadOnly {\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMRect/height) */\n height: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMRect/width) */\n width: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMRect/x) */\n x: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMRect/y) */\n y: number;\n}\n\ndeclare var DOMRect: {\n prototype: DOMRect;\n new(x?: number, y?: number, width?: number, height?: number): DOMRect;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMRect/fromRect_static) */\n fromRect(other?: DOMRectInit): DOMRect;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMRectReadOnly) */\ninterface DOMRectReadOnly {\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMRectReadOnly/bottom) */\n readonly bottom: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMRectReadOnly/height) */\n readonly height: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMRectReadOnly/left) */\n readonly left: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMRectReadOnly/right) */\n readonly right: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMRectReadOnly/top) */\n readonly top: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMRectReadOnly/width) */\n readonly width: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMRectReadOnly/x) */\n readonly x: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMRectReadOnly/y) */\n readonly y: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMRectReadOnly/toJSON) */\n toJSON(): any;\n}\n\ndeclare var DOMRectReadOnly: {\n prototype: DOMRectReadOnly;\n new(x?: number, y?: number, width?: number, height?: number): DOMRectReadOnly;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMRectReadOnly/fromRect_static) */\n fromRect(other?: DOMRectInit): DOMRectReadOnly;\n};\n\n/**\n * A type returned by some APIs which contains a list of DOMString (strings).\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMStringList)\n */\ninterface DOMStringList {\n /**\n * Returns the number of strings in strings.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMStringList/length)\n */\n readonly length: number;\n /**\n * Returns true if strings contains string, and false otherwise.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMStringList/contains)\n */\n contains(string: string): boolean;\n /**\n * Returns the string with index index from strings.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMStringList/item)\n */\n item(index: number): string | null;\n [index: number]: string;\n}\n\ndeclare var DOMStringList: {\n prototype: DOMStringList;\n new(): DOMStringList;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DecompressionStream) */\ninterface DecompressionStream extends GenericTransformStream {\n readonly readable: ReadableStream;\n readonly writable: WritableStream;\n}\n\ndeclare var DecompressionStream: {\n prototype: DecompressionStream;\n new(format: CompressionFormat): DecompressionStream;\n};\n\ninterface DedicatedWorkerGlobalScopeEventMap extends WorkerGlobalScopeEventMap, MessageEventTargetEventMap {\n \"message\": MessageEvent;\n \"messageerror\": MessageEvent;\n \"rtctransform\": RTCTransformEvent;\n}\n\n/**\n * (the Worker global scope) is accessible through the self keyword. Some additional global functions, namespaces objects, and constructors, not typically associated with the worker global scope, but available on it, are listed in the JavaScript Reference. See also: Functions available to workers.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DedicatedWorkerGlobalScope)\n */\ninterface DedicatedWorkerGlobalScope extends WorkerGlobalScope, AnimationFrameProvider, MessageEventTarget {\n /**\n * Returns dedicatedWorkerGlobal's name, i.e. the value given to the Worker constructor. Primarily useful for debugging.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DedicatedWorkerGlobalScope/name)\n */\n readonly name: string;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DedicatedWorkerGlobalScope/rtctransform_event) */\n onrtctransform: ((this: DedicatedWorkerGlobalScope, ev: RTCTransformEvent) => any) | null;\n /**\n * Aborts dedicatedWorkerGlobal.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DedicatedWorkerGlobalScope/close)\n */\n close(): void;\n /**\n * Clones message and transmits it to the Worker object associated with dedicatedWorkerGlobal. transfer can be passed as a list of objects that are to be transferred rather than cloned.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DedicatedWorkerGlobalScope/postMessage)\n */\n postMessage(message: any, transfer: Transferable[]): void;\n postMessage(message: any, options?: StructuredSerializeOptions): void;\n addEventListener(type: K, listener: (this: DedicatedWorkerGlobalScope, ev: DedicatedWorkerGlobalScopeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n removeEventListener(type: K, listener: (this: DedicatedWorkerGlobalScope, ev: DedicatedWorkerGlobalScopeEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var DedicatedWorkerGlobalScope: {\n prototype: DedicatedWorkerGlobalScope;\n new(): DedicatedWorkerGlobalScope;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/EXT_blend_minmax) */\ninterface EXT_blend_minmax {\n readonly MIN_EXT: 0x8007;\n readonly MAX_EXT: 0x8008;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/EXT_color_buffer_float) */\ninterface EXT_color_buffer_float {\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/EXT_color_buffer_half_float) */\ninterface EXT_color_buffer_half_float {\n readonly RGBA16F_EXT: 0x881A;\n readonly RGB16F_EXT: 0x881B;\n readonly FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT: 0x8211;\n readonly UNSIGNED_NORMALIZED_EXT: 0x8C17;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/EXT_float_blend) */\ninterface EXT_float_blend {\n}\n\n/**\n * The EXT_frag_depth extension is part of the WebGL API and enables to set a depth value of a fragment from within the fragment shader.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/EXT_frag_depth)\n */\ninterface EXT_frag_depth {\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/EXT_sRGB) */\ninterface EXT_sRGB {\n readonly SRGB_EXT: 0x8C40;\n readonly SRGB_ALPHA_EXT: 0x8C42;\n readonly SRGB8_ALPHA8_EXT: 0x8C43;\n readonly FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT: 0x8210;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/EXT_shader_texture_lod) */\ninterface EXT_shader_texture_lod {\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/EXT_texture_compression_bptc) */\ninterface EXT_texture_compression_bptc {\n readonly COMPRESSED_RGBA_BPTC_UNORM_EXT: 0x8E8C;\n readonly COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT: 0x8E8D;\n readonly COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT: 0x8E8E;\n readonly COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT: 0x8E8F;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/EXT_texture_compression_rgtc) */\ninterface EXT_texture_compression_rgtc {\n readonly COMPRESSED_RED_RGTC1_EXT: 0x8DBB;\n readonly COMPRESSED_SIGNED_RED_RGTC1_EXT: 0x8DBC;\n readonly COMPRESSED_RED_GREEN_RGTC2_EXT: 0x8DBD;\n readonly COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT: 0x8DBE;\n}\n\n/**\n * The EXT_texture_filter_anisotropic extension is part of the WebGL API and exposes two constants for anisotropic filtering (AF).\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/EXT_texture_filter_anisotropic)\n */\ninterface EXT_texture_filter_anisotropic {\n readonly TEXTURE_MAX_ANISOTROPY_EXT: 0x84FE;\n readonly MAX_TEXTURE_MAX_ANISOTROPY_EXT: 0x84FF;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/EXT_texture_norm16) */\ninterface EXT_texture_norm16 {\n readonly R16_EXT: 0x822A;\n readonly RG16_EXT: 0x822C;\n readonly RGB16_EXT: 0x8054;\n readonly RGBA16_EXT: 0x805B;\n readonly R16_SNORM_EXT: 0x8F98;\n readonly RG16_SNORM_EXT: 0x8F99;\n readonly RGB16_SNORM_EXT: 0x8F9A;\n readonly RGBA16_SNORM_EXT: 0x8F9B;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/EncodedAudioChunk) */\ninterface EncodedAudioChunk {\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/EncodedAudioChunk/byteLength) */\n readonly byteLength: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/EncodedAudioChunk/duration) */\n readonly duration: number | null;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/EncodedAudioChunk/timestamp) */\n readonly timestamp: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/EncodedAudioChunk/type) */\n readonly type: EncodedAudioChunkType;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/EncodedAudioChunk/copyTo) */\n copyTo(destination: AllowSharedBufferSource): void;\n}\n\ndeclare var EncodedAudioChunk: {\n prototype: EncodedAudioChunk;\n new(init: EncodedAudioChunkInit): EncodedAudioChunk;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/EncodedVideoChunk) */\ninterface EncodedVideoChunk {\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/EncodedVideoChunk/byteLength) */\n readonly byteLength: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/EncodedVideoChunk/duration) */\n readonly duration: number | null;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/EncodedVideoChunk/timestamp) */\n readonly timestamp: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/EncodedVideoChunk/type) */\n readonly type: EncodedVideoChunkType;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/EncodedVideoChunk/copyTo) */\n copyTo(destination: AllowSharedBufferSource): void;\n}\n\ndeclare var EncodedVideoChunk: {\n prototype: EncodedVideoChunk;\n new(init: EncodedVideoChunkInit): EncodedVideoChunk;\n};\n\n/**\n * Events providing information related to errors in scripts or in files.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ErrorEvent)\n */\ninterface ErrorEvent extends Event {\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ErrorEvent/colno) */\n readonly colno: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ErrorEvent/error) */\n readonly error: any;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ErrorEvent/filename) */\n readonly filename: string;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ErrorEvent/lineno) */\n readonly lineno: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ErrorEvent/message) */\n readonly message: string;\n}\n\ndeclare var ErrorEvent: {\n prototype: ErrorEvent;\n new(type: string, eventInitDict?: ErrorEventInit): ErrorEvent;\n};\n\n/**\n * An event which takes place in the DOM.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event)\n */\ninterface Event {\n /**\n * Returns true or false depending on how event was initialized. True if event goes through its target's ancestors in reverse tree order, and false otherwise.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event/bubbles)\n */\n readonly bubbles: boolean;\n /**\n * @deprecated\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event/cancelBubble)\n */\n cancelBubble: boolean;\n /**\n * Returns true or false depending on how event was initialized. Its return value does not always carry meaning, but true can indicate that part of the operation during which event was dispatched, can be canceled by invoking the preventDefault() method.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event/cancelable)\n */\n readonly cancelable: boolean;\n /**\n * Returns true or false depending on how event was initialized. True if event invokes listeners past a ShadowRoot node that is the root of its target, and false otherwise.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event/composed)\n */\n readonly composed: boolean;\n /**\n * Returns the object whose event listener's callback is currently being invoked.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event/currentTarget)\n */\n readonly currentTarget: EventTarget | null;\n /**\n * Returns true if preventDefault() was invoked successfully to indicate cancelation, and false otherwise.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event/defaultPrevented)\n */\n readonly defaultPrevented: boolean;\n /**\n * Returns the event's phase, which is one of NONE, CAPTURING_PHASE, AT_TARGET, and BUBBLING_PHASE.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event/eventPhase)\n */\n readonly eventPhase: number;\n /**\n * Returns true if event was dispatched by the user agent, and false otherwise.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event/isTrusted)\n */\n readonly isTrusted: boolean;\n /**\n * @deprecated\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event/returnValue)\n */\n returnValue: boolean;\n /**\n * @deprecated\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event/srcElement)\n */\n readonly srcElement: EventTarget | null;\n /**\n * Returns the object to which event is dispatched (its target).\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event/target)\n */\n readonly target: EventTarget | null;\n /**\n * Returns the event's timestamp as the number of milliseconds measured relative to the time origin.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event/timeStamp)\n */\n readonly timeStamp: DOMHighResTimeStamp;\n /**\n * Returns the type of event, e.g. \"click\", \"hashchange\", or \"submit\".\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event/type)\n */\n readonly type: string;\n /**\n * Returns the invocation target objects of event's path (objects on which listeners will be invoked), except for any nodes in shadow trees of which the shadow root's mode is \"closed\" that are not reachable from event's currentTarget.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event/composedPath)\n */\n composedPath(): EventTarget[];\n /**\n * @deprecated\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event/initEvent)\n */\n initEvent(type: string, bubbles?: boolean, cancelable?: boolean): void;\n /**\n * If invoked when the cancelable attribute value is true, and while executing a listener for the event with passive set to false, signals to the operation that caused event to be dispatched that it needs to be canceled.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event/preventDefault)\n */\n preventDefault(): void;\n /**\n * Invoking this method prevents event from reaching any registered event listeners after the current one finishes running and, when dispatched in a tree, also prevents event from reaching any other objects.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event/stopImmediatePropagation)\n */\n stopImmediatePropagation(): void;\n /**\n * When dispatched in a tree, invoking this method prevents event from reaching any objects other than the current object.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event/stopPropagation)\n */\n stopPropagation(): void;\n readonly NONE: 0;\n readonly CAPTURING_PHASE: 1;\n readonly AT_TARGET: 2;\n readonly BUBBLING_PHASE: 3;\n}\n\ndeclare var Event: {\n prototype: Event;\n new(type: string, eventInitDict?: EventInit): Event;\n readonly NONE: 0;\n readonly CAPTURING_PHASE: 1;\n readonly AT_TARGET: 2;\n readonly BUBBLING_PHASE: 3;\n};\n\ninterface EventListener {\n (evt: Event): void;\n}\n\ninterface EventListenerObject {\n handleEvent(object: Event): void;\n}\n\ninterface EventSourceEventMap {\n \"error\": Event;\n \"message\": MessageEvent;\n \"open\": Event;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/EventSource) */\ninterface EventSource extends EventTarget {\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/EventSource/error_event) */\n onerror: ((this: EventSource, ev: Event) => any) | null;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/EventSource/message_event) */\n onmessage: ((this: EventSource, ev: MessageEvent) => any) | null;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/EventSource/open_event) */\n onopen: ((this: EventSource, ev: Event) => any) | null;\n /**\n * Returns the state of this EventSource object's connection. It can have the values described below.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/EventSource/readyState)\n */\n readonly readyState: number;\n /**\n * Returns the URL providing the event stream.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/EventSource/url)\n */\n readonly url: string;\n /**\n * Returns true if the credentials mode for connection requests to the URL providing the event stream is set to \"include\", and false otherwise.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/EventSource/withCredentials)\n */\n readonly withCredentials: boolean;\n /**\n * Aborts any instances of the fetch algorithm started for this EventSource object, and sets the readyState attribute to CLOSED.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/EventSource/close)\n */\n close(): void;\n readonly CONNECTING: 0;\n readonly OPEN: 1;\n readonly CLOSED: 2;\n addEventListener(type: K, listener: (this: EventSource, ev: EventSourceEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n addEventListener(type: string, listener: (this: EventSource, event: MessageEvent) => any, options?: boolean | AddEventListenerOptions): void;\n addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n removeEventListener(type: K, listener: (this: EventSource, ev: EventSourceEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n removeEventListener(type: string, listener: (this: EventSource, event: MessageEvent) => any, options?: boolean | EventListenerOptions): void;\n removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var EventSource: {\n prototype: EventSource;\n new(url: string | URL, eventSourceInitDict?: EventSourceInit): EventSource;\n readonly CONNECTING: 0;\n readonly OPEN: 1;\n readonly CLOSED: 2;\n};\n\n/**\n * EventTarget is a DOM interface implemented by objects that can receive events and may have listeners for them.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/EventTarget)\n */\ninterface EventTarget {\n /**\n * Appends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched.\n *\n * The options argument sets listener-specific options. For compatibility this can be a boolean, in which case the method behaves exactly as if the value was specified as options's capture.\n *\n * When set to true, options's capture prevents callback from being invoked when the event's eventPhase attribute value is BUBBLING_PHASE. When false (or not present), callback will not be invoked when event's eventPhase attribute value is CAPTURING_PHASE. Either way, callback will be invoked if event's eventPhase attribute value is AT_TARGET.\n *\n * When set to true, options's passive indicates that the callback will not cancel the event by invoking preventDefault(). This is used to enable performance optimizations described in § 2.8 Observing event listeners.\n *\n * When set to true, options's once indicates that the callback will only be invoked once after which the event listener will be removed.\n *\n * If an AbortSignal is passed for options's signal, then the event listener will be removed when signal is aborted.\n *\n * The event listener is appended to target's event listener list and is not appended if it has the same type, callback, and capture.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/EventTarget/addEventListener)\n */\n addEventListener(type: string, callback: EventListenerOrEventListenerObject | null, options?: AddEventListenerOptions | boolean): void;\n /**\n * Dispatches a synthetic event event to target and returns true if either event's cancelable attribute value is false or its preventDefault() method was not invoked, and false otherwise.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/EventTarget/dispatchEvent)\n */\n dispatchEvent(event: Event): boolean;\n /**\n * Removes the event listener in target's event listener list with the same type, callback, and options.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/EventTarget/removeEventListener)\n */\n removeEventListener(type: string, callback: EventListenerOrEventListenerObject | null, options?: EventListenerOptions | boolean): void;\n}\n\ndeclare var EventTarget: {\n prototype: EventTarget;\n new(): EventTarget;\n};\n\n/**\n * Extends the lifetime of the install and activate events dispatched on the global scope as part of the service worker lifecycle. This ensures that any functional events (like FetchEvent) are not dispatched until it upgrades database schemas and deletes the outdated cache entries.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ExtendableEvent)\n */\ninterface ExtendableEvent extends Event {\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ExtendableEvent/waitUntil) */\n waitUntil(f: Promise): void;\n}\n\ndeclare var ExtendableEvent: {\n prototype: ExtendableEvent;\n new(type: string, eventInitDict?: ExtendableEventInit): ExtendableEvent;\n};\n\n/**\n * This ServiceWorker API interface represents the event object of a message event fired on a service worker (when a channel message is received on the ServiceWorkerGlobalScope from another context) — extends the lifetime of such events.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ExtendableMessageEvent)\n */\ninterface ExtendableMessageEvent extends ExtendableEvent {\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ExtendableMessageEvent/data) */\n readonly data: any;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ExtendableMessageEvent/lastEventId) */\n readonly lastEventId: string;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ExtendableMessageEvent/origin) */\n readonly origin: string;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ExtendableMessageEvent/ports) */\n readonly ports: ReadonlyArray;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ExtendableMessageEvent/source) */\n readonly source: Client | ServiceWorker | MessagePort | null;\n}\n\ndeclare var ExtendableMessageEvent: {\n prototype: ExtendableMessageEvent;\n new(type: string, eventInitDict?: ExtendableMessageEventInit): ExtendableMessageEvent;\n};\n\n/**\n * This is the event type for fetch events dispatched on the service worker global scope. It contains information about the fetch, including the request and how the receiver will treat the response. It provides the event.respondWith() method, which allows us to provide a response to this fetch.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/FetchEvent)\n */\ninterface FetchEvent extends ExtendableEvent {\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FetchEvent/clientId) */\n readonly clientId: string;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FetchEvent/handled) */\n readonly handled: Promise;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FetchEvent/preloadResponse) */\n readonly preloadResponse: Promise;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FetchEvent/request) */\n readonly request: Request;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FetchEvent/resultingClientId) */\n readonly resultingClientId: string;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FetchEvent/respondWith) */\n respondWith(r: Response | PromiseLike): void;\n}\n\ndeclare var FetchEvent: {\n prototype: FetchEvent;\n new(type: string, eventInitDict: FetchEventInit): FetchEvent;\n};\n\n/**\n * Provides information about files and allows JavaScript in a web page to access their content.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/File)\n */\ninterface File extends Blob {\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/File/lastModified) */\n readonly lastModified: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/File/name) */\n readonly name: string;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/File/webkitRelativePath) */\n readonly webkitRelativePath: string;\n}\n\ndeclare var File: {\n prototype: File;\n new(fileBits: BlobPart[], fileName: string, options?: FilePropertyBag): File;\n};\n\n/**\n * An object of this type is returned by the files property of the HTML element; this lets you access the list of files selected with the element. It's also used for a list of files dropped into web content when using the drag and drop API; see the DataTransfer object for details on this usage.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileList)\n */\ninterface FileList {\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileList/length) */\n readonly length: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileList/item) */\n item(index: number): File | null;\n [index: number]: File;\n}\n\ndeclare var FileList: {\n prototype: FileList;\n new(): FileList;\n};\n\ninterface FileReaderEventMap {\n \"abort\": ProgressEvent;\n \"error\": ProgressEvent;\n \"load\": ProgressEvent;\n \"loadend\": ProgressEvent;\n \"loadstart\": ProgressEvent;\n \"progress\": ProgressEvent;\n}\n\n/**\n * Lets web applications asynchronously read the contents of files (or raw data buffers) stored on the user's computer, using File or Blob objects to specify the file or data to read.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileReader)\n */\ninterface FileReader extends EventTarget {\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileReader/error) */\n readonly error: DOMException | null;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileReader/abort_event) */\n onabort: ((this: FileReader, ev: ProgressEvent) => any) | null;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileReader/error_event) */\n onerror: ((this: FileReader, ev: ProgressEvent) => any) | null;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileReader/load_event) */\n onload: ((this: FileReader, ev: ProgressEvent) => any) | null;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileReader/loadend_event) */\n onloadend: ((this: FileReader, ev: ProgressEvent) => any) | null;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileReader/loadstart_event) */\n onloadstart: ((this: FileReader, ev: ProgressEvent) => any) | null;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileReader/progress_event) */\n onprogress: ((this: FileReader, ev: ProgressEvent) => any) | null;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileReader/readyState) */\n readonly readyState: typeof FileReader.EMPTY | typeof FileReader.LOADING | typeof FileReader.DONE;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileReader/result) */\n readonly result: string | ArrayBuffer | null;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileReader/abort) */\n abort(): void;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileReader/readAsArrayBuffer) */\n readAsArrayBuffer(blob: Blob): void;\n /**\n * @deprecated\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileReader/readAsBinaryString)\n */\n readAsBinaryString(blob: Blob): void;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileReader/readAsDataURL) */\n readAsDataURL(blob: Blob): void;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileReader/readAsText) */\n readAsText(blob: Blob, encoding?: string): void;\n readonly EMPTY: 0;\n readonly LOADING: 1;\n readonly DONE: 2;\n addEventListener(type: K, listener: (this: FileReader, ev: FileReaderEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n removeEventListener(type: K, listener: (this: FileReader, ev: FileReaderEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var FileReader: {\n prototype: FileReader;\n new(): FileReader;\n readonly EMPTY: 0;\n readonly LOADING: 1;\n readonly DONE: 2;\n};\n\n/**\n * Allows to read File or Blob objects in a synchronous way.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileReaderSync)\n */\ninterface FileReaderSync {\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileReaderSync/readAsArrayBuffer) */\n readAsArrayBuffer(blob: Blob): ArrayBuffer;\n /**\n * @deprecated\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileReaderSync/readAsBinaryString)\n */\n readAsBinaryString(blob: Blob): string;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileReaderSync/readAsDataURL) */\n readAsDataURL(blob: Blob): string;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileReaderSync/readAsText) */\n readAsText(blob: Blob, encoding?: string): string;\n}\n\ndeclare var FileReaderSync: {\n prototype: FileReaderSync;\n new(): FileReaderSync;\n};\n\n/**\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemDirectoryHandle)\n */\ninterface FileSystemDirectoryHandle extends FileSystemHandle {\n readonly kind: \"directory\";\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemDirectoryHandle/getDirectoryHandle) */\n getDirectoryHandle(name: string, options?: FileSystemGetDirectoryOptions): Promise;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemDirectoryHandle/getFileHandle) */\n getFileHandle(name: string, options?: FileSystemGetFileOptions): Promise;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemDirectoryHandle/removeEntry) */\n removeEntry(name: string, options?: FileSystemRemoveOptions): Promise;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemDirectoryHandle/resolve) */\n resolve(possibleDescendant: FileSystemHandle): Promise;\n}\n\ndeclare var FileSystemDirectoryHandle: {\n prototype: FileSystemDirectoryHandle;\n new(): FileSystemDirectoryHandle;\n};\n\n/**\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemFileHandle)\n */\ninterface FileSystemFileHandle extends FileSystemHandle {\n readonly kind: \"file\";\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemFileHandle/createSyncAccessHandle) */\n createSyncAccessHandle(): Promise;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemFileHandle/createWritable) */\n createWritable(options?: FileSystemCreateWritableOptions): Promise;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemFileHandle/getFile) */\n getFile(): Promise;\n}\n\ndeclare var FileSystemFileHandle: {\n prototype: FileSystemFileHandle;\n new(): FileSystemFileHandle;\n};\n\n/**\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemHandle)\n */\ninterface FileSystemHandle {\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemHandle/kind) */\n readonly kind: FileSystemHandleKind;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemHandle/name) */\n readonly name: string;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemHandle/isSameEntry) */\n isSameEntry(other: FileSystemHandle): Promise;\n}\n\ndeclare var FileSystemHandle: {\n prototype: FileSystemHandle;\n new(): FileSystemHandle;\n};\n\n/**\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemSyncAccessHandle)\n */\ninterface FileSystemSyncAccessHandle {\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemSyncAccessHandle/close) */\n close(): void;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemSyncAccessHandle/flush) */\n flush(): void;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemSyncAccessHandle/getSize) */\n getSize(): number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemSyncAccessHandle/read) */\n read(buffer: AllowSharedBufferSource, options?: FileSystemReadWriteOptions): number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemSyncAccessHandle/truncate) */\n truncate(newSize: number): void;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemSyncAccessHandle/write) */\n write(buffer: AllowSharedBufferSource, options?: FileSystemReadWriteOptions): number;\n}\n\ndeclare var FileSystemSyncAccessHandle: {\n prototype: FileSystemSyncAccessHandle;\n new(): FileSystemSyncAccessHandle;\n};\n\n/**\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemWritableFileStream)\n */\ninterface FileSystemWritableFileStream extends WritableStream {\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemWritableFileStream/seek) */\n seek(position: number): Promise;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemWritableFileStream/truncate) */\n truncate(size: number): Promise;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemWritableFileStream/write) */\n write(data: FileSystemWriteChunkType): Promise;\n}\n\ndeclare var FileSystemWritableFileStream: {\n prototype: FileSystemWritableFileStream;\n new(): FileSystemWritableFileStream;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FontFace) */\ninterface FontFace {\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FontFace/ascentOverride) */\n ascentOverride: string;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FontFace/descentOverride) */\n descentOverride: string;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FontFace/display) */\n display: FontDisplay;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FontFace/family) */\n family: string;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FontFace/featureSettings) */\n featureSettings: string;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FontFace/lineGapOverride) */\n lineGapOverride: string;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FontFace/loaded) */\n readonly loaded: Promise;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FontFace/status) */\n readonly status: FontFaceLoadStatus;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FontFace/stretch) */\n stretch: string;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FontFace/style) */\n style: string;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FontFace/unicodeRange) */\n unicodeRange: string;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FontFace/weight) */\n weight: string;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FontFace/load) */\n load(): Promise;\n}\n\ndeclare var FontFace: {\n prototype: FontFace;\n new(family: string, source: string | BufferSource, descriptors?: FontFaceDescriptors): FontFace;\n};\n\ninterface FontFaceSetEventMap {\n \"loading\": FontFaceSetLoadEvent;\n \"loadingdone\": FontFaceSetLoadEvent;\n \"loadingerror\": FontFaceSetLoadEvent;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FontFaceSet) */\ninterface FontFaceSet extends EventTarget {\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FontFaceSet/loading_event) */\n onloading: ((this: FontFaceSet, ev: FontFaceSetLoadEvent) => any) | null;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FontFaceSet/loadingdone_event) */\n onloadingdone: ((this: FontFaceSet, ev: FontFaceSetLoadEvent) => any) | null;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FontFaceSet/loadingerror_event) */\n onloadingerror: ((this: FontFaceSet, ev: FontFaceSetLoadEvent) => any) | null;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FontFaceSet/ready) */\n readonly ready: Promise;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FontFaceSet/status) */\n readonly status: FontFaceSetLoadStatus;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FontFaceSet/check) */\n check(font: string, text?: string): boolean;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FontFaceSet/load) */\n load(font: string, text?: string): Promise;\n forEach(callbackfn: (value: FontFace, key: FontFace, parent: FontFaceSet) => void, thisArg?: any): void;\n addEventListener(type: K, listener: (this: FontFaceSet, ev: FontFaceSetEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n removeEventListener(type: K, listener: (this: FontFaceSet, ev: FontFaceSetEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var FontFaceSet: {\n prototype: FontFaceSet;\n new(): FontFaceSet;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FontFaceSetLoadEvent) */\ninterface FontFaceSetLoadEvent extends Event {\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FontFaceSetLoadEvent/fontfaces) */\n readonly fontfaces: ReadonlyArray;\n}\n\ndeclare var FontFaceSetLoadEvent: {\n prototype: FontFaceSetLoadEvent;\n new(type: string, eventInitDict?: FontFaceSetLoadEventInit): FontFaceSetLoadEvent;\n};\n\ninterface FontFaceSource {\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/fonts) */\n readonly fonts: FontFaceSet;\n}\n\n/**\n * Provides a way to easily construct a set of key/value pairs representing form fields and their values, which can then be easily sent using the XMLHttpRequest.send() method. It uses the same format a form would use if the encoding type were set to \"multipart/form-data\".\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/FormData)\n */\ninterface FormData {\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FormData/append) */\n append(name: string, value: string | Blob): void;\n append(name: string, value: string): void;\n append(name: string, blobValue: Blob, filename?: string): void;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FormData/delete) */\n delete(name: string): void;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FormData/get) */\n get(name: string): FormDataEntryValue | null;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FormData/getAll) */\n getAll(name: string): FormDataEntryValue[];\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FormData/has) */\n has(name: string): boolean;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FormData/set) */\n set(name: string, value: string | Blob): void;\n set(name: string, value: string): void;\n set(name: string, blobValue: Blob, filename?: string): void;\n forEach(callbackfn: (value: FormDataEntryValue, key: string, parent: FormData) => void, thisArg?: any): void;\n}\n\ndeclare var FormData: {\n prototype: FormData;\n new(): FormData;\n};\n\n/**\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPUError)\n */\ninterface GPUError {\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPUError/message) */\n readonly message: string;\n}\n\ninterface GenericTransformStream {\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CompressionStream/readable) */\n readonly readable: ReadableStream;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CompressionStream/writable) */\n readonly writable: WritableStream;\n}\n\n/**\n * This Fetch API interface allows you to perform various actions on HTTP request and response headers. These actions include retrieving, setting, adding to, and removing. A Headers object has an associated header list, which is initially empty and consists of zero or more name and value pairs.  You can add to this using methods like append() (see Examples.) In all methods of this interface, header names are matched by case-insensitive byte sequence.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Headers)\n */\ninterface Headers {\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Headers/append) */\n append(name: string, value: string): void;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Headers/delete) */\n delete(name: string): void;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Headers/get) */\n get(name: string): string | null;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Headers/getSetCookie) */\n getSetCookie(): string[];\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Headers/has) */\n has(name: string): boolean;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Headers/set) */\n set(name: string, value: string): void;\n forEach(callbackfn: (value: string, key: string, parent: Headers) => void, thisArg?: any): void;\n}\n\ndeclare var Headers: {\n prototype: Headers;\n new(init?: HeadersInit): Headers;\n};\n\n/**\n * This IndexedDB API interface represents a cursor for traversing or iterating over multiple records in a database.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBCursor)\n */\ninterface IDBCursor {\n /**\n * Returns the direction (\"next\", \"nextunique\", \"prev\" or \"prevunique\") of the cursor.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBCursor/direction)\n */\n readonly direction: IDBCursorDirection;\n /**\n * Returns the key of the cursor. Throws a \"InvalidStateError\" DOMException if the cursor is advancing or is finished.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBCursor/key)\n */\n readonly key: IDBValidKey;\n /**\n * Returns the effective key of the cursor. Throws a \"InvalidStateError\" DOMException if the cursor is advancing or is finished.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBCursor/primaryKey)\n */\n readonly primaryKey: IDBValidKey;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBCursor/request) */\n readonly request: IDBRequest;\n /**\n * Returns the IDBObjectStore or IDBIndex the cursor was opened from.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBCursor/source)\n */\n readonly source: IDBObjectStore | IDBIndex;\n /**\n * Advances the cursor through the next count records in range.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBCursor/advance)\n */\n advance(count: number): void;\n /**\n * Advances the cursor to the next record in range.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBCursor/continue)\n */\n continue(key?: IDBValidKey): void;\n /**\n * Advances the cursor to the next record in range matching or after key and primaryKey. Throws an \"InvalidAccessError\" DOMException if the source is not an index.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBCursor/continuePrimaryKey)\n */\n continuePrimaryKey(key: IDBValidKey, primaryKey: IDBValidKey): void;\n /**\n * Delete the record pointed at by the cursor with a new value.\n *\n * If successful, request's result will be undefined.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBCursor/delete)\n */\n delete(): IDBRequest;\n /**\n * Updated the record pointed at by the cursor with a new value.\n *\n * Throws a \"DataError\" DOMException if the effective object store uses in-line keys and the key would have changed.\n *\n * If successful, request's result will be the record's key.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBCursor/update)\n */\n update(value: any): IDBRequest;\n}\n\ndeclare var IDBCursor: {\n prototype: IDBCursor;\n new(): IDBCursor;\n};\n\n/**\n * This IndexedDB API interface represents a cursor for traversing or iterating over multiple records in a database. It is the same as the IDBCursor, except that it includes the value property.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBCursorWithValue)\n */\ninterface IDBCursorWithValue extends IDBCursor {\n /**\n * Returns the cursor's current value.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBCursorWithValue/value)\n */\n readonly value: any;\n}\n\ndeclare var IDBCursorWithValue: {\n prototype: IDBCursorWithValue;\n new(): IDBCursorWithValue;\n};\n\ninterface IDBDatabaseEventMap {\n \"abort\": Event;\n \"close\": Event;\n \"error\": Event;\n \"versionchange\": IDBVersionChangeEvent;\n}\n\n/**\n * This IndexedDB API interface provides a connection to a database; you can use an IDBDatabase object to open a transaction on your database then create, manipulate, and delete objects (data) in that database. The interface provides the only way to get and manage versions of the database.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBDatabase)\n */\ninterface IDBDatabase extends EventTarget {\n /**\n * Returns the name of the database.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBDatabase/name)\n */\n readonly name: string;\n /**\n * Returns a list of the names of object stores in the database.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBDatabase/objectStoreNames)\n */\n readonly objectStoreNames: DOMStringList;\n onabort: ((this: IDBDatabase, ev: Event) => any) | null;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBDatabase/close_event) */\n onclose: ((this: IDBDatabase, ev: Event) => any) | null;\n onerror: ((this: IDBDatabase, ev: Event) => any) | null;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBDatabase/versionchange_event) */\n onversionchange: ((this: IDBDatabase, ev: IDBVersionChangeEvent) => any) | null;\n /**\n * Returns the version of the database.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBDatabase/version)\n */\n readonly version: number;\n /**\n * Closes the connection once all running transactions have finished.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBDatabase/close)\n */\n close(): void;\n /**\n * Creates a new object store with the given name and options and returns a new IDBObjectStore.\n *\n * Throws a \"InvalidStateError\" DOMException if not called within an upgrade transaction.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBDatabase/createObjectStore)\n */\n createObjectStore(name: string, options?: IDBObjectStoreParameters): IDBObjectStore;\n /**\n * Deletes the object store with the given name.\n *\n * Throws a \"InvalidStateError\" DOMException if not called within an upgrade transaction.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBDatabase/deleteObjectStore)\n */\n deleteObjectStore(name: string): void;\n /**\n * Returns a new transaction with the given mode (\"readonly\" or \"readwrite\") and scope which can be a single object store name or an array of names.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBDatabase/transaction)\n */\n transaction(storeNames: string | string[], mode?: IDBTransactionMode, options?: IDBTransactionOptions): IDBTransaction;\n addEventListener(type: K, listener: (this: IDBDatabase, ev: IDBDatabaseEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n removeEventListener(type: K, listener: (this: IDBDatabase, ev: IDBDatabaseEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var IDBDatabase: {\n prototype: IDBDatabase;\n new(): IDBDatabase;\n};\n\n/**\n * In the following code snippet, we make a request to open a database, and include handlers for the success and error cases. For a full working example, see our To-do Notifications app (view example live.)\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBFactory)\n */\ninterface IDBFactory {\n /**\n * Compares two values as keys. Returns -1 if key1 precedes key2, 1 if key2 precedes key1, and 0 if the keys are equal.\n *\n * Throws a \"DataError\" DOMException if either input is not a valid key.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBFactory/cmp)\n */\n cmp(first: any, second: any): number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBFactory/databases) */\n databases(): Promise;\n /**\n * Attempts to delete the named database. If the database already exists and there are open connections that don't close in response to a versionchange event, the request will be blocked until all they close. If the request is successful request's result will be null.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBFactory/deleteDatabase)\n */\n deleteDatabase(name: string): IDBOpenDBRequest;\n /**\n * Attempts to open a connection to the named database with the current version, or 1 if it does not already exist. If the request is successful request's result will be the connection.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBFactory/open)\n */\n open(name: string, version?: number): IDBOpenDBRequest;\n}\n\ndeclare var IDBFactory: {\n prototype: IDBFactory;\n new(): IDBFactory;\n};\n\n/**\n * IDBIndex interface of the IndexedDB API provides asynchronous access to an index in a database. An index is a kind of object store for looking up records in another object store, called the referenced object store. You use this interface to retrieve data.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBIndex)\n */\ninterface IDBIndex {\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBIndex/keyPath) */\n readonly keyPath: string | string[];\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBIndex/multiEntry) */\n readonly multiEntry: boolean;\n /**\n * Returns the name of the index.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBIndex/name)\n */\n name: string;\n /**\n * Returns the IDBObjectStore the index belongs to.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBIndex/objectStore)\n */\n readonly objectStore: IDBObjectStore;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBIndex/unique) */\n readonly unique: boolean;\n /**\n * Retrieves the number of records matching the given key or key range in query.\n *\n * If successful, request's result will be the count.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBIndex/count)\n */\n count(query?: IDBValidKey | IDBKeyRange): IDBRequest;\n /**\n * Retrieves the value of the first record matching the given key or key range in query.\n *\n * If successful, request's result will be the value, or undefined if there was no matching record.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBIndex/get)\n */\n get(query: IDBValidKey | IDBKeyRange): IDBRequest;\n /**\n * Retrieves the values of the records matching the given key or key range in query (up to count if given).\n *\n * If successful, request's result will be an Array of the values.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBIndex/getAll)\n */\n getAll(query?: IDBValidKey | IDBKeyRange | null, count?: number): IDBRequest;\n /**\n * Retrieves the keys of records matching the given key or key range in query (up to count if given).\n *\n * If successful, request's result will be an Array of the keys.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBIndex/getAllKeys)\n */\n getAllKeys(query?: IDBValidKey | IDBKeyRange | null, count?: number): IDBRequest;\n /**\n * Retrieves the key of the first record matching the given key or key range in query.\n *\n * If successful, request's result will be the key, or undefined if there was no matching record.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBIndex/getKey)\n */\n getKey(query: IDBValidKey | IDBKeyRange): IDBRequest;\n /**\n * Opens a cursor over the records matching query, ordered by direction. If query is null, all records in index are matched.\n *\n * If successful, request's result will be an IDBCursorWithValue, or null if there were no matching records.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBIndex/openCursor)\n */\n openCursor(query?: IDBValidKey | IDBKeyRange | null, direction?: IDBCursorDirection): IDBRequest;\n /**\n * Opens a cursor with key only flag set over the records matching query, ordered by direction. If query is null, all records in index are matched.\n *\n * If successful, request's result will be an IDBCursor, or null if there were no matching records.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBIndex/openKeyCursor)\n */\n openKeyCursor(query?: IDBValidKey | IDBKeyRange | null, direction?: IDBCursorDirection): IDBRequest;\n}\n\ndeclare var IDBIndex: {\n prototype: IDBIndex;\n new(): IDBIndex;\n};\n\n/**\n * A key range can be a single value or a range with upper and lower bounds or endpoints. If the key range has both upper and lower bounds, then it is bounded; if it has no bounds, it is unbounded. A bounded key range can either be open (the endpoints are excluded) or closed (the endpoints are included). To retrieve all keys within a certain range, you can use the following code constructs:\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBKeyRange)\n */\ninterface IDBKeyRange {\n /**\n * Returns lower bound, or undefined if none.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBKeyRange/lower)\n */\n readonly lower: any;\n /**\n * Returns true if the lower open flag is set, and false otherwise.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBKeyRange/lowerOpen)\n */\n readonly lowerOpen: boolean;\n /**\n * Returns upper bound, or undefined if none.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBKeyRange/upper)\n */\n readonly upper: any;\n /**\n * Returns true if the upper open flag is set, and false otherwise.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBKeyRange/upperOpen)\n */\n readonly upperOpen: boolean;\n /**\n * Returns true if key is included in the range, and false otherwise.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBKeyRange/includes)\n */\n includes(key: any): boolean;\n}\n\ndeclare var IDBKeyRange: {\n prototype: IDBKeyRange;\n new(): IDBKeyRange;\n /**\n * Returns a new IDBKeyRange spanning from lower to upper. If lowerOpen is true, lower is not included in the range. If upperOpen is true, upper is not included in the range.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBKeyRange/bound_static)\n */\n bound(lower: any, upper: any, lowerOpen?: boolean, upperOpen?: boolean): IDBKeyRange;\n /**\n * Returns a new IDBKeyRange starting at key with no upper bound. If open is true, key is not included in the range.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBKeyRange/lowerBound_static)\n */\n lowerBound(lower: any, open?: boolean): IDBKeyRange;\n /**\n * Returns a new IDBKeyRange spanning only key.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBKeyRange/only_static)\n */\n only(value: any): IDBKeyRange;\n /**\n * Returns a new IDBKeyRange with no lower bound and ending at key. If open is true, key is not included in the range.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBKeyRange/upperBound_static)\n */\n upperBound(upper: any, open?: boolean): IDBKeyRange;\n};\n\n/**\n * This example shows a variety of different uses of object stores, from updating the data structure with IDBObjectStore.createIndex inside an onupgradeneeded function, to adding a new item to our object store with IDBObjectStore.add. For a full working example, see our To-do Notifications app (view example live.)\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBObjectStore)\n */\ninterface IDBObjectStore {\n /**\n * Returns true if the store has a key generator, and false otherwise.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/autoIncrement)\n */\n readonly autoIncrement: boolean;\n /**\n * Returns a list of the names of indexes in the store.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/indexNames)\n */\n readonly indexNames: DOMStringList;\n /**\n * Returns the key path of the store, or null if none.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/keyPath)\n */\n readonly keyPath: string | string[];\n /**\n * Returns the name of the store.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/name)\n */\n name: string;\n /**\n * Returns the associated transaction.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/transaction)\n */\n readonly transaction: IDBTransaction;\n /**\n * Adds or updates a record in store with the given value and key.\n *\n * If the store uses in-line keys and key is specified a \"DataError\" DOMException will be thrown.\n *\n * If put() is used, any existing record with the key will be replaced. If add() is used, and if a record with the key already exists the request will fail, with request's error set to a \"ConstraintError\" DOMException.\n *\n * If successful, request's result will be the record's key.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/add)\n */\n add(value: any, key?: IDBValidKey): IDBRequest;\n /**\n * Deletes all records in store.\n *\n * If successful, request's result will be undefined.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/clear)\n */\n clear(): IDBRequest;\n /**\n * Retrieves the number of records matching the given key or key range in query.\n *\n * If successful, request's result will be the count.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/count)\n */\n count(query?: IDBValidKey | IDBKeyRange): IDBRequest;\n /**\n * Creates a new index in store with the given name, keyPath and options and returns a new IDBIndex. If the keyPath and options define constraints that cannot be satisfied with the data already in store the upgrade transaction will abort with a \"ConstraintError\" DOMException.\n *\n * Throws an \"InvalidStateError\" DOMException if not called within an upgrade transaction.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/createIndex)\n */\n createIndex(name: string, keyPath: string | string[], options?: IDBIndexParameters): IDBIndex;\n /**\n * Deletes records in store with the given key or in the given key range in query.\n *\n * If successful, request's result will be undefined.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/delete)\n */\n delete(query: IDBValidKey | IDBKeyRange): IDBRequest;\n /**\n * Deletes the index in store with the given name.\n *\n * Throws an \"InvalidStateError\" DOMException if not called within an upgrade transaction.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/deleteIndex)\n */\n deleteIndex(name: string): void;\n /**\n * Retrieves the value of the first record matching the given key or key range in query.\n *\n * If successful, request's result will be the value, or undefined if there was no matching record.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/get)\n */\n get(query: IDBValidKey | IDBKeyRange): IDBRequest;\n /**\n * Retrieves the values of the records matching the given key or key range in query (up to count if given).\n *\n * If successful, request's result will be an Array of the values.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/getAll)\n */\n getAll(query?: IDBValidKey | IDBKeyRange | null, count?: number): IDBRequest;\n /**\n * Retrieves the keys of records matching the given key or key range in query (up to count if given).\n *\n * If successful, request's result will be an Array of the keys.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/getAllKeys)\n */\n getAllKeys(query?: IDBValidKey | IDBKeyRange | null, count?: number): IDBRequest;\n /**\n * Retrieves the key of the first record matching the given key or key range in query.\n *\n * If successful, request's result will be the key, or undefined if there was no matching record.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/getKey)\n */\n getKey(query: IDBValidKey | IDBKeyRange): IDBRequest;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/index) */\n index(name: string): IDBIndex;\n /**\n * Opens a cursor over the records matching query, ordered by direction. If query is null, all records in store are matched.\n *\n * If successful, request's result will be an IDBCursorWithValue pointing at the first matching record, or null if there were no matching records.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/openCursor)\n */\n openCursor(query?: IDBValidKey | IDBKeyRange | null, direction?: IDBCursorDirection): IDBRequest;\n /**\n * Opens a cursor with key only flag set over the records matching query, ordered by direction. If query is null, all records in store are matched.\n *\n * If successful, request's result will be an IDBCursor pointing at the first matching record, or null if there were no matching records.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/openKeyCursor)\n */\n openKeyCursor(query?: IDBValidKey | IDBKeyRange | null, direction?: IDBCursorDirection): IDBRequest;\n /**\n * Adds or updates a record in store with the given value and key.\n *\n * If the store uses in-line keys and key is specified a \"DataError\" DOMException will be thrown.\n *\n * If put() is used, any existing record with the key will be replaced. If add() is used, and if a record with the key already exists the request will fail, with request's error set to a \"ConstraintError\" DOMException.\n *\n * If successful, request's result will be the record's key.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/put)\n */\n put(value: any, key?: IDBValidKey): IDBRequest;\n}\n\ndeclare var IDBObjectStore: {\n prototype: IDBObjectStore;\n new(): IDBObjectStore;\n};\n\ninterface IDBOpenDBRequestEventMap extends IDBRequestEventMap {\n \"blocked\": IDBVersionChangeEvent;\n \"upgradeneeded\": IDBVersionChangeEvent;\n}\n\n/**\n * Also inherits methods from its parents IDBRequest and EventTarget.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBOpenDBRequest)\n */\ninterface IDBOpenDBRequest extends IDBRequest {\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBOpenDBRequest/blocked_event) */\n onblocked: ((this: IDBOpenDBRequest, ev: IDBVersionChangeEvent) => any) | null;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBOpenDBRequest/upgradeneeded_event) */\n onupgradeneeded: ((this: IDBOpenDBRequest, ev: IDBVersionChangeEvent) => any) | null;\n addEventListener(type: K, listener: (this: IDBOpenDBRequest, ev: IDBOpenDBRequestEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n removeEventListener(type: K, listener: (this: IDBOpenDBRequest, ev: IDBOpenDBRequestEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var IDBOpenDBRequest: {\n prototype: IDBOpenDBRequest;\n new(): IDBOpenDBRequest;\n};\n\ninterface IDBRequestEventMap {\n \"error\": Event;\n \"success\": Event;\n}\n\n/**\n * The request object does not initially contain any information about the result of the operation, but once information becomes available, an event is fired on the request, and the information becomes available through the properties of the IDBRequest instance.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBRequest)\n */\ninterface IDBRequest extends EventTarget {\n /**\n * When a request is completed, returns the error (a DOMException), or null if the request succeeded. Throws a \"InvalidStateError\" DOMException if the request is still pending.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBRequest/error)\n */\n readonly error: DOMException | null;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBRequest/error_event) */\n onerror: ((this: IDBRequest, ev: Event) => any) | null;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBRequest/success_event) */\n onsuccess: ((this: IDBRequest, ev: Event) => any) | null;\n /**\n * Returns \"pending\" until a request is complete, then returns \"done\".\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBRequest/readyState)\n */\n readonly readyState: IDBRequestReadyState;\n /**\n * When a request is completed, returns the result, or undefined if the request failed. Throws a \"InvalidStateError\" DOMException if the request is still pending.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBRequest/result)\n */\n readonly result: T;\n /**\n * Returns the IDBObjectStore, IDBIndex, or IDBCursor the request was made against, or null if is was an open request.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBRequest/source)\n */\n readonly source: IDBObjectStore | IDBIndex | IDBCursor;\n /**\n * Returns the IDBTransaction the request was made within. If this as an open request, then it returns an upgrade transaction while it is running, or null otherwise.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBRequest/transaction)\n */\n readonly transaction: IDBTransaction | null;\n addEventListener(type: K, listener: (this: IDBRequest, ev: IDBRequestEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n removeEventListener(type: K, listener: (this: IDBRequest, ev: IDBRequestEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var IDBRequest: {\n prototype: IDBRequest;\n new(): IDBRequest;\n};\n\ninterface IDBTransactionEventMap {\n \"abort\": Event;\n \"complete\": Event;\n \"error\": Event;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBTransaction) */\ninterface IDBTransaction extends EventTarget {\n /**\n * Returns the transaction's connection.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBTransaction/db)\n */\n readonly db: IDBDatabase;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBTransaction/durability) */\n readonly durability: IDBTransactionDurability;\n /**\n * If the transaction was aborted, returns the error (a DOMException) providing the reason.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBTransaction/error)\n */\n readonly error: DOMException | null;\n /**\n * Returns the mode the transaction was created with (\"readonly\" or \"readwrite\"), or \"versionchange\" for an upgrade transaction.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBTransaction/mode)\n */\n readonly mode: IDBTransactionMode;\n /**\n * Returns a list of the names of object stores in the transaction's scope. For an upgrade transaction this is all object stores in the database.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBTransaction/objectStoreNames)\n */\n readonly objectStoreNames: DOMStringList;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBTransaction/abort_event) */\n onabort: ((this: IDBTransaction, ev: Event) => any) | null;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBTransaction/complete_event) */\n oncomplete: ((this: IDBTransaction, ev: Event) => any) | null;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBTransaction/error_event) */\n onerror: ((this: IDBTransaction, ev: Event) => any) | null;\n /**\n * Aborts the transaction. All pending requests will fail with a \"AbortError\" DOMException and all changes made to the database will be reverted.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBTransaction/abort)\n */\n abort(): void;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBTransaction/commit) */\n commit(): void;\n /**\n * Returns an IDBObjectStore in the transaction's scope.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBTransaction/objectStore)\n */\n objectStore(name: string): IDBObjectStore;\n addEventListener(type: K, listener: (this: IDBTransaction, ev: IDBTransactionEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n removeEventListener(type: K, listener: (this: IDBTransaction, ev: IDBTransactionEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var IDBTransaction: {\n prototype: IDBTransaction;\n new(): IDBTransaction;\n};\n\n/**\n * This IndexedDB API interface indicates that the version of the database has changed, as the result of an IDBOpenDBRequest.onupgradeneeded event handler function.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBVersionChangeEvent)\n */\ninterface IDBVersionChangeEvent extends Event {\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBVersionChangeEvent/newVersion) */\n readonly newVersion: number | null;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBVersionChangeEvent/oldVersion) */\n readonly oldVersion: number;\n}\n\ndeclare var IDBVersionChangeEvent: {\n prototype: IDBVersionChangeEvent;\n new(type: string, eventInitDict?: IDBVersionChangeEventInit): IDBVersionChangeEvent;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ImageBitmap) */\ninterface ImageBitmap {\n /**\n * Returns the intrinsic height of the image, in CSS pixels.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ImageBitmap/height)\n */\n readonly height: number;\n /**\n * Returns the intrinsic width of the image, in CSS pixels.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ImageBitmap/width)\n */\n readonly width: number;\n /**\n * Releases imageBitmap's underlying bitmap data.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ImageBitmap/close)\n */\n close(): void;\n}\n\ndeclare var ImageBitmap: {\n prototype: ImageBitmap;\n new(): ImageBitmap;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ImageBitmapRenderingContext) */\ninterface ImageBitmapRenderingContext {\n /**\n * Transfers the underlying bitmap data from imageBitmap to context, and the bitmap becomes the contents of the canvas element to which context is bound.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ImageBitmapRenderingContext/transferFromImageBitmap)\n */\n transferFromImageBitmap(bitmap: ImageBitmap | null): void;\n}\n\ndeclare var ImageBitmapRenderingContext: {\n prototype: ImageBitmapRenderingContext;\n new(): ImageBitmapRenderingContext;\n};\n\n/**\n * The underlying pixel data of an area of a element. It is created using the ImageData() constructor or creator methods on the CanvasRenderingContext2D object associated with a canvas: createImageData() and getImageData(). It can also be used to set a part of the canvas by using putImageData().\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ImageData)\n */\ninterface ImageData {\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ImageData/colorSpace) */\n readonly colorSpace: PredefinedColorSpace;\n /**\n * Returns the one-dimensional array containing the data in RGBA order, as integers in the range 0 to 255.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ImageData/data)\n */\n readonly data: Uint8ClampedArray;\n /**\n * Returns the actual dimensions of the data in the ImageData object, in pixels.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ImageData/height)\n */\n readonly height: number;\n /**\n * Returns the actual dimensions of the data in the ImageData object, in pixels.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ImageData/width)\n */\n readonly width: number;\n}\n\ndeclare var ImageData: {\n prototype: ImageData;\n new(sw: number, sh: number, settings?: ImageDataSettings): ImageData;\n new(data: Uint8ClampedArray, sw: number, sh?: number, settings?: ImageDataSettings): ImageData;\n};\n\n/**\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ImageDecoder)\n */\ninterface ImageDecoder {\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ImageDecoder/complete) */\n readonly complete: boolean;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ImageDecoder/completed) */\n readonly completed: Promise;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ImageDecoder/tracks) */\n readonly tracks: ImageTrackList;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ImageDecoder/type) */\n readonly type: string;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ImageDecoder/close) */\n close(): void;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ImageDecoder/decode) */\n decode(options?: ImageDecodeOptions): Promise;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ImageDecoder/reset) */\n reset(): void;\n}\n\ndeclare var ImageDecoder: {\n prototype: ImageDecoder;\n new(init: ImageDecoderInit): ImageDecoder;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ImageDecoder/isTypeSupported_static) */\n isTypeSupported(type: string): Promise;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ImageTrack) */\ninterface ImageTrack {\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ImageTrack/animated) */\n readonly animated: boolean;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ImageTrack/frameCount) */\n readonly frameCount: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ImageTrack/repetitionCount) */\n readonly repetitionCount: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ImageTrack/selected) */\n selected: boolean;\n}\n\ndeclare var ImageTrack: {\n prototype: ImageTrack;\n new(): ImageTrack;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ImageTrackList) */\ninterface ImageTrackList {\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ImageTrackList/length) */\n readonly length: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ImageTrackList/ready) */\n readonly ready: Promise;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ImageTrackList/selectedIndex) */\n readonly selectedIndex: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ImageTrackList/selectedTrack) */\n readonly selectedTrack: ImageTrack | null;\n [index: number]: ImageTrack;\n}\n\ndeclare var ImageTrackList: {\n prototype: ImageTrackList;\n new(): ImageTrackList;\n};\n\ninterface ImportMeta {\n url: string;\n resolve(specifier: string): string;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/KHR_parallel_shader_compile) */\ninterface KHR_parallel_shader_compile {\n readonly COMPLETION_STATUS_KHR: 0x91B1;\n}\n\n/**\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Lock)\n */\ninterface Lock {\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Lock/mode) */\n readonly mode: LockMode;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Lock/name) */\n readonly name: string;\n}\n\ndeclare var Lock: {\n prototype: Lock;\n new(): Lock;\n};\n\n/**\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/LockManager)\n */\ninterface LockManager {\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/LockManager/query) */\n query(): Promise;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/LockManager/request) */\n request(name: string, callback: LockGrantedCallback): Promise;\n request(name: string, options: LockOptions, callback: LockGrantedCallback): Promise;\n}\n\ndeclare var LockManager: {\n prototype: LockManager;\n new(): LockManager;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaCapabilities) */\ninterface MediaCapabilities {\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaCapabilities/decodingInfo) */\n decodingInfo(configuration: MediaDecodingConfiguration): Promise;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaCapabilities/encodingInfo) */\n encodingInfo(configuration: MediaEncodingConfiguration): Promise;\n}\n\ndeclare var MediaCapabilities: {\n prototype: MediaCapabilities;\n new(): MediaCapabilities;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaSourceHandle) */\ninterface MediaSourceHandle {\n}\n\ndeclare var MediaSourceHandle: {\n prototype: MediaSourceHandle;\n new(): MediaSourceHandle;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaStreamTrackProcessor) */\ninterface MediaStreamTrackProcessor {\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaStreamTrackProcessor/readable) */\n readonly readable: ReadableStream;\n}\n\ndeclare var MediaStreamTrackProcessor: {\n prototype: MediaStreamTrackProcessor;\n new(init: MediaStreamTrackProcessorInit): MediaStreamTrackProcessor;\n};\n\n/**\n * This Channel Messaging API interface allows us to create a new message channel and send data through it via its two MessagePort properties.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MessageChannel)\n */\ninterface MessageChannel {\n /**\n * Returns the first MessagePort object.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MessageChannel/port1)\n */\n readonly port1: MessagePort;\n /**\n * Returns the second MessagePort object.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MessageChannel/port2)\n */\n readonly port2: MessagePort;\n}\n\ndeclare var MessageChannel: {\n prototype: MessageChannel;\n new(): MessageChannel;\n};\n\n/**\n * A message received by a target object.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MessageEvent)\n */\ninterface MessageEvent extends Event {\n /**\n * Returns the data of the message.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MessageEvent/data)\n */\n readonly data: T;\n /**\n * Returns the last event ID string, for server-sent events.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MessageEvent/lastEventId)\n */\n readonly lastEventId: string;\n /**\n * Returns the origin of the message, for server-sent events and cross-document messaging.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MessageEvent/origin)\n */\n readonly origin: string;\n /**\n * Returns the MessagePort array sent with the message, for cross-document messaging and channel messaging.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MessageEvent/ports)\n */\n readonly ports: ReadonlyArray;\n /**\n * Returns the WindowProxy of the source window, for cross-document messaging, and the MessagePort being attached, in the connect event fired at SharedWorkerGlobalScope objects.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MessageEvent/source)\n */\n readonly source: MessageEventSource | null;\n /** @deprecated */\n initMessageEvent(type: string, bubbles?: boolean, cancelable?: boolean, data?: any, origin?: string, lastEventId?: string, source?: MessageEventSource | null, ports?: MessagePort[]): void;\n}\n\ndeclare var MessageEvent: {\n prototype: MessageEvent;\n new(type: string, eventInitDict?: MessageEventInit): MessageEvent;\n};\n\ninterface MessageEventTargetEventMap {\n \"message\": MessageEvent;\n \"messageerror\": MessageEvent;\n}\n\ninterface MessageEventTarget {\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DedicatedWorkerGlobalScope/message_event) */\n onmessage: ((this: T, ev: MessageEvent) => any) | null;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DedicatedWorkerGlobalScope/messageerror_event) */\n onmessageerror: ((this: T, ev: MessageEvent) => any) | null;\n addEventListener(type: K, listener: (this: T, ev: MessageEventTargetEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n removeEventListener(type: K, listener: (this: T, ev: MessageEventTargetEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ninterface MessagePortEventMap extends MessageEventTargetEventMap {\n \"message\": MessageEvent;\n \"messageerror\": MessageEvent;\n}\n\n/**\n * This Channel Messaging API interface represents one of the two ports of a MessageChannel, allowing messages to be sent from one port and listening out for them arriving at the other.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MessagePort)\n */\ninterface MessagePort extends EventTarget, MessageEventTarget {\n /**\n * Disconnects the port, so that it is no longer active.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MessagePort/close)\n */\n close(): void;\n /**\n * Posts a message through the channel. Objects listed in transfer are transferred, not just cloned, meaning that they are no longer usable on the sending side.\n *\n * Throws a \"DataCloneError\" DOMException if transfer contains duplicate objects or port, or if message could not be cloned.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MessagePort/postMessage)\n */\n postMessage(message: any, transfer: Transferable[]): void;\n postMessage(message: any, options?: StructuredSerializeOptions): void;\n /**\n * Begins dispatching messages received on the port.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MessagePort/start)\n */\n start(): void;\n addEventListener(type: K, listener: (this: MessagePort, ev: MessagePortEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n removeEventListener(type: K, listener: (this: MessagePort, ev: MessagePortEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var MessagePort: {\n prototype: MessagePort;\n new(): MessagePort;\n};\n\n/**\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/NavigationPreloadManager)\n */\ninterface NavigationPreloadManager {\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/NavigationPreloadManager/disable) */\n disable(): Promise;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/NavigationPreloadManager/enable) */\n enable(): Promise;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/NavigationPreloadManager/getState) */\n getState(): Promise;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/NavigationPreloadManager/setHeaderValue) */\n setHeaderValue(value: string): Promise;\n}\n\ndeclare var NavigationPreloadManager: {\n prototype: NavigationPreloadManager;\n new(): NavigationPreloadManager;\n};\n\n/** Available only in secure contexts. */\ninterface NavigatorBadge {\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/clearAppBadge) */\n clearAppBadge(): Promise;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/setAppBadge) */\n setAppBadge(contents?: number): Promise;\n}\n\ninterface NavigatorConcurrentHardware {\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/hardwareConcurrency) */\n readonly hardwareConcurrency: number;\n}\n\ninterface NavigatorID {\n /**\n * @deprecated\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/appCodeName)\n */\n readonly appCodeName: string;\n /**\n * @deprecated\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/appName)\n */\n readonly appName: string;\n /**\n * @deprecated\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/appVersion)\n */\n readonly appVersion: string;\n /**\n * @deprecated\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/platform)\n */\n readonly platform: string;\n /**\n * @deprecated\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/product)\n */\n readonly product: string;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/userAgent) */\n readonly userAgent: string;\n}\n\ninterface NavigatorLanguage {\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/language) */\n readonly language: string;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/languages) */\n readonly languages: ReadonlyArray;\n}\n\n/** Available only in secure contexts. */\ninterface NavigatorLocks {\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/locks) */\n readonly locks: LockManager;\n}\n\ninterface NavigatorOnLine {\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/onLine) */\n readonly onLine: boolean;\n}\n\n/** Available only in secure contexts. */\ninterface NavigatorStorage {\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/storage) */\n readonly storage: StorageManager;\n}\n\ninterface NotificationEventMap {\n \"click\": Event;\n \"close\": Event;\n \"error\": Event;\n \"show\": Event;\n}\n\n/**\n * This Notifications API interface is used to configure and display desktop notifications to the user.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Notification)\n */\ninterface Notification extends EventTarget {\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Notification/badge) */\n readonly badge: string;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Notification/body) */\n readonly body: string;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Notification/data) */\n readonly data: any;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Notification/dir) */\n readonly dir: NotificationDirection;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Notification/icon) */\n readonly icon: string;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Notification/lang) */\n readonly lang: string;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Notification/click_event) */\n onclick: ((this: Notification, ev: Event) => any) | null;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Notification/close_event) */\n onclose: ((this: Notification, ev: Event) => any) | null;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Notification/error_event) */\n onerror: ((this: Notification, ev: Event) => any) | null;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Notification/show_event) */\n onshow: ((this: Notification, ev: Event) => any) | null;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Notification/requireInteraction) */\n readonly requireInteraction: boolean;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Notification/silent) */\n readonly silent: boolean | null;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Notification/tag) */\n readonly tag: string;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Notification/title) */\n readonly title: string;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Notification/close) */\n close(): void;\n addEventListener(type: K, listener: (this: Notification, ev: NotificationEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n removeEventListener(type: K, listener: (this: Notification, ev: NotificationEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var Notification: {\n prototype: Notification;\n new(title: string, options?: NotificationOptions): Notification;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Notification/permission_static) */\n readonly permission: NotificationPermission;\n};\n\n/**\n * The parameter passed into the onnotificationclick handler, the NotificationEvent interface represents a notification click event that is dispatched on the ServiceWorkerGlobalScope of a ServiceWorker.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/NotificationEvent)\n */\ninterface NotificationEvent extends ExtendableEvent {\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/NotificationEvent/action) */\n readonly action: string;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/NotificationEvent/notification) */\n readonly notification: Notification;\n}\n\ndeclare var NotificationEvent: {\n prototype: NotificationEvent;\n new(type: string, eventInitDict: NotificationEventInit): NotificationEvent;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OES_draw_buffers_indexed) */\ninterface OES_draw_buffers_indexed {\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OES_draw_buffers_indexed/blendEquationSeparateiOES) */\n blendEquationSeparateiOES(buf: GLuint, modeRGB: GLenum, modeAlpha: GLenum): void;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OES_draw_buffers_indexed/blendEquationiOES) */\n blendEquationiOES(buf: GLuint, mode: GLenum): void;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OES_draw_buffers_indexed/blendFuncSeparateiOES) */\n blendFuncSeparateiOES(buf: GLuint, srcRGB: GLenum, dstRGB: GLenum, srcAlpha: GLenum, dstAlpha: GLenum): void;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OES_draw_buffers_indexed/blendFunciOES) */\n blendFunciOES(buf: GLuint, src: GLenum, dst: GLenum): void;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OES_draw_buffers_indexed/colorMaskiOES) */\n colorMaskiOES(buf: GLuint, r: GLboolean, g: GLboolean, b: GLboolean, a: GLboolean): void;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OES_draw_buffers_indexed/disableiOES) */\n disableiOES(target: GLenum, index: GLuint): void;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OES_draw_buffers_indexed/enableiOES) */\n enableiOES(target: GLenum, index: GLuint): void;\n}\n\n/**\n * The OES_element_index_uint extension is part of the WebGL API and adds support for gl.UNSIGNED_INT types to WebGLRenderingContext.drawElements().\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/OES_element_index_uint)\n */\ninterface OES_element_index_uint {\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OES_fbo_render_mipmap) */\ninterface OES_fbo_render_mipmap {\n}\n\n/**\n * The OES_standard_derivatives extension is part of the WebGL API and adds the GLSL derivative functions dFdx, dFdy, and fwidth.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/OES_standard_derivatives)\n */\ninterface OES_standard_derivatives {\n readonly FRAGMENT_SHADER_DERIVATIVE_HINT_OES: 0x8B8B;\n}\n\n/**\n * The OES_texture_float extension is part of the WebGL API and exposes floating-point pixel types for textures.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/OES_texture_float)\n */\ninterface OES_texture_float {\n}\n\n/**\n * The OES_texture_float_linear extension is part of the WebGL API and allows linear filtering with floating-point pixel types for textures.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/OES_texture_float_linear)\n */\ninterface OES_texture_float_linear {\n}\n\n/**\n * The OES_texture_half_float extension is part of the WebGL API and adds texture formats with 16- (aka half float) and 32-bit floating-point components.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/OES_texture_half_float)\n */\ninterface OES_texture_half_float {\n readonly HALF_FLOAT_OES: 0x8D61;\n}\n\n/**\n * The OES_texture_half_float_linear extension is part of the WebGL API and allows linear filtering with half floating-point pixel types for textures.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/OES_texture_half_float_linear)\n */\ninterface OES_texture_half_float_linear {\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OES_vertex_array_object) */\ninterface OES_vertex_array_object {\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OES_vertex_array_object/bindVertexArrayOES) */\n bindVertexArrayOES(arrayObject: WebGLVertexArrayObjectOES | null): void;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OES_vertex_array_object/createVertexArrayOES) */\n createVertexArrayOES(): WebGLVertexArrayObjectOES;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OES_vertex_array_object/deleteVertexArrayOES) */\n deleteVertexArrayOES(arrayObject: WebGLVertexArrayObjectOES | null): void;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OES_vertex_array_object/isVertexArrayOES) */\n isVertexArrayOES(arrayObject: WebGLVertexArrayObjectOES | null): GLboolean;\n readonly VERTEX_ARRAY_BINDING_OES: 0x85B5;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OVR_multiview2) */\ninterface OVR_multiview2 {\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OVR_multiview2/framebufferTextureMultiviewOVR) */\n framebufferTextureMultiviewOVR(target: GLenum, attachment: GLenum, texture: WebGLTexture | null, level: GLint, baseViewIndex: GLint, numViews: GLsizei): void;\n readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_NUM_VIEWS_OVR: 0x9630;\n readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_BASE_VIEW_INDEX_OVR: 0x9632;\n readonly MAX_VIEWS_OVR: 0x9631;\n readonly FRAMEBUFFER_INCOMPLETE_VIEW_TARGETS_OVR: 0x9633;\n}\n\ninterface OffscreenCanvasEventMap {\n \"contextlost\": Event;\n \"contextrestored\": Event;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OffscreenCanvas) */\ninterface OffscreenCanvas extends EventTarget {\n /**\n * These attributes return the dimensions of the OffscreenCanvas object's bitmap.\n *\n * They can be set, to replace the bitmap with a new, transparent black bitmap of the specified dimensions (effectively resizing it).\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/OffscreenCanvas/height)\n */\n height: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OffscreenCanvas/contextlost_event) */\n oncontextlost: ((this: OffscreenCanvas, ev: Event) => any) | null;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OffscreenCanvas/contextrestored_event) */\n oncontextrestored: ((this: OffscreenCanvas, ev: Event) => any) | null;\n /**\n * These attributes return the dimensions of the OffscreenCanvas object's bitmap.\n *\n * They can be set, to replace the bitmap with a new, transparent black bitmap of the specified dimensions (effectively resizing it).\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/OffscreenCanvas/width)\n */\n width: number;\n /**\n * Returns a promise that will fulfill with a new Blob object representing a file containing the image in the OffscreenCanvas object.\n *\n * The argument, if provided, is a dictionary that controls the encoding options of the image file to be created. The type field specifies the file format and has a default value of \"image/png\"; that type is also used if the requested type isn't supported. If the image format supports variable quality (such as \"image/jpeg\"), then the quality field is a number in the range 0.0 to 1.0 inclusive indicating the desired quality level for the resulting image.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/OffscreenCanvas/convertToBlob)\n */\n convertToBlob(options?: ImageEncodeOptions): Promise;\n /**\n * Returns an object that exposes an API for drawing on the OffscreenCanvas object. contextId specifies the desired API: \"2d\", \"bitmaprenderer\", \"webgl\", or \"webgl2\". options is handled by that API.\n *\n * This specification defines the \"2d\" context below, which is similar but distinct from the \"2d\" context that is created from a canvas element. The WebGL specifications define the \"webgl\" and \"webgl2\" contexts. [WEBGL]\n *\n * Returns null if the canvas has already been initialized with another context type (e.g., trying to get a \"2d\" context after getting a \"webgl\" context).\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/OffscreenCanvas/getContext)\n */\n getContext(contextId: \"2d\", options?: any): OffscreenCanvasRenderingContext2D | null;\n getContext(contextId: \"bitmaprenderer\", options?: any): ImageBitmapRenderingContext | null;\n getContext(contextId: \"webgl\", options?: any): WebGLRenderingContext | null;\n getContext(contextId: \"webgl2\", options?: any): WebGL2RenderingContext | null;\n getContext(contextId: OffscreenRenderingContextId, options?: any): OffscreenRenderingContext | null;\n /**\n * Returns a newly created ImageBitmap object with the image in the OffscreenCanvas object. The image in the OffscreenCanvas object is replaced with a new blank image.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/OffscreenCanvas/transferToImageBitmap)\n */\n transferToImageBitmap(): ImageBitmap;\n addEventListener(type: K, listener: (this: OffscreenCanvas, ev: OffscreenCanvasEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n removeEventListener(type: K, listener: (this: OffscreenCanvas, ev: OffscreenCanvasEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var OffscreenCanvas: {\n prototype: OffscreenCanvas;\n new(width: number, height: number): OffscreenCanvas;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OffscreenCanvasRenderingContext2D) */\ninterface OffscreenCanvasRenderingContext2D extends CanvasCompositing, CanvasDrawImage, CanvasDrawPath, CanvasFillStrokeStyles, CanvasFilters, CanvasImageData, CanvasImageSmoothing, CanvasPath, CanvasPathDrawingStyles, CanvasRect, CanvasShadowStyles, CanvasState, CanvasText, CanvasTextDrawingStyles, CanvasTransform {\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/canvas) */\n readonly canvas: OffscreenCanvas;\n}\n\ndeclare var OffscreenCanvasRenderingContext2D: {\n prototype: OffscreenCanvasRenderingContext2D;\n new(): OffscreenCanvasRenderingContext2D;\n};\n\n/**\n * This Canvas 2D API interface is used to declare a path that can then be used on a CanvasRenderingContext2D object. The path methods of the CanvasRenderingContext2D interface are also present on this interface, which gives you the convenience of being able to retain and replay your path whenever desired.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Path2D)\n */\ninterface Path2D extends CanvasPath {\n /**\n * Adds to the path the path given by the argument.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Path2D/addPath)\n */\n addPath(path: Path2D, transform?: DOMMatrix2DInit): void;\n}\n\ndeclare var Path2D: {\n prototype: Path2D;\n new(path?: Path2D | string): Path2D;\n};\n\ninterface PerformanceEventMap {\n \"resourcetimingbufferfull\": Event;\n}\n\n/**\n * Provides access to performance-related information for the current page. It's part of the High Resolution Time API, but is enhanced by the Performance Timeline API, the Navigation Timing API, the User Timing API, and the Resource Timing API.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Performance)\n */\ninterface Performance extends EventTarget {\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Performance/resourcetimingbufferfull_event) */\n onresourcetimingbufferfull: ((this: Performance, ev: Event) => any) | null;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Performance/timeOrigin) */\n readonly timeOrigin: DOMHighResTimeStamp;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Performance/clearMarks) */\n clearMarks(markName?: string): void;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Performance/clearMeasures) */\n clearMeasures(measureName?: string): void;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Performance/clearResourceTimings) */\n clearResourceTimings(): void;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Performance/getEntries) */\n getEntries(): PerformanceEntryList;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Performance/getEntriesByName) */\n getEntriesByName(name: string, type?: string): PerformanceEntryList;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Performance/getEntriesByType) */\n getEntriesByType(type: string): PerformanceEntryList;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Performance/mark) */\n mark(markName: string, markOptions?: PerformanceMarkOptions): PerformanceMark;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Performance/measure) */\n measure(measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions, endMark?: string): PerformanceMeasure;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Performance/now) */\n now(): DOMHighResTimeStamp;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Performance/setResourceTimingBufferSize) */\n setResourceTimingBufferSize(maxSize: number): void;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Performance/toJSON) */\n toJSON(): any;\n addEventListener(type: K, listener: (this: Performance, ev: PerformanceEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n removeEventListener(type: K, listener: (this: Performance, ev: PerformanceEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var Performance: {\n prototype: Performance;\n new(): Performance;\n};\n\n/**\n * Encapsulates a single performance metric that is part of the performance timeline. A performance entry can be directly created by making a performance mark or measure (for example by calling the mark() method) at an explicit point in an application. Performance entries are also created in indirect ways such as loading a resource (such as an image).\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceEntry)\n */\ninterface PerformanceEntry {\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceEntry/duration) */\n readonly duration: DOMHighResTimeStamp;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceEntry/entryType) */\n readonly entryType: string;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceEntry/name) */\n readonly name: string;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceEntry/startTime) */\n readonly startTime: DOMHighResTimeStamp;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceEntry/toJSON) */\n toJSON(): any;\n}\n\ndeclare var PerformanceEntry: {\n prototype: PerformanceEntry;\n new(): PerformanceEntry;\n};\n\n/**\n * PerformanceMark is an abstract interface for PerformanceEntry objects with an entryType of \"mark\". Entries of this type are created by calling performance.mark() to add a named DOMHighResTimeStamp (the mark) to the browser's performance timeline.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceMark)\n */\ninterface PerformanceMark extends PerformanceEntry {\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceMark/detail) */\n readonly detail: any;\n}\n\ndeclare var PerformanceMark: {\n prototype: PerformanceMark;\n new(markName: string, markOptions?: PerformanceMarkOptions): PerformanceMark;\n};\n\n/**\n * PerformanceMeasure is an abstract interface for PerformanceEntry objects with an entryType of \"measure\". Entries of this type are created by calling performance.measure() to add a named DOMHighResTimeStamp (the measure) between two marks to the browser's performance timeline.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceMeasure)\n */\ninterface PerformanceMeasure extends PerformanceEntry {\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceMeasure/detail) */\n readonly detail: any;\n}\n\ndeclare var PerformanceMeasure: {\n prototype: PerformanceMeasure;\n new(): PerformanceMeasure;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceObserver) */\ninterface PerformanceObserver {\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceObserver/disconnect) */\n disconnect(): void;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceObserver/observe) */\n observe(options?: PerformanceObserverInit): void;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceObserver/takeRecords) */\n takeRecords(): PerformanceEntryList;\n}\n\ndeclare var PerformanceObserver: {\n prototype: PerformanceObserver;\n new(callback: PerformanceObserverCallback): PerformanceObserver;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceObserver/supportedEntryTypes_static) */\n readonly supportedEntryTypes: ReadonlyArray;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceObserverEntryList) */\ninterface PerformanceObserverEntryList {\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceObserverEntryList/getEntries) */\n getEntries(): PerformanceEntryList;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceObserverEntryList/getEntriesByName) */\n getEntriesByName(name: string, type?: string): PerformanceEntryList;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceObserverEntryList/getEntriesByType) */\n getEntriesByType(type: string): PerformanceEntryList;\n}\n\ndeclare var PerformanceObserverEntryList: {\n prototype: PerformanceObserverEntryList;\n new(): PerformanceObserverEntryList;\n};\n\n/**\n * Enables retrieval and analysis of detailed network timing data regarding the loading of an application's resources. An application can use the timing metrics to determine, for example, the length of time it takes to fetch a specific resource, such as an XMLHttpRequest, , image, or script.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceResourceTiming)\n */\ninterface PerformanceResourceTiming extends PerformanceEntry {\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceResourceTiming/connectEnd) */\n readonly connectEnd: DOMHighResTimeStamp;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceResourceTiming/connectStart) */\n readonly connectStart: DOMHighResTimeStamp;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceResourceTiming/decodedBodySize) */\n readonly decodedBodySize: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceResourceTiming/domainLookupEnd) */\n readonly domainLookupEnd: DOMHighResTimeStamp;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceResourceTiming/domainLookupStart) */\n readonly domainLookupStart: DOMHighResTimeStamp;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceResourceTiming/encodedBodySize) */\n readonly encodedBodySize: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceResourceTiming/fetchStart) */\n readonly fetchStart: DOMHighResTimeStamp;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceResourceTiming/initiatorType) */\n readonly initiatorType: string;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceResourceTiming/nextHopProtocol) */\n readonly nextHopProtocol: string;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceResourceTiming/redirectEnd) */\n readonly redirectEnd: DOMHighResTimeStamp;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceResourceTiming/redirectStart) */\n readonly redirectStart: DOMHighResTimeStamp;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceResourceTiming/requestStart) */\n readonly requestStart: DOMHighResTimeStamp;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceResourceTiming/responseEnd) */\n readonly responseEnd: DOMHighResTimeStamp;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceResourceTiming/responseStart) */\n readonly responseStart: DOMHighResTimeStamp;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceResourceTiming/responseStatus) */\n readonly responseStatus: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceResourceTiming/secureConnectionStart) */\n readonly secureConnectionStart: DOMHighResTimeStamp;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceResourceTiming/serverTiming) */\n readonly serverTiming: ReadonlyArray;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceResourceTiming/transferSize) */\n readonly transferSize: number;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceResourceTiming/workerStart) */\n readonly workerStart: DOMHighResTimeStamp;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceResourceTiming/toJSON) */\n toJSON(): any;\n}\n\ndeclare var PerformanceResourceTiming: {\n prototype: PerformanceResourceTiming;\n new(): PerformanceResourceTiming;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceServerTiming) */\ninterface PerformanceServerTiming {\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceServerTiming/description) */\n readonly description: string;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceServerTiming/duration) */\n readonly duration: DOMHighResTimeStamp;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceServerTiming/name) */\n readonly name: string;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceServerTiming/toJSON) */\n toJSON(): any;\n}\n\ndeclare var PerformanceServerTiming: {\n prototype: PerformanceServerTiming;\n new(): PerformanceServerTiming;\n};\n\ninterface PermissionStatusEventMap {\n \"change\": Event;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PermissionStatus) */\ninterface PermissionStatus extends EventTarget {\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PermissionStatus/name) */\n readonly name: string;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PermissionStatus/change_event) */\n onchange: ((this: PermissionStatus, ev: Event) => any) | null;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PermissionStatus/state) */\n readonly state: PermissionState;\n addEventListener(type: K, listener: (this: PermissionStatus, ev: PermissionStatusEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n removeEventListener(type: K, listener: (this: PermissionStatus, ev: PermissionStatusEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var PermissionStatus: {\n prototype: PermissionStatus;\n new(): PermissionStatus;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Permissions) */\ninterface Permissions {\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Permissions/query) */\n query(permissionDesc: PermissionDescriptor): Promise;\n}\n\ndeclare var Permissions: {\n prototype: Permissions;\n new(): Permissions;\n};\n\n/**\n * Events measuring progress of an underlying process, like an HTTP request (for an XMLHttpRequest, or the loading of the underlying resource of an ,