'use strict';

Object.defineProperty(exports, '__esModule', { value: true });

var ts = require('./typescript');
var minimatch = require('minimatch');
var fastGlob = require('fast-glob');
var fs$1 = require('fs');
var mkdirp = require('mkdirp');
var os = require('os');
var path$2 = require('path');

function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }

function _interopNamespace(e) {
  if (e && e.__esModule) 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__*/_interopNamespace(ts);
var minimatch__default = /*#__PURE__*/_interopDefaultLegacy(minimatch);
var fastGlob__default = /*#__PURE__*/_interopDefaultLegacy(fastGlob);
var fs__namespace = /*#__PURE__*/_interopNamespace(fs$1);
var mkdirp__default = /*#__PURE__*/_interopDefaultLegacy(mkdirp);
var os__namespace = /*#__PURE__*/_interopNamespace(os);
var path__namespace = /*#__PURE__*/_interopNamespace(path$2);

class KeyValueCache {
    constructor() {
        this.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 {
    constructor(comparer, storedValue) {
        this.comparer = comparer;
        this.storedValue = storedValue;
    }
    compareTo(value) {
        return this.comparer.compareTo(this.storedValue, value);
    }
}

class 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;
    }
}
LocaleStringComparer.instance = new LocaleStringComparer();

class PropertyComparer {
    constructor(getProperty, comparer) {
        this.getProperty = getProperty;
        this.comparer = comparer;
    }
    compareTo(a, b) {
        return this.comparer.compareTo(this.getProperty(a), this.getProperty(b));
    }
}

class PropertyStoredComparer {
    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 flatten(items) {
        return items.reduce((a, b) => a.concat(b), []);
    }
    static from(items) {
        const a = [];
        for (const item of items)
            a.push(item);
        return a;
    }
    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 {
    constructor() {
        this.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 !== null && key2 !== void 0 ? 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 {
        constructor(path, prefix = "Path") {
            super(`${prefix} not found: ${path}`);
            this.path = path;
            this.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 = {
    ASTERISK: "*".charCodeAt(0),
    NEWLINE: "\n".charCodeAt(0),
    CARRIAGE_RETURN: "\r".charCodeAt(0),
    SPACE: " ".charCodeAt(0),
    TAB: "\t".charCodeAt(0),
    CLOSE_BRACE: "}".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 startPositions = [];
        const endPositions = [];
        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;
                }
                startPositions.push(i);
                let spacesCount = 0;
                let tabsCount = 0;
                while (true) {
                    if (str.charCodeAt(i) === CharCodes.SPACE)
                        spacesCount++;
                    else if (str.charCodeAt(i) === CharCodes.TAB)
                        tabsCount++;
                    else
                        break;
                    i++;
                }
                const indentWidth = Math.ceil(spacesCount / indentSizeInSpaces) * indentSizeInSpaces + tabsCount * indentSizeInSpaces;
                if (minIndentWidth == null || indentWidth < minIndentWidth)
                    minIndentWidth = indentWidth;
                endPositions.push(i);
                isAtStartOfLine = false;
            }
        }
        function buildString() {
            if (startPositions.length === 0)
                return str;
            if (minIndentWidth == null || minIndentWidth === 0)
                return str;
            const deindentWidth = minIndentWidth;
            let result = "";
            result += str.substring(0, startPositions[0]);
            let lastEndPos = startPositions[0];
            for (let i = 0; i < startPositions.length; i++) {
                const startPosition = startPositions[i];
                const endPosition = endPositions[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;
                }
                lastEndPos = startPositions[i + 1] == null ? str.length : startPositions[i + 1];
                result += str.substring(pos, lastEndPos);
            }
            result += str.substring(lastEndPos);
            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 {
    constructor(getKey, comparer) {
        this.getKey = getKey;
        this.comparer = comparer;
        this.array = [];
    }
    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 {
    constructor() {
        this.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, scriptTarget, version, setParentNodes, scriptKind) {
    return ts__namespace.createLanguageServiceSourceFile(filePath, scriptSnapshot, scriptTarget !== null && scriptTarget !== void 0 ? scriptTarget : ts.ScriptTarget.Latest, version, setParentNodes, scriptKind);
}

function createDocumentCache(files) {
    const cache = new InternalDocumentCache();
    cache._addFiles(files);
    return cache;
}
class FileSystemDocumentCache {
    constructor(fileSystem, documentCache) {
        this.documentCache = documentCache;
        this.absoluteToOriginalPath = new Map();
        for (const filePath of documentCache._getFilePaths())
            this.absoluteToOriginalPath.set(fileSystem.getStandardizedAbsolutePath(filePath), filePath);
    }
    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 {
    constructor() {
        this._fileTexts = new Map();
        this._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) {
        var _a, _b;
        return (filePath + ((_a = scriptTarget === null || scriptTarget === void 0 ? void 0 : scriptTarget.toString()) !== null && _a !== void 0 ? _a : "-1") + ((_b = scriptKind === null || scriptKind === void 0 ? void 0 : scriptKind.toString()) !== null && _b !== void 0 ? _b : "-1"));
    }
}

const libFiles = [{
        fileName: "lib.d.ts",
        text: `/// <reference no-default-lib="true"/>\n/// <reference lib="es5" />\n/// <reference lib="dom" />\n/// <reference lib="webworker.importscripts" />\n/// <reference lib="scripthost" />\n`
    }, {
        fileName: "lib.dom.d.ts",
        text: `/// <reference no-default-lib="true"/>\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 AnalyserOptions extends AudioNodeOptions{fftSize?:number;maxDecibels?:number;minDecibels?:number;smoothingTimeConstant?:number;}interface AnimationEventInit extends EventInit{animationName?:string;elapsedTime?:number;pseudoElement?:string;}interface AnimationPlaybackEventInit extends EventInit{currentTime?:CSSNumberish|null;timelineTime?:CSSNumberish|null;}interface AssignedNodesOptions{flatten?:boolean;}interface AudioBufferOptions{length:number;numberOfChannels?:number;sampleRate:number;}interface AudioBufferSourceOptions{buffer?:AudioBuffer|null;detune?:number;loop?:boolean;loopEnd?:number;loopStart?:number;playbackRate?:number;}interface AudioConfiguration{bitrate?:number;channels?:string;contentType:string;samplerate?:number;spatialRendering?:boolean;}interface AudioContextOptions{latencyHint?:AudioContextLatencyCategory|number;sampleRate?:number;}interface AudioNodeOptions{channelCount?:number;channelCountMode?:ChannelCountMode;channelInterpretation?:ChannelInterpretation;}interface AudioProcessingEventInit extends EventInit{inputBuffer:AudioBuffer;outputBuffer:AudioBuffer;playbackTime:number;}interface AudioTimestamp{contextTime?:number;performanceTime?:DOMHighResTimeStamp;}interface AudioWorkletNodeOptions extends AudioNodeOptions{numberOfInputs?:number;numberOfOutputs?:number;outputChannelCount?:number[];parameterData?:Record<string,number>;processorOptions?:any;}interface AuthenticationExtensionsClientInputs{appid?:string;credProps?:boolean;hmacCreateSecret?:boolean;}interface AuthenticationExtensionsClientOutputs{appid?:boolean;credProps?:CredentialPropertiesOutput;hmacCreateSecret?:boolean;}interface AuthenticatorSelectionCriteria{authenticatorAttachment?:AuthenticatorAttachment;requireResidentKey?:boolean;residentKey?:ResidentKeyRequirement;userVerification?:UserVerificationRequirement;}interface BiquadFilterOptions extends AudioNodeOptions{Q?:number;detune?:number;frequency?:number;gain?:number;type?:BiquadFilterType;}interface BlobEventInit{data:Blob;timecode?:DOMHighResTimeStamp;}interface BlobPropertyBag{endings?:EndingType;type?:string;}interface CSSStyleSheetInit{baseURL?:string;disabled?:boolean;media?:MediaList|string;}interface CacheQueryOptions{ignoreMethod?:boolean;ignoreSearch?:boolean;ignoreVary?:boolean;}interface CanvasRenderingContext2DSettings{alpha?:boolean;colorSpace?:PredefinedColorSpace;desynchronized?:boolean;willReadFrequently?:boolean;}interface ChannelMergerOptions extends AudioNodeOptions{numberOfInputs?:number;}interface ChannelSplitterOptions extends AudioNodeOptions{numberOfOutputs?:number;}interface ClientQueryOptions{includeUncontrolled?:boolean;type?:ClientTypes;}interface ClipboardEventInit extends EventInit{clipboardData?:DataTransfer|null;}interface ClipboardItemOptions{presentationStyle?:PresentationStyle;}interface CloseEventInit extends EventInit{code?:number;reason?:string;wasClean?:boolean;}interface CompositionEventInit extends UIEventInit{data?:string;}interface ComputedEffectTiming extends EffectTiming{activeDuration?:CSSNumberish;currentIteration?:number|null;endTime?:CSSNumberish;localTime?:CSSNumberish|null;progress?:number|null;startTime?:CSSNumberish;}interface ComputedKeyframe{composite:CompositeOperationOrAuto;computedOffset:number;easing:string;offset:number|null;[property:string]:string|number|null|undefined;}interface ConstantSourceOptions{offset?:number;}interface ConstrainBooleanParameters{exact?:boolean;ideal?:boolean;}interface ConstrainDOMStringParameters{exact?:string|string[];ideal?:string|string[];}interface ConstrainDoubleRange extends DoubleRange{exact?:number;ideal?:number;}interface ConstrainULongRange extends ULongRange{exact?:number;ideal?:number;}interface ConvolverOptions extends AudioNodeOptions{buffer?:AudioBuffer|null;disableNormalization?:boolean;}interface CredentialCreationOptions{publicKey?:PublicKeyCredentialCreationOptions;signal?:AbortSignal;}interface CredentialPropertiesOutput{rk?:boolean;}interface CredentialRequestOptions{mediation?:CredentialMediationRequirement;publicKey?:PublicKeyCredentialRequestOptions;signal?:AbortSignal;}interface CryptoKeyPair{privateKey:CryptoKey;publicKey:CryptoKey;}interface CustomEventInit<T=any>extends 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 DelayOptions extends AudioNodeOptions{delayTime?:number;maxDelayTime?:number;}interface DeviceMotionEventAccelerationInit{x?:number|null;y?:number|null;z?:number|null;}interface DeviceMotionEventInit extends EventInit{acceleration?:DeviceMotionEventAccelerationInit;accelerationIncludingGravity?:DeviceMotionEventAccelerationInit;interval?:number;rotationRate?:DeviceMotionEventRotationRateInit;}interface DeviceMotionEventRotationRateInit{alpha?:number|null;beta?:number|null;gamma?:number|null;}interface DeviceOrientationEventInit extends EventInit{absolute?:boolean;alpha?:number|null;beta?:number|null;gamma?:number|null;}interface DisplayMediaStreamOptions{audio?:boolean|MediaTrackConstraints;video?:boolean|MediaTrackConstraints;}interface DocumentTimelineOptions{originTime?:DOMHighResTimeStamp;}interface DoubleRange{max?:number;min?:number;}interface DragEventInit extends MouseEventInit{dataTransfer?:DataTransfer|null;}interface DynamicsCompressorOptions extends AudioNodeOptions{attack?:number;knee?:number;ratio?:number;release?:number;threshold?:number;}interface EcKeyAlgorithm extends KeyAlgorithm{namedCurve:NamedCurve;}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 EffectTiming{delay?:number;direction?:PlaybackDirection;duration?:number|string;easing?:string;endDelay?:number;fill?:FillMode;iterationStart?:number;iterations?:number;playbackRate?:number;}interface ElementCreationOptions{is?:string;}interface ElementDefinitionOptions{extends?:string;}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 EventModifierInit extends UIEventInit{altKey?:boolean;ctrlKey?:boolean;metaKey?:boolean;modifierAltGraph?:boolean;modifierCapsLock?:boolean;modifierFn?:boolean;modifierFnLock?:boolean;modifierHyper?:boolean;modifierNumLock?:boolean;modifierScrollLock?:boolean;modifierSuper?:boolean;modifierSymbol?:boolean;modifierSymbolLock?:boolean;shiftKey?:boolean;}interface EventSourceInit{withCredentials?:boolean;}interface FilePropertyBag extends BlobPropertyBag{lastModified?:number;}interface FileSystemFlags{create?:boolean;exclusive?:boolean;}interface FileSystemGetDirectoryOptions{create?:boolean;}interface FileSystemGetFileOptions{create?:boolean;}interface FileSystemRemoveOptions{recursive?:boolean;}interface FocusEventInit extends UIEventInit{relatedTarget?:EventTarget|null;}interface FocusOptions{preventScroll?:boolean;}interface FontFaceDescriptors{display?:string;featureSettings?:string;stretch?:string;style?:string;unicodeRange?:string;variant?:string;weight?:string;}interface FontFaceSetLoadEventInit extends EventInit{fontfaces?:FontFace[];}interface FormDataEventInit extends EventInit{formData:FormData;}interface FullscreenOptions{navigationUI?:FullscreenNavigationUI;}interface GainOptions extends AudioNodeOptions{gain?:number;}interface GamepadEventInit extends EventInit{gamepad:Gamepad;}interface GetAnimationsOptions{subtree?:boolean;}interface GetNotificationOptions{tag?:string;}interface GetRootNodeOptions{composed?:boolean;}interface HashChangeEventInit extends EventInit{newURL?:string;oldURL?:string;}interface HkdfParams extends Algorithm{hash:HashAlgorithmIdentifier;info:BufferSource;salt:BufferSource;}interface HmacImportParams extends Algorithm{hash:HashAlgorithmIdentifier;length?:number;}interface HmacKeyAlgorithm extends KeyAlgorithm{hash:KeyAlgorithm;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 IIRFilterOptions extends AudioNodeOptions{feedback:number[];feedforward:number[];}interface IdleRequestOptions{timeout?:number;}interface ImageBitmapOptions{colorSpaceConversion?:ColorSpaceConversion;imageOrientation?:ImageOrientation;premultiplyAlpha?:PremultiplyAlpha;resizeHeight?:number;resizeQuality?:ResizeQuality;resizeWidth?:number;}interface ImageBitmapRenderingContextSettings{alpha?:boolean;}interface ImageDataSettings{colorSpace?:PredefinedColorSpace;}interface ImportMeta{url:string;}interface InputEventInit extends UIEventInit{data?:string|null;dataTransfer?:DataTransfer|null;inputType?:string;isComposing?:boolean;targetRanges?:StaticRange[];}interface IntersectionObserverEntryInit{boundingClientRect:DOMRectInit;intersectionRatio:number;intersectionRect:DOMRectInit;isIntersecting:boolean;rootBounds:DOMRectInit|null;target:Element;time:DOMHighResTimeStamp;}interface IntersectionObserverInit{root?:Element|Document|null;rootMargin?:string;threshold?:number|number[];}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 KeyboardEventInit extends EventModifierInit{charCode?:number;code?:string;isComposing?:boolean;key?:string;keyCode?:number;location?:number;repeat?:boolean;}interface Keyframe{composite?:CompositeOperationOrAuto;easing?:string;offset?:number|null;[property:string]:string|number|null|undefined;}interface KeyframeAnimationOptions extends KeyframeEffectOptions{id?:string;}interface KeyframeEffectOptions extends EffectTiming{composite?:CompositeOperation;iterationComposite?:IterationCompositeOperation;pseudoElement?:string|null;}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 MediaElementAudioSourceOptions{mediaElement:HTMLMediaElement;}interface MediaEncodingConfiguration extends MediaConfiguration{type:MediaEncodingType;}interface MediaEncryptedEventInit extends EventInit{initData?:ArrayBuffer|null;initDataType?:string;}interface MediaImage{sizes?:string;src:string;type?:string;}interface MediaKeyMessageEventInit extends EventInit{message:ArrayBuffer;messageType:MediaKeyMessageType;}interface MediaKeySystemConfiguration{audioCapabilities?:MediaKeySystemMediaCapability[];distinctiveIdentifier?:MediaKeysRequirement;initDataTypes?:string[];label?:string;persistentState?:MediaKeysRequirement;sessionTypes?:string[];videoCapabilities?:MediaKeySystemMediaCapability[];}interface MediaKeySystemMediaCapability{contentType?:string;encryptionScheme?:string|null;robustness?:string;}interface MediaMetadataInit{album?:string;artist?:string;artwork?:MediaImage[];title?:string;}interface MediaPositionState{duration?:number;playbackRate?:number;position?:number;}interface MediaQueryListEventInit extends EventInit{matches?:boolean;media?:string;}interface MediaRecorderOptions{audioBitsPerSecond?:number;bitsPerSecond?:number;mimeType?:string;videoBitsPerSecond?:number;}interface MediaSessionActionDetails{action:MediaSessionAction;fastSeek?:boolean;seekOffset?:number;seekTime?:number;}interface MediaStreamAudioSourceOptions{mediaStream:MediaStream;}interface MediaStreamConstraints{audio?:boolean|MediaTrackConstraints;peerIdentity?:string;preferCurrentTab?:boolean;video?:boolean|MediaTrackConstraints;}interface MediaStreamTrackEventInit extends EventInit{track:MediaStreamTrack;}interface MediaTrackCapabilities{aspectRatio?:DoubleRange;autoGainControl?:boolean[];channelCount?:ULongRange;cursor?:string[];deviceId?:string;displaySurface?:string;echoCancellation?:boolean[];facingMode?:string[];frameRate?:DoubleRange;groupId?:string;height?:ULongRange;latency?:DoubleRange;logicalSurface?:boolean;noiseSuppression?:boolean[];resizeMode?:string[];sampleRate?:ULongRange;sampleSize?:ULongRange;width?:ULongRange;}interface MediaTrackConstraintSet{aspectRatio?:ConstrainDouble;autoGainControl?:ConstrainBoolean;channelCount?:ConstrainULong;deviceId?:ConstrainDOMString;echoCancellation?:ConstrainBoolean;facingMode?:ConstrainDOMString;frameRate?:ConstrainDouble;groupId?:ConstrainDOMString;height?:ConstrainULong;latency?:ConstrainDouble;noiseSuppression?:ConstrainBoolean;sampleRate?:ConstrainULong;sampleSize?:ConstrainULong;suppressLocalAudioPlayback?:ConstrainBoolean;width?:ConstrainULong;}interface MediaTrackConstraints extends MediaTrackConstraintSet{advanced?:MediaTrackConstraintSet[];}interface MediaTrackSettings{aspectRatio?:number;autoGainControl?:boolean;deviceId?:string;echoCancellation?:boolean;facingMode?:string;frameRate?:number;groupId?:string;height?:number;noiseSuppression?:boolean;restrictOwnAudio?:boolean;sampleRate?:number;sampleSize?:number;width?:number;}interface MediaTrackSupportedConstraints{aspectRatio?:boolean;autoGainControl?:boolean;deviceId?:boolean;echoCancellation?:boolean;facingMode?:boolean;frameRate?:boolean;groupId?:boolean;height?:boolean;noiseSuppression?:boolean;sampleRate?:boolean;sampleSize?:boolean;suppressLocalAudioPlayback?:boolean;width?:boolean;}interface MessageEventInit<T=any>extends EventInit{data?:T;lastEventId?:string;origin?:string;ports?:MessagePort[];source?:MessageEventSource|null;}interface MouseEventInit extends EventModifierInit{button?:number;buttons?:number;clientX?:number;clientY?:number;movementX?:number;movementY?:number;relatedTarget?:EventTarget|null;screenX?:number;screenY?:number;}interface MultiCacheQueryOptions extends CacheQueryOptions{cacheName?:string;}interface MutationObserverInit{attributeFilter?:string[];attributeOldValue?:boolean;attributes?:boolean;characterData?:boolean;characterDataOldValue?:boolean;childList?:boolean;subtree?:boolean;}interface NavigationPreloadState{enabled?:boolean;headerValue?:string;}interface NotificationAction{action:string;icon?:string;title:string;}interface NotificationOptions{actions?:NotificationAction[];badge?:string;body?:string;data?:any;dir?:NotificationDirection;icon?:string;image?:string;lang?:string;renotify?:boolean;requireInteraction?:boolean;silent?:boolean;tag?:string;timestamp?:EpochTimeStamp;vibrate?:VibratePattern;}interface OfflineAudioCompletionEventInit extends EventInit{renderedBuffer:AudioBuffer;}interface OfflineAudioContextOptions{length:number;numberOfChannels?:number;sampleRate:number;}interface OptionalEffectTiming{delay?:number;direction?:PlaybackDirection;duration?:number|string;easing?:string;endDelay?:number;fill?:FillMode;iterationStart?:number;iterations?:number;playbackRate?:number;}interface OscillatorOptions extends AudioNodeOptions{detune?:number;frequency?:number;periodicWave?:PeriodicWave;type?:OscillatorType;}interface PageTransitionEventInit extends EventInit{persisted?:boolean;}interface PannerOptions extends AudioNodeOptions{coneInnerAngle?:number;coneOuterAngle?:number;coneOuterGain?:number;distanceModel?:DistanceModelType;maxDistance?:number;orientationX?:number;orientationY?:number;orientationZ?:number;panningModel?:PanningModelType;positionX?:number;positionY?:number;positionZ?:number;refDistance?:number;rolloffFactor?:number;}interface PaymentCurrencyAmount{currency:string;value:string;}interface PaymentDetailsBase{displayItems?:PaymentItem[];modifiers?:PaymentDetailsModifier[];}interface PaymentDetailsInit extends PaymentDetailsBase{id?:string;total:PaymentItem;}interface PaymentDetailsModifier{additionalDisplayItems?:PaymentItem[];data?:any;supportedMethods:string;total?:PaymentItem;}interface PaymentDetailsUpdate extends PaymentDetailsBase{paymentMethodErrors?:any;total?:PaymentItem;}interface PaymentItem{amount:PaymentCurrencyAmount;label:string;pending?:boolean;}interface PaymentMethodChangeEventInit extends PaymentRequestUpdateEventInit{methodDetails?:any;methodName?:string;}interface PaymentMethodData{data?:any;supportedMethods:string;}interface PaymentRequestUpdateEventInit extends EventInit{}interface PaymentValidationErrors{error?:string;paymentMethod?:any;}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 PeriodicWaveConstraints{disableNormalization?:boolean;}interface PeriodicWaveOptions extends PeriodicWaveConstraints{imag?:number[]|Float32Array;real?:number[]|Float32Array;}interface PermissionDescriptor{name:PermissionName;}interface PictureInPictureEventInit extends EventInit{pictureInPictureWindow:PictureInPictureWindow;}interface PointerEventInit extends MouseEventInit{coalescedEvents?:PointerEvent[];height?:number;isPrimary?:boolean;pointerId?:number;pointerType?:string;predictedEvents?:PointerEvent[];pressure?:number;tangentialPressure?:number;tiltX?:number;tiltY?:number;twist?:number;width?:number;}interface PopStateEventInit extends EventInit{state?:any;}interface PositionOptions{enableHighAccuracy?:boolean;maximumAge?:number;timeout?:number;}interface ProgressEventInit extends EventInit{lengthComputable?:boolean;loaded?:number;total?:number;}interface PromiseRejectionEventInit extends EventInit{promise:Promise<any>;reason?:any;}interface PropertyIndexedKeyframes{composite?:CompositeOperationOrAuto|CompositeOperationOrAuto[];easing?:string|string[];offset?:number|(number|null)[];[property:string]:string|string[]|number|null|(number|null)[]|undefined;}interface PublicKeyCredentialCreationOptions{attestation?:AttestationConveyancePreference;authenticatorSelection?:AuthenticatorSelectionCriteria;challenge:BufferSource;excludeCredentials?:PublicKeyCredentialDescriptor[];extensions?:AuthenticationExtensionsClientInputs;pubKeyCredParams:PublicKeyCredentialParameters[];rp:PublicKeyCredentialRpEntity;timeout?:number;user:PublicKeyCredentialUserEntity;}interface PublicKeyCredentialDescriptor{id:BufferSource;transports?:AuthenticatorTransport[];type:PublicKeyCredentialType;}interface PublicKeyCredentialEntity{name:string;}interface PublicKeyCredentialParameters{alg:COSEAlgorithmIdentifier;type:PublicKeyCredentialType;}interface PublicKeyCredentialRequestOptions{allowCredentials?:PublicKeyCredentialDescriptor[];challenge:BufferSource;extensions?:AuthenticationExtensionsClientInputs;rpId?:string;timeout?:number;userVerification?:UserVerificationRequirement;}interface PublicKeyCredentialRpEntity extends PublicKeyCredentialEntity{id?:string;}interface PublicKeyCredentialUserEntity extends PublicKeyCredentialEntity{displayName:string;id:BufferSource;}interface PushSubscriptionJSON{endpoint?:string;expirationTime?:EpochTimeStamp|null;keys?:Record<string,string>;}interface PushSubscriptionOptionsInit{applicationServerKey?:BufferSource|string|null;userVisibleOnly?:boolean;}interface QueuingStrategy<T=any>{highWaterMark?:number;size?:QueuingStrategySize<T>;}interface QueuingStrategyInit{highWaterMark:number;}interface RTCAnswerOptions extends RTCOfferAnswerOptions{}interface RTCCertificateExpiration{expires?:number;}interface RTCConfiguration{bundlePolicy?:RTCBundlePolicy;certificates?:RTCCertificate[];iceCandidatePoolSize?:number;iceServers?:RTCIceServer[];iceTransportPolicy?:RTCIceTransportPolicy;rtcpMuxPolicy?:RTCRtcpMuxPolicy;}interface RTCDTMFToneChangeEventInit extends EventInit{tone?:string;}interface RTCDataChannelEventInit extends EventInit{channel:RTCDataChannel;}interface RTCDataChannelInit{id?:number;maxPacketLifeTime?:number;maxRetransmits?:number;negotiated?:boolean;ordered?:boolean;protocol?:string;}interface RTCDtlsFingerprint{algorithm?:string;value?:string;}interface RTCEncodedAudioFrameMetadata{contributingSources?:number[];synchronizationSource?:number;}interface RTCEncodedVideoFrameMetadata{contributingSources?:number[];dependencies?:number[];frameId?:number;height?:number;spatialIndex?:number;synchronizationSource?:number;temporalIndex?:number;width?:number;}interface RTCErrorEventInit extends EventInit{error:RTCError;}interface RTCErrorInit{errorDetail:RTCErrorDetailType;httpRequestStatusCode?:number;receivedAlert?:number;sctpCauseCode?:number;sdpLineNumber?:number;sentAlert?:number;}interface RTCIceCandidateInit{candidate?:string;sdpMLineIndex?:number|null;sdpMid?:string|null;usernameFragment?:string|null;}interface RTCIceCandidatePairStats extends RTCStats{availableIncomingBitrate?:number;availableOutgoingBitrate?:number;bytesReceived?:number;bytesSent?:number;currentRoundTripTime?:number;lastPacketReceivedTimestamp?:DOMHighResTimeStamp;lastPacketSentTimestamp?:DOMHighResTimeStamp;localCandidateId:string;nominated?:boolean;remoteCandidateId:string;requestsReceived?:number;requestsSent?:number;responsesReceived?:number;responsesSent?:number;state:RTCStatsIceCandidatePairState;totalRoundTripTime?:number;transportId:string;}interface RTCIceServer{credential?:string;urls:string|string[];username?:string;}interface RTCInboundRtpStreamStats extends RTCReceivedRtpStreamStats{audioLevel?:number;bytesReceived?:number;concealedSamples?:number;concealmentEvents?:number;decoderImplementation?:string;estimatedPlayoutTimestamp?:DOMHighResTimeStamp;fecPacketsDiscarded?:number;fecPacketsReceived?:number;firCount?:number;frameHeight?:number;frameWidth?:number;framesDecoded?:number;framesDropped?:number;framesPerSecond?:number;framesReceived?:number;headerBytesReceived?:number;insertedSamplesForDeceleration?:number;jitterBufferDelay?:number;jitterBufferEmittedCount?:number;keyFramesDecoded?:number;kind:string;lastPacketReceivedTimestamp?:DOMHighResTimeStamp;nackCount?:number;packetsDiscarded?:number;pliCount?:number;qpSum?:number;remoteId?:string;removedSamplesForAcceleration?:number;silentConcealedSamples?:number;totalAudioEnergy?:number;totalDecodeTime?:number;totalInterFrameDelay?:number;totalProcessingDelay?:number;totalSamplesDuration?:number;totalSamplesReceived?:number;totalSquaredInterFrameDelay?:number;}interface RTCLocalSessionDescriptionInit{sdp?:string;type?:RTCSdpType;}interface RTCOfferAnswerOptions{}interface RTCOfferOptions extends RTCOfferAnswerOptions{iceRestart?:boolean;offerToReceiveAudio?:boolean;offerToReceiveVideo?:boolean;}interface RTCOutboundRtpStreamStats extends RTCSentRtpStreamStats{firCount?:number;frameHeight?:number;frameWidth?:number;framesEncoded?:number;framesPerSecond?:number;framesSent?:number;headerBytesSent?:number;hugeFramesSent?:number;keyFramesEncoded?:number;mediaSourceId?:string;nackCount?:number;pliCount?:number;qpSum?:number;qualityLimitationResolutionChanges?:number;remoteId?:string;retransmittedBytesSent?:number;retransmittedPacketsSent?:number;rid?:string;targetBitrate?:number;totalEncodeTime?:number;totalEncodedBytesTarget?:number;totalPacketSendDelay?:number;}interface RTCPeerConnectionIceErrorEventInit extends EventInit{address?:string|null;errorCode:number;errorText?:string;port?:number|null;url?:string;}interface RTCPeerConnectionIceEventInit extends EventInit{candidate?:RTCIceCandidate|null;url?:string|null;}interface RTCReceivedRtpStreamStats extends RTCRtpStreamStats{jitter?:number;packetsLost?:number;packetsReceived?:number;}interface RTCRtcpParameters{cname?:string;reducedSize?:boolean;}interface RTCRtpCapabilities{codecs:RTCRtpCodecCapability[];headerExtensions:RTCRtpHeaderExtensionCapability[];}interface RTCRtpCodecCapability{channels?:number;clockRate:number;mimeType:string;sdpFmtpLine?:string;}interface RTCRtpCodecParameters{channels?:number;clockRate:number;mimeType:string;payloadType:number;sdpFmtpLine?:string;}interface RTCRtpCodingParameters{rid?:string;}interface RTCRtpContributingSource{audioLevel?:number;rtpTimestamp:number;source:number;timestamp:DOMHighResTimeStamp;}interface RTCRtpEncodingParameters extends RTCRtpCodingParameters{active?:boolean;maxBitrate?:number;maxFramerate?:number;networkPriority?:RTCPriorityType;priority?:RTCPriorityType;scaleResolutionDownBy?:number;}interface RTCRtpHeaderExtensionCapability{uri?:string;}interface RTCRtpHeaderExtensionParameters{encrypted?:boolean;id:number;uri:string;}interface RTCRtpParameters{codecs:RTCRtpCodecParameters[];headerExtensions:RTCRtpHeaderExtensionParameters[];rtcp:RTCRtcpParameters;}interface RTCRtpReceiveParameters extends RTCRtpParameters{}interface RTCRtpSendParameters extends RTCRtpParameters{degradationPreference?:RTCDegradationPreference;encodings:RTCRtpEncodingParameters[];transactionId:string;}interface RTCRtpStreamStats extends RTCStats{codecId?:string;kind:string;ssrc:number;transportId?:string;}interface RTCRtpSynchronizationSource extends RTCRtpContributingSource{}interface RTCRtpTransceiverInit{direction?:RTCRtpTransceiverDirection;sendEncodings?:RTCRtpEncodingParameters[];streams?:MediaStream[];}interface RTCSentRtpStreamStats extends RTCRtpStreamStats{bytesSent?:number;packetsSent?:number;}interface RTCSessionDescriptionInit{sdp?:string;type:RTCSdpType;}interface RTCStats{id:string;timestamp:DOMHighResTimeStamp;type:RTCStatsType;}interface RTCTrackEventInit extends EventInit{receiver:RTCRtpReceiver;streams?:MediaStream[];track:MediaStreamTrack;transceiver:RTCRtpTransceiver;}interface RTCTransportStats extends RTCStats{bytesReceived?:number;bytesSent?:number;dtlsCipher?:string;dtlsState:RTCDtlsTransportState;localCertificateId?:string;remoteCertificateId?:string;selectedCandidatePairId?:string;srtpCipher?:string;tlsVersion?:string;}interface ReadableStreamGetReaderOptions{mode?:ReadableStreamReaderMode;}interface ReadableStreamReadDoneResult<T>{done:true;value?:T;}interface ReadableStreamReadValueResult<T>{done:false;value:T;}interface ReadableWritablePair<R=any,W=any>{readable:ReadableStream<R>;writable:WritableStream<W>;}interface RegistrationOptions{scope?:string;type?:WorkerType;updateViaCache?:ServiceWorkerUpdateViaCache;}interface RequestInit{body?:BodyInit|null;cache?:RequestCache;credentials?:RequestCredentials;headers?:HeadersInit;integrity?:string;keepalive?:boolean;method?:string;mode?:RequestMode;redirect?:RequestRedirect;referrer?:string;referrerPolicy?:ReferrerPolicy;signal?:AbortSignal|null;window?:null;}interface ResizeObserverOptions{box?:ResizeObserverBoxOptions;}interface ResponseInit{headers?:HeadersInit;status?:number;statusText?:string;}interface RsaHashedImportParams extends Algorithm{hash:HashAlgorithmIdentifier;}interface RsaHashedKeyAlgorithm extends RsaKeyAlgorithm{hash:KeyAlgorithm;}interface RsaHashedKeyGenParams extends RsaKeyGenParams{hash:HashAlgorithmIdentifier;}interface RsaKeyAlgorithm extends KeyAlgorithm{modulusLength:number;publicExponent:BigInteger;}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 SVGBoundingBoxOptions{clipped?:boolean;fill?:boolean;markers?:boolean;stroke?:boolean;}interface ScrollIntoViewOptions extends ScrollOptions{block?:ScrollLogicalPosition;inline?:ScrollLogicalPosition;}interface ScrollOptions{behavior?:ScrollBehavior;}interface ScrollToOptions extends ScrollOptions{left?:number;top?: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 ShadowRootInit{delegatesFocus?:boolean;mode:ShadowRootMode;slotAssignment?:SlotAssignmentMode;}interface ShareData{files?:File[];text?:string;title?:string;url?:string;}interface SpeechSynthesisErrorEventInit extends SpeechSynthesisEventInit{error:SpeechSynthesisErrorCode;}interface SpeechSynthesisEventInit extends EventInit{charIndex?:number;charLength?:number;elapsedTime?:number;name?:string;utterance:SpeechSynthesisUtterance;}interface StaticRangeInit{endContainer:Node;endOffset:number;startContainer:Node;startOffset:number;}interface StereoPannerOptions extends AudioNodeOptions{pan?:number;}interface StorageEstimate{quota?:number;usage?:number;}interface StorageEventInit extends EventInit{key?:string|null;newValue?:string|null;oldValue?:string|null;storageArea?:Storage|null;url?:string;}interface StreamPipeOptions{preventAbort?:boolean;preventCancel?:boolean;preventClose?:boolean;signal?:AbortSignal;}interface StructuredSerializeOptions{transfer?:Transferable[];}interface SubmitEventInit extends EventInit{submitter?:HTMLElement|null;}interface TextDecodeOptions{stream?:boolean;}interface TextDecoderOptions{fatal?:boolean;ignoreBOM?:boolean;}interface TextEncoderEncodeIntoResult{read?:number;written?:number;}interface TouchEventInit extends EventModifierInit{changedTouches?:Touch[];targetTouches?:Touch[];touches?:Touch[];}interface TouchInit{altitudeAngle?:number;azimuthAngle?:number;clientX?:number;clientY?:number;force?:number;identifier:number;pageX?:number;pageY?:number;radiusX?:number;radiusY?:number;rotationAngle?:number;screenX?:number;screenY?:number;target:EventTarget;touchType?:TouchType;}interface TrackEventInit extends EventInit{track?:TextTrack|null;}interface Transformer<I=any,O=any>{flush?:TransformerFlushCallback<O>;readableType?:undefined;start?:TransformerStartCallback<O>;transform?:TransformerTransformCallback<I,O>;writableType?:undefined;}interface TransitionEventInit extends EventInit{elapsedTime?:number;propertyName?:string;pseudoElement?:string;}interface UIEventInit extends EventInit{detail?:number;view?:Window|null;which?:number;}interface ULongRange{max?:number;min?:number;}interface UnderlyingByteSource{autoAllocateChunkSize?:number;cancel?:UnderlyingSourceCancelCallback;pull?:(controller:ReadableByteStreamController)=>void|PromiseLike<void>;start?:(controller:ReadableByteStreamController)=>any;type:"bytes";}interface UnderlyingDefaultSource<R=any>{cancel?:UnderlyingSourceCancelCallback;pull?:(controller:ReadableStreamDefaultController<R>)=>void|PromiseLike<void>;start?:(controller:ReadableStreamDefaultController<R>)=>any;type?:undefined;}interface UnderlyingSink<W=any>{abort?:UnderlyingSinkAbortCallback;close?:UnderlyingSinkCloseCallback;start?:UnderlyingSinkStartCallback;type?:undefined;write?:UnderlyingSinkWriteCallback<W>;}interface UnderlyingSource<R=any>{autoAllocateChunkSize?:number;cancel?:UnderlyingSourceCancelCallback;pull?:UnderlyingSourcePullCallback<R>;start?:UnderlyingSourceStartCallback<R>;type?:ReadableStreamType;}interface ValidityStateFlags{badInput?:boolean;customError?:boolean;patternMismatch?:boolean;rangeOverflow?:boolean;rangeUnderflow?:boolean;stepMismatch?:boolean;tooLong?:boolean;tooShort?:boolean;typeMismatch?:boolean;valueMissing?:boolean;}interface VideoColorSpaceInit{fullRange?:boolean|null;matrix?:VideoMatrixCoefficients|null;primaries?:VideoColorPrimaries|null;transfer?:VideoTransferCharacteristics|null;}interface VideoConfiguration{bitrate:number;colorGamut?:ColorGamut;contentType:string;framerate:number;hdrMetadataType?:HdrMetadataType;height:number;scalabilityMode?:string;transferFunction?:TransferFunction;width:number;}interface VideoFrameCallbackMetadata{captureTime?:DOMHighResTimeStamp;expectedDisplayTime:DOMHighResTimeStamp;height:number;mediaTime:number;presentationTime:DOMHighResTimeStamp;presentedFrames:number;processingDuration?:number;receiveTime?:DOMHighResTimeStamp;rtpTimestamp?:number;width:number;}interface WaveShaperOptions extends AudioNodeOptions{curve?:number[]|Float32Array;oversample?:OverSampleType;}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 WheelEventInit extends MouseEventInit{deltaMode?:number;deltaX?:number;deltaY?:number;deltaZ?:number;}interface WindowPostMessageOptions extends StructuredSerializeOptions{targetOrigin?:string;}interface WorkerOptions{credentials?:RequestCredentials;name?:string;type?:WorkerType;}interface WorkletOptions{credentials?:RequestCredentials;}type NodeFilter=((node:Node)=>number)|{acceptNode(node:Node):number;};declare var NodeFilter:{readonly FILTER_ACCEPT:number;readonly FILTER_REJECT:number;readonly FILTER_SKIP:number;readonly SHOW_ALL:number;readonly SHOW_ATTRIBUTE:number;readonly SHOW_CDATA_SECTION:number;readonly SHOW_COMMENT:number;readonly SHOW_DOCUMENT:number;readonly SHOW_DOCUMENT_FRAGMENT:number;readonly SHOW_DOCUMENT_TYPE:number;readonly SHOW_ELEMENT:number;readonly SHOW_ENTITY:number;readonly SHOW_ENTITY_REFERENCE:number;readonly SHOW_NOTATION:number;readonly SHOW_PROCESSING_INSTRUCTION:number;readonly SHOW_TEXT:number;};type XPathNSResolver=((prefix:string|null)=>string|null)|{lookupNamespaceURI(prefix:string|null):string|null;};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:GLenum;}interface ARIAMixin{ariaAtomic:string|null;ariaAutoComplete:string|null;ariaBusy:string|null;ariaChecked:string|null;ariaColCount:string|null;ariaColIndex:string|null;ariaColIndexText:string|null;ariaColSpan:string|null;ariaCurrent:string|null;ariaDisabled:string|null;ariaExpanded:string|null;ariaHasPopup:string|null;ariaHidden:string|null;ariaInvalid:string|null;ariaKeyShortcuts:string|null;ariaLabel:string|null;ariaLevel:string|null;ariaLive:string|null;ariaModal:string|null;ariaMultiLine:string|null;ariaMultiSelectable:string|null;ariaOrientation:string|null;ariaPlaceholder:string|null;ariaPosInSet:string|null;ariaPressed:string|null;ariaReadOnly:string|null;ariaRequired:string|null;ariaRoleDescription:string|null;ariaRowCount:string|null;ariaRowIndex:string|null;ariaRowIndexText:string|null;ariaRowSpan:string|null;ariaSelected:string|null;ariaSetSize:string|null;ariaSort:string|null;ariaValueMax:string|null;ariaValueMin:string|null;ariaValueNow:string|null;ariaValueText:string|null;role:string|null;}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<K extends keyof AbortSignalEventMap>(type:K,listener:(this:AbortSignal,ev:AbortSignalEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof AbortSignalEventMap>(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;timeout(milliseconds:number):AbortSignal;};interface AbstractRange{readonly collapsed:boolean;readonly endContainer:Node;readonly endOffset:number;readonly startContainer:Node;readonly startOffset:number;}declare var AbstractRange:{prototype:AbstractRange;new():AbstractRange;};interface AbstractWorkerEventMap{"error":ErrorEvent;}interface AbstractWorker{onerror:((this:AbstractWorker,ev:ErrorEvent)=>any)|null;addEventListener<K extends keyof AbstractWorkerEventMap>(type:K,listener:(this:AbstractWorker,ev:AbstractWorkerEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof AbstractWorkerEventMap>(type:K,listener:(this:AbstractWorker,ev:AbstractWorkerEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}interface AnalyserNode extends AudioNode{fftSize:number;readonly frequencyBinCount:number;maxDecibels:number;minDecibels:number;smoothingTimeConstant:number;getByteFrequencyData(array:Uint8Array):void;getByteTimeDomainData(array:Uint8Array):void;getFloatFrequencyData(array:Float32Array):void;getFloatTimeDomainData(array:Float32Array):void;}declare var AnalyserNode:{prototype:AnalyserNode;new(context:BaseAudioContext,options?:AnalyserOptions):AnalyserNode;};interface Animatable{animate(keyframes:Keyframe[]|PropertyIndexedKeyframes|null,options?:number|KeyframeAnimationOptions):Animation;getAnimations(options?:GetAnimationsOptions):Animation[];}interface AnimationEventMap{"cancel":AnimationPlaybackEvent;"finish":AnimationPlaybackEvent;"remove":Event;}interface Animation extends EventTarget{currentTime:CSSNumberish|null;effect:AnimationEffect|null;readonly finished:Promise<Animation>;id:string;oncancel:((this:Animation,ev:AnimationPlaybackEvent)=>any)|null;onfinish:((this:Animation,ev:AnimationPlaybackEvent)=>any)|null;onremove:((this:Animation,ev:Event)=>any)|null;readonly pending:boolean;readonly playState:AnimationPlayState;playbackRate:number;readonly ready:Promise<Animation>;readonly replaceState:AnimationReplaceState;startTime:CSSNumberish|null;timeline:AnimationTimeline|null;cancel():void;commitStyles():void;finish():void;pause():void;persist():void;play():void;reverse():void;updatePlaybackRate(playbackRate:number):void;addEventListener<K extends keyof AnimationEventMap>(type:K,listener:(this:Animation,ev:AnimationEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof AnimationEventMap>(type:K,listener:(this:Animation,ev:AnimationEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var Animation:{prototype:Animation;new(effect?:AnimationEffect|null,timeline?:AnimationTimeline|null):Animation;};interface AnimationEffect{getComputedTiming():ComputedEffectTiming;getTiming():EffectTiming;updateTiming(timing?:OptionalEffectTiming):void;}declare var AnimationEffect:{prototype:AnimationEffect;new():AnimationEffect;};interface AnimationEvent extends Event{readonly animationName:string;readonly elapsedTime:number;readonly pseudoElement:string;}declare var AnimationEvent:{prototype:AnimationEvent;new(type:string,animationEventInitDict?:AnimationEventInit):AnimationEvent;};interface AnimationFrameProvider{cancelAnimationFrame(handle:number):void;requestAnimationFrame(callback:FrameRequestCallback):number;}interface AnimationPlaybackEvent extends Event{readonly currentTime:CSSNumberish|null;readonly timelineTime:CSSNumberish|null;}declare var AnimationPlaybackEvent:{prototype:AnimationPlaybackEvent;new(type:string,eventInitDict?:AnimationPlaybackEventInit):AnimationPlaybackEvent;};interface AnimationTimeline{readonly currentTime:CSSNumberish|null;}declare var AnimationTimeline:{prototype:AnimationTimeline;new():AnimationTimeline;};interface Attr extends Node{readonly localName:string;readonly name:string;readonly namespaceURI:string|null;readonly ownerDocument:Document;readonly ownerElement:Element|null;readonly prefix:string|null;readonly specified:boolean;value:string;}declare var Attr:{prototype:Attr;new():Attr;};interface AudioBuffer{readonly duration:number;readonly length:number;readonly numberOfChannels:number;readonly sampleRate:number;copyFromChannel(destination:Float32Array,channelNumber:number,bufferOffset?:number):void;copyToChannel(source:Float32Array,channelNumber:number,bufferOffset?:number):void;getChannelData(channel:number):Float32Array;}declare var AudioBuffer:{prototype:AudioBuffer;new(options:AudioBufferOptions):AudioBuffer;};interface AudioBufferSourceNode extends AudioScheduledSourceNode{buffer:AudioBuffer|null;readonly detune:AudioParam;loop:boolean;loopEnd:number;loopStart:number;readonly playbackRate:AudioParam;start(when?:number,offset?:number,duration?:number):void;addEventListener<K extends keyof AudioScheduledSourceNodeEventMap>(type:K,listener:(this:AudioBufferSourceNode,ev:AudioScheduledSourceNodeEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof AudioScheduledSourceNodeEventMap>(type:K,listener:(this:AudioBufferSourceNode,ev:AudioScheduledSourceNodeEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var AudioBufferSourceNode:{prototype:AudioBufferSourceNode;new(context:BaseAudioContext,options?:AudioBufferSourceOptions):AudioBufferSourceNode;};interface AudioContext extends BaseAudioContext{readonly baseLatency:number;readonly outputLatency:number;close():Promise<void>;createMediaElementSource(mediaElement:HTMLMediaElement):MediaElementAudioSourceNode;createMediaStreamDestination():MediaStreamAudioDestinationNode;createMediaStreamSource(mediaStream:MediaStream):MediaStreamAudioSourceNode;getOutputTimestamp():AudioTimestamp;resume():Promise<void>;suspend():Promise<void>;addEventListener<K extends keyof BaseAudioContextEventMap>(type:K,listener:(this:AudioContext,ev:BaseAudioContextEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof BaseAudioContextEventMap>(type:K,listener:(this:AudioContext,ev:BaseAudioContextEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var AudioContext:{prototype:AudioContext;new(contextOptions?:AudioContextOptions):AudioContext;};interface AudioDestinationNode extends AudioNode{readonly maxChannelCount:number;}declare var AudioDestinationNode:{prototype:AudioDestinationNode;new():AudioDestinationNode;};interface AudioListener{readonly forwardX:AudioParam;readonly forwardY:AudioParam;readonly forwardZ:AudioParam;readonly positionX:AudioParam;readonly positionY:AudioParam;readonly positionZ:AudioParam;readonly upX:AudioParam;readonly upY:AudioParam;readonly upZ:AudioParam;setOrientation(x:number,y:number,z:number,xUp:number,yUp:number,zUp:number):void;setPosition(x:number,y:number,z:number):void;}declare var AudioListener:{prototype:AudioListener;new():AudioListener;};interface AudioNode extends EventTarget{channelCount:number;channelCountMode:ChannelCountMode;channelInterpretation:ChannelInterpretation;readonly context:BaseAudioContext;readonly numberOfInputs:number;readonly numberOfOutputs:number;connect(destinationNode:AudioNode,output?:number,input?:number):AudioNode;connect(destinationParam:AudioParam,output?:number):void;disconnect():void;disconnect(output:number):void;disconnect(destinationNode:AudioNode):void;disconnect(destinationNode:AudioNode,output:number):void;disconnect(destinationNode:AudioNode,output:number,input:number):void;disconnect(destinationParam:AudioParam):void;disconnect(destinationParam:AudioParam,output:number):void;}declare var AudioNode:{prototype:AudioNode;new():AudioNode;};interface AudioParam{automationRate:AutomationRate;readonly defaultValue:number;readonly maxValue:number;readonly minValue:number;value:number;cancelAndHoldAtTime(cancelTime:number):AudioParam;cancelScheduledValues(cancelTime:number):AudioParam;exponentialRampToValueAtTime(value:number,endTime:number):AudioParam;linearRampToValueAtTime(value:number,endTime:number):AudioParam;setTargetAtTime(target:number,startTime:number,timeConstant:number):AudioParam;setValueAtTime(value:number,startTime:number):AudioParam;setValueCurveAtTime(values:number[]|Float32Array,startTime:number,duration:number):AudioParam;}declare var AudioParam:{prototype:AudioParam;new():AudioParam;};interface AudioParamMap{forEach(callbackfn:(value:AudioParam,key:string,parent:AudioParamMap)=>void,thisArg?:any):void;}declare var AudioParamMap:{prototype:AudioParamMap;new():AudioParamMap;};interface AudioProcessingEvent extends Event{readonly inputBuffer:AudioBuffer;readonly outputBuffer:AudioBuffer;readonly playbackTime:number;}declare var AudioProcessingEvent:{prototype:AudioProcessingEvent;new(type:string,eventInitDict:AudioProcessingEventInit):AudioProcessingEvent;};interface AudioScheduledSourceNodeEventMap{"ended":Event;}interface AudioScheduledSourceNode extends AudioNode{onended:((this:AudioScheduledSourceNode,ev:Event)=>any)|null;start(when?:number):void;stop(when?:number):void;addEventListener<K extends keyof AudioScheduledSourceNodeEventMap>(type:K,listener:(this:AudioScheduledSourceNode,ev:AudioScheduledSourceNodeEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof AudioScheduledSourceNodeEventMap>(type:K,listener:(this:AudioScheduledSourceNode,ev:AudioScheduledSourceNodeEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var AudioScheduledSourceNode:{prototype:AudioScheduledSourceNode;new():AudioScheduledSourceNode;};interface AudioWorklet extends Worklet{}declare var AudioWorklet:{prototype:AudioWorklet;new():AudioWorklet;};interface AudioWorkletNodeEventMap{"processorerror":Event;}interface AudioWorkletNode extends AudioNode{onprocessorerror:((this:AudioWorkletNode,ev:Event)=>any)|null;readonly parameters:AudioParamMap;readonly port:MessagePort;addEventListener<K extends keyof AudioWorkletNodeEventMap>(type:K,listener:(this:AudioWorkletNode,ev:AudioWorkletNodeEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof AudioWorkletNodeEventMap>(type:K,listener:(this:AudioWorkletNode,ev:AudioWorkletNodeEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var AudioWorkletNode:{prototype:AudioWorkletNode;new(context:BaseAudioContext,name:string,options?:AudioWorkletNodeOptions):AudioWorkletNode;};interface AuthenticatorAssertionResponse extends AuthenticatorResponse{readonly authenticatorData:ArrayBuffer;readonly signature:ArrayBuffer;readonly userHandle:ArrayBuffer|null;}declare var AuthenticatorAssertionResponse:{prototype:AuthenticatorAssertionResponse;new():AuthenticatorAssertionResponse;};interface AuthenticatorAttestationResponse extends AuthenticatorResponse{readonly attestationObject:ArrayBuffer;getAuthenticatorData():ArrayBuffer;getPublicKey():ArrayBuffer|null;getPublicKeyAlgorithm():COSEAlgorithmIdentifier;getTransports():string[];}declare var AuthenticatorAttestationResponse:{prototype:AuthenticatorAttestationResponse;new():AuthenticatorAttestationResponse;};interface AuthenticatorResponse{readonly clientDataJSON:ArrayBuffer;}declare var AuthenticatorResponse:{prototype:AuthenticatorResponse;new():AuthenticatorResponse;};interface BarProp{readonly visible:boolean;}declare var BarProp:{prototype:BarProp;new():BarProp;};interface BaseAudioContextEventMap{"statechange":Event;}interface BaseAudioContext extends EventTarget{readonly audioWorklet:AudioWorklet;readonly currentTime:number;readonly destination:AudioDestinationNode;readonly listener:AudioListener;onstatechange:((this:BaseAudioContext,ev:Event)=>any)|null;readonly sampleRate:number;readonly state:AudioContextState;createAnalyser():AnalyserNode;createBiquadFilter():BiquadFilterNode;createBuffer(numberOfChannels:number,length:number,sampleRate:number):AudioBuffer;createBufferSource():AudioBufferSourceNode;createChannelMerger(numberOfInputs?:number):ChannelMergerNode;createChannelSplitter(numberOfOutputs?:number):ChannelSplitterNode;createConstantSource():ConstantSourceNode;createConvolver():ConvolverNode;createDelay(maxDelayTime?:number):DelayNode;createDynamicsCompressor():DynamicsCompressorNode;createGain():GainNode;createIIRFilter(feedforward:number[],feedback:number[]):IIRFilterNode;createOscillator():OscillatorNode;createPanner():PannerNode;createPeriodicWave(real:number[]|Float32Array,imag:number[]|Float32Array,constraints?:PeriodicWaveConstraints):PeriodicWave;createScriptProcessor(bufferSize?:number,numberOfInputChannels?:number,numberOfOutputChannels?:number):ScriptProcessorNode;createStereoPanner():StereoPannerNode;createWaveShaper():WaveShaperNode;decodeAudioData(audioData:ArrayBuffer,successCallback?:DecodeSuccessCallback|null,errorCallback?:DecodeErrorCallback|null):Promise<AudioBuffer>;addEventListener<K extends keyof BaseAudioContextEventMap>(type:K,listener:(this:BaseAudioContext,ev:BaseAudioContextEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof BaseAudioContextEventMap>(type:K,listener:(this:BaseAudioContext,ev:BaseAudioContextEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var BaseAudioContext:{prototype:BaseAudioContext;new():BaseAudioContext;};interface BeforeUnloadEvent extends Event{returnValue:any;}declare var BeforeUnloadEvent:{prototype:BeforeUnloadEvent;new():BeforeUnloadEvent;};interface BiquadFilterNode extends AudioNode{readonly Q:AudioParam;readonly detune:AudioParam;readonly frequency:AudioParam;readonly gain:AudioParam;type:BiquadFilterType;getFrequencyResponse(frequencyHz:Float32Array,magResponse:Float32Array,phaseResponse:Float32Array):void;}declare var BiquadFilterNode:{prototype:BiquadFilterNode;new(context:BaseAudioContext,options?:BiquadFilterOptions):BiquadFilterNode;};interface Blob{readonly size:number;readonly type:string;arrayBuffer():Promise<ArrayBuffer>;slice(start?:number,end?:number,contentType?:string):Blob;stream():ReadableStream<Uint8Array>;text():Promise<string>;}declare var Blob:{prototype:Blob;new(blobParts?:BlobPart[],options?:BlobPropertyBag):Blob;};interface BlobEvent extends Event{readonly data:Blob;readonly timecode:DOMHighResTimeStamp;}declare var BlobEvent:{prototype:BlobEvent;new(type:string,eventInitDict:BlobEventInit):BlobEvent;};interface Body{readonly body:ReadableStream<Uint8Array>|null;readonly bodyUsed:boolean;arrayBuffer():Promise<ArrayBuffer>;blob():Promise<Blob>;formData():Promise<FormData>;json():Promise<any>;text():Promise<string>;}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<K extends keyof BroadcastChannelEventMap>(type:K,listener:(this:BroadcastChannel,ev:BroadcastChannelEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof BroadcastChannelEventMap>(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<ArrayBufferView>{readonly highWaterMark:number;readonly size:QueuingStrategySize<ArrayBufferView>;}declare var ByteLengthQueuingStrategy:{prototype:ByteLengthQueuingStrategy;new(init:QueuingStrategyInit):ByteLengthQueuingStrategy;};interface CDATASection extends Text{}declare var CDATASection:{prototype:CDATASection;new():CDATASection;};interface CSSAnimation extends Animation{readonly animationName:string;addEventListener<K extends keyof AnimationEventMap>(type:K,listener:(this:CSSAnimation,ev:AnimationEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof AnimationEventMap>(type:K,listener:(this:CSSAnimation,ev:AnimationEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var CSSAnimation:{prototype:CSSAnimation;new():CSSAnimation;};interface CSSConditionRule extends CSSGroupingRule{readonly conditionText:string;}declare var CSSConditionRule:{prototype:CSSConditionRule;new():CSSConditionRule;};interface CSSContainerRule extends CSSConditionRule{}declare var CSSContainerRule:{prototype:CSSContainerRule;new():CSSContainerRule;};interface CSSCounterStyleRule extends CSSRule{additiveSymbols:string;fallback:string;name:string;negative:string;pad:string;prefix:string;range:string;speakAs:string;suffix:string;symbols:string;system:string;}declare var CSSCounterStyleRule:{prototype:CSSCounterStyleRule;new():CSSCounterStyleRule;};interface CSSFontFaceRule extends CSSRule{readonly style:CSSStyleDeclaration;}declare var CSSFontFaceRule:{prototype:CSSFontFaceRule;new():CSSFontFaceRule;};interface CSSFontPaletteValuesRule extends CSSRule{readonly basePalette:string;readonly fontFamily:string;readonly name:string;readonly overrideColors:string;}declare var CSSFontPaletteValuesRule:{prototype:CSSFontPaletteValuesRule;new():CSSFontPaletteValuesRule;};interface CSSGroupingRule extends CSSRule{readonly cssRules:CSSRuleList;deleteRule(index:number):void;insertRule(rule:string,index?:number):number;}declare var CSSGroupingRule:{prototype:CSSGroupingRule;new():CSSGroupingRule;};interface CSSImportRule extends CSSRule{readonly href:string;readonly layerName:string|null;readonly media:MediaList;readonly styleSheet:CSSStyleSheet;}declare var CSSImportRule:{prototype:CSSImportRule;new():CSSImportRule;};interface CSSKeyframeRule extends CSSRule{keyText:string;readonly style:CSSStyleDeclaration;}declare var CSSKeyframeRule:{prototype:CSSKeyframeRule;new():CSSKeyframeRule;};interface CSSKeyframesRule extends CSSRule{readonly cssRules:CSSRuleList;name:string;appendRule(rule:string):void;deleteRule(select:string):void;findRule(select:string):CSSKeyframeRule|null;}declare var CSSKeyframesRule:{prototype:CSSKeyframesRule;new():CSSKeyframesRule;};interface CSSLayerBlockRule extends CSSGroupingRule{readonly name:string;}declare var CSSLayerBlockRule:{prototype:CSSLayerBlockRule;new():CSSLayerBlockRule;};interface CSSLayerStatementRule extends CSSRule{readonly nameList:ReadonlyArray<string>;}declare var CSSLayerStatementRule:{prototype:CSSLayerStatementRule;new():CSSLayerStatementRule;};interface CSSMediaRule extends CSSConditionRule{readonly media:MediaList;}declare var CSSMediaRule:{prototype:CSSMediaRule;new():CSSMediaRule;};interface CSSNamespaceRule extends CSSRule{readonly namespaceURI:string;readonly prefix:string;}declare var CSSNamespaceRule:{prototype:CSSNamespaceRule;new():CSSNamespaceRule;};interface CSSPageRule extends CSSGroupingRule{selectorText:string;readonly style:CSSStyleDeclaration;}declare var CSSPageRule:{prototype:CSSPageRule;new():CSSPageRule;};interface CSSRule{cssText:string;readonly parentRule:CSSRule|null;readonly parentStyleSheet:CSSStyleSheet|null;readonly type:number;readonly CHARSET_RULE:number;readonly FONT_FACE_RULE:number;readonly IMPORT_RULE:number;readonly KEYFRAMES_RULE:number;readonly KEYFRAME_RULE:number;readonly MEDIA_RULE:number;readonly NAMESPACE_RULE:number;readonly PAGE_RULE:number;readonly STYLE_RULE:number;readonly SUPPORTS_RULE:number;}declare var CSSRule:{prototype:CSSRule;new():CSSRule;readonly CHARSET_RULE:number;readonly FONT_FACE_RULE:number;readonly IMPORT_RULE:number;readonly KEYFRAMES_RULE:number;readonly KEYFRAME_RULE:number;readonly MEDIA_RULE:number;readonly NAMESPACE_RULE:number;readonly PAGE_RULE:number;readonly STYLE_RULE:number;readonly SUPPORTS_RULE:number;};interface CSSRuleList{readonly length:number;item(index:number):CSSRule|null;[index:number]:CSSRule;}declare var CSSRuleList:{prototype:CSSRuleList;new():CSSRuleList;};interface CSSStyleDeclaration{accentColor:string;alignContent:string;alignItems:string;alignSelf:string;alignmentBaseline:string;all:string;animation:string;animationDelay:string;animationDirection:string;animationDuration:string;animationFillMode:string;animationIterationCount:string;animationName:string;animationPlayState:string;animationTimingFunction:string;appearance:string;aspectRatio:string;backdropFilter:string;backfaceVisibility:string;background:string;backgroundAttachment:string;backgroundBlendMode:string;backgroundClip:string;backgroundColor:string;backgroundImage:string;backgroundOrigin:string;backgroundPosition:string;backgroundPositionX:string;backgroundPositionY:string;backgroundRepeat:string;backgroundSize:string;baselineShift:string;blockSize:string;border:string;borderBlock:string;borderBlockColor:string;borderBlockEnd:string;borderBlockEndColor:string;borderBlockEndStyle:string;borderBlockEndWidth:string;borderBlockStart:string;borderBlockStartColor:string;borderBlockStartStyle:string;borderBlockStartWidth:string;borderBlockStyle:string;borderBlockWidth:string;borderBottom:string;borderBottomColor:string;borderBottomLeftRadius:string;borderBottomRightRadius:string;borderBottomStyle:string;borderBottomWidth:string;borderCollapse:string;borderColor:string;borderEndEndRadius:string;borderEndStartRadius:string;borderImage:string;borderImageOutset:string;borderImageRepeat:string;borderImageSlice:string;borderImageSource:string;borderImageWidth:string;borderInline:string;borderInlineColor:string;borderInlineEnd:string;borderInlineEndColor:string;borderInlineEndStyle:string;borderInlineEndWidth:string;borderInlineStart:string;borderInlineStartColor:string;borderInlineStartStyle:string;borderInlineStartWidth:string;borderInlineStyle:string;borderInlineWidth:string;borderLeft:string;borderLeftColor:string;borderLeftStyle:string;borderLeftWidth:string;borderRadius:string;borderRight:string;borderRightColor:string;borderRightStyle:string;borderRightWidth:string;borderSpacing:string;borderStartEndRadius:string;borderStartStartRadius:string;borderStyle:string;borderTop:string;borderTopColor:string;borderTopLeftRadius:string;borderTopRightRadius:string;borderTopStyle:string;borderTopWidth:string;borderWidth:string;bottom:string;boxShadow:string;boxSizing:string;breakAfter:string;breakBefore:string;breakInside:string;captionSide:string;caretColor:string;clear:string;clip:string;clipPath:string;clipRule:string;color:string;colorInterpolation:string;colorInterpolationFilters:string;colorScheme:string;columnCount:string;columnFill:string;columnGap:string;columnRule:string;columnRuleColor:string;columnRuleStyle:string;columnRuleWidth:string;columnSpan:string;columnWidth:string;columns:string;contain:string;container:string;containerName:string;containerType:string;content:string;counterIncrement:string;counterReset:string;counterSet:string;cssFloat:string;cssText:string;cursor:string;direction:string;display:string;dominantBaseline:string;emptyCells:string;fill:string;fillOpacity:string;fillRule:string;filter:string;flex:string;flexBasis:string;flexDirection:string;flexFlow:string;flexGrow:string;flexShrink:string;flexWrap:string;float:string;floodColor:string;floodOpacity:string;font:string;fontFamily:string;fontFeatureSettings:string;fontKerning:string;fontOpticalSizing:string;fontPalette:string;fontSize:string;fontSizeAdjust:string;fontStretch:string;fontStyle:string;fontSynthesis:string;fontVariant:string;fontVariantAlternates:string;fontVariantCaps:string;fontVariantEastAsian:string;fontVariantLigatures:string;fontVariantNumeric:string;fontVariantPosition:string;fontVariationSettings:string;fontWeight:string;gap:string;grid:string;gridArea:string;gridAutoColumns:string;gridAutoFlow:string;gridAutoRows:string;gridColumn:string;gridColumnEnd:string;gridColumnGap:string;gridColumnStart:string;gridGap:string;gridRow:string;gridRowEnd:string;gridRowGap:string;gridRowStart:string;gridTemplate:string;gridTemplateAreas:string;gridTemplateColumns:string;gridTemplateRows:string;height:string;hyphenateCharacter:string;hyphens:string;imageOrientation:string;imageRendering:string;inlineSize:string;inset:string;insetBlock:string;insetBlockEnd:string;insetBlockStart:string;insetInline:string;insetInlineEnd:string;insetInlineStart:string;isolation:string;justifyContent:string;justifyItems:string;justifySelf:string;left:string;readonly length:number;letterSpacing:string;lightingColor:string;lineBreak:string;lineHeight:string;listStyle:string;listStyleImage:string;listStylePosition:string;listStyleType:string;margin:string;marginBlock:string;marginBlockEnd:string;marginBlockStart:string;marginBottom:string;marginInline:string;marginInlineEnd:string;marginInlineStart:string;marginLeft:string;marginRight:string;marginTop:string;marker:string;markerEnd:string;markerMid:string;markerStart:string;mask:string;maskClip:string;maskComposite:string;maskImage:string;maskMode:string;maskOrigin:string;maskPosition:string;maskRepeat:string;maskSize:string;maskType:string;maxBlockSize:string;maxHeight:string;maxInlineSize:string;maxWidth:string;minBlockSize:string;minHeight:string;minInlineSize:string;minWidth:string;mixBlendMode:string;objectFit:string;objectPosition:string;offset:string;offsetDistance:string;offsetPath:string;offsetRotate:string;opacity:string;order:string;orphans:string;outline:string;outlineColor:string;outlineOffset:string;outlineStyle:string;outlineWidth:string;overflow:string;overflowAnchor:string;overflowClipMargin:string;overflowWrap:string;overflowX:string;overflowY:string;overscrollBehavior:string;overscrollBehaviorBlock:string;overscrollBehaviorInline:string;overscrollBehaviorX:string;overscrollBehaviorY:string;padding:string;paddingBlock:string;paddingBlockEnd:string;paddingBlockStart:string;paddingBottom:string;paddingInline:string;paddingInlineEnd:string;paddingInlineStart:string;paddingLeft:string;paddingRight:string;paddingTop:string;pageBreakAfter:string;pageBreakBefore:string;pageBreakInside:string;paintOrder:string;readonly parentRule:CSSRule|null;perspective:string;perspectiveOrigin:string;placeContent:string;placeItems:string;placeSelf:string;pointerEvents:string;position:string;printColorAdjust:string;quotes:string;resize:string;right:string;rotate:string;rowGap:string;rubyPosition:string;scale:string;scrollBehavior:string;scrollMargin:string;scrollMarginBlock:string;scrollMarginBlockEnd:string;scrollMarginBlockStart:string;scrollMarginBottom:string;scrollMarginInline:string;scrollMarginInlineEnd:string;scrollMarginInlineStart:string;scrollMarginLeft:string;scrollMarginRight:string;scrollMarginTop:string;scrollPadding:string;scrollPaddingBlock:string;scrollPaddingBlockEnd:string;scrollPaddingBlockStart:string;scrollPaddingBottom:string;scrollPaddingInline:string;scrollPaddingInlineEnd:string;scrollPaddingInlineStart:string;scrollPaddingLeft:string;scrollPaddingRight:string;scrollPaddingTop:string;scrollSnapAlign:string;scrollSnapStop:string;scrollSnapType:string;scrollbarGutter:string;shapeImageThreshold:string;shapeMargin:string;shapeOutside:string;shapeRendering:string;stopColor:string;stopOpacity:string;stroke:string;strokeDasharray:string;strokeDashoffset:string;strokeLinecap:string;strokeLinejoin:string;strokeMiterlimit:string;strokeOpacity:string;strokeWidth:string;tabSize:string;tableLayout:string;textAlign:string;textAlignLast:string;textAnchor:string;textCombineUpright:string;textDecoration:string;textDecorationColor:string;textDecorationLine:string;textDecorationSkipInk:string;textDecorationStyle:string;textDecorationThickness:string;textEmphasis:string;textEmphasisColor:string;textEmphasisPosition:string;textEmphasisStyle:string;textIndent:string;textOrientation:string;textOverflow:string;textRendering:string;textShadow:string;textTransform:string;textUnderlineOffset:string;textUnderlinePosition:string;top:string;touchAction:string;transform:string;transformBox:string;transformOrigin:string;transformStyle:string;transition:string;transitionDelay:string;transitionDuration:string;transitionProperty:string;transitionTimingFunction:string;translate:string;unicodeBidi:string;userSelect:string;verticalAlign:string;visibility:string;webkitAlignContent:string;webkitAlignItems:string;webkitAlignSelf:string;webkitAnimation:string;webkitAnimationDelay:string;webkitAnimationDirection:string;webkitAnimationDuration:string;webkitAnimationFillMode:string;webkitAnimationIterationCount:string;webkitAnimationName:string;webkitAnimationPlayState:string;webkitAnimationTimingFunction:string;webkitAppearance:string;webkitBackfaceVisibility:string;webkitBackgroundClip:string;webkitBackgroundOrigin:string;webkitBackgroundSize:string;webkitBorderBottomLeftRadius:string;webkitBorderBottomRightRadius:string;webkitBorderRadius:string;webkitBorderTopLeftRadius:string;webkitBorderTopRightRadius:string;webkitBoxAlign:string;webkitBoxFlex:string;webkitBoxOrdinalGroup:string;webkitBoxOrient:string;webkitBoxPack:string;webkitBoxShadow:string;webkitBoxSizing:string;webkitFilter:string;webkitFlex:string;webkitFlexBasis:string;webkitFlexDirection:string;webkitFlexFlow:string;webkitFlexGrow:string;webkitFlexShrink:string;webkitFlexWrap:string;webkitJustifyContent:string;webkitLineClamp:string;webkitMask:string;webkitMaskBoxImage:string;webkitMaskBoxImageOutset:string;webkitMaskBoxImageRepeat:string;webkitMaskBoxImageSlice:string;webkitMaskBoxImageSource:string;webkitMaskBoxImageWidth:string;webkitMaskClip:string;webkitMaskComposite:string;webkitMaskImage:string;webkitMaskOrigin:string;webkitMaskPosition:string;webkitMaskRepeat:string;webkitMaskSize:string;webkitOrder:string;webkitPerspective:string;webkitPerspectiveOrigin:string;webkitTextFillColor:string;webkitTextSizeAdjust:string;webkitTextStroke:string;webkitTextStrokeColor:string;webkitTextStrokeWidth:string;webkitTransform:string;webkitTransformOrigin:string;webkitTransformStyle:string;webkitTransition:string;webkitTransitionDelay:string;webkitTransitionDuration:string;webkitTransitionProperty:string;webkitTransitionTimingFunction:string;webkitUserSelect:string;whiteSpace:string;widows:string;width:string;willChange:string;wordBreak:string;wordSpacing:string;wordWrap:string;writingMode:string;zIndex:string;getPropertyPriority(property:string):string;getPropertyValue(property:string):string;item(index:number):string;removeProperty(property:string):string;setProperty(property:string,value:string|null,priority?:string):void;[index:number]:string;}declare var CSSStyleDeclaration:{prototype:CSSStyleDeclaration;new():CSSStyleDeclaration;};interface CSSStyleRule extends CSSRule{selectorText:string;readonly style:CSSStyleDeclaration;}declare var CSSStyleRule:{prototype:CSSStyleRule;new():CSSStyleRule;};interface CSSStyleSheet extends StyleSheet{readonly cssRules:CSSRuleList;readonly ownerRule:CSSRule|null;readonly rules:CSSRuleList;addRule(selector?:string,style?:string,index?:number):number;deleteRule(index:number):void;insertRule(rule:string,index?:number):number;removeRule(index?:number):void;replace(text:string):Promise<CSSStyleSheet>;replaceSync(text:string):void;}declare var CSSStyleSheet:{prototype:CSSStyleSheet;new(options?:CSSStyleSheetInit):CSSStyleSheet;};interface CSSSupportsRule extends CSSConditionRule{}declare var CSSSupportsRule:{prototype:CSSSupportsRule;new():CSSSupportsRule;};interface CSSTransition extends Animation{readonly transitionProperty:string;addEventListener<K extends keyof AnimationEventMap>(type:K,listener:(this:CSSTransition,ev:AnimationEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof AnimationEventMap>(type:K,listener:(this:CSSTransition,ev:AnimationEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var CSSTransition:{prototype:CSSTransition;new():CSSTransition;};interface Cache{add(request:RequestInfo|URL):Promise<void>;addAll(requests:RequestInfo[]):Promise<void>;delete(request:RequestInfo|URL,options?:CacheQueryOptions):Promise<boolean>;keys(request?:RequestInfo|URL,options?:CacheQueryOptions):Promise<ReadonlyArray<Request>>;match(request:RequestInfo|URL,options?:CacheQueryOptions):Promise<Response|undefined>;matchAll(request?:RequestInfo|URL,options?:CacheQueryOptions):Promise<ReadonlyArray<Response>>;put(request:RequestInfo|URL,response:Response):Promise<void>;}declare var Cache:{prototype:Cache;new():Cache;};interface CacheStorage{delete(cacheName:string):Promise<boolean>;has(cacheName:string):Promise<boolean>;keys():Promise<string[]>;match(request:RequestInfo|URL,options?:MultiCacheQueryOptions):Promise<Response|undefined>;open(cacheName:string):Promise<Cache>;}declare var CacheStorage:{prototype:CacheStorage;new():CacheStorage;};interface CanvasCaptureMediaStreamTrack extends MediaStreamTrack{readonly canvas:HTMLCanvasElement;requestFrame():void;addEventListener<K extends keyof MediaStreamTrackEventMap>(type:K,listener:(this:CanvasCaptureMediaStreamTrack,ev:MediaStreamTrackEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof MediaStreamTrackEventMap>(type:K,listener:(this:CanvasCaptureMediaStreamTrack,ev:MediaStreamTrackEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var CanvasCaptureMediaStreamTrack:{prototype:CanvasCaptureMediaStreamTrack;new():CanvasCaptureMediaStreamTrack;};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 CanvasRenderingContext2D extends CanvasCompositing,CanvasDrawImage,CanvasDrawPath,CanvasFillStrokeStyles,CanvasFilters,CanvasImageData,CanvasImageSmoothing,CanvasPath,CanvasPathDrawingStyles,CanvasRect,CanvasShadowStyles,CanvasState,CanvasText,CanvasTextDrawingStyles,CanvasTransform,CanvasUserInterface{readonly canvas:HTMLCanvasElement;getContextAttributes():CanvasRenderingContext2DSettings;}declare var CanvasRenderingContext2D:{prototype:CanvasRenderingContext2D;new():CanvasRenderingContext2D;};interface CanvasShadowStyles{shadowBlur:number;shadowColor:string;shadowOffsetX:number;shadowOffsetY:number;}interface CanvasState{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;textAlign:CanvasTextAlign;textBaseline:CanvasTextBaseline;}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 CanvasUserInterface{drawFocusIfNeeded(element:Element):void;drawFocusIfNeeded(path:Path2D,element:Element):void;}interface ChannelMergerNode extends AudioNode{}declare var ChannelMergerNode:{prototype:ChannelMergerNode;new(context:BaseAudioContext,options?:ChannelMergerOptions):ChannelMergerNode;};interface ChannelSplitterNode extends AudioNode{}declare var ChannelSplitterNode:{prototype:ChannelSplitterNode;new(context:BaseAudioContext,options?:ChannelSplitterOptions):ChannelSplitterNode;};interface CharacterData extends Node,ChildNode,NonDocumentTypeChildNode{data:string;readonly length:number;readonly ownerDocument:Document;appendData(data:string):void;deleteData(offset:number,count:number):void;insertData(offset:number,data:string):void;replaceData(offset:number,count:number,data:string):void;substringData(offset:number,count:number):string;}declare var CharacterData:{prototype:CharacterData;new():CharacterData;};interface ChildNode extends Node{after(...nodes:(Node|string)[]):void;before(...nodes:(Node|string)[]):void;remove():void;replaceWith(...nodes:(Node|string)[]):void;}interface ClientRect extends DOMRect{}interface Clipboard extends EventTarget{read():Promise<ClipboardItems>;readText():Promise<string>;write(data:ClipboardItems):Promise<void>;writeText(data:string):Promise<void>;}declare var Clipboard:{prototype:Clipboard;new():Clipboard;};interface ClipboardEvent extends Event{readonly clipboardData:DataTransfer|null;}declare var ClipboardEvent:{prototype:ClipboardEvent;new(type:string,eventInitDict?:ClipboardEventInit):ClipboardEvent;};interface ClipboardItem{readonly types:ReadonlyArray<string>;getType(type:string):Promise<Blob>;}declare var ClipboardItem:{prototype:ClipboardItem;new(items:Record<string,string|Blob|PromiseLike<string|Blob>>,options?:ClipboardItemOptions):ClipboardItem;};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 Comment extends CharacterData{}declare var Comment:{prototype:Comment;new(data?:string):Comment;};interface CompositionEvent extends UIEvent{readonly data:string;initCompositionEvent(typeArg:string,bubblesArg?:boolean,cancelableArg?:boolean,viewArg?:WindowProxy|null,dataArg?:string):void;}declare var CompositionEvent:{prototype:CompositionEvent;new(type:string,eventInitDict?:CompositionEventInit):CompositionEvent;};interface ConstantSourceNode extends AudioScheduledSourceNode{readonly offset:AudioParam;addEventListener<K extends keyof AudioScheduledSourceNodeEventMap>(type:K,listener:(this:ConstantSourceNode,ev:AudioScheduledSourceNodeEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof AudioScheduledSourceNodeEventMap>(type:K,listener:(this:ConstantSourceNode,ev:AudioScheduledSourceNodeEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var ConstantSourceNode:{prototype:ConstantSourceNode;new(context:BaseAudioContext,options?:ConstantSourceOptions):ConstantSourceNode;};interface ConvolverNode extends AudioNode{buffer:AudioBuffer|null;normalize:boolean;}declare var ConvolverNode:{prototype:ConvolverNode;new(context:BaseAudioContext,options?:ConvolverOptions):ConvolverNode;};interface CountQueuingStrategy extends QueuingStrategy{readonly highWaterMark:number;readonly size:QueuingStrategySize;}declare var CountQueuingStrategy:{prototype:CountQueuingStrategy;new(init:QueuingStrategyInit):CountQueuingStrategy;};interface Credential{readonly id:string;readonly type:string;}declare var Credential:{prototype:Credential;new():Credential;};interface CredentialsContainer{create(options?:CredentialCreationOptions):Promise<Credential|null>;get(options?:CredentialRequestOptions):Promise<Credential|null>;preventSilentAccess():Promise<void>;store(credential:Credential):Promise<Credential>;}declare var CredentialsContainer:{prototype:CredentialsContainer;new():CredentialsContainer;};interface Crypto{readonly subtle:SubtleCrypto;getRandomValues<T extends ArrayBufferView|null>(array:T):T;randomUUID():string;}declare var Crypto:{prototype:Crypto;new():Crypto;};interface CryptoKey{readonly algorithm:KeyAlgorithm;readonly extractable:boolean;readonly type:KeyType;readonly usages:KeyUsage[];}declare var CryptoKey:{prototype:CryptoKey;new():CryptoKey;};interface CustomElementRegistry{define(name:string,constructor:CustomElementConstructor,options?:ElementDefinitionOptions):void;get(name:string):CustomElementConstructor|undefined;upgrade(root:Node):void;whenDefined(name:string):Promise<CustomElementConstructor>;}declare var CustomElementRegistry:{prototype:CustomElementRegistry;new():CustomElementRegistry;};interface CustomEvent<T=any>extends Event{readonly detail:T;initCustomEvent(type:string,bubbles?:boolean,cancelable?:boolean,detail?:T):void;}declare var CustomEvent:{prototype:CustomEvent;new<T>(type:string,eventInitDict?:CustomEventInit<T>):CustomEvent<T>;};interface DOMException extends Error{readonly code:number;readonly message:string;readonly name:string;readonly ABORT_ERR:number;readonly DATA_CLONE_ERR:number;readonly DOMSTRING_SIZE_ERR:number;readonly HIERARCHY_REQUEST_ERR:number;readonly INDEX_SIZE_ERR:number;readonly INUSE_ATTRIBUTE_ERR:number;readonly INVALID_ACCESS_ERR:number;readonly INVALID_CHARACTER_ERR:number;readonly INVALID_MODIFICATION_ERR:number;readonly INVALID_NODE_TYPE_ERR:number;readonly INVALID_STATE_ERR:number;readonly NAMESPACE_ERR:number;readonly NETWORK_ERR:number;readonly NOT_FOUND_ERR:number;readonly NOT_SUPPORTED_ERR:number;readonly NO_DATA_ALLOWED_ERR:number;readonly NO_MODIFICATION_ALLOWED_ERR:number;readonly QUOTA_EXCEEDED_ERR:number;readonly SECURITY_ERR:number;readonly SYNTAX_ERR:number;readonly TIMEOUT_ERR:number;readonly TYPE_MISMATCH_ERR:number;readonly URL_MISMATCH_ERR:number;readonly VALIDATION_ERR:number;readonly WRONG_DOCUMENT_ERR:number;}declare var DOMException:{prototype:DOMException;new(message?:string,name?:string):DOMException;readonly ABORT_ERR:number;readonly DATA_CLONE_ERR:number;readonly DOMSTRING_SIZE_ERR:number;readonly HIERARCHY_REQUEST_ERR:number;readonly INDEX_SIZE_ERR:number;readonly INUSE_ATTRIBUTE_ERR:number;readonly INVALID_ACCESS_ERR:number;readonly INVALID_CHARACTER_ERR:number;readonly INVALID_MODIFICATION_ERR:number;readonly INVALID_NODE_TYPE_ERR:number;readonly INVALID_STATE_ERR:number;readonly NAMESPACE_ERR:number;readonly NETWORK_ERR:number;readonly NOT_FOUND_ERR:number;readonly NOT_SUPPORTED_ERR:number;readonly NO_DATA_ALLOWED_ERR:number;readonly NO_MODIFICATION_ALLOWED_ERR:number;readonly QUOTA_EXCEEDED_ERR:number;readonly SECURITY_ERR:number;readonly SYNTAX_ERR:number;readonly TIMEOUT_ERR:number;readonly TYPE_MISMATCH_ERR:number;readonly URL_MISMATCH_ERR:number;readonly VALIDATION_ERR:number;readonly WRONG_DOCUMENT_ERR:number;};interface DOMImplementation{createDocument(namespace:string|null,qualifiedName:string|null,doctype?:DocumentType|null):XMLDocument;createDocumentType(qualifiedName:string,publicId:string,systemId:string):DocumentType;createHTMLDocument(title?:string):Document;hasFeature(...args:any[]):true;}declare var DOMImplementation:{prototype:DOMImplementation;new():DOMImplementation;};interface DOMMatrix extends DOMMatrixReadOnly{a:number;b:number;c:number;d:number;e:number;f:number;m11:number;m12:number;m13:number;m14:number;m21:number;m22:number;m23:number;m24:number;m31:number;m32:number;m33:number;m34:number;m41:number;m42:number;m43:number;m44:number;invertSelf():DOMMatrix;multiplySelf(other?:DOMMatrixInit):DOMMatrix;preMultiplySelf(other?:DOMMatrixInit):DOMMatrix;rotateAxisAngleSelf(x?:number,y?:number,z?:number,angle?:number):DOMMatrix;rotateFromVectorSelf(x?:number,y?:number):DOMMatrix;rotateSelf(rotX?:number,rotY?:number,rotZ?:number):DOMMatrix;scale3dSelf(scale?:number,originX?:number,originY?:number,originZ?:number):DOMMatrix;scaleSelf(scaleX?:number,scaleY?:number,scaleZ?:number,originX?:number,originY?:number,originZ?:number):DOMMatrix;setMatrixValue(transformList:string):DOMMatrix;skewXSelf(sx?:number):DOMMatrix;skewYSelf(sy?:number):DOMMatrix;translateSelf(tx?:number,ty?:number,tz?:number):DOMMatrix;}declare var DOMMatrix:{prototype:DOMMatrix;new(init?:string|number[]):DOMMatrix;fromFloat32Array(array32:Float32Array):DOMMatrix;fromFloat64Array(array64:Float64Array):DOMMatrix;fromMatrix(other?:DOMMatrixInit):DOMMatrix;};type SVGMatrix=DOMMatrix;declare var SVGMatrix:typeof DOMMatrix;type WebKitCSSMatrix=DOMMatrix;declare var WebKitCSSMatrix:typeof DOMMatrix;interface DOMMatrixReadOnly{readonly a:number;readonly b:number;readonly c:number;readonly d:number;readonly e:number;readonly f:number;readonly is2D:boolean;readonly isIdentity:boolean;readonly m11:number;readonly m12:number;readonly m13:number;readonly m14:number;readonly m21:number;readonly m22:number;readonly m23:number;readonly m24:number;readonly m31:number;readonly m32:number;readonly m33:number;readonly m34:number;readonly m41:number;readonly m42:number;readonly m43:number;readonly m44:number;flipX():DOMMatrix;flipY():DOMMatrix;inverse():DOMMatrix;multiply(other?:DOMMatrixInit):DOMMatrix;rotate(rotX?:number,rotY?:number,rotZ?:number):DOMMatrix;rotateAxisAngle(x?:number,y?:number,z?:number,angle?:number):DOMMatrix;rotateFromVector(x?:number,y?:number):DOMMatrix;scale(scaleX?:number,scaleY?:number,scaleZ?:number,originX?:number,originY?:number,originZ?:number):DOMMatrix;scale3d(scale?:number,originX?:number,originY?:number,originZ?:number):DOMMatrix;scaleNonUniform(scaleX?:number,scaleY?:number):DOMMatrix;skewX(sx?:number):DOMMatrix;skewY(sy?:number):DOMMatrix;toFloat32Array():Float32Array;toFloat64Array():Float64Array;toJSON():any;transformPoint(point?:DOMPointInit):DOMPoint;translate(tx?:number,ty?:number,tz?:number):DOMMatrix;toString():string;}declare var DOMMatrixReadOnly:{prototype:DOMMatrixReadOnly;new(init?:string|number[]):DOMMatrixReadOnly;fromFloat32Array(array32:Float32Array):DOMMatrixReadOnly;fromFloat64Array(array64:Float64Array):DOMMatrixReadOnly;fromMatrix(other?:DOMMatrixInit):DOMMatrixReadOnly;toString():string;};interface DOMParser{parseFromString(string:string,type:DOMParserSupportedType):Document;}declare var DOMParser:{prototype:DOMParser;new():DOMParser;};interface DOMPoint extends DOMPointReadOnly{w:number;x:number;y:number;z:number;}declare var DOMPoint:{prototype:DOMPoint;new(x?:number,y?:number,z?:number,w?:number):DOMPoint;fromPoint(other?:DOMPointInit):DOMPoint;};type SVGPoint=DOMPoint;declare var SVGPoint:typeof DOMPoint;interface DOMPointReadOnly{readonly w:number;readonly x:number;readonly y:number;readonly z:number;matrixTransform(matrix?:DOMMatrixInit):DOMPoint;toJSON():any;}declare var DOMPointReadOnly:{prototype:DOMPointReadOnly;new(x?:number,y?:number,z?:number,w?:number):DOMPointReadOnly;fromPoint(other?:DOMPointInit):DOMPointReadOnly;};interface DOMQuad{readonly p1:DOMPoint;readonly p2:DOMPoint;readonly p3:DOMPoint;readonly p4:DOMPoint;getBounds():DOMRect;toJSON():any;}declare var DOMQuad:{prototype:DOMQuad;new(p1?:DOMPointInit,p2?:DOMPointInit,p3?:DOMPointInit,p4?:DOMPointInit):DOMQuad;fromQuad(other?:DOMQuadInit):DOMQuad;fromRect(other?:DOMRectInit):DOMQuad;};interface DOMRect extends DOMRectReadOnly{height:number;width:number;x:number;y:number;}declare var DOMRect:{prototype:DOMRect;new(x?:number,y?:number,width?:number,height?:number):DOMRect;fromRect(other?:DOMRectInit):DOMRect;};type SVGRect=DOMRect;declare var SVGRect:typeof DOMRect;interface DOMRectList{readonly length:number;item(index:number):DOMRect|null;[index:number]:DOMRect;}declare var DOMRectList:{prototype:DOMRectList;new():DOMRectList;};interface DOMRectReadOnly{readonly bottom:number;readonly height:number;readonly left:number;readonly right:number;readonly top:number;readonly width:number;readonly x:number;readonly y:number;toJSON():any;}declare var DOMRectReadOnly:{prototype:DOMRectReadOnly;new(x?:number,y?:number,width?:number,height?:number):DOMRectReadOnly;fromRect(other?:DOMRectInit):DOMRectReadOnly;};interface DOMStringList{readonly length:number;contains(string:string):boolean;item(index:number):string|null;[index:number]:string;}declare var DOMStringList:{prototype:DOMStringList;new():DOMStringList;};interface DOMStringMap{[name:string]:string|undefined;}declare var DOMStringMap:{prototype:DOMStringMap;new():DOMStringMap;};interface DOMTokenList{readonly length:number;value:string;toString():string;add(...tokens:string[]):void;contains(token:string):boolean;item(index:number):string|null;remove(...tokens:string[]):void;replace(token:string,newToken:string):boolean;supports(token:string):boolean;toggle(token:string,force?:boolean):boolean;forEach(callbackfn:(value:string,key:number,parent:DOMTokenList)=>void,thisArg?:any):void;[index:number]:string;}declare var DOMTokenList:{prototype:DOMTokenList;new():DOMTokenList;};interface DataTransfer{dropEffect:"none"|"copy"|"link"|"move";effectAllowed:"none"|"copy"|"copyLink"|"copyMove"|"link"|"linkMove"|"move"|"all"|"uninitialized";readonly files:FileList;readonly items:DataTransferItemList;readonly types:ReadonlyArray<string>;clearData(format?:string):void;getData(format:string):string;setData(format:string,data:string):void;setDragImage(image:Element,x:number,y:number):void;}declare var DataTransfer:{prototype:DataTransfer;new():DataTransfer;};interface DataTransferItem{readonly kind:string;readonly type:string;getAsFile():File|null;getAsString(callback:FunctionStringCallback|null):void;webkitGetAsEntry():FileSystemEntry|null;}declare var DataTransferItem:{prototype:DataTransferItem;new():DataTransferItem;};interface DataTransferItemList{readonly length:number;add(data:string,type:string):DataTransferItem|null;add(data:File):DataTransferItem|null;clear():void;remove(index:number):void;[index:number]:DataTransferItem;}declare var DataTransferItemList:{prototype:DataTransferItemList;new():DataTransferItemList;};interface DelayNode extends AudioNode{readonly delayTime:AudioParam;}declare var DelayNode:{prototype:DelayNode;new(context:BaseAudioContext,options?:DelayOptions):DelayNode;};interface DeviceMotionEvent extends Event{readonly acceleration:DeviceMotionEventAcceleration|null;readonly accelerationIncludingGravity:DeviceMotionEventAcceleration|null;readonly interval:number;readonly rotationRate:DeviceMotionEventRotationRate|null;}declare var DeviceMotionEvent:{prototype:DeviceMotionEvent;new(type:string,eventInitDict?:DeviceMotionEventInit):DeviceMotionEvent;};interface DeviceMotionEventAcceleration{readonly x:number|null;readonly y:number|null;readonly z:number|null;}interface DeviceMotionEventRotationRate{readonly alpha:number|null;readonly beta:number|null;readonly gamma:number|null;}interface DeviceOrientationEvent extends Event{readonly absolute:boolean;readonly alpha:number|null;readonly beta:number|null;readonly gamma:number|null;}declare var DeviceOrientationEvent:{prototype:DeviceOrientationEvent;new(type:string,eventInitDict?:DeviceOrientationEventInit):DeviceOrientationEvent;};interface DocumentEventMap extends DocumentAndElementEventHandlersEventMap,GlobalEventHandlersEventMap{"DOMContentLoaded":Event;"fullscreenchange":Event;"fullscreenerror":Event;"pointerlockchange":Event;"pointerlockerror":Event;"readystatechange":Event;"visibilitychange":Event;}interface Document extends Node,DocumentAndElementEventHandlers,DocumentOrShadowRoot,FontFaceSource,GlobalEventHandlers,NonElementParentNode,ParentNode,XPathEvaluatorBase{readonly URL:string;alinkColor:string;readonly all:HTMLAllCollection;readonly anchors:HTMLCollectionOf<HTMLAnchorElement>;readonly applets:HTMLCollection;bgColor:string;body:HTMLElement;readonly characterSet:string;readonly charset:string;readonly compatMode:string;readonly contentType:string;cookie:string;readonly currentScript:HTMLOrSVGScriptElement|null;readonly defaultView:(WindowProxy&typeof globalThis)|null;designMode:string;dir:string;readonly doctype:DocumentType|null;readonly documentElement:HTMLElement;readonly documentURI:string;domain:string;readonly embeds:HTMLCollectionOf<HTMLEmbedElement>;fgColor:string;readonly forms:HTMLCollectionOf<HTMLFormElement>;readonly fullscreen:boolean;readonly fullscreenEnabled:boolean;readonly head:HTMLHeadElement;readonly hidden:boolean;readonly images:HTMLCollectionOf<HTMLImageElement>;readonly implementation:DOMImplementation;readonly inputEncoding:string;readonly lastModified:string;linkColor:string;readonly links:HTMLCollectionOf<HTMLAnchorElement|HTMLAreaElement>;get location():Location;set location(href:string|Location);onfullscreenchange:((this:Document,ev:Event)=>any)|null;onfullscreenerror:((this:Document,ev:Event)=>any)|null;onpointerlockchange:((this:Document,ev:Event)=>any)|null;onpointerlockerror:((this:Document,ev:Event)=>any)|null;onreadystatechange:((this:Document,ev:Event)=>any)|null;onvisibilitychange:((this:Document,ev:Event)=>any)|null;readonly ownerDocument:null;readonly pictureInPictureEnabled:boolean;readonly plugins:HTMLCollectionOf<HTMLEmbedElement>;readonly readyState:DocumentReadyState;readonly referrer:string;readonly rootElement:SVGSVGElement|null;readonly scripts:HTMLCollectionOf<HTMLScriptElement>;readonly scrollingElement:Element|null;readonly timeline:DocumentTimeline;title:string;readonly visibilityState:DocumentVisibilityState;vlinkColor:string;adoptNode<T extends Node>(node:T):T;captureEvents():void;caretRangeFromPoint(x:number,y:number):Range|null;clear():void;close():void;createAttribute(localName:string):Attr;createAttributeNS(namespace:string|null,qualifiedName:string):Attr;createCDATASection(data:string):CDATASection;createComment(data:string):Comment;createDocumentFragment():DocumentFragment;createElement<K extends keyof HTMLElementTagNameMap>(tagName:K,options?:ElementCreationOptions):HTMLElementTagNameMap[K];createElement<K extends keyof HTMLElementDeprecatedTagNameMap>(tagName:K,options?:ElementCreationOptions):HTMLElementDeprecatedTagNameMap[K];createElement(tagName:string,options?:ElementCreationOptions):HTMLElement;createElementNS(namespaceURI:"http://www.w3.org/1999/xhtml",qualifiedName:string):HTMLElement;createElementNS<K extends keyof SVGElementTagNameMap>(namespaceURI:"http://www.w3.org/2000/svg",qualifiedName:K):SVGElementTagNameMap[K];createElementNS(namespaceURI:"http://www.w3.org/2000/svg",qualifiedName:string):SVGElement;createElementNS(namespaceURI:string|null,qualifiedName:string,options?:ElementCreationOptions):Element;createElementNS(namespace:string|null,qualifiedName:string,options?:string|ElementCreationOptions):Element;createEvent(eventInterface:"AnimationEvent"):AnimationEvent;createEvent(eventInterface:"AnimationPlaybackEvent"):AnimationPlaybackEvent;createEvent(eventInterface:"AudioProcessingEvent"):AudioProcessingEvent;createEvent(eventInterface:"BeforeUnloadEvent"):BeforeUnloadEvent;createEvent(eventInterface:"BlobEvent"):BlobEvent;createEvent(eventInterface:"ClipboardEvent"):ClipboardEvent;createEvent(eventInterface:"CloseEvent"):CloseEvent;createEvent(eventInterface:"CompositionEvent"):CompositionEvent;createEvent(eventInterface:"CustomEvent"):CustomEvent;createEvent(eventInterface:"DeviceMotionEvent"):DeviceMotionEvent;createEvent(eventInterface:"DeviceOrientationEvent"):DeviceOrientationEvent;createEvent(eventInterface:"DragEvent"):DragEvent;createEvent(eventInterface:"ErrorEvent"):ErrorEvent;createEvent(eventInterface:"Event"):Event;createEvent(eventInterface:"Events"):Event;createEvent(eventInterface:"FocusEvent"):FocusEvent;createEvent(eventInterface:"FontFaceSetLoadEvent"):FontFaceSetLoadEvent;createEvent(eventInterface:"FormDataEvent"):FormDataEvent;createEvent(eventInterface:"GamepadEvent"):GamepadEvent;createEvent(eventInterface:"HashChangeEvent"):HashChangeEvent;createEvent(eventInterface:"IDBVersionChangeEvent"):IDBVersionChangeEvent;createEvent(eventInterface:"InputEvent"):InputEvent;createEvent(eventInterface:"KeyboardEvent"):KeyboardEvent;createEvent(eventInterface:"MediaEncryptedEvent"):MediaEncryptedEvent;createEvent(eventInterface:"MediaKeyMessageEvent"):MediaKeyMessageEvent;createEvent(eventInterface:"MediaQueryListEvent"):MediaQueryListEvent;createEvent(eventInterface:"MediaStreamTrackEvent"):MediaStreamTrackEvent;createEvent(eventInterface:"MessageEvent"):MessageEvent;createEvent(eventInterface:"MouseEvent"):MouseEvent;createEvent(eventInterface:"MouseEvents"):MouseEvent;createEvent(eventInterface:"MutationEvent"):MutationEvent;createEvent(eventInterface:"MutationEvents"):MutationEvent;createEvent(eventInterface:"OfflineAudioCompletionEvent"):OfflineAudioCompletionEvent;createEvent(eventInterface:"PageTransitionEvent"):PageTransitionEvent;createEvent(eventInterface:"PaymentMethodChangeEvent"):PaymentMethodChangeEvent;createEvent(eventInterface:"PaymentRequestUpdateEvent"):PaymentRequestUpdateEvent;createEvent(eventInterface:"PictureInPictureEvent"):PictureInPictureEvent;createEvent(eventInterface:"PointerEvent"):PointerEvent;createEvent(eventInterface:"PopStateEvent"):PopStateEvent;createEvent(eventInterface:"ProgressEvent"):ProgressEvent;createEvent(eventInterface:"PromiseRejectionEvent"):PromiseRejectionEvent;createEvent(eventInterface:"RTCDTMFToneChangeEvent"):RTCDTMFToneChangeEvent;createEvent(eventInterface:"RTCDataChannelEvent"):RTCDataChannelEvent;createEvent(eventInterface:"RTCErrorEvent"):RTCErrorEvent;createEvent(eventInterface:"RTCPeerConnectionIceErrorEvent"):RTCPeerConnectionIceErrorEvent;createEvent(eventInterface:"RTCPeerConnectionIceEvent"):RTCPeerConnectionIceEvent;createEvent(eventInterface:"RTCTrackEvent"):RTCTrackEvent;createEvent(eventInterface:"SecurityPolicyViolationEvent"):SecurityPolicyViolationEvent;createEvent(eventInterface:"SpeechSynthesisErrorEvent"):SpeechSynthesisErrorEvent;createEvent(eventInterface:"SpeechSynthesisEvent"):SpeechSynthesisEvent;createEvent(eventInterface:"StorageEvent"):StorageEvent;createEvent(eventInterface:"SubmitEvent"):SubmitEvent;createEvent(eventInterface:"TouchEvent"):TouchEvent;createEvent(eventInterface:"TrackEvent"):TrackEvent;createEvent(eventInterface:"TransitionEvent"):TransitionEvent;createEvent(eventInterface:"UIEvent"):UIEvent;createEvent(eventInterface:"UIEvents"):UIEvent;createEvent(eventInterface:"WebGLContextEvent"):WebGLContextEvent;createEvent(eventInterface:"WheelEvent"):WheelEvent;createEvent(eventInterface:string):Event;createNodeIterator(root:Node,whatToShow?:number,filter?:NodeFilter|null):NodeIterator;createProcessingInstruction(target:string,data:string):ProcessingInstruction;createRange():Range;createTextNode(data:string):Text;createTreeWalker(root:Node,whatToShow?:number,filter?:NodeFilter|null):TreeWalker;execCommand(commandId:string,showUI?:boolean,value?:string):boolean;exitFullscreen():Promise<void>;exitPictureInPicture():Promise<void>;exitPointerLock():void;getElementById(elementId:string):HTMLElement|null;getElementsByClassName(classNames:string):HTMLCollectionOf<Element>;getElementsByName(elementName:string):NodeListOf<HTMLElement>;getElementsByTagName<K extends keyof HTMLElementTagNameMap>(qualifiedName:K):HTMLCollectionOf<HTMLElementTagNameMap[K]>;getElementsByTagName<K extends keyof SVGElementTagNameMap>(qualifiedName:K):HTMLCollectionOf<SVGElementTagNameMap[K]>;getElementsByTagName(qualifiedName:string):HTMLCollectionOf<Element>;getElementsByTagNameNS(namespaceURI:"http://www.w3.org/1999/xhtml",localName:string):HTMLCollectionOf<HTMLElement>;getElementsByTagNameNS(namespaceURI:"http://www.w3.org/2000/svg",localName:string):HTMLCollectionOf<SVGElement>;getElementsByTagNameNS(namespace:string|null,localName:string):HTMLCollectionOf<Element>;getSelection():Selection|null;hasFocus():boolean;hasStorageAccess():Promise<boolean>;importNode<T extends Node>(node:T,deep?:boolean):T;open(unused1?:string,unused2?:string):Document;open(url:string|URL,name:string,features:string):WindowProxy|null;queryCommandEnabled(commandId:string):boolean;queryCommandIndeterm(commandId:string):boolean;queryCommandState(commandId:string):boolean;queryCommandSupported(commandId:string):boolean;queryCommandValue(commandId:string):string;releaseEvents():void;requestStorageAccess():Promise<void>;write(...text:string[]):void;writeln(...text:string[]):void;addEventListener<K extends keyof DocumentEventMap>(type:K,listener:(this:Document,ev:DocumentEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof DocumentEventMap>(type:K,listener:(this:Document,ev:DocumentEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var Document:{prototype:Document;new():Document;};interface DocumentAndElementEventHandlersEventMap{"copy":ClipboardEvent;"cut":ClipboardEvent;"paste":ClipboardEvent;}interface DocumentAndElementEventHandlers{oncopy:((this:DocumentAndElementEventHandlers,ev:ClipboardEvent)=>any)|null;oncut:((this:DocumentAndElementEventHandlers,ev:ClipboardEvent)=>any)|null;onpaste:((this:DocumentAndElementEventHandlers,ev:ClipboardEvent)=>any)|null;addEventListener<K extends keyof DocumentAndElementEventHandlersEventMap>(type:K,listener:(this:DocumentAndElementEventHandlers,ev:DocumentAndElementEventHandlersEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof DocumentAndElementEventHandlersEventMap>(type:K,listener:(this:DocumentAndElementEventHandlers,ev:DocumentAndElementEventHandlersEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}interface DocumentFragment extends Node,NonElementParentNode,ParentNode{readonly ownerDocument:Document;getElementById(elementId:string):HTMLElement|null;}declare var DocumentFragment:{prototype:DocumentFragment;new():DocumentFragment;};interface DocumentOrShadowRoot{readonly activeElement:Element|null;adoptedStyleSheets:CSSStyleSheet[];readonly fullscreenElement:Element|null;readonly pictureInPictureElement:Element|null;readonly pointerLockElement:Element|null;readonly styleSheets:StyleSheetList;elementFromPoint(x:number,y:number):Element|null;elementsFromPoint(x:number,y:number):Element[];getAnimations():Animation[];}interface DocumentTimeline extends AnimationTimeline{}declare var DocumentTimeline:{prototype:DocumentTimeline;new(options?:DocumentTimelineOptions):DocumentTimeline;};interface DocumentType extends Node,ChildNode{readonly name:string;readonly ownerDocument:Document;readonly publicId:string;readonly systemId:string;}declare var DocumentType:{prototype:DocumentType;new():DocumentType;};interface DragEvent extends MouseEvent{readonly dataTransfer:DataTransfer|null;}declare var DragEvent:{prototype:DragEvent;new(type:string,eventInitDict?:DragEventInit):DragEvent;};interface DynamicsCompressorNode extends AudioNode{readonly attack:AudioParam;readonly knee:AudioParam;readonly ratio:AudioParam;readonly reduction:number;readonly release:AudioParam;readonly threshold:AudioParam;}declare var DynamicsCompressorNode:{prototype:DynamicsCompressorNode;new(context:BaseAudioContext,options?:DynamicsCompressorOptions):DynamicsCompressorNode;};interface EXT_blend_minmax{readonly MAX_EXT:GLenum;readonly MIN_EXT:GLenum;}interface EXT_color_buffer_float{}interface EXT_color_buffer_half_float{readonly FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT:GLenum;readonly RGB16F_EXT:GLenum;readonly RGBA16F_EXT:GLenum;readonly UNSIGNED_NORMALIZED_EXT:GLenum;}interface EXT_float_blend{}interface EXT_frag_depth{}interface EXT_sRGB{readonly FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT:GLenum;readonly SRGB8_ALPHA8_EXT:GLenum;readonly SRGB_ALPHA_EXT:GLenum;readonly SRGB_EXT:GLenum;}interface EXT_shader_texture_lod{}interface EXT_texture_compression_bptc{readonly COMPRESSED_RGBA_BPTC_UNORM_EXT:GLenum;readonly COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT:GLenum;readonly COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT:GLenum;readonly COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:GLenum;}interface EXT_texture_compression_rgtc{readonly COMPRESSED_RED_GREEN_RGTC2_EXT:GLenum;readonly COMPRESSED_RED_RGTC1_EXT:GLenum;readonly COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT:GLenum;readonly COMPRESSED_SIGNED_RED_RGTC1_EXT:GLenum;}interface EXT_texture_filter_anisotropic{readonly MAX_TEXTURE_MAX_ANISOTROPY_EXT:GLenum;readonly TEXTURE_MAX_ANISOTROPY_EXT:GLenum;}interface EXT_texture_norm16{readonly R16_EXT:GLenum;readonly R16_SNORM_EXT:GLenum;readonly RG16_EXT:GLenum;readonly RG16_SNORM_EXT:GLenum;readonly RGB16_EXT:GLenum;readonly RGB16_SNORM_EXT:GLenum;readonly RGBA16_EXT:GLenum;readonly RGBA16_SNORM_EXT:GLenum;}interface ElementEventMap{"fullscreenchange":Event;"fullscreenerror":Event;}interface Element extends Node,ARIAMixin,Animatable,ChildNode,InnerHTML,NonDocumentTypeChildNode,ParentNode,Slottable{readonly attributes:NamedNodeMap;readonly classList:DOMTokenList;className:string;readonly clientHeight:number;readonly clientLeft:number;readonly clientTop:number;readonly clientWidth:number;id:string;readonly localName:string;readonly namespaceURI:string|null;onfullscreenchange:((this:Element,ev:Event)=>any)|null;onfullscreenerror:((this:Element,ev:Event)=>any)|null;outerHTML:string;readonly ownerDocument:Document;readonly part:DOMTokenList;readonly prefix:string|null;readonly scrollHeight:number;scrollLeft:number;scrollTop:number;readonly scrollWidth:number;readonly shadowRoot:ShadowRoot|null;slot:string;readonly tagName:string;attachShadow(init:ShadowRootInit):ShadowRoot;closest<K extends keyof HTMLElementTagNameMap>(selector:K):HTMLElementTagNameMap[K]|null;closest<K extends keyof SVGElementTagNameMap>(selector:K):SVGElementTagNameMap[K]|null;closest<E extends Element=Element>(selectors:string):E|null;getAttribute(qualifiedName:string):string|null;getAttributeNS(namespace:string|null,localName:string):string|null;getAttributeNames():string[];getAttributeNode(qualifiedName:string):Attr|null;getAttributeNodeNS(namespace:string|null,localName:string):Attr|null;getBoundingClientRect():DOMRect;getClientRects():DOMRectList;getElementsByClassName(classNames:string):HTMLCollectionOf<Element>;getElementsByTagName<K extends keyof HTMLElementTagNameMap>(qualifiedName:K):HTMLCollectionOf<HTMLElementTagNameMap[K]>;getElementsByTagName<K extends keyof SVGElementTagNameMap>(qualifiedName:K):HTMLCollectionOf<SVGElementTagNameMap[K]>;getElementsByTagName(qualifiedName:string):HTMLCollectionOf<Element>;getElementsByTagNameNS(namespaceURI:"http://www.w3.org/1999/xhtml",localName:string):HTMLCollectionOf<HTMLElement>;getElementsByTagNameNS(namespaceURI:"http://www.w3.org/2000/svg",localName:string):HTMLCollectionOf<SVGElement>;getElementsByTagNameNS(namespace:string|null,localName:string):HTMLCollectionOf<Element>;hasAttribute(qualifiedName:string):boolean;hasAttributeNS(namespace:string|null,localName:string):boolean;hasAttributes():boolean;hasPointerCapture(pointerId:number):boolean;insertAdjacentElement(where:InsertPosition,element:Element):Element|null;insertAdjacentHTML(position:InsertPosition,text:string):void;insertAdjacentText(where:InsertPosition,data:string):void;matches(selectors:string):boolean;releasePointerCapture(pointerId:number):void;removeAttribute(qualifiedName:string):void;removeAttributeNS(namespace:string|null,localName:string):void;removeAttributeNode(attr:Attr):Attr;requestFullscreen(options?:FullscreenOptions):Promise<void>;requestPointerLock():void;scroll(options?:ScrollToOptions):void;scroll(x:number,y:number):void;scrollBy(options?:ScrollToOptions):void;scrollBy(x:number,y:number):void;scrollIntoView(arg?:boolean|ScrollIntoViewOptions):void;scrollTo(options?:ScrollToOptions):void;scrollTo(x:number,y:number):void;setAttribute(qualifiedName:string,value:string):void;setAttributeNS(namespace:string|null,qualifiedName:string,value:string):void;setAttributeNode(attr:Attr):Attr|null;setAttributeNodeNS(attr:Attr):Attr|null;setPointerCapture(pointerId:number):void;toggleAttribute(qualifiedName:string,force?:boolean):boolean;webkitMatchesSelector(selectors:string):boolean;addEventListener<K extends keyof ElementEventMap>(type:K,listener:(this:Element,ev:ElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof ElementEventMap>(type:K,listener:(this:Element,ev:ElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var Element:{prototype:Element;new():Element;};interface ElementCSSInlineStyle{readonly style:CSSStyleDeclaration;}interface ElementContentEditable{contentEditable:string;enterKeyHint:string;inputMode:string;readonly isContentEditable:boolean;}interface ElementInternals extends ARIAMixin{readonly form:HTMLFormElement|null;readonly labels:NodeList;readonly shadowRoot:ShadowRoot|null;readonly validationMessage:string;readonly validity:ValidityState;readonly willValidate:boolean;checkValidity():boolean;reportValidity():boolean;setFormValue(value:File|string|FormData|null,state?:File|string|FormData|null):void;setValidity(flags?:ValidityStateFlags,message?:string,anchor?:HTMLElement):void;}declare var ElementInternals:{prototype:ElementInternals;new():ElementInternals;};interface ErrorEvent extends Event{readonly colno:number;readonly error:any;readonly filename:string;readonly lineno:number;readonly message:string;}declare var ErrorEvent:{prototype:ErrorEvent;new(type:string,eventInitDict?:ErrorEventInit):ErrorEvent;};interface Event{readonly bubbles:boolean;cancelBubble:boolean;readonly cancelable:boolean;readonly composed:boolean;readonly currentTarget:EventTarget|null;readonly defaultPrevented:boolean;readonly eventPhase:number;readonly isTrusted:boolean;returnValue:boolean;readonly srcElement:EventTarget|null;readonly target:EventTarget|null;readonly timeStamp:DOMHighResTimeStamp;readonly type:string;composedPath():EventTarget[];initEvent(type:string,bubbles?:boolean,cancelable?:boolean):void;preventDefault():void;stopImmediatePropagation():void;stopPropagation():void;readonly AT_TARGET:number;readonly BUBBLING_PHASE:number;readonly CAPTURING_PHASE:number;readonly NONE:number;}declare var Event:{prototype:Event;new(type:string,eventInitDict?:EventInit):Event;readonly AT_TARGET:number;readonly BUBBLING_PHASE:number;readonly CAPTURING_PHASE:number;readonly NONE:number;};interface EventCounts{forEach(callbackfn:(value:number,key:string,parent:EventCounts)=>void,thisArg?:any):void;}declare var EventCounts:{prototype:EventCounts;new():EventCounts;};interface EventListener{(evt:Event):void;}interface EventListenerObject{handleEvent(object:Event):void;}interface EventSourceEventMap{"error":Event;"message":MessageEvent;"open":Event;}interface EventSource extends EventTarget{onerror:((this:EventSource,ev:Event)=>any)|null;onmessage:((this:EventSource,ev:MessageEvent)=>any)|null;onopen:((this:EventSource,ev:Event)=>any)|null;readonly readyState:number;readonly url:string;readonly withCredentials:boolean;close():void;readonly CLOSED:number;readonly CONNECTING:number;readonly OPEN:number;addEventListener<K extends keyof EventSourceEventMap>(type:K,listener:(this:EventSource,ev:EventSourceEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:(this:EventSource,event:MessageEvent)=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof EventSourceEventMap>(type:K,listener:(this:EventSource,ev:EventSourceEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:(this:EventSource,event:MessageEvent)=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var EventSource:{prototype:EventSource;new(url:string|URL,eventSourceInitDict?:EventSourceInit):EventSource;readonly CLOSED:number;readonly CONNECTING:number;readonly OPEN:number;};interface EventTarget{addEventListener(type:string,callback:EventListenerOrEventListenerObject|null,options?:AddEventListenerOptions|boolean):void;dispatchEvent(event:Event):boolean;removeEventListener(type:string,callback:EventListenerOrEventListenerObject|null,options?:EventListenerOptions|boolean):void;}declare var EventTarget:{prototype:EventTarget;new():EventTarget;};interface External{AddSearchProvider():void;IsSearchProviderInstalled():void;}declare var External:{prototype:External;new():External;};interface File extends Blob{readonly lastModified:number;readonly name:string;readonly webkitRelativePath:string;}declare var File:{prototype:File;new(fileBits:BlobPart[],fileName:string,options?:FilePropertyBag):File;};interface FileList{readonly length:number;item(index:number):File|null;[index:number]:File;}declare var FileList:{prototype:FileList;new():FileList;};interface FileReaderEventMap{"abort":ProgressEvent<FileReader>;"error":ProgressEvent<FileReader>;"load":ProgressEvent<FileReader>;"loadend":ProgressEvent<FileReader>;"loadstart":ProgressEvent<FileReader>;"progress":ProgressEvent<FileReader>;}interface FileReader extends EventTarget{readonly error:DOMException|null;onabort:((this:FileReader,ev:ProgressEvent<FileReader>)=>any)|null;onerror:((this:FileReader,ev:ProgressEvent<FileReader>)=>any)|null;onload:((this:FileReader,ev:ProgressEvent<FileReader>)=>any)|null;onloadend:((this:FileReader,ev:ProgressEvent<FileReader>)=>any)|null;onloadstart:((this:FileReader,ev:ProgressEvent<FileReader>)=>any)|null;onprogress:((this:FileReader,ev:ProgressEvent<FileReader>)=>any)|null;readonly readyState:number;readonly result:string|ArrayBuffer|null;abort():void;readAsArrayBuffer(blob:Blob):void;readAsBinaryString(blob:Blob):void;readAsDataURL(blob:Blob):void;readAsText(blob:Blob,encoding?:string):void;readonly DONE:number;readonly EMPTY:number;readonly LOADING:number;addEventListener<K extends keyof FileReaderEventMap>(type:K,listener:(this:FileReader,ev:FileReaderEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof FileReaderEventMap>(type:K,listener:(this:FileReader,ev:FileReaderEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var FileReader:{prototype:FileReader;new():FileReader;readonly DONE:number;readonly EMPTY:number;readonly LOADING:number;};interface FileSystem{readonly name:string;readonly root:FileSystemDirectoryEntry;}declare var FileSystem:{prototype:FileSystem;new():FileSystem;};interface FileSystemDirectoryEntry extends FileSystemEntry{createReader():FileSystemDirectoryReader;getDirectory(path?:string|null,options?:FileSystemFlags,successCallback?:FileSystemEntryCallback,errorCallback?:ErrorCallback):void;getFile(path?:string|null,options?:FileSystemFlags,successCallback?:FileSystemEntryCallback,errorCallback?:ErrorCallback):void;}declare var FileSystemDirectoryEntry:{prototype:FileSystemDirectoryEntry;new():FileSystemDirectoryEntry;};interface FileSystemDirectoryHandle extends FileSystemHandle{readonly kind:"directory";getDirectoryHandle(name:string,options?:FileSystemGetDirectoryOptions):Promise<FileSystemDirectoryHandle>;getFileHandle(name:string,options?:FileSystemGetFileOptions):Promise<FileSystemFileHandle>;removeEntry(name:string,options?:FileSystemRemoveOptions):Promise<void>;resolve(possibleDescendant:FileSystemHandle):Promise<string[]|null>;}declare var FileSystemDirectoryHandle:{prototype:FileSystemDirectoryHandle;new():FileSystemDirectoryHandle;};interface FileSystemDirectoryReader{readEntries(successCallback:FileSystemEntriesCallback,errorCallback?:ErrorCallback):void;}declare var FileSystemDirectoryReader:{prototype:FileSystemDirectoryReader;new():FileSystemDirectoryReader;};interface FileSystemEntry{readonly filesystem:FileSystem;readonly fullPath:string;readonly isDirectory:boolean;readonly isFile:boolean;readonly name:string;getParent(successCallback?:FileSystemEntryCallback,errorCallback?:ErrorCallback):void;}declare var FileSystemEntry:{prototype:FileSystemEntry;new():FileSystemEntry;};interface FileSystemFileEntry extends FileSystemEntry{file(successCallback:FileCallback,errorCallback?:ErrorCallback):void;}declare var FileSystemFileEntry:{prototype:FileSystemFileEntry;new():FileSystemFileEntry;};interface FileSystemFileHandle extends FileSystemHandle{readonly kind:"file";getFile():Promise<File>;}declare var FileSystemFileHandle:{prototype:FileSystemFileHandle;new():FileSystemFileHandle;};interface FileSystemHandle{readonly kind:FileSystemHandleKind;readonly name:string;isSameEntry(other:FileSystemHandle):Promise<boolean>;}declare var FileSystemHandle:{prototype:FileSystemHandle;new():FileSystemHandle;};interface FocusEvent extends UIEvent{readonly relatedTarget:EventTarget|null;}declare var FocusEvent:{prototype:FocusEvent;new(type:string,eventInitDict?:FocusEventInit):FocusEvent;};interface FontFace{ascentOverride:string;descentOverride:string;display:string;family:string;featureSettings:string;lineGapOverride:string;readonly loaded:Promise<FontFace>;readonly status:FontFaceLoadStatus;stretch:string;style:string;unicodeRange:string;variant:string;variationSettings:string;weight:string;load():Promise<FontFace>;}declare var FontFace:{prototype:FontFace;new(family:string,source:string|BinaryData,descriptors?:FontFaceDescriptors):FontFace;};interface FontFaceSetEventMap{"loading":Event;"loadingdone":Event;"loadingerror":Event;}interface FontFaceSet extends EventTarget{onloading:((this:FontFaceSet,ev:Event)=>any)|null;onloadingdone:((this:FontFaceSet,ev:Event)=>any)|null;onloadingerror:((this:FontFaceSet,ev:Event)=>any)|null;readonly ready:Promise<FontFaceSet>;readonly status:FontFaceSetLoadStatus;check(font:string,text?:string):boolean;load(font:string,text?:string):Promise<FontFace[]>;forEach(callbackfn:(value:FontFace,key:FontFace,parent:FontFaceSet)=>void,thisArg?:any):void;addEventListener<K extends keyof FontFaceSetEventMap>(type:K,listener:(this:FontFaceSet,ev:FontFaceSetEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof FontFaceSetEventMap>(type:K,listener:(this:FontFaceSet,ev:FontFaceSetEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var FontFaceSet:{prototype:FontFaceSet;new(initialFaces:FontFace[]):FontFaceSet;};interface FontFaceSetLoadEvent extends Event{readonly fontfaces:ReadonlyArray<FontFace>;}declare var FontFaceSetLoadEvent:{prototype:FontFaceSetLoadEvent;new(type:string,eventInitDict?:FontFaceSetLoadEventInit):FontFaceSetLoadEvent;};interface FontFaceSource{readonly fonts:FontFaceSet;}interface FormData{append(name:string,value:string|Blob,fileName?:string):void;delete(name:string):void;get(name:string):FormDataEntryValue|null;getAll(name:string):FormDataEntryValue[];has(name:string):boolean;set(name:string,value:string|Blob,fileName?:string):void;forEach(callbackfn:(value:FormDataEntryValue,key:string,parent:FormData)=>void,thisArg?:any):void;}declare var FormData:{prototype:FormData;new(form?:HTMLFormElement):FormData;};interface FormDataEvent extends Event{readonly formData:FormData;}declare var FormDataEvent:{prototype:FormDataEvent;new(type:string,eventInitDict:FormDataEventInit):FormDataEvent;};interface GainNode extends AudioNode{readonly gain:AudioParam;}declare var GainNode:{prototype:GainNode;new(context:BaseAudioContext,options?:GainOptions):GainNode;};interface Gamepad{readonly axes:ReadonlyArray<number>;readonly buttons:ReadonlyArray<GamepadButton>;readonly connected:boolean;readonly hapticActuators:ReadonlyArray<GamepadHapticActuator>;readonly id:string;readonly index:number;readonly mapping:GamepadMappingType;readonly timestamp:DOMHighResTimeStamp;}declare var Gamepad:{prototype:Gamepad;new():Gamepad;};interface GamepadButton{readonly pressed:boolean;readonly touched:boolean;readonly value:number;}declare var GamepadButton:{prototype:GamepadButton;new():GamepadButton;};interface GamepadEvent extends Event{readonly gamepad:Gamepad;}declare var GamepadEvent:{prototype:GamepadEvent;new(type:string,eventInitDict:GamepadEventInit):GamepadEvent;};interface GamepadHapticActuator{readonly type:GamepadHapticActuatorType;}declare var GamepadHapticActuator:{prototype:GamepadHapticActuator;new():GamepadHapticActuator;};interface GenericTransformStream{readonly readable:ReadableStream;readonly writable:WritableStream;}interface Geolocation{clearWatch(watchId:number):void;getCurrentPosition(successCallback:PositionCallback,errorCallback?:PositionErrorCallback|null,options?:PositionOptions):void;watchPosition(successCallback:PositionCallback,errorCallback?:PositionErrorCallback|null,options?:PositionOptions):number;}declare var Geolocation:{prototype:Geolocation;new():Geolocation;};interface GeolocationCoordinates{readonly accuracy:number;readonly altitude:number|null;readonly altitudeAccuracy:number|null;readonly heading:number|null;readonly latitude:number;readonly longitude:number;readonly speed:number|null;}declare var GeolocationCoordinates:{prototype:GeolocationCoordinates;new():GeolocationCoordinates;};interface GeolocationPosition{readonly coords:GeolocationCoordinates;readonly timestamp:EpochTimeStamp;}declare var GeolocationPosition:{prototype:GeolocationPosition;new():GeolocationPosition;};interface GeolocationPositionError{readonly code:number;readonly message:string;readonly PERMISSION_DENIED:number;readonly POSITION_UNAVAILABLE:number;readonly TIMEOUT:number;}declare var GeolocationPositionError:{prototype:GeolocationPositionError;new():GeolocationPositionError;readonly PERMISSION_DENIED:number;readonly POSITION_UNAVAILABLE:number;readonly TIMEOUT:number;};interface GlobalEventHandlersEventMap{"abort":UIEvent;"animationcancel":AnimationEvent;"animationend":AnimationEvent;"animationiteration":AnimationEvent;"animationstart":AnimationEvent;"auxclick":MouseEvent;"beforeinput":InputEvent;"blur":FocusEvent;"cancel":Event;"canplay":Event;"canplaythrough":Event;"change":Event;"click":MouseEvent;"close":Event;"compositionend":CompositionEvent;"compositionstart":CompositionEvent;"compositionupdate":CompositionEvent;"contextmenu":MouseEvent;"cuechange":Event;"dblclick":MouseEvent;"drag":DragEvent;"dragend":DragEvent;"dragenter":DragEvent;"dragleave":DragEvent;"dragover":DragEvent;"dragstart":DragEvent;"drop":DragEvent;"durationchange":Event;"emptied":Event;"ended":Event;"error":ErrorEvent;"focus":FocusEvent;"focusin":FocusEvent;"focusout":FocusEvent;"formdata":FormDataEvent;"gotpointercapture":PointerEvent;"input":Event;"invalid":Event;"keydown":KeyboardEvent;"keypress":KeyboardEvent;"keyup":KeyboardEvent;"load":Event;"loadeddata":Event;"loadedmetadata":Event;"loadstart":Event;"lostpointercapture":PointerEvent;"mousedown":MouseEvent;"mouseenter":MouseEvent;"mouseleave":MouseEvent;"mousemove":MouseEvent;"mouseout":MouseEvent;"mouseover":MouseEvent;"mouseup":MouseEvent;"pause":Event;"play":Event;"playing":Event;"pointercancel":PointerEvent;"pointerdown":PointerEvent;"pointerenter":PointerEvent;"pointerleave":PointerEvent;"pointermove":PointerEvent;"pointerout":PointerEvent;"pointerover":PointerEvent;"pointerup":PointerEvent;"progress":ProgressEvent;"ratechange":Event;"reset":Event;"resize":UIEvent;"scroll":Event;"securitypolicyviolation":SecurityPolicyViolationEvent;"seeked":Event;"seeking":Event;"select":Event;"selectionchange":Event;"selectstart":Event;"slotchange":Event;"stalled":Event;"submit":SubmitEvent;"suspend":Event;"timeupdate":Event;"toggle":Event;"touchcancel":TouchEvent;"touchend":TouchEvent;"touchmove":TouchEvent;"touchstart":TouchEvent;"transitioncancel":TransitionEvent;"transitionend":TransitionEvent;"transitionrun":TransitionEvent;"transitionstart":TransitionEvent;"volumechange":Event;"waiting":Event;"webkitanimationend":Event;"webkitanimationiteration":Event;"webkitanimationstart":Event;"webkittransitionend":Event;"wheel":WheelEvent;}interface GlobalEventHandlers{onabort:((this:GlobalEventHandlers,ev:UIEvent)=>any)|null;onanimationcancel:((this:GlobalEventHandlers,ev:AnimationEvent)=>any)|null;onanimationend:((this:GlobalEventHandlers,ev:AnimationEvent)=>any)|null;onanimationiteration:((this:GlobalEventHandlers,ev:AnimationEvent)=>any)|null;onanimationstart:((this:GlobalEventHandlers,ev:AnimationEvent)=>any)|null;onauxclick:((this:GlobalEventHandlers,ev:MouseEvent)=>any)|null;onbeforeinput:((this:GlobalEventHandlers,ev:InputEvent)=>any)|null;onblur:((this:GlobalEventHandlers,ev:FocusEvent)=>any)|null;oncancel:((this:GlobalEventHandlers,ev:Event)=>any)|null;oncanplay:((this:GlobalEventHandlers,ev:Event)=>any)|null;oncanplaythrough:((this:GlobalEventHandlers,ev:Event)=>any)|null;onchange:((this:GlobalEventHandlers,ev:Event)=>any)|null;onclick:((this:GlobalEventHandlers,ev:MouseEvent)=>any)|null;onclose:((this:GlobalEventHandlers,ev:Event)=>any)|null;oncontextmenu:((this:GlobalEventHandlers,ev:MouseEvent)=>any)|null;oncuechange:((this:GlobalEventHandlers,ev:Event)=>any)|null;ondblclick:((this:GlobalEventHandlers,ev:MouseEvent)=>any)|null;ondrag:((this:GlobalEventHandlers,ev:DragEvent)=>any)|null;ondragend:((this:GlobalEventHandlers,ev:DragEvent)=>any)|null;ondragenter:((this:GlobalEventHandlers,ev:DragEvent)=>any)|null;ondragleave:((this:GlobalEventHandlers,ev:DragEvent)=>any)|null;ondragover:((this:GlobalEventHandlers,ev:DragEvent)=>any)|null;ondragstart:((this:GlobalEventHandlers,ev:DragEvent)=>any)|null;ondrop:((this:GlobalEventHandlers,ev:DragEvent)=>any)|null;ondurationchange:((this:GlobalEventHandlers,ev:Event)=>any)|null;onemptied:((this:GlobalEventHandlers,ev:Event)=>any)|null;onended:((this:GlobalEventHandlers,ev:Event)=>any)|null;onerror:OnErrorEventHandler;onfocus:((this:GlobalEventHandlers,ev:FocusEvent)=>any)|null;onformdata:((this:GlobalEventHandlers,ev:FormDataEvent)=>any)|null;ongotpointercapture:((this:GlobalEventHandlers,ev:PointerEvent)=>any)|null;oninput:((this:GlobalEventHandlers,ev:Event)=>any)|null;oninvalid:((this:GlobalEventHandlers,ev:Event)=>any)|null;onkeydown:((this:GlobalEventHandlers,ev:KeyboardEvent)=>any)|null;onkeypress:((this:GlobalEventHandlers,ev:KeyboardEvent)=>any)|null;onkeyup:((this:GlobalEventHandlers,ev:KeyboardEvent)=>any)|null;onload:((this:GlobalEventHandlers,ev:Event)=>any)|null;onloadeddata:((this:GlobalEventHandlers,ev:Event)=>any)|null;onloadedmetadata:((this:GlobalEventHandlers,ev:Event)=>any)|null;onloadstart:((this:GlobalEventHandlers,ev:Event)=>any)|null;onlostpointercapture:((this:GlobalEventHandlers,ev:PointerEvent)=>any)|null;onmousedown:((this:GlobalEventHandlers,ev:MouseEvent)=>any)|null;onmouseenter:((this:GlobalEventHandlers,ev:MouseEvent)=>any)|null;onmouseleave:((this:GlobalEventHandlers,ev:MouseEvent)=>any)|null;onmousemove:((this:GlobalEventHandlers,ev:MouseEvent)=>any)|null;onmouseout:((this:GlobalEventHandlers,ev:MouseEvent)=>any)|null;onmouseover:((this:GlobalEventHandlers,ev:MouseEvent)=>any)|null;onmouseup:((this:GlobalEventHandlers,ev:MouseEvent)=>any)|null;onpause:((this:GlobalEventHandlers,ev:Event)=>any)|null;onplay:((this:GlobalEventHandlers,ev:Event)=>any)|null;onplaying:((this:GlobalEventHandlers,ev:Event)=>any)|null;onpointercancel:((this:GlobalEventHandlers,ev:PointerEvent)=>any)|null;onpointerdown:((this:GlobalEventHandlers,ev:PointerEvent)=>any)|null;onpointerenter:((this:GlobalEventHandlers,ev:PointerEvent)=>any)|null;onpointerleave:((this:GlobalEventHandlers,ev:PointerEvent)=>any)|null;onpointermove:((this:GlobalEventHandlers,ev:PointerEvent)=>any)|null;onpointerout:((this:GlobalEventHandlers,ev:PointerEvent)=>any)|null;onpointerover:((this:GlobalEventHandlers,ev:PointerEvent)=>any)|null;onpointerup:((this:GlobalEventHandlers,ev:PointerEvent)=>any)|null;onprogress:((this:GlobalEventHandlers,ev:ProgressEvent)=>any)|null;onratechange:((this:GlobalEventHandlers,ev:Event)=>any)|null;onreset:((this:GlobalEventHandlers,ev:Event)=>any)|null;onresize:((this:GlobalEventHandlers,ev:UIEvent)=>any)|null;onscroll:((this:GlobalEventHandlers,ev:Event)=>any)|null;onsecuritypolicyviolation:((this:GlobalEventHandlers,ev:SecurityPolicyViolationEvent)=>any)|null;onseeked:((this:GlobalEventHandlers,ev:Event)=>any)|null;onseeking:((this:GlobalEventHandlers,ev:Event)=>any)|null;onselect:((this:GlobalEventHandlers,ev:Event)=>any)|null;onselectionchange:((this:GlobalEventHandlers,ev:Event)=>any)|null;onselectstart:((this:GlobalEventHandlers,ev:Event)=>any)|null;onslotchange:((this:GlobalEventHandlers,ev:Event)=>any)|null;onstalled:((this:GlobalEventHandlers,ev:Event)=>any)|null;onsubmit:((this:GlobalEventHandlers,ev:SubmitEvent)=>any)|null;onsuspend:((this:GlobalEventHandlers,ev:Event)=>any)|null;ontimeupdate:((this:GlobalEventHandlers,ev:Event)=>any)|null;ontoggle:((this:GlobalEventHandlers,ev:Event)=>any)|null;ontouchcancel?:((this:GlobalEventHandlers,ev:TouchEvent)=>any)|null|undefined;ontouchend?:((this:GlobalEventHandlers,ev:TouchEvent)=>any)|null|undefined;ontouchmove?:((this:GlobalEventHandlers,ev:TouchEvent)=>any)|null|undefined;ontouchstart?:((this:GlobalEventHandlers,ev:TouchEvent)=>any)|null|undefined;ontransitioncancel:((this:GlobalEventHandlers,ev:TransitionEvent)=>any)|null;ontransitionend:((this:GlobalEventHandlers,ev:TransitionEvent)=>any)|null;ontransitionrun:((this:GlobalEventHandlers,ev:TransitionEvent)=>any)|null;ontransitionstart:((this:GlobalEventHandlers,ev:TransitionEvent)=>any)|null;onvolumechange:((this:GlobalEventHandlers,ev:Event)=>any)|null;onwaiting:((this:GlobalEventHandlers,ev:Event)=>any)|null;onwebkitanimationend:((this:GlobalEventHandlers,ev:Event)=>any)|null;onwebkitanimationiteration:((this:GlobalEventHandlers,ev:Event)=>any)|null;onwebkitanimationstart:((this:GlobalEventHandlers,ev:Event)=>any)|null;onwebkittransitionend:((this:GlobalEventHandlers,ev:Event)=>any)|null;onwheel:((this:GlobalEventHandlers,ev:WheelEvent)=>any)|null;addEventListener<K extends keyof GlobalEventHandlersEventMap>(type:K,listener:(this:GlobalEventHandlers,ev:GlobalEventHandlersEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof GlobalEventHandlersEventMap>(type:K,listener:(this:GlobalEventHandlers,ev:GlobalEventHandlersEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}interface HTMLAllCollection{readonly length:number;item(nameOrIndex?:string):HTMLCollection|Element|null;namedItem(name:string):HTMLCollection|Element|null;[index:number]:Element;}declare var HTMLAllCollection:{prototype:HTMLAllCollection;new():HTMLAllCollection;};interface HTMLAnchorElement extends HTMLElement,HTMLHyperlinkElementUtils{charset:string;coords:string;download:string;hreflang:string;name:string;ping:string;referrerPolicy:string;rel:string;readonly relList:DOMTokenList;rev:string;shape:string;target:string;text:string;type:string;addEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLAnchorElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLAnchorElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var HTMLAnchorElement:{prototype:HTMLAnchorElement;new():HTMLAnchorElement;};interface HTMLAreaElement extends HTMLElement,HTMLHyperlinkElementUtils{alt:string;coords:string;download:string;noHref:boolean;ping:string;referrerPolicy:string;rel:string;readonly relList:DOMTokenList;shape:string;target:string;addEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLAreaElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLAreaElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var HTMLAreaElement:{prototype:HTMLAreaElement;new():HTMLAreaElement;};interface HTMLAudioElement extends HTMLMediaElement{addEventListener<K extends keyof HTMLMediaElementEventMap>(type:K,listener:(this:HTMLAudioElement,ev:HTMLMediaElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof HTMLMediaElementEventMap>(type:K,listener:(this:HTMLAudioElement,ev:HTMLMediaElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var HTMLAudioElement:{prototype:HTMLAudioElement;new():HTMLAudioElement;};interface HTMLBRElement extends HTMLElement{clear:string;addEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLBRElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLBRElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var HTMLBRElement:{prototype:HTMLBRElement;new():HTMLBRElement;};interface HTMLBaseElement extends HTMLElement{href:string;target:string;addEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLBaseElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLBaseElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var HTMLBaseElement:{prototype:HTMLBaseElement;new():HTMLBaseElement;};interface HTMLBodyElementEventMap extends HTMLElementEventMap,WindowEventHandlersEventMap{}interface HTMLBodyElement extends HTMLElement,WindowEventHandlers{aLink:string;background:string;bgColor:string;link:string;text:string;vLink:string;addEventListener<K extends keyof HTMLBodyElementEventMap>(type:K,listener:(this:HTMLBodyElement,ev:HTMLBodyElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof HTMLBodyElementEventMap>(type:K,listener:(this:HTMLBodyElement,ev:HTMLBodyElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var HTMLBodyElement:{prototype:HTMLBodyElement;new():HTMLBodyElement;};interface HTMLButtonElement extends HTMLElement{disabled:boolean;readonly form:HTMLFormElement|null;formAction:string;formEnctype:string;formMethod:string;formNoValidate:boolean;formTarget:string;readonly labels:NodeListOf<HTMLLabelElement>;name:string;type:string;readonly validationMessage:string;readonly validity:ValidityState;value:string;readonly willValidate:boolean;checkValidity():boolean;reportValidity():boolean;setCustomValidity(error:string):void;addEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLButtonElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLButtonElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var HTMLButtonElement:{prototype:HTMLButtonElement;new():HTMLButtonElement;};interface HTMLCanvasElement extends HTMLElement{height:number;width:number;captureStream(frameRequestRate?:number):MediaStream;getContext(contextId:"2d",options?:CanvasRenderingContext2DSettings):CanvasRenderingContext2D|null;getContext(contextId:"bitmaprenderer",options?:ImageBitmapRenderingContextSettings):ImageBitmapRenderingContext|null;getContext(contextId:"webgl",options?:WebGLContextAttributes):WebGLRenderingContext|null;getContext(contextId:"webgl2",options?:WebGLContextAttributes):WebGL2RenderingContext|null;getContext(contextId:string,options?:any):RenderingContext|null;toBlob(callback:BlobCallback,type?:string,quality?:any):void;toDataURL(type?:string,quality?:any):string;transferControlToOffscreen():OffscreenCanvas;addEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLCanvasElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLCanvasElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var HTMLCanvasElement:{prototype:HTMLCanvasElement;new():HTMLCanvasElement;};interface HTMLCollectionBase{readonly length:number;item(index:number):Element|null;[index:number]:Element;}interface HTMLCollection extends HTMLCollectionBase{namedItem(name:string):Element|null;}declare var HTMLCollection:{prototype:HTMLCollection;new():HTMLCollection;};interface HTMLCollectionOf<T extends Element>extends HTMLCollectionBase{item(index:number):T|null;namedItem(name:string):T|null;[index:number]:T;}interface HTMLDListElement extends HTMLElement{compact:boolean;addEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLDListElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLDListElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var HTMLDListElement:{prototype:HTMLDListElement;new():HTMLDListElement;};interface HTMLDataElement extends HTMLElement{value:string;addEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLDataElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLDataElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var HTMLDataElement:{prototype:HTMLDataElement;new():HTMLDataElement;};interface HTMLDataListElement extends HTMLElement{readonly options:HTMLCollectionOf<HTMLOptionElement>;addEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLDataListElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLDataListElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var HTMLDataListElement:{prototype:HTMLDataListElement;new():HTMLDataListElement;};interface HTMLDetailsElement extends HTMLElement{open:boolean;addEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLDetailsElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLDetailsElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var HTMLDetailsElement:{prototype:HTMLDetailsElement;new():HTMLDetailsElement;};interface HTMLDialogElement extends HTMLElement{open:boolean;returnValue:string;close(returnValue?:string):void;show():void;showModal():void;addEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLDialogElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLDialogElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var HTMLDialogElement:{prototype:HTMLDialogElement;new():HTMLDialogElement;};interface HTMLDirectoryElement extends HTMLElement{compact:boolean;addEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLDirectoryElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLDirectoryElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var HTMLDirectoryElement:{prototype:HTMLDirectoryElement;new():HTMLDirectoryElement;};interface HTMLDivElement extends HTMLElement{align:string;addEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLDivElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLDivElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var HTMLDivElement:{prototype:HTMLDivElement;new():HTMLDivElement;};interface HTMLDocument extends Document{addEventListener<K extends keyof DocumentEventMap>(type:K,listener:(this:HTMLDocument,ev:DocumentEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof DocumentEventMap>(type:K,listener:(this:HTMLDocument,ev:DocumentEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var HTMLDocument:{prototype:HTMLDocument;new():HTMLDocument;};interface HTMLElementEventMap extends ElementEventMap,DocumentAndElementEventHandlersEventMap,GlobalEventHandlersEventMap{}interface HTMLElement extends Element,DocumentAndElementEventHandlers,ElementCSSInlineStyle,ElementContentEditable,GlobalEventHandlers,HTMLOrSVGElement{accessKey:string;readonly accessKeyLabel:string;autocapitalize:string;dir:string;draggable:boolean;hidden:boolean;inert:boolean;innerText:string;lang:string;readonly offsetHeight:number;readonly offsetLeft:number;readonly offsetParent:Element|null;readonly offsetTop:number;readonly offsetWidth:number;outerText:string;spellcheck:boolean;title:string;translate:boolean;attachInternals():ElementInternals;click():void;addEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var HTMLElement:{prototype:HTMLElement;new():HTMLElement;};interface HTMLEmbedElement extends HTMLElement{align:string;height:string;name:string;src:string;type:string;width:string;getSVGDocument():Document|null;addEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLEmbedElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLEmbedElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var HTMLEmbedElement:{prototype:HTMLEmbedElement;new():HTMLEmbedElement;};interface HTMLFieldSetElement extends HTMLElement{disabled:boolean;readonly elements:HTMLCollection;readonly form:HTMLFormElement|null;name:string;readonly type:string;readonly validationMessage:string;readonly validity:ValidityState;readonly willValidate:boolean;checkValidity():boolean;reportValidity():boolean;setCustomValidity(error:string):void;addEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLFieldSetElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLFieldSetElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var HTMLFieldSetElement:{prototype:HTMLFieldSetElement;new():HTMLFieldSetElement;};interface HTMLFontElement extends HTMLElement{color:string;face:string;size:string;addEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLFontElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLFontElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var HTMLFontElement:{prototype:HTMLFontElement;new():HTMLFontElement;};interface HTMLFormControlsCollection extends HTMLCollectionBase{namedItem(name:string):RadioNodeList|Element|null;}declare var HTMLFormControlsCollection:{prototype:HTMLFormControlsCollection;new():HTMLFormControlsCollection;};interface HTMLFormElement extends HTMLElement{acceptCharset:string;action:string;autocomplete:string;readonly elements:HTMLFormControlsCollection;encoding:string;enctype:string;readonly length:number;method:string;name:string;noValidate:boolean;target:string;checkValidity():boolean;reportValidity():boolean;requestSubmit(submitter?:HTMLElement|null):void;reset():void;submit():void;addEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLFormElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLFormElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;[index:number]:Element;[name:string]:any;}declare var HTMLFormElement:{prototype:HTMLFormElement;new():HTMLFormElement;};interface HTMLFrameElement extends HTMLElement{readonly contentDocument:Document|null;readonly contentWindow:WindowProxy|null;frameBorder:string;longDesc:string;marginHeight:string;marginWidth:string;name:string;noResize:boolean;scrolling:string;src:string;addEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLFrameElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLFrameElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var HTMLFrameElement:{prototype:HTMLFrameElement;new():HTMLFrameElement;};interface HTMLFrameSetElementEventMap extends HTMLElementEventMap,WindowEventHandlersEventMap{}interface HTMLFrameSetElement extends HTMLElement,WindowEventHandlers{cols:string;rows:string;addEventListener<K extends keyof HTMLFrameSetElementEventMap>(type:K,listener:(this:HTMLFrameSetElement,ev:HTMLFrameSetElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof HTMLFrameSetElementEventMap>(type:K,listener:(this:HTMLFrameSetElement,ev:HTMLFrameSetElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var HTMLFrameSetElement:{prototype:HTMLFrameSetElement;new():HTMLFrameSetElement;};interface HTMLHRElement extends HTMLElement{align:string;color:string;noShade:boolean;size:string;width:string;addEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLHRElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLHRElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var HTMLHRElement:{prototype:HTMLHRElement;new():HTMLHRElement;};interface HTMLHeadElement extends HTMLElement{addEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLHeadElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLHeadElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var HTMLHeadElement:{prototype:HTMLHeadElement;new():HTMLHeadElement;};interface HTMLHeadingElement extends HTMLElement{align:string;addEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLHeadingElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLHeadingElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var HTMLHeadingElement:{prototype:HTMLHeadingElement;new():HTMLHeadingElement;};interface HTMLHtmlElement extends HTMLElement{version:string;addEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLHtmlElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLHtmlElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var HTMLHtmlElement:{prototype:HTMLHtmlElement;new():HTMLHtmlElement;};interface HTMLHyperlinkElementUtils{hash:string;host:string;hostname:string;href:string;toString():string;readonly origin:string;password:string;pathname:string;port:string;protocol:string;search:string;username:string;}interface HTMLIFrameElement extends HTMLElement{align:string;allow:string;allowFullscreen:boolean;readonly contentDocument:Document|null;readonly contentWindow:WindowProxy|null;frameBorder:string;height:string;longDesc:string;marginHeight:string;marginWidth:string;name:string;referrerPolicy:ReferrerPolicy;readonly sandbox:DOMTokenList;scrolling:string;src:string;srcdoc:string;width:string;getSVGDocument():Document|null;addEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLIFrameElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLIFrameElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var HTMLIFrameElement:{prototype:HTMLIFrameElement;new():HTMLIFrameElement;};interface HTMLImageElement extends HTMLElement{align:string;alt:string;border:string;readonly complete:boolean;crossOrigin:string|null;readonly currentSrc:string;decoding:"async"|"sync"|"auto";height:number;hspace:number;isMap:boolean;loading:"eager"|"lazy";longDesc:string;lowsrc:string;name:string;readonly naturalHeight:number;readonly naturalWidth:number;referrerPolicy:string;sizes:string;src:string;srcset:string;useMap:string;vspace:number;width:number;readonly x:number;readonly y:number;decode():Promise<void>;addEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLImageElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLImageElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var HTMLImageElement:{prototype:HTMLImageElement;new():HTMLImageElement;};interface HTMLInputElement extends HTMLElement{accept:string;align:string;alt:string;autocomplete:string;capture:string;checked:boolean;defaultChecked:boolean;defaultValue:string;dirName:string;disabled:boolean;files:FileList|null;readonly form:HTMLFormElement|null;formAction:string;formEnctype:string;formMethod:string;formNoValidate:boolean;formTarget:string;height:number;indeterminate:boolean;readonly labels:NodeListOf<HTMLLabelElement>|null;readonly list:HTMLElement|null;max:string;maxLength:number;min:string;minLength:number;multiple:boolean;name:string;pattern:string;placeholder:string;readOnly:boolean;required:boolean;selectionDirection:"forward"|"backward"|"none"|null;selectionEnd:number|null;selectionStart:number|null;size:number;src:string;step:string;type:string;useMap:string;readonly validationMessage:string;readonly validity:ValidityState;value:string;valueAsDate:Date|null;valueAsNumber:number;readonly webkitEntries:ReadonlyArray<FileSystemEntry>;webkitdirectory:boolean;width:number;readonly willValidate:boolean;checkValidity():boolean;reportValidity():boolean;select():void;setCustomValidity(error:string):void;setRangeText(replacement:string):void;setRangeText(replacement:string,start:number,end:number,selectionMode?:SelectionMode):void;setSelectionRange(start:number|null,end:number|null,direction?:"forward"|"backward"|"none"):void;showPicker():void;stepDown(n?:number):void;stepUp(n?:number):void;addEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLInputElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLInputElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var HTMLInputElement:{prototype:HTMLInputElement;new():HTMLInputElement;};interface HTMLLIElement extends HTMLElement{type:string;value:number;addEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLLIElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLLIElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var HTMLLIElement:{prototype:HTMLLIElement;new():HTMLLIElement;};interface HTMLLabelElement extends HTMLElement{readonly control:HTMLElement|null;readonly form:HTMLFormElement|null;htmlFor:string;addEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLLabelElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLLabelElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var HTMLLabelElement:{prototype:HTMLLabelElement;new():HTMLLabelElement;};interface HTMLLegendElement extends HTMLElement{align:string;readonly form:HTMLFormElement|null;addEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLLegendElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLLegendElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var HTMLLegendElement:{prototype:HTMLLegendElement;new():HTMLLegendElement;};interface HTMLLinkElement extends HTMLElement,LinkStyle{as:string;charset:string;crossOrigin:string|null;disabled:boolean;href:string;hreflang:string;imageSizes:string;imageSrcset:string;integrity:string;media:string;referrerPolicy:string;rel:string;readonly relList:DOMTokenList;rev:string;readonly sizes:DOMTokenList;target:string;type:string;addEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLLinkElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLLinkElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var HTMLLinkElement:{prototype:HTMLLinkElement;new():HTMLLinkElement;};interface HTMLMapElement extends HTMLElement{readonly areas:HTMLCollection;name:string;addEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLMapElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLMapElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var HTMLMapElement:{prototype:HTMLMapElement;new():HTMLMapElement;};interface HTMLMarqueeElement extends HTMLElement{behavior:string;bgColor:string;direction:string;height:string;hspace:number;loop:number;scrollAmount:number;scrollDelay:number;trueSpeed:boolean;vspace:number;width:string;start():void;stop():void;addEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLMarqueeElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLMarqueeElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var HTMLMarqueeElement:{prototype:HTMLMarqueeElement;new():HTMLMarqueeElement;};interface HTMLMediaElementEventMap extends HTMLElementEventMap{"encrypted":MediaEncryptedEvent;"waitingforkey":Event;}interface HTMLMediaElement extends HTMLElement{autoplay:boolean;readonly buffered:TimeRanges;controls:boolean;crossOrigin:string|null;readonly currentSrc:string;currentTime:number;defaultMuted:boolean;defaultPlaybackRate:number;disableRemotePlayback:boolean;readonly duration:number;readonly ended:boolean;readonly error:MediaError|null;loop:boolean;readonly mediaKeys:MediaKeys|null;muted:boolean;readonly networkState:number;onencrypted:((this:HTMLMediaElement,ev:MediaEncryptedEvent)=>any)|null;onwaitingforkey:((this:HTMLMediaElement,ev:Event)=>any)|null;readonly paused:boolean;playbackRate:number;readonly played:TimeRanges;preload:"none"|"metadata"|"auto"|"";preservesPitch:boolean;readonly readyState:number;readonly remote:RemotePlayback;readonly seekable:TimeRanges;readonly seeking:boolean;src:string;srcObject:MediaProvider|null;readonly textTracks:TextTrackList;volume:number;addTextTrack(kind:TextTrackKind,label?:string,language?:string):TextTrack;canPlayType(type:string):CanPlayTypeResult;fastSeek(time:number):void;load():void;pause():void;play():Promise<void>;setMediaKeys(mediaKeys:MediaKeys|null):Promise<void>;readonly HAVE_CURRENT_DATA:number;readonly HAVE_ENOUGH_DATA:number;readonly HAVE_FUTURE_DATA:number;readonly HAVE_METADATA:number;readonly HAVE_NOTHING:number;readonly NETWORK_EMPTY:number;readonly NETWORK_IDLE:number;readonly NETWORK_LOADING:number;readonly NETWORK_NO_SOURCE:number;addEventListener<K extends keyof HTMLMediaElementEventMap>(type:K,listener:(this:HTMLMediaElement,ev:HTMLMediaElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof HTMLMediaElementEventMap>(type:K,listener:(this:HTMLMediaElement,ev:HTMLMediaElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var HTMLMediaElement:{prototype:HTMLMediaElement;new():HTMLMediaElement;readonly HAVE_CURRENT_DATA:number;readonly HAVE_ENOUGH_DATA:number;readonly HAVE_FUTURE_DATA:number;readonly HAVE_METADATA:number;readonly HAVE_NOTHING:number;readonly NETWORK_EMPTY:number;readonly NETWORK_IDLE:number;readonly NETWORK_LOADING:number;readonly NETWORK_NO_SOURCE:number;};interface HTMLMenuElement extends HTMLElement{compact:boolean;addEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLMenuElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLMenuElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var HTMLMenuElement:{prototype:HTMLMenuElement;new():HTMLMenuElement;};interface HTMLMetaElement extends HTMLElement{content:string;httpEquiv:string;media:string;name:string;scheme:string;addEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLMetaElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLMetaElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var HTMLMetaElement:{prototype:HTMLMetaElement;new():HTMLMetaElement;};interface HTMLMeterElement extends HTMLElement{high:number;readonly labels:NodeListOf<HTMLLabelElement>;low:number;max:number;min:number;optimum:number;value:number;addEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLMeterElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLMeterElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var HTMLMeterElement:{prototype:HTMLMeterElement;new():HTMLMeterElement;};interface HTMLModElement extends HTMLElement{cite:string;dateTime:string;addEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLModElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLModElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var HTMLModElement:{prototype:HTMLModElement;new():HTMLModElement;};interface HTMLOListElement extends HTMLElement{compact:boolean;reversed:boolean;start:number;type:string;addEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLOListElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLOListElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var HTMLOListElement:{prototype:HTMLOListElement;new():HTMLOListElement;};interface HTMLObjectElement extends HTMLElement{align:string;archive:string;border:string;code:string;codeBase:string;codeType:string;readonly contentDocument:Document|null;readonly contentWindow:WindowProxy|null;data:string;declare:boolean;readonly form:HTMLFormElement|null;height:string;hspace:number;name:string;standby:string;type:string;useMap:string;readonly validationMessage:string;readonly validity:ValidityState;vspace:number;width:string;readonly willValidate:boolean;checkValidity():boolean;getSVGDocument():Document|null;reportValidity():boolean;setCustomValidity(error:string):void;addEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLObjectElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLObjectElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var HTMLObjectElement:{prototype:HTMLObjectElement;new():HTMLObjectElement;};interface HTMLOptGroupElement extends HTMLElement{disabled:boolean;label:string;addEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLOptGroupElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLOptGroupElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var HTMLOptGroupElement:{prototype:HTMLOptGroupElement;new():HTMLOptGroupElement;};interface HTMLOptionElement extends HTMLElement{defaultSelected:boolean;disabled:boolean;readonly form:HTMLFormElement|null;readonly index:number;label:string;selected:boolean;text:string;value:string;addEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLOptionElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLOptionElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var HTMLOptionElement:{prototype:HTMLOptionElement;new():HTMLOptionElement;};interface HTMLOptionsCollection extends HTMLCollectionOf<HTMLOptionElement>{length:number;selectedIndex:number;add(element:HTMLOptionElement|HTMLOptGroupElement,before?:HTMLElement|number|null):void;remove(index:number):void;}declare var HTMLOptionsCollection:{prototype:HTMLOptionsCollection;new():HTMLOptionsCollection;};interface HTMLOrSVGElement{autofocus:boolean;readonly dataset:DOMStringMap;nonce?:string;tabIndex:number;blur():void;focus(options?:FocusOptions):void;}interface HTMLOutputElement extends HTMLElement{defaultValue:string;readonly form:HTMLFormElement|null;readonly htmlFor:DOMTokenList;readonly labels:NodeListOf<HTMLLabelElement>;name:string;readonly type:string;readonly validationMessage:string;readonly validity:ValidityState;value:string;readonly willValidate:boolean;checkValidity():boolean;reportValidity():boolean;setCustomValidity(error:string):void;addEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLOutputElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLOutputElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var HTMLOutputElement:{prototype:HTMLOutputElement;new():HTMLOutputElement;};interface HTMLParagraphElement extends HTMLElement{align:string;addEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLParagraphElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLParagraphElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var HTMLParagraphElement:{prototype:HTMLParagraphElement;new():HTMLParagraphElement;};interface HTMLParamElement extends HTMLElement{name:string;type:string;value:string;valueType:string;addEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLParamElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLParamElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var HTMLParamElement:{prototype:HTMLParamElement;new():HTMLParamElement;};interface HTMLPictureElement extends HTMLElement{addEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLPictureElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLPictureElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var HTMLPictureElement:{prototype:HTMLPictureElement;new():HTMLPictureElement;};interface HTMLPreElement extends HTMLElement{width:number;addEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLPreElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLPreElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var HTMLPreElement:{prototype:HTMLPreElement;new():HTMLPreElement;};interface HTMLProgressElement extends HTMLElement{readonly labels:NodeListOf<HTMLLabelElement>;max:number;readonly position:number;value:number;addEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLProgressElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLProgressElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var HTMLProgressElement:{prototype:HTMLProgressElement;new():HTMLProgressElement;};interface HTMLQuoteElement extends HTMLElement{cite:string;addEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLQuoteElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLQuoteElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var HTMLQuoteElement:{prototype:HTMLQuoteElement;new():HTMLQuoteElement;};interface HTMLScriptElement extends HTMLElement{async:boolean;charset:string;crossOrigin:string|null;defer:boolean;event:string;htmlFor:string;integrity:string;noModule:boolean;referrerPolicy:string;src:string;text:string;type:string;addEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLScriptElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLScriptElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var HTMLScriptElement:{prototype:HTMLScriptElement;new():HTMLScriptElement;supports(type:string):boolean;};interface HTMLSelectElement extends HTMLElement{autocomplete:string;disabled:boolean;readonly form:HTMLFormElement|null;readonly labels:NodeListOf<HTMLLabelElement>;length:number;multiple:boolean;name:string;readonly options:HTMLOptionsCollection;required:boolean;selectedIndex:number;readonly selectedOptions:HTMLCollectionOf<HTMLOptionElement>;size:number;readonly type:string;readonly validationMessage:string;readonly validity:ValidityState;value:string;readonly willValidate:boolean;add(element:HTMLOptionElement|HTMLOptGroupElement,before?:HTMLElement|number|null):void;checkValidity():boolean;item(index:number):HTMLOptionElement|null;namedItem(name:string):HTMLOptionElement|null;remove():void;remove(index:number):void;reportValidity():boolean;setCustomValidity(error:string):void;addEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLSelectElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLSelectElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;[name:number]:HTMLOptionElement|HTMLOptGroupElement;}declare var HTMLSelectElement:{prototype:HTMLSelectElement;new():HTMLSelectElement;};interface HTMLSlotElement extends HTMLElement{name:string;assign(...nodes:(Element|Text)[]):void;assignedElements(options?:AssignedNodesOptions):Element[];assignedNodes(options?:AssignedNodesOptions):Node[];addEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLSlotElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLSlotElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var HTMLSlotElement:{prototype:HTMLSlotElement;new():HTMLSlotElement;};interface HTMLSourceElement extends HTMLElement{height:number;media:string;sizes:string;src:string;srcset:string;type:string;width:number;addEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLSourceElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLSourceElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var HTMLSourceElement:{prototype:HTMLSourceElement;new():HTMLSourceElement;};interface HTMLSpanElement extends HTMLElement{addEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLSpanElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLSpanElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var HTMLSpanElement:{prototype:HTMLSpanElement;new():HTMLSpanElement;};interface HTMLStyleElement extends HTMLElement,LinkStyle{disabled:boolean;media:string;type:string;addEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLStyleElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLStyleElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var HTMLStyleElement:{prototype:HTMLStyleElement;new():HTMLStyleElement;};interface HTMLTableCaptionElement extends HTMLElement{align:string;addEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLTableCaptionElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLTableCaptionElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var HTMLTableCaptionElement:{prototype:HTMLTableCaptionElement;new():HTMLTableCaptionElement;};interface HTMLTableCellElement extends HTMLElement{abbr:string;align:string;axis:string;bgColor:string;readonly cellIndex:number;ch:string;chOff:string;colSpan:number;headers:string;height:string;noWrap:boolean;rowSpan:number;scope:string;vAlign:string;width:string;addEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLTableCellElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLTableCellElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var HTMLTableCellElement:{prototype:HTMLTableCellElement;new():HTMLTableCellElement;};interface HTMLTableColElement extends HTMLElement{align:string;ch:string;chOff:string;span:number;vAlign:string;width:string;addEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLTableColElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLTableColElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var HTMLTableColElement:{prototype:HTMLTableColElement;new():HTMLTableColElement;};interface HTMLTableDataCellElement extends HTMLTableCellElement{addEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLTableDataCellElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLTableDataCellElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}interface HTMLTableElement extends HTMLElement{align:string;bgColor:string;border:string;caption:HTMLTableCaptionElement|null;cellPadding:string;cellSpacing:string;frame:string;readonly rows:HTMLCollectionOf<HTMLTableRowElement>;rules:string;summary:string;readonly tBodies:HTMLCollectionOf<HTMLTableSectionElement>;tFoot:HTMLTableSectionElement|null;tHead:HTMLTableSectionElement|null;width:string;createCaption():HTMLTableCaptionElement;createTBody():HTMLTableSectionElement;createTFoot():HTMLTableSectionElement;createTHead():HTMLTableSectionElement;deleteCaption():void;deleteRow(index:number):void;deleteTFoot():void;deleteTHead():void;insertRow(index?:number):HTMLTableRowElement;addEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLTableElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLTableElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var HTMLTableElement:{prototype:HTMLTableElement;new():HTMLTableElement;};interface HTMLTableHeaderCellElement extends HTMLTableCellElement{addEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLTableHeaderCellElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLTableHeaderCellElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}interface HTMLTableRowElement extends HTMLElement{align:string;bgColor:string;readonly cells:HTMLCollectionOf<HTMLTableCellElement>;ch:string;chOff:string;readonly rowIndex:number;readonly sectionRowIndex:number;vAlign:string;deleteCell(index:number):void;insertCell(index?:number):HTMLTableCellElement;addEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLTableRowElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLTableRowElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var HTMLTableRowElement:{prototype:HTMLTableRowElement;new():HTMLTableRowElement;};interface HTMLTableSectionElement extends HTMLElement{align:string;ch:string;chOff:string;readonly rows:HTMLCollectionOf<HTMLTableRowElement>;vAlign:string;deleteRow(index:number):void;insertRow(index?:number):HTMLTableRowElement;addEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLTableSectionElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLTableSectionElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var HTMLTableSectionElement:{prototype:HTMLTableSectionElement;new():HTMLTableSectionElement;};interface HTMLTemplateElement extends HTMLElement{readonly content:DocumentFragment;addEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLTemplateElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLTemplateElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var HTMLTemplateElement:{prototype:HTMLTemplateElement;new():HTMLTemplateElement;};interface HTMLTextAreaElement extends HTMLElement{autocomplete:string;cols:number;defaultValue:string;dirName:string;disabled:boolean;readonly form:HTMLFormElement|null;readonly labels:NodeListOf<HTMLLabelElement>;maxLength:number;minLength:number;name:string;placeholder:string;readOnly:boolean;required:boolean;rows:number;selectionDirection:"forward"|"backward"|"none";selectionEnd:number;selectionStart:number;readonly textLength:number;readonly type:string;readonly validationMessage:string;readonly validity:ValidityState;value:string;readonly willValidate:boolean;wrap:string;checkValidity():boolean;reportValidity():boolean;select():void;setCustomValidity(error:string):void;setRangeText(replacement:string):void;setRangeText(replacement:string,start:number,end:number,selectionMode?:SelectionMode):void;setSelectionRange(start:number|null,end:number|null,direction?:"forward"|"backward"|"none"):void;addEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLTextAreaElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLTextAreaElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var HTMLTextAreaElement:{prototype:HTMLTextAreaElement;new():HTMLTextAreaElement;};interface HTMLTimeElement extends HTMLElement{dateTime:string;addEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLTimeElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLTimeElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var HTMLTimeElement:{prototype:HTMLTimeElement;new():HTMLTimeElement;};interface HTMLTitleElement extends HTMLElement{text:string;addEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLTitleElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLTitleElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var HTMLTitleElement:{prototype:HTMLTitleElement;new():HTMLTitleElement;};interface HTMLTrackElement extends HTMLElement{default:boolean;kind:string;label:string;readonly readyState:number;src:string;srclang:string;readonly track:TextTrack;readonly ERROR:number;readonly LOADED:number;readonly LOADING:number;readonly NONE:number;addEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLTrackElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLTrackElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var HTMLTrackElement:{prototype:HTMLTrackElement;new():HTMLTrackElement;readonly ERROR:number;readonly LOADED:number;readonly LOADING:number;readonly NONE:number;};interface HTMLUListElement extends HTMLElement{compact:boolean;type:string;addEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLUListElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLUListElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var HTMLUListElement:{prototype:HTMLUListElement;new():HTMLUListElement;};interface HTMLUnknownElement extends HTMLElement{addEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLUnknownElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof HTMLElementEventMap>(type:K,listener:(this:HTMLUnknownElement,ev:HTMLElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var HTMLUnknownElement:{prototype:HTMLUnknownElement;new():HTMLUnknownElement;};interface HTMLVideoElementEventMap extends HTMLMediaElementEventMap{"enterpictureinpicture":Event;"leavepictureinpicture":Event;}interface HTMLVideoElement extends HTMLMediaElement{disablePictureInPicture:boolean;height:number;onenterpictureinpicture:((this:HTMLVideoElement,ev:Event)=>any)|null;onleavepictureinpicture:((this:HTMLVideoElement,ev:Event)=>any)|null;playsInline:boolean;poster:string;readonly videoHeight:number;readonly videoWidth:number;width:number;cancelVideoFrameCallback(handle:number):void;getVideoPlaybackQuality():VideoPlaybackQuality;requestPictureInPicture():Promise<PictureInPictureWindow>;requestVideoFrameCallback(callback:VideoFrameRequestCallback):number;addEventListener<K extends keyof HTMLVideoElementEventMap>(type:K,listener:(this:HTMLVideoElement,ev:HTMLVideoElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof HTMLVideoElementEventMap>(type:K,listener:(this:HTMLVideoElement,ev:HTMLVideoElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var HTMLVideoElement:{prototype:HTMLVideoElement;new():HTMLVideoElement;};interface HashChangeEvent extends Event{readonly newURL:string;readonly oldURL:string;}declare var HashChangeEvent:{prototype:HashChangeEvent;new(type:string,eventInitDict?:HashChangeEventInit):HashChangeEvent;};interface Headers{append(name:string,value:string):void;delete(name:string):void;get(name:string):string|null;has(name:string):boolean;set(name:string,value:string):void;forEach(callbackfn:(value:string,key:string,parent:Headers)=>void,thisArg?:any):void;}declare var Headers:{prototype:Headers;new(init?:HeadersInit):Headers;};interface History{readonly length:number;scrollRestoration:ScrollRestoration;readonly state:any;back():void;forward():void;go(delta?:number):void;pushState(data:any,unused:string,url?:string|URL|null):void;replaceState(data:any,unused:string,url?:string|URL|null):void;}declare var History:{prototype:History;new():History;};interface IDBCursor{readonly direction:IDBCursorDirection;readonly key:IDBValidKey;readonly primaryKey:IDBValidKey;readonly request:IDBRequest;readonly source:IDBObjectStore|IDBIndex;advance(count:number):void;continue(key?:IDBValidKey):void;continuePrimaryKey(key:IDBValidKey,primaryKey:IDBValidKey):void;delete():IDBRequest<undefined>;update(value:any):IDBRequest<IDBValidKey>;}declare var IDBCursor:{prototype:IDBCursor;new():IDBCursor;};interface IDBCursorWithValue extends IDBCursor{readonly value:any;}declare var IDBCursorWithValue:{prototype:IDBCursorWithValue;new():IDBCursorWithValue;};interface IDBDatabaseEventMap{"abort":Event;"close":Event;"error":Event;"versionchange":IDBVersionChangeEvent;}interface IDBDatabase extends EventTarget{readonly name:string;readonly objectStoreNames:DOMStringList;onabort:((this:IDBDatabase,ev:Event)=>any)|null;onclose:((this:IDBDatabase,ev:Event)=>any)|null;onerror:((this:IDBDatabase,ev:Event)=>any)|null;onversionchange:((this:IDBDatabase,ev:IDBVersionChangeEvent)=>any)|null;readonly version:number;close():void;createObjectStore(name:string,options?:IDBObjectStoreParameters):IDBObjectStore;deleteObjectStore(name:string):void;transaction(storeNames:string|string[],mode?:IDBTransactionMode,options?:IDBTransactionOptions):IDBTransaction;addEventListener<K extends keyof IDBDatabaseEventMap>(type:K,listener:(this:IDBDatabase,ev:IDBDatabaseEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof IDBDatabaseEventMap>(type:K,listener:(this:IDBDatabase,ev:IDBDatabaseEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var IDBDatabase:{prototype:IDBDatabase;new():IDBDatabase;};interface IDBFactory{cmp(first:any,second:any):number;databases():Promise<IDBDatabaseInfo[]>;deleteDatabase(name:string):IDBOpenDBRequest;open(name:string,version?:number):IDBOpenDBRequest;}declare var IDBFactory:{prototype:IDBFactory;new():IDBFactory;};interface IDBIndex{readonly keyPath:string|string[];readonly multiEntry:boolean;name:string;readonly objectStore:IDBObjectStore;readonly unique:boolean;count(query?:IDBValidKey|IDBKeyRange):IDBRequest<number>;get(query:IDBValidKey|IDBKeyRange):IDBRequest<any>;getAll(query?:IDBValidKey|IDBKeyRange|null,count?:number):IDBRequest<any[]>;getAllKeys(query?:IDBValidKey|IDBKeyRange|null,count?:number):IDBRequest<IDBValidKey[]>;getKey(query:IDBValidKey|IDBKeyRange):IDBRequest<IDBValidKey|undefined>;openCursor(query?:IDBValidKey|IDBKeyRange|null,direction?:IDBCursorDirection):IDBRequest<IDBCursorWithValue|null>;openKeyCursor(query?:IDBValidKey|IDBKeyRange|null,direction?:IDBCursorDirection):IDBRequest<IDBCursor|null>;}declare var IDBIndex:{prototype:IDBIndex;new():IDBIndex;};interface IDBKeyRange{readonly lower:any;readonly lowerOpen:boolean;readonly upper:any;readonly upperOpen:boolean;includes(key:any):boolean;}declare var IDBKeyRange:{prototype:IDBKeyRange;new():IDBKeyRange;bound(lower:any,upper:any,lowerOpen?:boolean,upperOpen?:boolean):IDBKeyRange;lowerBound(lower:any,open?:boolean):IDBKeyRange;only(value:any):IDBKeyRange;upperBound(upper:any,open?:boolean):IDBKeyRange;};interface IDBObjectStore{readonly autoIncrement:boolean;readonly indexNames:DOMStringList;readonly keyPath:string|string[];name:string;readonly transaction:IDBTransaction;add(value:any,key?:IDBValidKey):IDBRequest<IDBValidKey>;clear():IDBRequest<undefined>;count(query?:IDBValidKey|IDBKeyRange):IDBRequest<number>;createIndex(name:string,keyPath:string|string[],options?:IDBIndexParameters):IDBIndex;delete(query:IDBValidKey|IDBKeyRange):IDBRequest<undefined>;deleteIndex(name:string):void;get(query:IDBValidKey|IDBKeyRange):IDBRequest<any>;getAll(query?:IDBValidKey|IDBKeyRange|null,count?:number):IDBRequest<any[]>;getAllKeys(query?:IDBValidKey|IDBKeyRange|null,count?:number):IDBRequest<IDBValidKey[]>;getKey(query:IDBValidKey|IDBKeyRange):IDBRequest<IDBValidKey|undefined>;index(name:string):IDBIndex;openCursor(query?:IDBValidKey|IDBKeyRange|null,direction?:IDBCursorDirection):IDBRequest<IDBCursorWithValue|null>;openKeyCursor(query?:IDBValidKey|IDBKeyRange|null,direction?:IDBCursorDirection):IDBRequest<IDBCursor|null>;put(value:any,key?:IDBValidKey):IDBRequest<IDBValidKey>;}declare var IDBObjectStore:{prototype:IDBObjectStore;new():IDBObjectStore;};interface IDBOpenDBRequestEventMap extends IDBRequestEventMap{"blocked":IDBVersionChangeEvent;"upgradeneeded":IDBVersionChangeEvent;}interface IDBOpenDBRequest extends IDBRequest<IDBDatabase>{onblocked:((this:IDBOpenDBRequest,ev:IDBVersionChangeEvent)=>any)|null;onupgradeneeded:((this:IDBOpenDBRequest,ev:IDBVersionChangeEvent)=>any)|null;addEventListener<K extends keyof IDBOpenDBRequestEventMap>(type:K,listener:(this:IDBOpenDBRequest,ev:IDBOpenDBRequestEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof IDBOpenDBRequestEventMap>(type:K,listener:(this:IDBOpenDBRequest,ev:IDBOpenDBRequestEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var IDBOpenDBRequest:{prototype:IDBOpenDBRequest;new():IDBOpenDBRequest;};interface IDBRequestEventMap{"error":Event;"success":Event;}interface IDBRequest<T=any>extends EventTarget{readonly error:DOMException|null;onerror:((this:IDBRequest<T>,ev:Event)=>any)|null;onsuccess:((this:IDBRequest<T>,ev:Event)=>any)|null;readonly readyState:IDBRequestReadyState;readonly result:T;readonly source:IDBObjectStore|IDBIndex|IDBCursor;readonly transaction:IDBTransaction|null;addEventListener<K extends keyof IDBRequestEventMap>(type:K,listener:(this:IDBRequest<T>,ev:IDBRequestEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof IDBRequestEventMap>(type:K,listener:(this:IDBRequest<T>,ev:IDBRequestEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var IDBRequest:{prototype:IDBRequest;new():IDBRequest;};interface IDBTransactionEventMap{"abort":Event;"complete":Event;"error":Event;}interface IDBTransaction extends EventTarget{readonly db:IDBDatabase;readonly durability:IDBTransactionDurability;readonly error:DOMException|null;readonly mode:IDBTransactionMode;readonly objectStoreNames:DOMStringList;onabort:((this:IDBTransaction,ev:Event)=>any)|null;oncomplete:((this:IDBTransaction,ev:Event)=>any)|null;onerror:((this:IDBTransaction,ev:Event)=>any)|null;abort():void;commit():void;objectStore(name:string):IDBObjectStore;addEventListener<K extends keyof IDBTransactionEventMap>(type:K,listener:(this:IDBTransaction,ev:IDBTransactionEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof IDBTransactionEventMap>(type:K,listener:(this:IDBTransaction,ev:IDBTransactionEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var IDBTransaction:{prototype:IDBTransaction;new():IDBTransaction;};interface IDBVersionChangeEvent extends Event{readonly newVersion:number|null;readonly oldVersion:number;}declare var IDBVersionChangeEvent:{prototype:IDBVersionChangeEvent;new(type:string,eventInitDict?:IDBVersionChangeEventInit):IDBVersionChangeEvent;};interface IIRFilterNode extends AudioNode{getFrequencyResponse(frequencyHz:Float32Array,magResponse:Float32Array,phaseResponse:Float32Array):void;}declare var IIRFilterNode:{prototype:IIRFilterNode;new(context:BaseAudioContext,options:IIRFilterOptions):IIRFilterNode;};interface IdleDeadline{readonly didTimeout:boolean;timeRemaining():DOMHighResTimeStamp;}declare var IdleDeadline:{prototype:IdleDeadline;new():IdleDeadline;};interface ImageBitmap{readonly height:number;readonly width:number;close():void;}declare var ImageBitmap:{prototype:ImageBitmap;new():ImageBitmap;};interface ImageBitmapRenderingContext{readonly canvas:HTMLCanvasElement|OffscreenCanvas;transferFromImageBitmap(bitmap:ImageBitmap|null):void;}declare var ImageBitmapRenderingContext:{prototype:ImageBitmapRenderingContext;new():ImageBitmapRenderingContext;};interface ImageData{readonly colorSpace:PredefinedColorSpace;readonly data:Uint8ClampedArray;readonly height:number;readonly width:number;}declare var ImageData:{prototype:ImageData;new(sw:number,sh:number,settings?:ImageDataSettings):ImageData;new(data:Uint8ClampedArray,sw:number,sh?:number,settings?:ImageDataSettings):ImageData;};interface InnerHTML{innerHTML:string;}interface InputDeviceInfo extends MediaDeviceInfo{}declare var InputDeviceInfo:{prototype:InputDeviceInfo;new():InputDeviceInfo;};interface InputEvent extends UIEvent{readonly data:string|null;readonly dataTransfer:DataTransfer|null;readonly inputType:string;readonly isComposing:boolean;getTargetRanges():StaticRange[];}declare var InputEvent:{prototype:InputEvent;new(type:string,eventInitDict?:InputEventInit):InputEvent;};interface IntersectionObserver{readonly root:Element|Document|null;readonly rootMargin:string;readonly thresholds:ReadonlyArray<number>;disconnect():void;observe(target:Element):void;takeRecords():IntersectionObserverEntry[];unobserve(target:Element):void;}declare var IntersectionObserver:{prototype:IntersectionObserver;new(callback:IntersectionObserverCallback,options?:IntersectionObserverInit):IntersectionObserver;};interface IntersectionObserverEntry{readonly boundingClientRect:DOMRectReadOnly;readonly intersectionRatio:number;readonly intersectionRect:DOMRectReadOnly;readonly isIntersecting:boolean;readonly rootBounds:DOMRectReadOnly|null;readonly target:Element;readonly time:DOMHighResTimeStamp;}declare var IntersectionObserverEntry:{prototype:IntersectionObserverEntry;new(intersectionObserverEntryInit:IntersectionObserverEntryInit):IntersectionObserverEntry;};interface KHR_parallel_shader_compile{readonly COMPLETION_STATUS_KHR:GLenum;}interface KeyboardEvent extends UIEvent{readonly altKey:boolean;readonly charCode:number;readonly code:string;readonly ctrlKey:boolean;readonly isComposing:boolean;readonly key:string;readonly keyCode:number;readonly location:number;readonly metaKey:boolean;readonly repeat:boolean;readonly shiftKey:boolean;getModifierState(keyArg:string):boolean;initKeyboardEvent(typeArg:string,bubblesArg?:boolean,cancelableArg?:boolean,viewArg?:Window|null,keyArg?:string,locationArg?:number,ctrlKey?:boolean,altKey?:boolean,shiftKey?:boolean,metaKey?:boolean):void;readonly DOM_KEY_LOCATION_LEFT:number;readonly DOM_KEY_LOCATION_NUMPAD:number;readonly DOM_KEY_LOCATION_RIGHT:number;readonly DOM_KEY_LOCATION_STANDARD:number;}declare var KeyboardEvent:{prototype:KeyboardEvent;new(type:string,eventInitDict?:KeyboardEventInit):KeyboardEvent;readonly DOM_KEY_LOCATION_LEFT:number;readonly DOM_KEY_LOCATION_NUMPAD:number;readonly DOM_KEY_LOCATION_RIGHT:number;readonly DOM_KEY_LOCATION_STANDARD:number;};interface KeyframeEffect extends AnimationEffect{composite:CompositeOperation;iterationComposite:IterationCompositeOperation;pseudoElement:string|null;target:Element|null;getKeyframes():ComputedKeyframe[];setKeyframes(keyframes:Keyframe[]|PropertyIndexedKeyframes|null):void;}declare var KeyframeEffect:{prototype:KeyframeEffect;new(target:Element|null,keyframes:Keyframe[]|PropertyIndexedKeyframes|null,options?:number|KeyframeEffectOptions):KeyframeEffect;new(source:KeyframeEffect):KeyframeEffect;};interface LinkStyle{readonly sheet:CSSStyleSheet|null;}interface Location{readonly ancestorOrigins:DOMStringList;hash:string;host:string;hostname:string;href:string;toString():string;readonly origin:string;pathname:string;port:string;protocol:string;search:string;assign(url:string|URL):void;reload():void;replace(url:string|URL):void;}declare var Location:{prototype:Location;new():Location;};interface Lock{readonly mode:LockMode;readonly name:string;}declare var Lock:{prototype:Lock;new():Lock;};interface LockManager{query():Promise<LockManagerSnapshot>;request(name:string,callback:LockGrantedCallback):Promise<any>;request(name:string,options:LockOptions,callback:LockGrantedCallback):Promise<any>;}declare var LockManager:{prototype:LockManager;new():LockManager;};interface MathMLElementEventMap extends ElementEventMap,DocumentAndElementEventHandlersEventMap,GlobalEventHandlersEventMap{}interface MathMLElement extends Element,DocumentAndElementEventHandlers,ElementCSSInlineStyle,GlobalEventHandlers,HTMLOrSVGElement{addEventListener<K extends keyof MathMLElementEventMap>(type:K,listener:(this:MathMLElement,ev:MathMLElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof MathMLElementEventMap>(type:K,listener:(this:MathMLElement,ev:MathMLElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var MathMLElement:{prototype:MathMLElement;new():MathMLElement;};interface MediaCapabilities{decodingInfo(configuration:MediaDecodingConfiguration):Promise<MediaCapabilitiesDecodingInfo>;encodingInfo(configuration:MediaEncodingConfiguration):Promise<MediaCapabilitiesEncodingInfo>;}declare var MediaCapabilities:{prototype:MediaCapabilities;new():MediaCapabilities;};interface MediaDeviceInfo{readonly deviceId:string;readonly groupId:string;readonly kind:MediaDeviceKind;readonly label:string;toJSON():any;}declare var MediaDeviceInfo:{prototype:MediaDeviceInfo;new():MediaDeviceInfo;};interface MediaDevicesEventMap{"devicechange":Event;}interface MediaDevices extends EventTarget{ondevicechange:((this:MediaDevices,ev:Event)=>any)|null;enumerateDevices():Promise<MediaDeviceInfo[]>;getDisplayMedia(options?:DisplayMediaStreamOptions):Promise<MediaStream>;getSupportedConstraints():MediaTrackSupportedConstraints;getUserMedia(constraints?:MediaStreamConstraints):Promise<MediaStream>;addEventListener<K extends keyof MediaDevicesEventMap>(type:K,listener:(this:MediaDevices,ev:MediaDevicesEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof MediaDevicesEventMap>(type:K,listener:(this:MediaDevices,ev:MediaDevicesEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var MediaDevices:{prototype:MediaDevices;new():MediaDevices;};interface MediaElementAudioSourceNode extends AudioNode{readonly mediaElement:HTMLMediaElement;}declare var MediaElementAudioSourceNode:{prototype:MediaElementAudioSourceNode;new(context:AudioContext,options:MediaElementAudioSourceOptions):MediaElementAudioSourceNode;};interface MediaEncryptedEvent extends Event{readonly initData:ArrayBuffer|null;readonly initDataType:string;}declare var MediaEncryptedEvent:{prototype:MediaEncryptedEvent;new(type:string,eventInitDict?:MediaEncryptedEventInit):MediaEncryptedEvent;};interface MediaError{readonly code:number;readonly message:string;readonly MEDIA_ERR_ABORTED:number;readonly MEDIA_ERR_DECODE:number;readonly MEDIA_ERR_NETWORK:number;readonly MEDIA_ERR_SRC_NOT_SUPPORTED:number;}declare var MediaError:{prototype:MediaError;new():MediaError;readonly MEDIA_ERR_ABORTED:number;readonly MEDIA_ERR_DECODE:number;readonly MEDIA_ERR_NETWORK:number;readonly MEDIA_ERR_SRC_NOT_SUPPORTED:number;};interface MediaKeyMessageEvent extends Event{readonly message:ArrayBuffer;readonly messageType:MediaKeyMessageType;}declare var MediaKeyMessageEvent:{prototype:MediaKeyMessageEvent;new(type:string,eventInitDict:MediaKeyMessageEventInit):MediaKeyMessageEvent;};interface MediaKeySessionEventMap{"keystatuseschange":Event;"message":MediaKeyMessageEvent;}interface MediaKeySession extends EventTarget{readonly closed:Promise<MediaKeySessionClosedReason>;readonly expiration:number;readonly keyStatuses:MediaKeyStatusMap;onkeystatuseschange:((this:MediaKeySession,ev:Event)=>any)|null;onmessage:((this:MediaKeySession,ev:MediaKeyMessageEvent)=>any)|null;readonly sessionId:string;close():Promise<void>;generateRequest(initDataType:string,initData:BufferSource):Promise<void>;load(sessionId:string):Promise<boolean>;remove():Promise<void>;update(response:BufferSource):Promise<void>;addEventListener<K extends keyof MediaKeySessionEventMap>(type:K,listener:(this:MediaKeySession,ev:MediaKeySessionEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof MediaKeySessionEventMap>(type:K,listener:(this:MediaKeySession,ev:MediaKeySessionEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var MediaKeySession:{prototype:MediaKeySession;new():MediaKeySession;};interface MediaKeyStatusMap{readonly size:number;get(keyId:BufferSource):MediaKeyStatus|undefined;has(keyId:BufferSource):boolean;forEach(callbackfn:(value:MediaKeyStatus,key:BufferSource,parent:MediaKeyStatusMap)=>void,thisArg?:any):void;}declare var MediaKeyStatusMap:{prototype:MediaKeyStatusMap;new():MediaKeyStatusMap;};interface MediaKeySystemAccess{readonly keySystem:string;createMediaKeys():Promise<MediaKeys>;getConfiguration():MediaKeySystemConfiguration;}declare var MediaKeySystemAccess:{prototype:MediaKeySystemAccess;new():MediaKeySystemAccess;};interface MediaKeys{createSession(sessionType?:MediaKeySessionType):MediaKeySession;setServerCertificate(serverCertificate:BufferSource):Promise<boolean>;}declare var MediaKeys:{prototype:MediaKeys;new():MediaKeys;};interface MediaList{readonly length:number;mediaText:string;toString():string;appendMedium(medium:string):void;deleteMedium(medium:string):void;item(index:number):string|null;[index:number]:string;}declare var MediaList:{prototype:MediaList;new():MediaList;};interface MediaMetadata{album:string;artist:string;artwork:ReadonlyArray<MediaImage>;title:string;}declare var MediaMetadata:{prototype:MediaMetadata;new(init?:MediaMetadataInit):MediaMetadata;};interface MediaQueryListEventMap{"change":MediaQueryListEvent;}interface MediaQueryList extends EventTarget{readonly matches:boolean;readonly media:string;onchange:((this:MediaQueryList,ev:MediaQueryListEvent)=>any)|null;addListener(callback:((this:MediaQueryList,ev:MediaQueryListEvent)=>any)|null):void;removeListener(callback:((this:MediaQueryList,ev:MediaQueryListEvent)=>any)|null):void;addEventListener<K extends keyof MediaQueryListEventMap>(type:K,listener:(this:MediaQueryList,ev:MediaQueryListEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof MediaQueryListEventMap>(type:K,listener:(this:MediaQueryList,ev:MediaQueryListEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var MediaQueryList:{prototype:MediaQueryList;new():MediaQueryList;};interface MediaQueryListEvent extends Event{readonly matches:boolean;readonly media:string;}declare var MediaQueryListEvent:{prototype:MediaQueryListEvent;new(type:string,eventInitDict?:MediaQueryListEventInit):MediaQueryListEvent;};interface MediaRecorderEventMap{"dataavailable":BlobEvent;"error":Event;"pause":Event;"resume":Event;"start":Event;"stop":Event;}interface MediaRecorder extends EventTarget{readonly audioBitsPerSecond:number;readonly mimeType:string;ondataavailable:((this:MediaRecorder,ev:BlobEvent)=>any)|null;onerror:((this:MediaRecorder,ev:Event)=>any)|null;onpause:((this:MediaRecorder,ev:Event)=>any)|null;onresume:((this:MediaRecorder,ev:Event)=>any)|null;onstart:((this:MediaRecorder,ev:Event)=>any)|null;onstop:((this:MediaRecorder,ev:Event)=>any)|null;readonly state:RecordingState;readonly stream:MediaStream;readonly videoBitsPerSecond:number;pause():void;requestData():void;resume():void;start(timeslice?:number):void;stop():void;addEventListener<K extends keyof MediaRecorderEventMap>(type:K,listener:(this:MediaRecorder,ev:MediaRecorderEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof MediaRecorderEventMap>(type:K,listener:(this:MediaRecorder,ev:MediaRecorderEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var MediaRecorder:{prototype:MediaRecorder;new(stream:MediaStream,options?:MediaRecorderOptions):MediaRecorder;isTypeSupported(type:string):boolean;};interface MediaSession{metadata:MediaMetadata|null;playbackState:MediaSessionPlaybackState;setActionHandler(action:MediaSessionAction,handler:MediaSessionActionHandler|null):void;setPositionState(state?:MediaPositionState):void;}declare var MediaSession:{prototype:MediaSession;new():MediaSession;};interface MediaSourceEventMap{"sourceclose":Event;"sourceended":Event;"sourceopen":Event;}interface MediaSource extends EventTarget{readonly activeSourceBuffers:SourceBufferList;duration:number;onsourceclose:((this:MediaSource,ev:Event)=>any)|null;onsourceended:((this:MediaSource,ev:Event)=>any)|null;onsourceopen:((this:MediaSource,ev:Event)=>any)|null;readonly readyState:ReadyState;readonly sourceBuffers:SourceBufferList;addSourceBuffer(type:string):SourceBuffer;clearLiveSeekableRange():void;endOfStream(error?:EndOfStreamError):void;removeSourceBuffer(sourceBuffer:SourceBuffer):void;setLiveSeekableRange(start:number,end:number):void;addEventListener<K extends keyof MediaSourceEventMap>(type:K,listener:(this:MediaSource,ev:MediaSourceEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof MediaSourceEventMap>(type:K,listener:(this:MediaSource,ev:MediaSourceEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var MediaSource:{prototype:MediaSource;new():MediaSource;isTypeSupported(type:string):boolean;};interface MediaStreamEventMap{"addtrack":MediaStreamTrackEvent;"removetrack":MediaStreamTrackEvent;}interface MediaStream extends EventTarget{readonly active:boolean;readonly id:string;onaddtrack:((this:MediaStream,ev:MediaStreamTrackEvent)=>any)|null;onremovetrack:((this:MediaStream,ev:MediaStreamTrackEvent)=>any)|null;addTrack(track:MediaStreamTrack):void;clone():MediaStream;getAudioTracks():MediaStreamTrack[];getTrackById(trackId:string):MediaStreamTrack|null;getTracks():MediaStreamTrack[];getVideoTracks():MediaStreamTrack[];removeTrack(track:MediaStreamTrack):void;addEventListener<K extends keyof MediaStreamEventMap>(type:K,listener:(this:MediaStream,ev:MediaStreamEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof MediaStreamEventMap>(type:K,listener:(this:MediaStream,ev:MediaStreamEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var MediaStream:{prototype:MediaStream;new():MediaStream;new(stream:MediaStream):MediaStream;new(tracks:MediaStreamTrack[]):MediaStream;};interface MediaStreamAudioDestinationNode extends AudioNode{readonly stream:MediaStream;}declare var MediaStreamAudioDestinationNode:{prototype:MediaStreamAudioDestinationNode;new(context:AudioContext,options?:AudioNodeOptions):MediaStreamAudioDestinationNode;};interface MediaStreamAudioSourceNode extends AudioNode{readonly mediaStream:MediaStream;}declare var MediaStreamAudioSourceNode:{prototype:MediaStreamAudioSourceNode;new(context:AudioContext,options:MediaStreamAudioSourceOptions):MediaStreamAudioSourceNode;};interface MediaStreamTrackEventMap{"ended":Event;"mute":Event;"unmute":Event;}interface MediaStreamTrack extends EventTarget{contentHint:string;enabled:boolean;readonly id:string;readonly kind:string;readonly label:string;readonly muted:boolean;onended:((this:MediaStreamTrack,ev:Event)=>any)|null;onmute:((this:MediaStreamTrack,ev:Event)=>any)|null;onunmute:((this:MediaStreamTrack,ev:Event)=>any)|null;readonly readyState:MediaStreamTrackState;applyConstraints(constraints?:MediaTrackConstraints):Promise<void>;clone():MediaStreamTrack;getCapabilities():MediaTrackCapabilities;getConstraints():MediaTrackConstraints;getSettings():MediaTrackSettings;stop():void;addEventListener<K extends keyof MediaStreamTrackEventMap>(type:K,listener:(this:MediaStreamTrack,ev:MediaStreamTrackEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof MediaStreamTrackEventMap>(type:K,listener:(this:MediaStreamTrack,ev:MediaStreamTrackEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var MediaStreamTrack:{prototype:MediaStreamTrack;new():MediaStreamTrack;};interface MediaStreamTrackEvent extends Event{readonly track:MediaStreamTrack;}declare var MediaStreamTrackEvent:{prototype:MediaStreamTrackEvent;new(type:string,eventInitDict:MediaStreamTrackEventInit):MediaStreamTrackEvent;};interface MessageChannel{readonly port1:MessagePort;readonly port2:MessagePort;}declare var MessageChannel:{prototype:MessageChannel;new():MessageChannel;};interface MessageEvent<T=any>extends Event{readonly data:T;readonly lastEventId:string;readonly origin:string;readonly ports:ReadonlyArray<MessagePort>;readonly source:MessageEventSource|null;initMessageEvent(type:string,bubbles?:boolean,cancelable?:boolean,data?:any,origin?:string,lastEventId?:string,source?:MessageEventSource|null,ports?:MessagePort[]):void;}declare var MessageEvent:{prototype:MessageEvent;new<T>(type:string,eventInitDict?:MessageEventInit<T>):MessageEvent<T>;};interface MessagePortEventMap{"message":MessageEvent;"messageerror":MessageEvent;}interface MessagePort extends EventTarget{onmessage:((this:MessagePort,ev:MessageEvent)=>any)|null;onmessageerror:((this:MessagePort,ev:MessageEvent)=>any)|null;close():void;postMessage(message:any,transfer:Transferable[]):void;postMessage(message:any,options?:StructuredSerializeOptions):void;start():void;addEventListener<K extends keyof MessagePortEventMap>(type:K,listener:(this:MessagePort,ev:MessagePortEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof MessagePortEventMap>(type:K,listener:(this:MessagePort,ev:MessagePortEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var MessagePort:{prototype:MessagePort;new():MessagePort;};interface MimeType{readonly description:string;readonly enabledPlugin:Plugin;readonly suffixes:string;readonly type:string;}declare var MimeType:{prototype:MimeType;new():MimeType;};interface MimeTypeArray{readonly length:number;item(index:number):MimeType|null;namedItem(name:string):MimeType|null;[index:number]:MimeType;}declare var MimeTypeArray:{prototype:MimeTypeArray;new():MimeTypeArray;};interface MouseEvent extends UIEvent{readonly altKey:boolean;readonly button:number;readonly buttons:number;readonly clientX:number;readonly clientY:number;readonly ctrlKey:boolean;readonly metaKey:boolean;readonly movementX:number;readonly movementY:number;readonly offsetX:number;readonly offsetY:number;readonly pageX:number;readonly pageY:number;readonly relatedTarget:EventTarget|null;readonly screenX:number;readonly screenY:number;readonly shiftKey:boolean;readonly x:number;readonly y:number;getModifierState(keyArg:string):boolean;initMouseEvent(typeArg:string,canBubbleArg:boolean,cancelableArg:boolean,viewArg:Window,detailArg:number,screenXArg:number,screenYArg:number,clientXArg:number,clientYArg:number,ctrlKeyArg:boolean,altKeyArg:boolean,shiftKeyArg:boolean,metaKeyArg:boolean,buttonArg:number,relatedTargetArg:EventTarget|null):void;}declare var MouseEvent:{prototype:MouseEvent;new(type:string,eventInitDict?:MouseEventInit):MouseEvent;};interface MutationEvent extends Event{readonly attrChange:number;readonly attrName:string;readonly newValue:string;readonly prevValue:string;readonly relatedNode:Node|null;initMutationEvent(typeArg:string,bubblesArg?:boolean,cancelableArg?:boolean,relatedNodeArg?:Node|null,prevValueArg?:string,newValueArg?:string,attrNameArg?:string,attrChangeArg?:number):void;readonly ADDITION:number;readonly MODIFICATION:number;readonly REMOVAL:number;}declare var MutationEvent:{prototype:MutationEvent;new():MutationEvent;readonly ADDITION:number;readonly MODIFICATION:number;readonly REMOVAL:number;};interface MutationObserver{disconnect():void;observe(target:Node,options?:MutationObserverInit):void;takeRecords():MutationRecord[];}declare var MutationObserver:{prototype:MutationObserver;new(callback:MutationCallback):MutationObserver;};interface MutationRecord{readonly addedNodes:NodeList;readonly attributeName:string|null;readonly attributeNamespace:string|null;readonly nextSibling:Node|null;readonly oldValue:string|null;readonly previousSibling:Node|null;readonly removedNodes:NodeList;readonly target:Node;readonly type:MutationRecordType;}declare var MutationRecord:{prototype:MutationRecord;new():MutationRecord;};interface NamedNodeMap{readonly length:number;getNamedItem(qualifiedName:string):Attr|null;getNamedItemNS(namespace:string|null,localName:string):Attr|null;item(index:number):Attr|null;removeNamedItem(qualifiedName:string):Attr;removeNamedItemNS(namespace:string|null,localName:string):Attr;setNamedItem(attr:Attr):Attr|null;setNamedItemNS(attr:Attr):Attr|null;[index:number]:Attr;}declare var NamedNodeMap:{prototype:NamedNodeMap;new():NamedNodeMap;};interface NavigationPreloadManager{disable():Promise<void>;enable():Promise<void>;getState():Promise<NavigationPreloadState>;setHeaderValue(value:string):Promise<void>;}declare var NavigationPreloadManager:{prototype:NavigationPreloadManager;new():NavigationPreloadManager;};interface Navigator extends NavigatorAutomationInformation,NavigatorConcurrentHardware,NavigatorContentUtils,NavigatorCookies,NavigatorID,NavigatorLanguage,NavigatorLocks,NavigatorOnLine,NavigatorPlugins,NavigatorStorage{readonly clipboard:Clipboard;readonly credentials:CredentialsContainer;readonly doNotTrack:string|null;readonly geolocation:Geolocation;readonly maxTouchPoints:number;readonly mediaCapabilities:MediaCapabilities;readonly mediaDevices:MediaDevices;readonly mediaSession:MediaSession;readonly permissions:Permissions;readonly serviceWorker:ServiceWorkerContainer;canShare(data?:ShareData):boolean;getGamepads():(Gamepad|null)[];requestMediaKeySystemAccess(keySystem:string,supportedConfigurations:MediaKeySystemConfiguration[]):Promise<MediaKeySystemAccess>;sendBeacon(url:string|URL,data?:BodyInit|null):boolean;share(data?:ShareData):Promise<void>;vibrate(pattern:VibratePattern):boolean;}declare var Navigator:{prototype:Navigator;new():Navigator;};interface NavigatorAutomationInformation{readonly webdriver:boolean;}interface NavigatorConcurrentHardware{readonly hardwareConcurrency:number;}interface NavigatorContentUtils{registerProtocolHandler(scheme:string,url:string|URL):void;}interface NavigatorCookies{readonly cookieEnabled:boolean;}interface NavigatorID{readonly appCodeName:string;readonly appName:string;readonly appVersion:string;readonly platform:string;readonly product:string;readonly productSub:string;readonly userAgent:string;readonly vendor:string;readonly vendorSub:string;}interface NavigatorLanguage{readonly language:string;readonly languages:ReadonlyArray<string>;}interface NavigatorLocks{readonly locks:LockManager;}interface NavigatorOnLine{readonly onLine:boolean;}interface NavigatorPlugins{readonly mimeTypes:MimeTypeArray;readonly pdfViewerEnabled:boolean;readonly plugins:PluginArray;javaEnabled():boolean;}interface NavigatorStorage{readonly storage:StorageManager;}interface Node extends EventTarget{readonly baseURI:string;readonly childNodes:NodeListOf<ChildNode>;readonly firstChild:ChildNode|null;readonly isConnected:boolean;readonly lastChild:ChildNode|null;readonly nextSibling:ChildNode|null;readonly nodeName:string;readonly nodeType:number;nodeValue:string|null;readonly ownerDocument:Document|null;readonly parentElement:HTMLElement|null;readonly parentNode:ParentNode|null;readonly previousSibling:ChildNode|null;textContent:string|null;appendChild<T extends Node>(node:T):T;cloneNode(deep?:boolean):Node;compareDocumentPosition(other:Node):number;contains(other:Node|null):boolean;getRootNode(options?:GetRootNodeOptions):Node;hasChildNodes():boolean;insertBefore<T extends Node>(node:T,child:Node|null):T;isDefaultNamespace(namespace:string|null):boolean;isEqualNode(otherNode:Node|null):boolean;isSameNode(otherNode:Node|null):boolean;lookupNamespaceURI(prefix:string|null):string|null;lookupPrefix(namespace:string|null):string|null;normalize():void;removeChild<T extends Node>(child:T):T;replaceChild<T extends Node>(node:Node,child:T):T;readonly ATTRIBUTE_NODE:number;readonly CDATA_SECTION_NODE:number;readonly COMMENT_NODE:number;readonly DOCUMENT_FRAGMENT_NODE:number;readonly DOCUMENT_NODE:number;readonly DOCUMENT_POSITION_CONTAINED_BY:number;readonly DOCUMENT_POSITION_CONTAINS:number;readonly DOCUMENT_POSITION_DISCONNECTED:number;readonly DOCUMENT_POSITION_FOLLOWING:number;readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC:number;readonly DOCUMENT_POSITION_PRECEDING:number;readonly DOCUMENT_TYPE_NODE:number;readonly ELEMENT_NODE:number;readonly ENTITY_NODE:number;readonly ENTITY_REFERENCE_NODE:number;readonly NOTATION_NODE:number;readonly PROCESSING_INSTRUCTION_NODE:number;readonly TEXT_NODE:number;}declare var Node:{prototype:Node;new():Node;readonly ATTRIBUTE_NODE:number;readonly CDATA_SECTION_NODE:number;readonly COMMENT_NODE:number;readonly DOCUMENT_FRAGMENT_NODE:number;readonly DOCUMENT_NODE:number;readonly DOCUMENT_POSITION_CONTAINED_BY:number;readonly DOCUMENT_POSITION_CONTAINS:number;readonly DOCUMENT_POSITION_DISCONNECTED:number;readonly DOCUMENT_POSITION_FOLLOWING:number;readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC:number;readonly DOCUMENT_POSITION_PRECEDING:number;readonly DOCUMENT_TYPE_NODE:number;readonly ELEMENT_NODE:number;readonly ENTITY_NODE:number;readonly ENTITY_REFERENCE_NODE:number;readonly NOTATION_NODE:number;readonly PROCESSING_INSTRUCTION_NODE:number;readonly TEXT_NODE:number;};interface NodeIterator{readonly filter:NodeFilter|null;readonly pointerBeforeReferenceNode:boolean;readonly referenceNode:Node;readonly root:Node;readonly whatToShow:number;detach():void;nextNode():Node|null;previousNode():Node|null;}declare var NodeIterator:{prototype:NodeIterator;new():NodeIterator;};interface NodeList{readonly length:number;item(index:number):Node|null;forEach(callbackfn:(value:Node,key:number,parent:NodeList)=>void,thisArg?:any):void;[index:number]:Node;}declare var NodeList:{prototype:NodeList;new():NodeList;};interface NodeListOf<TNode extends Node>extends NodeList{item(index:number):TNode;forEach(callbackfn:(value:TNode,key:number,parent:NodeListOf<TNode>)=>void,thisArg?:any):void;[index:number]:TNode;}interface NonDocumentTypeChildNode{readonly nextElementSibling:Element|null;readonly previousElementSibling:Element|null;}interface NonElementParentNode{getElementById(elementId:string):Element|null;}interface NotificationEventMap{"click":Event;"close":Event;"error":Event;"show":Event;}interface Notification extends EventTarget{readonly body:string;readonly data:any;readonly dir:NotificationDirection;readonly icon:string;readonly lang:string;onclick:((this:Notification,ev:Event)=>any)|null;onclose:((this:Notification,ev:Event)=>any)|null;onerror:((this:Notification,ev:Event)=>any)|null;onshow:((this:Notification,ev:Event)=>any)|null;readonly tag:string;readonly title:string;close():void;addEventListener<K extends keyof NotificationEventMap>(type:K,listener:(this:Notification,ev:NotificationEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof NotificationEventMap>(type:K,listener:(this:Notification,ev:NotificationEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var Notification:{prototype:Notification;new(title:string,options?:NotificationOptions):Notification;readonly permission:NotificationPermission;requestPermission(deprecatedCallback?:NotificationPermissionCallback):Promise<NotificationPermission>;};interface OES_draw_buffers_indexed{blendEquationSeparateiOES(buf:GLuint,modeRGB:GLenum,modeAlpha:GLenum):void;blendEquationiOES(buf:GLuint,mode:GLenum):void;blendFuncSeparateiOES(buf:GLuint,srcRGB:GLenum,dstRGB:GLenum,srcAlpha:GLenum,dstAlpha:GLenum):void;blendFunciOES(buf:GLuint,src:GLenum,dst:GLenum):void;colorMaskiOES(buf:GLuint,r:GLboolean,g:GLboolean,b:GLboolean,a:GLboolean):void;disableiOES(target:GLenum,index:GLuint):void;enableiOES(target:GLenum,index:GLuint):void;}interface OES_element_index_uint{}interface OES_fbo_render_mipmap{}interface OES_standard_derivatives{readonly FRAGMENT_SHADER_DERIVATIVE_HINT_OES:GLenum;}interface OES_texture_float{}interface OES_texture_float_linear{}interface OES_texture_half_float{readonly HALF_FLOAT_OES:GLenum;}interface OES_texture_half_float_linear{}interface OES_vertex_array_object{bindVertexArrayOES(arrayObject:WebGLVertexArrayObjectOES|null):void;createVertexArrayOES():WebGLVertexArrayObjectOES|null;deleteVertexArrayOES(arrayObject:WebGLVertexArrayObjectOES|null):void;isVertexArrayOES(arrayObject:WebGLVertexArrayObjectOES|null):GLboolean;readonly VERTEX_ARRAY_BINDING_OES:GLenum;}interface OVR_multiview2{framebufferTextureMultiviewOVR(target:GLenum,attachment:GLenum,texture:WebGLTexture|null,level:GLint,baseViewIndex:GLint,numViews:GLsizei):void;readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_BASE_VIEW_INDEX_OVR:GLenum;readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_NUM_VIEWS_OVR:GLenum;readonly FRAMEBUFFER_INCOMPLETE_VIEW_TARGETS_OVR:GLenum;readonly MAX_VIEWS_OVR:GLenum;}interface OfflineAudioCompletionEvent extends Event{readonly renderedBuffer:AudioBuffer;}declare var OfflineAudioCompletionEvent:{prototype:OfflineAudioCompletionEvent;new(type:string,eventInitDict:OfflineAudioCompletionEventInit):OfflineAudioCompletionEvent;};interface OfflineAudioContextEventMap extends BaseAudioContextEventMap{"complete":OfflineAudioCompletionEvent;}interface OfflineAudioContext extends BaseAudioContext{readonly length:number;oncomplete:((this:OfflineAudioContext,ev:OfflineAudioCompletionEvent)=>any)|null;resume():Promise<void>;startRendering():Promise<AudioBuffer>;suspend(suspendTime:number):Promise<void>;addEventListener<K extends keyof OfflineAudioContextEventMap>(type:K,listener:(this:OfflineAudioContext,ev:OfflineAudioContextEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof OfflineAudioContextEventMap>(type:K,listener:(this:OfflineAudioContext,ev:OfflineAudioContextEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var OfflineAudioContext:{prototype:OfflineAudioContext;new(contextOptions:OfflineAudioContextOptions):OfflineAudioContext;new(numberOfChannels:number,length:number,sampleRate:number):OfflineAudioContext;};interface OffscreenCanvasEventMap{"contextlost":Event;"contextrestored":Event;}interface OffscreenCanvas extends EventTarget{height:number;oncontextlost:((this:OffscreenCanvas,ev:Event)=>any)|null;oncontextrestored:((this:OffscreenCanvas,ev:Event)=>any)|null;width:number;getContext(contextId:OffscreenRenderingContextId,options?:any):OffscreenRenderingContext|null;transferToImageBitmap():ImageBitmap;addEventListener<K extends keyof OffscreenCanvasEventMap>(type:K,listener:(this:OffscreenCanvas,ev:OffscreenCanvasEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof OffscreenCanvasEventMap>(type:K,listener:(this:OffscreenCanvas,ev:OffscreenCanvasEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var OffscreenCanvas:{prototype:OffscreenCanvas;new(width:number,height:number):OffscreenCanvas;};interface OffscreenCanvasRenderingContext2D extends CanvasCompositing,CanvasDrawImage,CanvasDrawPath,CanvasFillStrokeStyles,CanvasFilters,CanvasImageData,CanvasImageSmoothing,CanvasPath,CanvasPathDrawingStyles,CanvasRect,CanvasShadowStyles,CanvasState,CanvasText,CanvasTextDrawingStyles,CanvasTransform{readonly canvas:OffscreenCanvas;commit():void;}declare var OffscreenCanvasRenderingContext2D:{prototype:OffscreenCanvasRenderingContext2D;new():OffscreenCanvasRenderingContext2D;};interface OscillatorNode extends AudioScheduledSourceNode{readonly detune:AudioParam;readonly frequency:AudioParam;type:OscillatorType;setPeriodicWave(periodicWave:PeriodicWave):void;addEventListener<K extends keyof AudioScheduledSourceNodeEventMap>(type:K,listener:(this:OscillatorNode,ev:AudioScheduledSourceNodeEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof AudioScheduledSourceNodeEventMap>(type:K,listener:(this:OscillatorNode,ev:AudioScheduledSourceNodeEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var OscillatorNode:{prototype:OscillatorNode;new(context:BaseAudioContext,options?:OscillatorOptions):OscillatorNode;};interface OverconstrainedError extends Error{readonly constraint:string;}declare var OverconstrainedError:{prototype:OverconstrainedError;new(constraint:string,message?:string):OverconstrainedError;};interface PageTransitionEvent extends Event{readonly persisted:boolean;}declare var PageTransitionEvent:{prototype:PageTransitionEvent;new(type:string,eventInitDict?:PageTransitionEventInit):PageTransitionEvent;};interface PannerNode extends AudioNode{coneInnerAngle:number;coneOuterAngle:number;coneOuterGain:number;distanceModel:DistanceModelType;maxDistance:number;readonly orientationX:AudioParam;readonly orientationY:AudioParam;readonly orientationZ:AudioParam;panningModel:PanningModelType;readonly positionX:AudioParam;readonly positionY:AudioParam;readonly positionZ:AudioParam;refDistance:number;rolloffFactor:number;setOrientation(x:number,y:number,z:number):void;setPosition(x:number,y:number,z:number):void;}declare var PannerNode:{prototype:PannerNode;new(context:BaseAudioContext,options?:PannerOptions):PannerNode;};interface ParentNode extends Node{readonly childElementCount:number;readonly children:HTMLCollection;readonly firstElementChild:Element|null;readonly lastElementChild:Element|null;append(...nodes:(Node|string)[]):void;prepend(...nodes:(Node|string)[]):void;querySelector<K extends keyof HTMLElementTagNameMap>(selectors:K):HTMLElementTagNameMap[K]|null;querySelector<K extends keyof SVGElementTagNameMap>(selectors:K):SVGElementTagNameMap[K]|null;querySelector<E extends Element=Element>(selectors:string):E|null;querySelectorAll<K extends keyof HTMLElementTagNameMap>(selectors:K):NodeListOf<HTMLElementTagNameMap[K]>;querySelectorAll<K extends keyof SVGElementTagNameMap>(selectors:K):NodeListOf<SVGElementTagNameMap[K]>;querySelectorAll<E extends Element=Element>(selectors:string):NodeListOf<E>;replaceChildren(...nodes:(Node|string)[]):void;}interface Path2D extends CanvasPath{addPath(path:Path2D,transform?:DOMMatrix2DInit):void;}declare var Path2D:{prototype:Path2D;new(path?:Path2D|string):Path2D;};interface PaymentMethodChangeEvent extends PaymentRequestUpdateEvent{readonly methodDetails:any;readonly methodName:string;}declare var PaymentMethodChangeEvent:{prototype:PaymentMethodChangeEvent;new(type:string,eventInitDict?:PaymentMethodChangeEventInit):PaymentMethodChangeEvent;};interface PaymentRequestEventMap{"paymentmethodchange":Event;}interface PaymentRequest extends EventTarget{readonly id:string;onpaymentmethodchange:((this:PaymentRequest,ev:Event)=>any)|null;abort():Promise<void>;canMakePayment():Promise<boolean>;show(detailsPromise?:PaymentDetailsUpdate|PromiseLike<PaymentDetailsUpdate>):Promise<PaymentResponse>;addEventListener<K extends keyof PaymentRequestEventMap>(type:K,listener:(this:PaymentRequest,ev:PaymentRequestEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof PaymentRequestEventMap>(type:K,listener:(this:PaymentRequest,ev:PaymentRequestEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var PaymentRequest:{prototype:PaymentRequest;new(methodData:PaymentMethodData[],details:PaymentDetailsInit):PaymentRequest;};interface PaymentRequestUpdateEvent extends Event{updateWith(detailsPromise:PaymentDetailsUpdate|PromiseLike<PaymentDetailsUpdate>):void;}declare var PaymentRequestUpdateEvent:{prototype:PaymentRequestUpdateEvent;new(type:string,eventInitDict?:PaymentRequestUpdateEventInit):PaymentRequestUpdateEvent;};interface PaymentResponse extends EventTarget{readonly details:any;readonly methodName:string;readonly requestId:string;complete(result?:PaymentComplete):Promise<void>;retry(errorFields?:PaymentValidationErrors):Promise<void>;toJSON():any;}declare var PaymentResponse:{prototype:PaymentResponse;new():PaymentResponse;};interface PerformanceEventMap{"resourcetimingbufferfull":Event;}interface Performance extends EventTarget{readonly eventCounts:EventCounts;readonly navigation:PerformanceNavigation;onresourcetimingbufferfull:((this:Performance,ev:Event)=>any)|null;readonly timeOrigin:DOMHighResTimeStamp;readonly timing:PerformanceTiming;clearMarks(markName?:string):void;clearMeasures(measureName?:string):void;clearResourceTimings():void;getEntries():PerformanceEntryList;getEntriesByName(name:string,type?:string):PerformanceEntryList;getEntriesByType(type:string):PerformanceEntryList;mark(markName:string,markOptions?:PerformanceMarkOptions):PerformanceMark;measure(measureName:string,startOrMeasureOptions?:string|PerformanceMeasureOptions,endMark?:string):PerformanceMeasure;now():DOMHighResTimeStamp;setResourceTimingBufferSize(maxSize:number):void;toJSON():any;addEventListener<K extends keyof PerformanceEventMap>(type:K,listener:(this:Performance,ev:PerformanceEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof PerformanceEventMap>(type:K,listener:(this:Performance,ev:PerformanceEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var Performance:{prototype:Performance;new():Performance;};interface PerformanceEntry{readonly duration:DOMHighResTimeStamp;readonly entryType:string;readonly name:string;readonly startTime:DOMHighResTimeStamp;toJSON():any;}declare var PerformanceEntry:{prototype:PerformanceEntry;new():PerformanceEntry;};interface PerformanceEventTiming extends PerformanceEntry{readonly cancelable:boolean;readonly processingEnd:DOMHighResTimeStamp;readonly processingStart:DOMHighResTimeStamp;readonly target:Node|null;toJSON():any;}declare var PerformanceEventTiming:{prototype:PerformanceEventTiming;new():PerformanceEventTiming;};interface PerformanceMark extends PerformanceEntry{readonly detail:any;}declare var PerformanceMark:{prototype:PerformanceMark;new(markName:string,markOptions?:PerformanceMarkOptions):PerformanceMark;};interface PerformanceMeasure extends PerformanceEntry{readonly detail:any;}declare var PerformanceMeasure:{prototype:PerformanceMeasure;new():PerformanceMeasure;};interface PerformanceNavigation{readonly redirectCount:number;readonly type:number;toJSON():any;readonly TYPE_BACK_FORWARD:number;readonly TYPE_NAVIGATE:number;readonly TYPE_RELOAD:number;readonly TYPE_RESERVED:number;}declare var PerformanceNavigation:{prototype:PerformanceNavigation;new():PerformanceNavigation;readonly TYPE_BACK_FORWARD:number;readonly TYPE_NAVIGATE:number;readonly TYPE_RELOAD:number;readonly TYPE_RESERVED:number;};interface PerformanceNavigationTiming extends PerformanceResourceTiming{readonly domComplete:DOMHighResTimeStamp;readonly domContentLoadedEventEnd:DOMHighResTimeStamp;readonly domContentLoadedEventStart:DOMHighResTimeStamp;readonly domInteractive:DOMHighResTimeStamp;readonly loadEventEnd:DOMHighResTimeStamp;readonly loadEventStart:DOMHighResTimeStamp;readonly redirectCount:number;readonly type:NavigationTimingType;readonly unloadEventEnd:DOMHighResTimeStamp;readonly unloadEventStart:DOMHighResTimeStamp;toJSON():any;}declare var PerformanceNavigationTiming:{prototype:PerformanceNavigationTiming;new():PerformanceNavigationTiming;};interface PerformanceObserver{disconnect():void;observe(options?:PerformanceObserverInit):void;takeRecords():PerformanceEntryList;}declare var PerformanceObserver:{prototype:PerformanceObserver;new(callback:PerformanceObserverCallback):PerformanceObserver;readonly supportedEntryTypes:ReadonlyArray<string>;};interface PerformanceObserverEntryList{getEntries():PerformanceEntryList;getEntriesByName(name:string,type?:string):PerformanceEntryList;getEntriesByType(type:string):PerformanceEntryList;}declare var PerformanceObserverEntryList:{prototype:PerformanceObserverEntryList;new():PerformanceObserverEntryList;};interface PerformancePaintTiming extends PerformanceEntry{}declare var PerformancePaintTiming:{prototype:PerformancePaintTiming;new():PerformancePaintTiming;};interface PerformanceResourceTiming extends PerformanceEntry{readonly connectEnd:DOMHighResTimeStamp;readonly connectStart:DOMHighResTimeStamp;readonly decodedBodySize:number;readonly domainLookupEnd:DOMHighResTimeStamp;readonly domainLookupStart:DOMHighResTimeStamp;readonly encodedBodySize:number;readonly fetchStart:DOMHighResTimeStamp;readonly initiatorType:string;readonly nextHopProtocol:string;readonly redirectEnd:DOMHighResTimeStamp;readonly redirectStart:DOMHighResTimeStamp;readonly requestStart:DOMHighResTimeStamp;readonly responseEnd:DOMHighResTimeStamp;readonly responseStart:DOMHighResTimeStamp;readonly secureConnectionStart:DOMHighResTimeStamp;readonly serverTiming:ReadonlyArray<PerformanceServerTiming>;readonly transferSize:number;readonly workerStart:DOMHighResTimeStamp;toJSON():any;}declare var PerformanceResourceTiming:{prototype:PerformanceResourceTiming;new():PerformanceResourceTiming;};interface PerformanceServerTiming{readonly description:string;readonly duration:DOMHighResTimeStamp;readonly name:string;toJSON():any;}declare var PerformanceServerTiming:{prototype:PerformanceServerTiming;new():PerformanceServerTiming;};interface PerformanceTiming{readonly connectEnd:number;readonly connectStart:number;readonly domComplete:number;readonly domContentLoadedEventEnd:number;readonly domContentLoadedEventStart:number;readonly domInteractive:number;readonly domLoading:number;readonly domainLookupEnd:number;readonly domainLookupStart:number;readonly fetchStart:number;readonly loadEventEnd:number;readonly loadEventStart:number;readonly navigationStart:number;readonly redirectEnd:number;readonly redirectStart:number;readonly requestStart:number;readonly responseEnd:number;readonly responseStart:number;readonly secureConnectionStart:number;readonly unloadEventEnd:number;readonly unloadEventStart:number;toJSON():any;}declare var PerformanceTiming:{prototype:PerformanceTiming;new():PerformanceTiming;};interface PeriodicWave{}declare var PeriodicWave:{prototype:PeriodicWave;new(context:BaseAudioContext,options?:PeriodicWaveOptions):PeriodicWave;};interface PermissionStatusEventMap{"change":Event;}interface PermissionStatus extends EventTarget{readonly name:string;onchange:((this:PermissionStatus,ev:Event)=>any)|null;readonly state:PermissionState;addEventListener<K extends keyof PermissionStatusEventMap>(type:K,listener:(this:PermissionStatus,ev:PermissionStatusEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof PermissionStatusEventMap>(type:K,listener:(this:PermissionStatus,ev:PermissionStatusEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var PermissionStatus:{prototype:PermissionStatus;new():PermissionStatus;};interface Permissions{query(permissionDesc:PermissionDescriptor):Promise<PermissionStatus>;}declare var Permissions:{prototype:Permissions;new():Permissions;};interface PictureInPictureEvent extends Event{readonly pictureInPictureWindow:PictureInPictureWindow;}declare var PictureInPictureEvent:{prototype:PictureInPictureEvent;new(type:string,eventInitDict:PictureInPictureEventInit):PictureInPictureEvent;};interface PictureInPictureWindowEventMap{"resize":Event;}interface PictureInPictureWindow extends EventTarget{readonly height:number;onresize:((this:PictureInPictureWindow,ev:Event)=>any)|null;readonly width:number;addEventListener<K extends keyof PictureInPictureWindowEventMap>(type:K,listener:(this:PictureInPictureWindow,ev:PictureInPictureWindowEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof PictureInPictureWindowEventMap>(type:K,listener:(this:PictureInPictureWindow,ev:PictureInPictureWindowEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var PictureInPictureWindow:{prototype:PictureInPictureWindow;new():PictureInPictureWindow;};interface Plugin{readonly description:string;readonly filename:string;readonly length:number;readonly name:string;item(index:number):MimeType|null;namedItem(name:string):MimeType|null;[index:number]:MimeType;}declare var Plugin:{prototype:Plugin;new():Plugin;};interface PluginArray{readonly length:number;item(index:number):Plugin|null;namedItem(name:string):Plugin|null;refresh():void;[index:number]:Plugin;}declare var PluginArray:{prototype:PluginArray;new():PluginArray;};interface PointerEvent extends MouseEvent{readonly height:number;readonly isPrimary:boolean;readonly pointerId:number;readonly pointerType:string;readonly pressure:number;readonly tangentialPressure:number;readonly tiltX:number;readonly tiltY:number;readonly twist:number;readonly width:number;getCoalescedEvents():PointerEvent[];getPredictedEvents():PointerEvent[];}declare var PointerEvent:{prototype:PointerEvent;new(type:string,eventInitDict?:PointerEventInit):PointerEvent;};interface PopStateEvent extends Event{readonly state:any;}declare var PopStateEvent:{prototype:PopStateEvent;new(type:string,eventInitDict?:PopStateEventInit):PopStateEvent;};interface ProcessingInstruction extends CharacterData,LinkStyle{readonly ownerDocument:Document;readonly target:string;}declare var ProcessingInstruction:{prototype:ProcessingInstruction;new():ProcessingInstruction;};interface ProgressEvent<T extends EventTarget=EventTarget>extends Event{readonly lengthComputable:boolean;readonly loaded:number;readonly target:T|null;readonly total:number;}declare var ProgressEvent:{prototype:ProgressEvent;new(type:string,eventInitDict?:ProgressEventInit):ProgressEvent;};interface PromiseRejectionEvent extends Event{readonly promise:Promise<any>;readonly reason:any;}declare var PromiseRejectionEvent:{prototype:PromiseRejectionEvent;new(type:string,eventInitDict:PromiseRejectionEventInit):PromiseRejectionEvent;};interface PublicKeyCredential extends Credential{readonly authenticatorAttachment:string|null;readonly rawId:ArrayBuffer;readonly response:AuthenticatorResponse;getClientExtensionResults():AuthenticationExtensionsClientOutputs;}declare var PublicKeyCredential:{prototype:PublicKeyCredential;new():PublicKeyCredential;isUserVerifyingPlatformAuthenticatorAvailable():Promise<boolean>;};interface PushManager{getSubscription():Promise<PushSubscription|null>;permissionState(options?:PushSubscriptionOptionsInit):Promise<PermissionState>;subscribe(options?:PushSubscriptionOptionsInit):Promise<PushSubscription>;}declare var PushManager:{prototype:PushManager;new():PushManager;readonly supportedContentEncodings:ReadonlyArray<string>;};interface PushSubscription{readonly endpoint:string;readonly expirationTime:EpochTimeStamp|null;readonly options:PushSubscriptionOptions;getKey(name:PushEncryptionKeyName):ArrayBuffer|null;toJSON():PushSubscriptionJSON;unsubscribe():Promise<boolean>;}declare var PushSubscription:{prototype:PushSubscription;new():PushSubscription;};interface PushSubscriptionOptions{readonly applicationServerKey:ArrayBuffer|null;readonly userVisibleOnly:boolean;}declare var PushSubscriptionOptions:{prototype:PushSubscriptionOptions;new():PushSubscriptionOptions;};interface RTCCertificate{readonly expires:EpochTimeStamp;getFingerprints():RTCDtlsFingerprint[];}declare var RTCCertificate:{prototype:RTCCertificate;new():RTCCertificate;};interface RTCDTMFSenderEventMap{"tonechange":RTCDTMFToneChangeEvent;}interface RTCDTMFSender extends EventTarget{readonly canInsertDTMF:boolean;ontonechange:((this:RTCDTMFSender,ev:RTCDTMFToneChangeEvent)=>any)|null;readonly toneBuffer:string;insertDTMF(tones:string,duration?:number,interToneGap?:number):void;addEventListener<K extends keyof RTCDTMFSenderEventMap>(type:K,listener:(this:RTCDTMFSender,ev:RTCDTMFSenderEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof RTCDTMFSenderEventMap>(type:K,listener:(this:RTCDTMFSender,ev:RTCDTMFSenderEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var RTCDTMFSender:{prototype:RTCDTMFSender;new():RTCDTMFSender;};interface RTCDTMFToneChangeEvent extends Event{readonly tone:string;}declare var RTCDTMFToneChangeEvent:{prototype:RTCDTMFToneChangeEvent;new(type:string,eventInitDict?:RTCDTMFToneChangeEventInit):RTCDTMFToneChangeEvent;};interface RTCDataChannelEventMap{"bufferedamountlow":Event;"close":Event;"closing":Event;"error":Event;"message":MessageEvent;"open":Event;}interface RTCDataChannel extends EventTarget{binaryType:BinaryType;readonly bufferedAmount:number;bufferedAmountLowThreshold:number;readonly id:number|null;readonly label:string;readonly maxPacketLifeTime:number|null;readonly maxRetransmits:number|null;readonly negotiated:boolean;onbufferedamountlow:((this:RTCDataChannel,ev:Event)=>any)|null;onclose:((this:RTCDataChannel,ev:Event)=>any)|null;onclosing:((this:RTCDataChannel,ev:Event)=>any)|null;onerror:((this:RTCDataChannel,ev:Event)=>any)|null;onmessage:((this:RTCDataChannel,ev:MessageEvent)=>any)|null;onopen:((this:RTCDataChannel,ev:Event)=>any)|null;readonly ordered:boolean;readonly protocol:string;readonly readyState:RTCDataChannelState;close():void;send(data:string):void;send(data:Blob):void;send(data:ArrayBuffer):void;send(data:ArrayBufferView):void;addEventListener<K extends keyof RTCDataChannelEventMap>(type:K,listener:(this:RTCDataChannel,ev:RTCDataChannelEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof RTCDataChannelEventMap>(type:K,listener:(this:RTCDataChannel,ev:RTCDataChannelEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var RTCDataChannel:{prototype:RTCDataChannel;new():RTCDataChannel;};interface RTCDataChannelEvent extends Event{readonly channel:RTCDataChannel;}declare var RTCDataChannelEvent:{prototype:RTCDataChannelEvent;new(type:string,eventInitDict:RTCDataChannelEventInit):RTCDataChannelEvent;};interface RTCDtlsTransportEventMap{"error":Event;"statechange":Event;}interface RTCDtlsTransport extends EventTarget{readonly iceTransport:RTCIceTransport;onerror:((this:RTCDtlsTransport,ev:Event)=>any)|null;onstatechange:((this:RTCDtlsTransport,ev:Event)=>any)|null;readonly state:RTCDtlsTransportState;getRemoteCertificates():ArrayBuffer[];addEventListener<K extends keyof RTCDtlsTransportEventMap>(type:K,listener:(this:RTCDtlsTransport,ev:RTCDtlsTransportEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof RTCDtlsTransportEventMap>(type:K,listener:(this:RTCDtlsTransport,ev:RTCDtlsTransportEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var RTCDtlsTransport:{prototype:RTCDtlsTransport;new():RTCDtlsTransport;};interface RTCEncodedAudioFrame{data:ArrayBuffer;readonly timestamp:number;getMetadata():RTCEncodedAudioFrameMetadata;}declare var RTCEncodedAudioFrame:{prototype:RTCEncodedAudioFrame;new():RTCEncodedAudioFrame;};interface RTCEncodedVideoFrame{data:ArrayBuffer;readonly timestamp:number;readonly type:RTCEncodedVideoFrameType;getMetadata():RTCEncodedVideoFrameMetadata;}declare var RTCEncodedVideoFrame:{prototype:RTCEncodedVideoFrame;new():RTCEncodedVideoFrame;};interface RTCError extends DOMException{readonly errorDetail:RTCErrorDetailType;readonly receivedAlert:number|null;readonly sctpCauseCode:number|null;readonly sdpLineNumber:number|null;readonly sentAlert:number|null;}declare var RTCError:{prototype:RTCError;new(init:RTCErrorInit,message?:string):RTCError;};interface RTCErrorEvent extends Event{readonly error:RTCError;}declare var RTCErrorEvent:{prototype:RTCErrorEvent;new(type:string,eventInitDict:RTCErrorEventInit):RTCErrorEvent;};interface RTCIceCandidate{readonly address:string|null;readonly candidate:string;readonly component:RTCIceComponent|null;readonly foundation:string|null;readonly port:number|null;readonly priority:number|null;readonly protocol:RTCIceProtocol|null;readonly relatedAddress:string|null;readonly relatedPort:number|null;readonly sdpMLineIndex:number|null;readonly sdpMid:string|null;readonly tcpType:RTCIceTcpCandidateType|null;readonly type:RTCIceCandidateType|null;readonly usernameFragment:string|null;toJSON():RTCIceCandidateInit;}declare var RTCIceCandidate:{prototype:RTCIceCandidate;new(candidateInitDict?:RTCIceCandidateInit):RTCIceCandidate;};interface RTCIceTransportEventMap{"gatheringstatechange":Event;"statechange":Event;}interface RTCIceTransport extends EventTarget{readonly gatheringState:RTCIceGathererState;ongatheringstatechange:((this:RTCIceTransport,ev:Event)=>any)|null;onstatechange:((this:RTCIceTransport,ev:Event)=>any)|null;readonly state:RTCIceTransportState;addEventListener<K extends keyof RTCIceTransportEventMap>(type:K,listener:(this:RTCIceTransport,ev:RTCIceTransportEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof RTCIceTransportEventMap>(type:K,listener:(this:RTCIceTransport,ev:RTCIceTransportEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var RTCIceTransport:{prototype:RTCIceTransport;new():RTCIceTransport;};interface RTCPeerConnectionEventMap{"connectionstatechange":Event;"datachannel":RTCDataChannelEvent;"icecandidate":RTCPeerConnectionIceEvent;"icecandidateerror":Event;"iceconnectionstatechange":Event;"icegatheringstatechange":Event;"negotiationneeded":Event;"signalingstatechange":Event;"track":RTCTrackEvent;}interface RTCPeerConnection extends EventTarget{readonly canTrickleIceCandidates:boolean|null;readonly connectionState:RTCPeerConnectionState;readonly currentLocalDescription:RTCSessionDescription|null;readonly currentRemoteDescription:RTCSessionDescription|null;readonly iceConnectionState:RTCIceConnectionState;readonly iceGatheringState:RTCIceGatheringState;readonly localDescription:RTCSessionDescription|null;onconnectionstatechange:((this:RTCPeerConnection,ev:Event)=>any)|null;ondatachannel:((this:RTCPeerConnection,ev:RTCDataChannelEvent)=>any)|null;onicecandidate:((this:RTCPeerConnection,ev:RTCPeerConnectionIceEvent)=>any)|null;onicecandidateerror:((this:RTCPeerConnection,ev:Event)=>any)|null;oniceconnectionstatechange:((this:RTCPeerConnection,ev:Event)=>any)|null;onicegatheringstatechange:((this:RTCPeerConnection,ev:Event)=>any)|null;onnegotiationneeded:((this:RTCPeerConnection,ev:Event)=>any)|null;onsignalingstatechange:((this:RTCPeerConnection,ev:Event)=>any)|null;ontrack:((this:RTCPeerConnection,ev:RTCTrackEvent)=>any)|null;readonly pendingLocalDescription:RTCSessionDescription|null;readonly pendingRemoteDescription:RTCSessionDescription|null;readonly remoteDescription:RTCSessionDescription|null;readonly sctp:RTCSctpTransport|null;readonly signalingState:RTCSignalingState;addIceCandidate(candidate?:RTCIceCandidateInit):Promise<void>;addIceCandidate(candidate:RTCIceCandidateInit,successCallback:VoidFunction,failureCallback:RTCPeerConnectionErrorCallback):Promise<void>;addTrack(track:MediaStreamTrack,...streams:MediaStream[]):RTCRtpSender;addTransceiver(trackOrKind:MediaStreamTrack|string,init?:RTCRtpTransceiverInit):RTCRtpTransceiver;close():void;createAnswer(options?:RTCAnswerOptions):Promise<RTCSessionDescriptionInit>;createAnswer(successCallback:RTCSessionDescriptionCallback,failureCallback:RTCPeerConnectionErrorCallback):Promise<void>;createDataChannel(label:string,dataChannelDict?:RTCDataChannelInit):RTCDataChannel;createOffer(options?:RTCOfferOptions):Promise<RTCSessionDescriptionInit>;createOffer(successCallback:RTCSessionDescriptionCallback,failureCallback:RTCPeerConnectionErrorCallback,options?:RTCOfferOptions):Promise<void>;getConfiguration():RTCConfiguration;getReceivers():RTCRtpReceiver[];getSenders():RTCRtpSender[];getStats(selector?:MediaStreamTrack|null):Promise<RTCStatsReport>;getTransceivers():RTCRtpTransceiver[];removeTrack(sender:RTCRtpSender):void;restartIce():void;setConfiguration(configuration?:RTCConfiguration):void;setLocalDescription(description?:RTCLocalSessionDescriptionInit):Promise<void>;setLocalDescription(description:RTCLocalSessionDescriptionInit,successCallback:VoidFunction,failureCallback:RTCPeerConnectionErrorCallback):Promise<void>;setRemoteDescription(description:RTCSessionDescriptionInit):Promise<void>;setRemoteDescription(description:RTCSessionDescriptionInit,successCallback:VoidFunction,failureCallback:RTCPeerConnectionErrorCallback):Promise<void>;addEventListener<K extends keyof RTCPeerConnectionEventMap>(type:K,listener:(this:RTCPeerConnection,ev:RTCPeerConnectionEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof RTCPeerConnectionEventMap>(type:K,listener:(this:RTCPeerConnection,ev:RTCPeerConnectionEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var RTCPeerConnection:{prototype:RTCPeerConnection;new(configuration?:RTCConfiguration):RTCPeerConnection;generateCertificate(keygenAlgorithm:AlgorithmIdentifier):Promise<RTCCertificate>;};interface RTCPeerConnectionIceErrorEvent extends Event{readonly address:string|null;readonly errorCode:number;readonly errorText:string;readonly port:number|null;readonly url:string;}declare var RTCPeerConnectionIceErrorEvent:{prototype:RTCPeerConnectionIceErrorEvent;new(type:string,eventInitDict:RTCPeerConnectionIceErrorEventInit):RTCPeerConnectionIceErrorEvent;};interface RTCPeerConnectionIceEvent extends Event{readonly candidate:RTCIceCandidate|null;}declare var RTCPeerConnectionIceEvent:{prototype:RTCPeerConnectionIceEvent;new(type:string,eventInitDict?:RTCPeerConnectionIceEventInit):RTCPeerConnectionIceEvent;};interface RTCRtpReceiver{readonly track:MediaStreamTrack;readonly transport:RTCDtlsTransport|null;getContributingSources():RTCRtpContributingSource[];getParameters():RTCRtpReceiveParameters;getStats():Promise<RTCStatsReport>;getSynchronizationSources():RTCRtpSynchronizationSource[];}declare var RTCRtpReceiver:{prototype:RTCRtpReceiver;new():RTCRtpReceiver;getCapabilities(kind:string):RTCRtpCapabilities|null;};interface RTCRtpSender{readonly dtmf:RTCDTMFSender|null;readonly track:MediaStreamTrack|null;readonly transport:RTCDtlsTransport|null;getParameters():RTCRtpSendParameters;getStats():Promise<RTCStatsReport>;replaceTrack(withTrack:MediaStreamTrack|null):Promise<void>;setParameters(parameters:RTCRtpSendParameters):Promise<void>;setStreams(...streams:MediaStream[]):void;}declare var RTCRtpSender:{prototype:RTCRtpSender;new():RTCRtpSender;getCapabilities(kind:string):RTCRtpCapabilities|null;};interface RTCRtpTransceiver{readonly currentDirection:RTCRtpTransceiverDirection|null;direction:RTCRtpTransceiverDirection;readonly mid:string|null;readonly receiver:RTCRtpReceiver;readonly sender:RTCRtpSender;setCodecPreferences(codecs:RTCRtpCodecCapability[]):void;stop():void;}declare var RTCRtpTransceiver:{prototype:RTCRtpTransceiver;new():RTCRtpTransceiver;};interface RTCSctpTransportEventMap{"statechange":Event;}interface RTCSctpTransport extends EventTarget{readonly maxChannels:number|null;readonly maxMessageSize:number;onstatechange:((this:RTCSctpTransport,ev:Event)=>any)|null;readonly state:RTCSctpTransportState;readonly transport:RTCDtlsTransport;addEventListener<K extends keyof RTCSctpTransportEventMap>(type:K,listener:(this:RTCSctpTransport,ev:RTCSctpTransportEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof RTCSctpTransportEventMap>(type:K,listener:(this:RTCSctpTransport,ev:RTCSctpTransportEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var RTCSctpTransport:{prototype:RTCSctpTransport;new():RTCSctpTransport;};interface RTCSessionDescription{readonly sdp:string;readonly type:RTCSdpType;toJSON():any;}declare var RTCSessionDescription:{prototype:RTCSessionDescription;new(descriptionInitDict:RTCSessionDescriptionInit):RTCSessionDescription;};interface RTCStatsReport{forEach(callbackfn:(value:any,key:string,parent:RTCStatsReport)=>void,thisArg?:any):void;}declare var RTCStatsReport:{prototype:RTCStatsReport;new():RTCStatsReport;};interface RTCTrackEvent extends Event{readonly receiver:RTCRtpReceiver;readonly streams:ReadonlyArray<MediaStream>;readonly track:MediaStreamTrack;readonly transceiver:RTCRtpTransceiver;}declare var RTCTrackEvent:{prototype:RTCTrackEvent;new(type:string,eventInitDict:RTCTrackEventInit):RTCTrackEvent;};interface RadioNodeList extends NodeList{value:string;}declare var RadioNodeList:{prototype:RadioNodeList;new():RadioNodeList;};interface Range extends AbstractRange{readonly commonAncestorContainer:Node;cloneContents():DocumentFragment;cloneRange():Range;collapse(toStart?:boolean):void;compareBoundaryPoints(how:number,sourceRange:Range):number;comparePoint(node:Node,offset:number):number;createContextualFragment(fragment:string):DocumentFragment;deleteContents():void;detach():void;extractContents():DocumentFragment;getBoundingClientRect():DOMRect;getClientRects():DOMRectList;insertNode(node:Node):void;intersectsNode(node:Node):boolean;isPointInRange(node:Node,offset:number):boolean;selectNode(node:Node):void;selectNodeContents(node:Node):void;setEnd(node:Node,offset:number):void;setEndAfter(node:Node):void;setEndBefore(node:Node):void;setStart(node:Node,offset:number):void;setStartAfter(node:Node):void;setStartBefore(node:Node):void;surroundContents(newParent:Node):void;toString():string;readonly END_TO_END:number;readonly END_TO_START:number;readonly START_TO_END:number;readonly START_TO_START:number;}declare var Range:{prototype:Range;new():Range;readonly END_TO_END:number;readonly END_TO_START:number;readonly START_TO_END:number;readonly START_TO_START:number;toString():string;};interface ReadableByteStreamController{readonly byobRequest:ReadableStreamBYOBRequest|null;readonly desiredSize:number|null;close():void;enqueue(chunk:ArrayBufferView):void;error(e?:any):void;}declare var ReadableByteStreamController:{prototype:ReadableByteStreamController;new():ReadableByteStreamController;};interface ReadableStream<R=any>{readonly locked:boolean;cancel(reason?:any):Promise<void>;getReader(options:{mode:"byob"}):ReadableStreamBYOBReader;getReader():ReadableStreamDefaultReader<R>;getReader(options?:ReadableStreamGetReaderOptions):ReadableStreamReader<R>;pipeThrough<T>(transform:ReadableWritablePair<T,R>,options?:StreamPipeOptions):ReadableStream<T>;pipeTo(destination:WritableStream<R>,options?:StreamPipeOptions):Promise<void>;tee():[ReadableStream<R>,ReadableStream<R>];}declare var ReadableStream:{prototype:ReadableStream;new(underlyingSource:UnderlyingByteSource,strategy?:{highWaterMark?:number}):ReadableStream<Uint8Array>;new<R=any>(underlyingSource:UnderlyingDefaultSource<R>,strategy?:QueuingStrategy<R>):ReadableStream<R>;new<R=any>(underlyingSource?:UnderlyingSource<R>,strategy?:QueuingStrategy<R>):ReadableStream<R>;};interface ReadableStreamBYOBReader extends ReadableStreamGenericReader{read<T extends ArrayBufferView>(view:T):Promise<ReadableStreamReadResult<T>>;releaseLock():void;}declare var ReadableStreamBYOBReader:{prototype:ReadableStreamBYOBReader;new(stream:ReadableStream):ReadableStreamBYOBReader;};interface ReadableStreamBYOBRequest{readonly view:ArrayBufferView|null;respond(bytesWritten:number):void;respondWithNewView(view:ArrayBufferView):void;}declare var ReadableStreamBYOBRequest:{prototype:ReadableStreamBYOBRequest;new():ReadableStreamBYOBRequest;};interface ReadableStreamDefaultController<R=any>{readonly desiredSize:number|null;close():void;enqueue(chunk?:R):void;error(e?:any):void;}declare var ReadableStreamDefaultController:{prototype:ReadableStreamDefaultController;new():ReadableStreamDefaultController;};interface ReadableStreamDefaultReader<R=any>extends ReadableStreamGenericReader{read():Promise<ReadableStreamReadResult<R>>;releaseLock():void;}declare var ReadableStreamDefaultReader:{prototype:ReadableStreamDefaultReader;new<R=any>(stream:ReadableStream<R>):ReadableStreamDefaultReader<R>;};interface ReadableStreamGenericReader{readonly closed:Promise<undefined>;cancel(reason?:any):Promise<void>;}interface RemotePlaybackEventMap{"connect":Event;"connecting":Event;"disconnect":Event;}interface RemotePlayback extends EventTarget{onconnect:((this:RemotePlayback,ev:Event)=>any)|null;onconnecting:((this:RemotePlayback,ev:Event)=>any)|null;ondisconnect:((this:RemotePlayback,ev:Event)=>any)|null;readonly state:RemotePlaybackState;cancelWatchAvailability(id?:number):Promise<void>;prompt():Promise<void>;watchAvailability(callback:RemotePlaybackAvailabilityCallback):Promise<number>;addEventListener<K extends keyof RemotePlaybackEventMap>(type:K,listener:(this:RemotePlayback,ev:RemotePlaybackEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof RemotePlaybackEventMap>(type:K,listener:(this:RemotePlayback,ev:RemotePlaybackEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var RemotePlayback:{prototype:RemotePlayback;new():RemotePlayback;};interface Request extends Body{readonly cache:RequestCache;readonly credentials:RequestCredentials;readonly destination:RequestDestination;readonly headers:Headers;readonly integrity:string;readonly keepalive:boolean;readonly method:string;readonly mode:RequestMode;readonly redirect:RequestRedirect;readonly referrer:string;readonly referrerPolicy:ReferrerPolicy;readonly signal:AbortSignal;readonly url:string;clone():Request;}declare var Request:{prototype:Request;new(input:RequestInfo|URL,init?:RequestInit):Request;};interface ResizeObserver{disconnect():void;observe(target:Element,options?:ResizeObserverOptions):void;unobserve(target:Element):void;}declare var ResizeObserver:{prototype:ResizeObserver;new(callback:ResizeObserverCallback):ResizeObserver;};interface ResizeObserverEntry{readonly borderBoxSize:ReadonlyArray<ResizeObserverSize>;readonly contentBoxSize:ReadonlyArray<ResizeObserverSize>;readonly contentRect:DOMRectReadOnly;readonly devicePixelContentBoxSize:ReadonlyArray<ResizeObserverSize>;readonly target:Element;}declare var ResizeObserverEntry:{prototype:ResizeObserverEntry;new():ResizeObserverEntry;};interface ResizeObserverSize{readonly blockSize:number;readonly inlineSize:number;}declare var ResizeObserverSize:{prototype:ResizeObserverSize;new():ResizeObserverSize;};interface Response extends Body{readonly headers:Headers;readonly ok:boolean;readonly redirected:boolean;readonly status:number;readonly statusText:string;readonly type:ResponseType;readonly url:string;clone():Response;}declare var Response:{prototype:Response;new(body?:BodyInit|null,init?:ResponseInit):Response;error():Response;redirect(url:string|URL,status?:number):Response;};interface SVGAElement extends SVGGraphicsElement,SVGURIReference{rel:string;readonly relList:DOMTokenList;readonly target:SVGAnimatedString;addEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGAElement,ev:SVGElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGAElement,ev:SVGElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SVGAElement:{prototype:SVGAElement;new():SVGAElement;};interface SVGAngle{readonly unitType:number;value:number;valueAsString:string;valueInSpecifiedUnits:number;convertToSpecifiedUnits(unitType:number):void;newValueSpecifiedUnits(unitType:number,valueInSpecifiedUnits:number):void;readonly SVG_ANGLETYPE_DEG:number;readonly SVG_ANGLETYPE_GRAD:number;readonly SVG_ANGLETYPE_RAD:number;readonly SVG_ANGLETYPE_UNKNOWN:number;readonly SVG_ANGLETYPE_UNSPECIFIED:number;}declare var SVGAngle:{prototype:SVGAngle;new():SVGAngle;readonly SVG_ANGLETYPE_DEG:number;readonly SVG_ANGLETYPE_GRAD:number;readonly SVG_ANGLETYPE_RAD:number;readonly SVG_ANGLETYPE_UNKNOWN:number;readonly SVG_ANGLETYPE_UNSPECIFIED:number;};interface SVGAnimateElement extends SVGAnimationElement{addEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGAnimateElement,ev:SVGElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGAnimateElement,ev:SVGElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SVGAnimateElement:{prototype:SVGAnimateElement;new():SVGAnimateElement;};interface SVGAnimateMotionElement extends SVGAnimationElement{addEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGAnimateMotionElement,ev:SVGElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGAnimateMotionElement,ev:SVGElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SVGAnimateMotionElement:{prototype:SVGAnimateMotionElement;new():SVGAnimateMotionElement;};interface SVGAnimateTransformElement extends SVGAnimationElement{addEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGAnimateTransformElement,ev:SVGElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGAnimateTransformElement,ev:SVGElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SVGAnimateTransformElement:{prototype:SVGAnimateTransformElement;new():SVGAnimateTransformElement;};interface SVGAnimatedAngle{readonly animVal:SVGAngle;readonly baseVal:SVGAngle;}declare var SVGAnimatedAngle:{prototype:SVGAnimatedAngle;new():SVGAnimatedAngle;};interface SVGAnimatedBoolean{readonly animVal:boolean;baseVal:boolean;}declare var SVGAnimatedBoolean:{prototype:SVGAnimatedBoolean;new():SVGAnimatedBoolean;};interface SVGAnimatedEnumeration{readonly animVal:number;baseVal:number;}declare var SVGAnimatedEnumeration:{prototype:SVGAnimatedEnumeration;new():SVGAnimatedEnumeration;};interface SVGAnimatedInteger{readonly animVal:number;baseVal:number;}declare var SVGAnimatedInteger:{prototype:SVGAnimatedInteger;new():SVGAnimatedInteger;};interface SVGAnimatedLength{readonly animVal:SVGLength;readonly baseVal:SVGLength;}declare var SVGAnimatedLength:{prototype:SVGAnimatedLength;new():SVGAnimatedLength;};interface SVGAnimatedLengthList{readonly animVal:SVGLengthList;readonly baseVal:SVGLengthList;}declare var SVGAnimatedLengthList:{prototype:SVGAnimatedLengthList;new():SVGAnimatedLengthList;};interface SVGAnimatedNumber{readonly animVal:number;baseVal:number;}declare var SVGAnimatedNumber:{prototype:SVGAnimatedNumber;new():SVGAnimatedNumber;};interface SVGAnimatedNumberList{readonly animVal:SVGNumberList;readonly baseVal:SVGNumberList;}declare var SVGAnimatedNumberList:{prototype:SVGAnimatedNumberList;new():SVGAnimatedNumberList;};interface SVGAnimatedPoints{readonly animatedPoints:SVGPointList;readonly points:SVGPointList;}interface SVGAnimatedPreserveAspectRatio{readonly animVal:SVGPreserveAspectRatio;readonly baseVal:SVGPreserveAspectRatio;}declare var SVGAnimatedPreserveAspectRatio:{prototype:SVGAnimatedPreserveAspectRatio;new():SVGAnimatedPreserveAspectRatio;};interface SVGAnimatedRect{readonly animVal:DOMRectReadOnly;readonly baseVal:DOMRect;}declare var SVGAnimatedRect:{prototype:SVGAnimatedRect;new():SVGAnimatedRect;};interface SVGAnimatedString{readonly animVal:string;baseVal:string;}declare var SVGAnimatedString:{prototype:SVGAnimatedString;new():SVGAnimatedString;};interface SVGAnimatedTransformList{readonly animVal:SVGTransformList;readonly baseVal:SVGTransformList;}declare var SVGAnimatedTransformList:{prototype:SVGAnimatedTransformList;new():SVGAnimatedTransformList;};interface SVGAnimationElement extends SVGElement,SVGTests{readonly targetElement:SVGElement|null;beginElement():void;beginElementAt(offset:number):void;endElement():void;endElementAt(offset:number):void;getCurrentTime():number;getSimpleDuration():number;getStartTime():number;addEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGAnimationElement,ev:SVGElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGAnimationElement,ev:SVGElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SVGAnimationElement:{prototype:SVGAnimationElement;new():SVGAnimationElement;};interface SVGCircleElement extends SVGGeometryElement{readonly cx:SVGAnimatedLength;readonly cy:SVGAnimatedLength;readonly r:SVGAnimatedLength;addEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGCircleElement,ev:SVGElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGCircleElement,ev:SVGElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SVGCircleElement:{prototype:SVGCircleElement;new():SVGCircleElement;};interface SVGClipPathElement extends SVGElement{readonly clipPathUnits:SVGAnimatedEnumeration;readonly transform:SVGAnimatedTransformList;addEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGClipPathElement,ev:SVGElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGClipPathElement,ev:SVGElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SVGClipPathElement:{prototype:SVGClipPathElement;new():SVGClipPathElement;};interface SVGComponentTransferFunctionElement extends SVGElement{readonly amplitude:SVGAnimatedNumber;readonly exponent:SVGAnimatedNumber;readonly intercept:SVGAnimatedNumber;readonly offset:SVGAnimatedNumber;readonly slope:SVGAnimatedNumber;readonly tableValues:SVGAnimatedNumberList;readonly type:SVGAnimatedEnumeration;readonly SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE:number;readonly SVG_FECOMPONENTTRANSFER_TYPE_GAMMA:number;readonly SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY:number;readonly SVG_FECOMPONENTTRANSFER_TYPE_LINEAR:number;readonly SVG_FECOMPONENTTRANSFER_TYPE_TABLE:number;readonly SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN:number;addEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGComponentTransferFunctionElement,ev:SVGElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGComponentTransferFunctionElement,ev:SVGElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SVGComponentTransferFunctionElement:{prototype:SVGComponentTransferFunctionElement;new():SVGComponentTransferFunctionElement;readonly SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE:number;readonly SVG_FECOMPONENTTRANSFER_TYPE_GAMMA:number;readonly SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY:number;readonly SVG_FECOMPONENTTRANSFER_TYPE_LINEAR:number;readonly SVG_FECOMPONENTTRANSFER_TYPE_TABLE:number;readonly SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN:number;};interface SVGDefsElement extends SVGGraphicsElement{addEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGDefsElement,ev:SVGElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGDefsElement,ev:SVGElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SVGDefsElement:{prototype:SVGDefsElement;new():SVGDefsElement;};interface SVGDescElement extends SVGElement{addEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGDescElement,ev:SVGElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGDescElement,ev:SVGElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SVGDescElement:{prototype:SVGDescElement;new():SVGDescElement;};interface SVGElementEventMap extends ElementEventMap,DocumentAndElementEventHandlersEventMap,GlobalEventHandlersEventMap{}interface SVGElement extends Element,DocumentAndElementEventHandlers,ElementCSSInlineStyle,GlobalEventHandlers,HTMLOrSVGElement{readonly className:any;readonly ownerSVGElement:SVGSVGElement|null;readonly viewportElement:SVGElement|null;addEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGElement,ev:SVGElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGElement,ev:SVGElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SVGElement:{prototype:SVGElement;new():SVGElement;};interface SVGEllipseElement extends SVGGeometryElement{readonly cx:SVGAnimatedLength;readonly cy:SVGAnimatedLength;readonly rx:SVGAnimatedLength;readonly ry:SVGAnimatedLength;addEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGEllipseElement,ev:SVGElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGEllipseElement,ev:SVGElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SVGEllipseElement:{prototype:SVGEllipseElement;new():SVGEllipseElement;};interface SVGFEBlendElement extends SVGElement,SVGFilterPrimitiveStandardAttributes{readonly in1:SVGAnimatedString;readonly in2:SVGAnimatedString;readonly mode:SVGAnimatedEnumeration;readonly SVG_FEBLEND_MODE_COLOR:number;readonly SVG_FEBLEND_MODE_COLOR_BURN:number;readonly SVG_FEBLEND_MODE_COLOR_DODGE:number;readonly SVG_FEBLEND_MODE_DARKEN:number;readonly SVG_FEBLEND_MODE_DIFFERENCE:number;readonly SVG_FEBLEND_MODE_EXCLUSION:number;readonly SVG_FEBLEND_MODE_HARD_LIGHT:number;readonly SVG_FEBLEND_MODE_HUE:number;readonly SVG_FEBLEND_MODE_LIGHTEN:number;readonly SVG_FEBLEND_MODE_LUMINOSITY:number;readonly SVG_FEBLEND_MODE_MULTIPLY:number;readonly SVG_FEBLEND_MODE_NORMAL:number;readonly SVG_FEBLEND_MODE_OVERLAY:number;readonly SVG_FEBLEND_MODE_SATURATION:number;readonly SVG_FEBLEND_MODE_SCREEN:number;readonly SVG_FEBLEND_MODE_SOFT_LIGHT:number;readonly SVG_FEBLEND_MODE_UNKNOWN:number;addEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGFEBlendElement,ev:SVGElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGFEBlendElement,ev:SVGElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SVGFEBlendElement:{prototype:SVGFEBlendElement;new():SVGFEBlendElement;readonly SVG_FEBLEND_MODE_COLOR:number;readonly SVG_FEBLEND_MODE_COLOR_BURN:number;readonly SVG_FEBLEND_MODE_COLOR_DODGE:number;readonly SVG_FEBLEND_MODE_DARKEN:number;readonly SVG_FEBLEND_MODE_DIFFERENCE:number;readonly SVG_FEBLEND_MODE_EXCLUSION:number;readonly SVG_FEBLEND_MODE_HARD_LIGHT:number;readonly SVG_FEBLEND_MODE_HUE:number;readonly SVG_FEBLEND_MODE_LIGHTEN:number;readonly SVG_FEBLEND_MODE_LUMINOSITY:number;readonly SVG_FEBLEND_MODE_MULTIPLY:number;readonly SVG_FEBLEND_MODE_NORMAL:number;readonly SVG_FEBLEND_MODE_OVERLAY:number;readonly SVG_FEBLEND_MODE_SATURATION:number;readonly SVG_FEBLEND_MODE_SCREEN:number;readonly SVG_FEBLEND_MODE_SOFT_LIGHT:number;readonly SVG_FEBLEND_MODE_UNKNOWN:number;};interface SVGFEColorMatrixElement extends SVGElement,SVGFilterPrimitiveStandardAttributes{readonly in1:SVGAnimatedString;readonly type:SVGAnimatedEnumeration;readonly values:SVGAnimatedNumberList;readonly SVG_FECOLORMATRIX_TYPE_HUEROTATE:number;readonly SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA:number;readonly SVG_FECOLORMATRIX_TYPE_MATRIX:number;readonly SVG_FECOLORMATRIX_TYPE_SATURATE:number;readonly SVG_FECOLORMATRIX_TYPE_UNKNOWN:number;addEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGFEColorMatrixElement,ev:SVGElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGFEColorMatrixElement,ev:SVGElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SVGFEColorMatrixElement:{prototype:SVGFEColorMatrixElement;new():SVGFEColorMatrixElement;readonly SVG_FECOLORMATRIX_TYPE_HUEROTATE:number;readonly SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA:number;readonly SVG_FECOLORMATRIX_TYPE_MATRIX:number;readonly SVG_FECOLORMATRIX_TYPE_SATURATE:number;readonly SVG_FECOLORMATRIX_TYPE_UNKNOWN:number;};interface SVGFEComponentTransferElement extends SVGElement,SVGFilterPrimitiveStandardAttributes{readonly in1:SVGAnimatedString;addEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGFEComponentTransferElement,ev:SVGElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGFEComponentTransferElement,ev:SVGElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SVGFEComponentTransferElement:{prototype:SVGFEComponentTransferElement;new():SVGFEComponentTransferElement;};interface SVGFECompositeElement extends SVGElement,SVGFilterPrimitiveStandardAttributes{readonly in1:SVGAnimatedString;readonly in2:SVGAnimatedString;readonly k1:SVGAnimatedNumber;readonly k2:SVGAnimatedNumber;readonly k3:SVGAnimatedNumber;readonly k4:SVGAnimatedNumber;readonly operator:SVGAnimatedEnumeration;readonly SVG_FECOMPOSITE_OPERATOR_ARITHMETIC:number;readonly SVG_FECOMPOSITE_OPERATOR_ATOP:number;readonly SVG_FECOMPOSITE_OPERATOR_IN:number;readonly SVG_FECOMPOSITE_OPERATOR_OUT:number;readonly SVG_FECOMPOSITE_OPERATOR_OVER:number;readonly SVG_FECOMPOSITE_OPERATOR_UNKNOWN:number;readonly SVG_FECOMPOSITE_OPERATOR_XOR:number;addEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGFECompositeElement,ev:SVGElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGFECompositeElement,ev:SVGElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SVGFECompositeElement:{prototype:SVGFECompositeElement;new():SVGFECompositeElement;readonly SVG_FECOMPOSITE_OPERATOR_ARITHMETIC:number;readonly SVG_FECOMPOSITE_OPERATOR_ATOP:number;readonly SVG_FECOMPOSITE_OPERATOR_IN:number;readonly SVG_FECOMPOSITE_OPERATOR_OUT:number;readonly SVG_FECOMPOSITE_OPERATOR_OVER:number;readonly SVG_FECOMPOSITE_OPERATOR_UNKNOWN:number;readonly SVG_FECOMPOSITE_OPERATOR_XOR:number;};interface SVGFEConvolveMatrixElement extends SVGElement,SVGFilterPrimitiveStandardAttributes{readonly bias:SVGAnimatedNumber;readonly divisor:SVGAnimatedNumber;readonly edgeMode:SVGAnimatedEnumeration;readonly in1:SVGAnimatedString;readonly kernelMatrix:SVGAnimatedNumberList;readonly kernelUnitLengthX:SVGAnimatedNumber;readonly kernelUnitLengthY:SVGAnimatedNumber;readonly orderX:SVGAnimatedInteger;readonly orderY:SVGAnimatedInteger;readonly preserveAlpha:SVGAnimatedBoolean;readonly targetX:SVGAnimatedInteger;readonly targetY:SVGAnimatedInteger;readonly SVG_EDGEMODE_DUPLICATE:number;readonly SVG_EDGEMODE_NONE:number;readonly SVG_EDGEMODE_UNKNOWN:number;readonly SVG_EDGEMODE_WRAP:number;addEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGFEConvolveMatrixElement,ev:SVGElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGFEConvolveMatrixElement,ev:SVGElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SVGFEConvolveMatrixElement:{prototype:SVGFEConvolveMatrixElement;new():SVGFEConvolveMatrixElement;readonly SVG_EDGEMODE_DUPLICATE:number;readonly SVG_EDGEMODE_NONE:number;readonly SVG_EDGEMODE_UNKNOWN:number;readonly SVG_EDGEMODE_WRAP:number;};interface SVGFEDiffuseLightingElement extends SVGElement,SVGFilterPrimitiveStandardAttributes{readonly diffuseConstant:SVGAnimatedNumber;readonly in1:SVGAnimatedString;readonly kernelUnitLengthX:SVGAnimatedNumber;readonly kernelUnitLengthY:SVGAnimatedNumber;readonly surfaceScale:SVGAnimatedNumber;addEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGFEDiffuseLightingElement,ev:SVGElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGFEDiffuseLightingElement,ev:SVGElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SVGFEDiffuseLightingElement:{prototype:SVGFEDiffuseLightingElement;new():SVGFEDiffuseLightingElement;};interface SVGFEDisplacementMapElement extends SVGElement,SVGFilterPrimitiveStandardAttributes{readonly in1:SVGAnimatedString;readonly in2:SVGAnimatedString;readonly scale:SVGAnimatedNumber;readonly xChannelSelector:SVGAnimatedEnumeration;readonly yChannelSelector:SVGAnimatedEnumeration;readonly SVG_CHANNEL_A:number;readonly SVG_CHANNEL_B:number;readonly SVG_CHANNEL_G:number;readonly SVG_CHANNEL_R:number;readonly SVG_CHANNEL_UNKNOWN:number;addEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGFEDisplacementMapElement,ev:SVGElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGFEDisplacementMapElement,ev:SVGElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SVGFEDisplacementMapElement:{prototype:SVGFEDisplacementMapElement;new():SVGFEDisplacementMapElement;readonly SVG_CHANNEL_A:number;readonly SVG_CHANNEL_B:number;readonly SVG_CHANNEL_G:number;readonly SVG_CHANNEL_R:number;readonly SVG_CHANNEL_UNKNOWN:number;};interface SVGFEDistantLightElement extends SVGElement{readonly azimuth:SVGAnimatedNumber;readonly elevation:SVGAnimatedNumber;addEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGFEDistantLightElement,ev:SVGElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGFEDistantLightElement,ev:SVGElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SVGFEDistantLightElement:{prototype:SVGFEDistantLightElement;new():SVGFEDistantLightElement;};interface SVGFEDropShadowElement extends SVGElement,SVGFilterPrimitiveStandardAttributes{readonly dx:SVGAnimatedNumber;readonly dy:SVGAnimatedNumber;readonly in1:SVGAnimatedString;readonly stdDeviationX:SVGAnimatedNumber;readonly stdDeviationY:SVGAnimatedNumber;setStdDeviation(stdDeviationX:number,stdDeviationY:number):void;addEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGFEDropShadowElement,ev:SVGElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGFEDropShadowElement,ev:SVGElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SVGFEDropShadowElement:{prototype:SVGFEDropShadowElement;new():SVGFEDropShadowElement;};interface SVGFEFloodElement extends SVGElement,SVGFilterPrimitiveStandardAttributes{addEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGFEFloodElement,ev:SVGElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGFEFloodElement,ev:SVGElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SVGFEFloodElement:{prototype:SVGFEFloodElement;new():SVGFEFloodElement;};interface SVGFEFuncAElement extends SVGComponentTransferFunctionElement{addEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGFEFuncAElement,ev:SVGElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGFEFuncAElement,ev:SVGElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SVGFEFuncAElement:{prototype:SVGFEFuncAElement;new():SVGFEFuncAElement;};interface SVGFEFuncBElement extends SVGComponentTransferFunctionElement{addEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGFEFuncBElement,ev:SVGElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGFEFuncBElement,ev:SVGElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SVGFEFuncBElement:{prototype:SVGFEFuncBElement;new():SVGFEFuncBElement;};interface SVGFEFuncGElement extends SVGComponentTransferFunctionElement{addEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGFEFuncGElement,ev:SVGElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGFEFuncGElement,ev:SVGElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SVGFEFuncGElement:{prototype:SVGFEFuncGElement;new():SVGFEFuncGElement;};interface SVGFEFuncRElement extends SVGComponentTransferFunctionElement{addEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGFEFuncRElement,ev:SVGElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGFEFuncRElement,ev:SVGElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SVGFEFuncRElement:{prototype:SVGFEFuncRElement;new():SVGFEFuncRElement;};interface SVGFEGaussianBlurElement extends SVGElement,SVGFilterPrimitiveStandardAttributes{readonly in1:SVGAnimatedString;readonly stdDeviationX:SVGAnimatedNumber;readonly stdDeviationY:SVGAnimatedNumber;setStdDeviation(stdDeviationX:number,stdDeviationY:number):void;addEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGFEGaussianBlurElement,ev:SVGElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGFEGaussianBlurElement,ev:SVGElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SVGFEGaussianBlurElement:{prototype:SVGFEGaussianBlurElement;new():SVGFEGaussianBlurElement;};interface SVGFEImageElement extends SVGElement,SVGFilterPrimitiveStandardAttributes,SVGURIReference{readonly preserveAspectRatio:SVGAnimatedPreserveAspectRatio;addEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGFEImageElement,ev:SVGElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGFEImageElement,ev:SVGElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SVGFEImageElement:{prototype:SVGFEImageElement;new():SVGFEImageElement;};interface SVGFEMergeElement extends SVGElement,SVGFilterPrimitiveStandardAttributes{addEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGFEMergeElement,ev:SVGElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGFEMergeElement,ev:SVGElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SVGFEMergeElement:{prototype:SVGFEMergeElement;new():SVGFEMergeElement;};interface SVGFEMergeNodeElement extends SVGElement{readonly in1:SVGAnimatedString;addEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGFEMergeNodeElement,ev:SVGElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGFEMergeNodeElement,ev:SVGElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SVGFEMergeNodeElement:{prototype:SVGFEMergeNodeElement;new():SVGFEMergeNodeElement;};interface SVGFEMorphologyElement extends SVGElement,SVGFilterPrimitiveStandardAttributes{readonly in1:SVGAnimatedString;readonly operator:SVGAnimatedEnumeration;readonly radiusX:SVGAnimatedNumber;readonly radiusY:SVGAnimatedNumber;readonly SVG_MORPHOLOGY_OPERATOR_DILATE:number;readonly SVG_MORPHOLOGY_OPERATOR_ERODE:number;readonly SVG_MORPHOLOGY_OPERATOR_UNKNOWN:number;addEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGFEMorphologyElement,ev:SVGElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGFEMorphologyElement,ev:SVGElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SVGFEMorphologyElement:{prototype:SVGFEMorphologyElement;new():SVGFEMorphologyElement;readonly SVG_MORPHOLOGY_OPERATOR_DILATE:number;readonly SVG_MORPHOLOGY_OPERATOR_ERODE:number;readonly SVG_MORPHOLOGY_OPERATOR_UNKNOWN:number;};interface SVGFEOffsetElement extends SVGElement,SVGFilterPrimitiveStandardAttributes{readonly dx:SVGAnimatedNumber;readonly dy:SVGAnimatedNumber;readonly in1:SVGAnimatedString;addEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGFEOffsetElement,ev:SVGElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGFEOffsetElement,ev:SVGElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SVGFEOffsetElement:{prototype:SVGFEOffsetElement;new():SVGFEOffsetElement;};interface SVGFEPointLightElement extends SVGElement{readonly x:SVGAnimatedNumber;readonly y:SVGAnimatedNumber;readonly z:SVGAnimatedNumber;addEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGFEPointLightElement,ev:SVGElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGFEPointLightElement,ev:SVGElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SVGFEPointLightElement:{prototype:SVGFEPointLightElement;new():SVGFEPointLightElement;};interface SVGFESpecularLightingElement extends SVGElement,SVGFilterPrimitiveStandardAttributes{readonly in1:SVGAnimatedString;readonly kernelUnitLengthX:SVGAnimatedNumber;readonly kernelUnitLengthY:SVGAnimatedNumber;readonly specularConstant:SVGAnimatedNumber;readonly specularExponent:SVGAnimatedNumber;readonly surfaceScale:SVGAnimatedNumber;addEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGFESpecularLightingElement,ev:SVGElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGFESpecularLightingElement,ev:SVGElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SVGFESpecularLightingElement:{prototype:SVGFESpecularLightingElement;new():SVGFESpecularLightingElement;};interface SVGFESpotLightElement extends SVGElement{readonly limitingConeAngle:SVGAnimatedNumber;readonly pointsAtX:SVGAnimatedNumber;readonly pointsAtY:SVGAnimatedNumber;readonly pointsAtZ:SVGAnimatedNumber;readonly specularExponent:SVGAnimatedNumber;readonly x:SVGAnimatedNumber;readonly y:SVGAnimatedNumber;readonly z:SVGAnimatedNumber;addEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGFESpotLightElement,ev:SVGElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGFESpotLightElement,ev:SVGElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SVGFESpotLightElement:{prototype:SVGFESpotLightElement;new():SVGFESpotLightElement;};interface SVGFETileElement extends SVGElement,SVGFilterPrimitiveStandardAttributes{readonly in1:SVGAnimatedString;addEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGFETileElement,ev:SVGElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGFETileElement,ev:SVGElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SVGFETileElement:{prototype:SVGFETileElement;new():SVGFETileElement;};interface SVGFETurbulenceElement extends SVGElement,SVGFilterPrimitiveStandardAttributes{readonly baseFrequencyX:SVGAnimatedNumber;readonly baseFrequencyY:SVGAnimatedNumber;readonly numOctaves:SVGAnimatedInteger;readonly seed:SVGAnimatedNumber;readonly stitchTiles:SVGAnimatedEnumeration;readonly type:SVGAnimatedEnumeration;readonly SVG_STITCHTYPE_NOSTITCH:number;readonly SVG_STITCHTYPE_STITCH:number;readonly SVG_STITCHTYPE_UNKNOWN:number;readonly SVG_TURBULENCE_TYPE_FRACTALNOISE:number;readonly SVG_TURBULENCE_TYPE_TURBULENCE:number;readonly SVG_TURBULENCE_TYPE_UNKNOWN:number;addEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGFETurbulenceElement,ev:SVGElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGFETurbulenceElement,ev:SVGElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SVGFETurbulenceElement:{prototype:SVGFETurbulenceElement;new():SVGFETurbulenceElement;readonly SVG_STITCHTYPE_NOSTITCH:number;readonly SVG_STITCHTYPE_STITCH:number;readonly SVG_STITCHTYPE_UNKNOWN:number;readonly SVG_TURBULENCE_TYPE_FRACTALNOISE:number;readonly SVG_TURBULENCE_TYPE_TURBULENCE:number;readonly SVG_TURBULENCE_TYPE_UNKNOWN:number;};interface SVGFilterElement extends SVGElement,SVGURIReference{readonly filterUnits:SVGAnimatedEnumeration;readonly height:SVGAnimatedLength;readonly primitiveUnits:SVGAnimatedEnumeration;readonly width:SVGAnimatedLength;readonly x:SVGAnimatedLength;readonly y:SVGAnimatedLength;addEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGFilterElement,ev:SVGElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGFilterElement,ev:SVGElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SVGFilterElement:{prototype:SVGFilterElement;new():SVGFilterElement;};interface SVGFilterPrimitiveStandardAttributes{readonly height:SVGAnimatedLength;readonly result:SVGAnimatedString;readonly width:SVGAnimatedLength;readonly x:SVGAnimatedLength;readonly y:SVGAnimatedLength;}interface SVGFitToViewBox{readonly preserveAspectRatio:SVGAnimatedPreserveAspectRatio;readonly viewBox:SVGAnimatedRect;}interface SVGForeignObjectElement extends SVGGraphicsElement{readonly height:SVGAnimatedLength;readonly width:SVGAnimatedLength;readonly x:SVGAnimatedLength;readonly y:SVGAnimatedLength;addEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGForeignObjectElement,ev:SVGElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGForeignObjectElement,ev:SVGElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SVGForeignObjectElement:{prototype:SVGForeignObjectElement;new():SVGForeignObjectElement;};interface SVGGElement extends SVGGraphicsElement{addEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGGElement,ev:SVGElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGGElement,ev:SVGElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SVGGElement:{prototype:SVGGElement;new():SVGGElement;};interface SVGGeometryElement extends SVGGraphicsElement{readonly pathLength:SVGAnimatedNumber;getPointAtLength(distance:number):DOMPoint;getTotalLength():number;isPointInFill(point?:DOMPointInit):boolean;isPointInStroke(point?:DOMPointInit):boolean;addEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGGeometryElement,ev:SVGElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGGeometryElement,ev:SVGElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SVGGeometryElement:{prototype:SVGGeometryElement;new():SVGGeometryElement;};interface SVGGradientElement extends SVGElement,SVGURIReference{readonly gradientTransform:SVGAnimatedTransformList;readonly gradientUnits:SVGAnimatedEnumeration;readonly spreadMethod:SVGAnimatedEnumeration;readonly SVG_SPREADMETHOD_PAD:number;readonly SVG_SPREADMETHOD_REFLECT:number;readonly SVG_SPREADMETHOD_REPEAT:number;readonly SVG_SPREADMETHOD_UNKNOWN:number;addEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGGradientElement,ev:SVGElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGGradientElement,ev:SVGElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SVGGradientElement:{prototype:SVGGradientElement;new():SVGGradientElement;readonly SVG_SPREADMETHOD_PAD:number;readonly SVG_SPREADMETHOD_REFLECT:number;readonly SVG_SPREADMETHOD_REPEAT:number;readonly SVG_SPREADMETHOD_UNKNOWN:number;};interface SVGGraphicsElement extends SVGElement,SVGTests{readonly transform:SVGAnimatedTransformList;getBBox(options?:SVGBoundingBoxOptions):DOMRect;getCTM():DOMMatrix|null;getScreenCTM():DOMMatrix|null;addEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGGraphicsElement,ev:SVGElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGGraphicsElement,ev:SVGElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SVGGraphicsElement:{prototype:SVGGraphicsElement;new():SVGGraphicsElement;};interface SVGImageElement extends SVGGraphicsElement,SVGURIReference{readonly height:SVGAnimatedLength;readonly preserveAspectRatio:SVGAnimatedPreserveAspectRatio;readonly width:SVGAnimatedLength;readonly x:SVGAnimatedLength;readonly y:SVGAnimatedLength;addEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGImageElement,ev:SVGElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGImageElement,ev:SVGElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SVGImageElement:{prototype:SVGImageElement;new():SVGImageElement;};interface SVGLength{readonly unitType:number;value:number;valueAsString:string;valueInSpecifiedUnits:number;convertToSpecifiedUnits(unitType:number):void;newValueSpecifiedUnits(unitType:number,valueInSpecifiedUnits:number):void;readonly SVG_LENGTHTYPE_CM:number;readonly SVG_LENGTHTYPE_EMS:number;readonly SVG_LENGTHTYPE_EXS:number;readonly SVG_LENGTHTYPE_IN:number;readonly SVG_LENGTHTYPE_MM:number;readonly SVG_LENGTHTYPE_NUMBER:number;readonly SVG_LENGTHTYPE_PC:number;readonly SVG_LENGTHTYPE_PERCENTAGE:number;readonly SVG_LENGTHTYPE_PT:number;readonly SVG_LENGTHTYPE_PX:number;readonly SVG_LENGTHTYPE_UNKNOWN:number;}declare var SVGLength:{prototype:SVGLength;new():SVGLength;readonly SVG_LENGTHTYPE_CM:number;readonly SVG_LENGTHTYPE_EMS:number;readonly SVG_LENGTHTYPE_EXS:number;readonly SVG_LENGTHTYPE_IN:number;readonly SVG_LENGTHTYPE_MM:number;readonly SVG_LENGTHTYPE_NUMBER:number;readonly SVG_LENGTHTYPE_PC:number;readonly SVG_LENGTHTYPE_PERCENTAGE:number;readonly SVG_LENGTHTYPE_PT:number;readonly SVG_LENGTHTYPE_PX:number;readonly SVG_LENGTHTYPE_UNKNOWN:number;};interface SVGLengthList{readonly length:number;readonly numberOfItems:number;appendItem(newItem:SVGLength):SVGLength;clear():void;getItem(index:number):SVGLength;initialize(newItem:SVGLength):SVGLength;insertItemBefore(newItem:SVGLength,index:number):SVGLength;removeItem(index:number):SVGLength;replaceItem(newItem:SVGLength,index:number):SVGLength;[index:number]:SVGLength;}declare var SVGLengthList:{prototype:SVGLengthList;new():SVGLengthList;};interface SVGLineElement extends SVGGeometryElement{readonly x1:SVGAnimatedLength;readonly x2:SVGAnimatedLength;readonly y1:SVGAnimatedLength;readonly y2:SVGAnimatedLength;addEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGLineElement,ev:SVGElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGLineElement,ev:SVGElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SVGLineElement:{prototype:SVGLineElement;new():SVGLineElement;};interface SVGLinearGradientElement extends SVGGradientElement{readonly x1:SVGAnimatedLength;readonly x2:SVGAnimatedLength;readonly y1:SVGAnimatedLength;readonly y2:SVGAnimatedLength;addEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGLinearGradientElement,ev:SVGElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGLinearGradientElement,ev:SVGElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SVGLinearGradientElement:{prototype:SVGLinearGradientElement;new():SVGLinearGradientElement;};interface SVGMPathElement extends SVGElement,SVGURIReference{addEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGMPathElement,ev:SVGElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGMPathElement,ev:SVGElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SVGMPathElement:{prototype:SVGMPathElement;new():SVGMPathElement;};interface SVGMarkerElement extends SVGElement,SVGFitToViewBox{readonly markerHeight:SVGAnimatedLength;readonly markerUnits:SVGAnimatedEnumeration;readonly markerWidth:SVGAnimatedLength;readonly orientAngle:SVGAnimatedAngle;readonly orientType:SVGAnimatedEnumeration;readonly refX:SVGAnimatedLength;readonly refY:SVGAnimatedLength;setOrientToAngle(angle:SVGAngle):void;setOrientToAuto():void;readonly SVG_MARKERUNITS_STROKEWIDTH:number;readonly SVG_MARKERUNITS_UNKNOWN:number;readonly SVG_MARKERUNITS_USERSPACEONUSE:number;readonly SVG_MARKER_ORIENT_ANGLE:number;readonly SVG_MARKER_ORIENT_AUTO:number;readonly SVG_MARKER_ORIENT_UNKNOWN:number;addEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGMarkerElement,ev:SVGElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGMarkerElement,ev:SVGElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SVGMarkerElement:{prototype:SVGMarkerElement;new():SVGMarkerElement;readonly SVG_MARKERUNITS_STROKEWIDTH:number;readonly SVG_MARKERUNITS_UNKNOWN:number;readonly SVG_MARKERUNITS_USERSPACEONUSE:number;readonly SVG_MARKER_ORIENT_ANGLE:number;readonly SVG_MARKER_ORIENT_AUTO:number;readonly SVG_MARKER_ORIENT_UNKNOWN:number;};interface SVGMaskElement extends SVGElement{readonly height:SVGAnimatedLength;readonly maskContentUnits:SVGAnimatedEnumeration;readonly maskUnits:SVGAnimatedEnumeration;readonly width:SVGAnimatedLength;readonly x:SVGAnimatedLength;readonly y:SVGAnimatedLength;addEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGMaskElement,ev:SVGElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGMaskElement,ev:SVGElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SVGMaskElement:{prototype:SVGMaskElement;new():SVGMaskElement;};interface SVGMetadataElement extends SVGElement{addEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGMetadataElement,ev:SVGElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGMetadataElement,ev:SVGElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SVGMetadataElement:{prototype:SVGMetadataElement;new():SVGMetadataElement;};interface SVGNumber{value:number;}declare var SVGNumber:{prototype:SVGNumber;new():SVGNumber;};interface SVGNumberList{readonly length:number;readonly numberOfItems:number;appendItem(newItem:SVGNumber):SVGNumber;clear():void;getItem(index:number):SVGNumber;initialize(newItem:SVGNumber):SVGNumber;insertItemBefore(newItem:SVGNumber,index:number):SVGNumber;removeItem(index:number):SVGNumber;replaceItem(newItem:SVGNumber,index:number):SVGNumber;[index:number]:SVGNumber;}declare var SVGNumberList:{prototype:SVGNumberList;new():SVGNumberList;};interface SVGPathElement extends SVGGeometryElement{addEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGPathElement,ev:SVGElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGPathElement,ev:SVGElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SVGPathElement:{prototype:SVGPathElement;new():SVGPathElement;};interface SVGPatternElement extends SVGElement,SVGFitToViewBox,SVGURIReference{readonly height:SVGAnimatedLength;readonly patternContentUnits:SVGAnimatedEnumeration;readonly patternTransform:SVGAnimatedTransformList;readonly patternUnits:SVGAnimatedEnumeration;readonly width:SVGAnimatedLength;readonly x:SVGAnimatedLength;readonly y:SVGAnimatedLength;addEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGPatternElement,ev:SVGElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGPatternElement,ev:SVGElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SVGPatternElement:{prototype:SVGPatternElement;new():SVGPatternElement;};interface SVGPointList{readonly length:number;readonly numberOfItems:number;appendItem(newItem:DOMPoint):DOMPoint;clear():void;getItem(index:number):DOMPoint;initialize(newItem:DOMPoint):DOMPoint;insertItemBefore(newItem:DOMPoint,index:number):DOMPoint;removeItem(index:number):DOMPoint;replaceItem(newItem:DOMPoint,index:number):DOMPoint;[index:number]:DOMPoint;}declare var SVGPointList:{prototype:SVGPointList;new():SVGPointList;};interface SVGPolygonElement extends SVGGeometryElement,SVGAnimatedPoints{addEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGPolygonElement,ev:SVGElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGPolygonElement,ev:SVGElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SVGPolygonElement:{prototype:SVGPolygonElement;new():SVGPolygonElement;};interface SVGPolylineElement extends SVGGeometryElement,SVGAnimatedPoints{addEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGPolylineElement,ev:SVGElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGPolylineElement,ev:SVGElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SVGPolylineElement:{prototype:SVGPolylineElement;new():SVGPolylineElement;};interface SVGPreserveAspectRatio{align:number;meetOrSlice:number;readonly SVG_MEETORSLICE_MEET:number;readonly SVG_MEETORSLICE_SLICE:number;readonly SVG_MEETORSLICE_UNKNOWN:number;readonly SVG_PRESERVEASPECTRATIO_NONE:number;readonly SVG_PRESERVEASPECTRATIO_UNKNOWN:number;readonly SVG_PRESERVEASPECTRATIO_XMAXYMAX:number;readonly SVG_PRESERVEASPECTRATIO_XMAXYMID:number;readonly SVG_PRESERVEASPECTRATIO_XMAXYMIN:number;readonly SVG_PRESERVEASPECTRATIO_XMIDYMAX:number;readonly SVG_PRESERVEASPECTRATIO_XMIDYMID:number;readonly SVG_PRESERVEASPECTRATIO_XMIDYMIN:number;readonly SVG_PRESERVEASPECTRATIO_XMINYMAX:number;readonly SVG_PRESERVEASPECTRATIO_XMINYMID:number;readonly SVG_PRESERVEASPECTRATIO_XMINYMIN:number;}declare var SVGPreserveAspectRatio:{prototype:SVGPreserveAspectRatio;new():SVGPreserveAspectRatio;readonly SVG_MEETORSLICE_MEET:number;readonly SVG_MEETORSLICE_SLICE:number;readonly SVG_MEETORSLICE_UNKNOWN:number;readonly SVG_PRESERVEASPECTRATIO_NONE:number;readonly SVG_PRESERVEASPECTRATIO_UNKNOWN:number;readonly SVG_PRESERVEASPECTRATIO_XMAXYMAX:number;readonly SVG_PRESERVEASPECTRATIO_XMAXYMID:number;readonly SVG_PRESERVEASPECTRATIO_XMAXYMIN:number;readonly SVG_PRESERVEASPECTRATIO_XMIDYMAX:number;readonly SVG_PRESERVEASPECTRATIO_XMIDYMID:number;readonly SVG_PRESERVEASPECTRATIO_XMIDYMIN:number;readonly SVG_PRESERVEASPECTRATIO_XMINYMAX:number;readonly SVG_PRESERVEASPECTRATIO_XMINYMID:number;readonly SVG_PRESERVEASPECTRATIO_XMINYMIN:number;};interface SVGRadialGradientElement extends SVGGradientElement{readonly cx:SVGAnimatedLength;readonly cy:SVGAnimatedLength;readonly fr:SVGAnimatedLength;readonly fx:SVGAnimatedLength;readonly fy:SVGAnimatedLength;readonly r:SVGAnimatedLength;addEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGRadialGradientElement,ev:SVGElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGRadialGradientElement,ev:SVGElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SVGRadialGradientElement:{prototype:SVGRadialGradientElement;new():SVGRadialGradientElement;};interface SVGRectElement extends SVGGeometryElement{readonly height:SVGAnimatedLength;readonly rx:SVGAnimatedLength;readonly ry:SVGAnimatedLength;readonly width:SVGAnimatedLength;readonly x:SVGAnimatedLength;readonly y:SVGAnimatedLength;addEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGRectElement,ev:SVGElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGRectElement,ev:SVGElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SVGRectElement:{prototype:SVGRectElement;new():SVGRectElement;};interface SVGSVGElementEventMap extends SVGElementEventMap,WindowEventHandlersEventMap{}interface SVGSVGElement extends SVGGraphicsElement,SVGFitToViewBox,WindowEventHandlers{currentScale:number;readonly currentTranslate:DOMPointReadOnly;readonly height:SVGAnimatedLength;readonly width:SVGAnimatedLength;readonly x:SVGAnimatedLength;readonly y:SVGAnimatedLength;animationsPaused():boolean;checkEnclosure(element:SVGElement,rect:DOMRectReadOnly):boolean;checkIntersection(element:SVGElement,rect:DOMRectReadOnly):boolean;createSVGAngle():SVGAngle;createSVGLength():SVGLength;createSVGMatrix():DOMMatrix;createSVGNumber():SVGNumber;createSVGPoint():DOMPoint;createSVGRect():DOMRect;createSVGTransform():SVGTransform;createSVGTransformFromMatrix(matrix?:DOMMatrix2DInit):SVGTransform;deselectAll():void;forceRedraw():void;getCurrentTime():number;getElementById(elementId:string):Element;getEnclosureList(rect:DOMRectReadOnly,referenceElement:SVGElement|null):NodeListOf<SVGCircleElement|SVGEllipseElement|SVGImageElement|SVGLineElement|SVGPathElement|SVGPolygonElement|SVGPolylineElement|SVGRectElement|SVGTextElement|SVGUseElement>;getIntersectionList(rect:DOMRectReadOnly,referenceElement:SVGElement|null):NodeListOf<SVGCircleElement|SVGEllipseElement|SVGImageElement|SVGLineElement|SVGPathElement|SVGPolygonElement|SVGPolylineElement|SVGRectElement|SVGTextElement|SVGUseElement>;pauseAnimations():void;setCurrentTime(seconds:number):void;suspendRedraw(maxWaitMilliseconds:number):number;unpauseAnimations():void;unsuspendRedraw(suspendHandleID:number):void;unsuspendRedrawAll():void;addEventListener<K extends keyof SVGSVGElementEventMap>(type:K,listener:(this:SVGSVGElement,ev:SVGSVGElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SVGSVGElementEventMap>(type:K,listener:(this:SVGSVGElement,ev:SVGSVGElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SVGSVGElement:{prototype:SVGSVGElement;new():SVGSVGElement;};interface SVGScriptElement extends SVGElement,SVGURIReference{type:string;addEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGScriptElement,ev:SVGElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGScriptElement,ev:SVGElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SVGScriptElement:{prototype:SVGScriptElement;new():SVGScriptElement;};interface SVGSetElement extends SVGAnimationElement{addEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGSetElement,ev:SVGElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGSetElement,ev:SVGElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SVGSetElement:{prototype:SVGSetElement;new():SVGSetElement;};interface SVGStopElement extends SVGElement{readonly offset:SVGAnimatedNumber;addEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGStopElement,ev:SVGElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGStopElement,ev:SVGElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SVGStopElement:{prototype:SVGStopElement;new():SVGStopElement;};interface SVGStringList{readonly length:number;readonly numberOfItems:number;appendItem(newItem:string):string;clear():void;getItem(index:number):string;initialize(newItem:string):string;insertItemBefore(newItem:string,index:number):string;removeItem(index:number):string;replaceItem(newItem:string,index:number):string;[index:number]:string;}declare var SVGStringList:{prototype:SVGStringList;new():SVGStringList;};interface SVGStyleElement extends SVGElement,LinkStyle{disabled:boolean;media:string;title:string;type:string;addEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGStyleElement,ev:SVGElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGStyleElement,ev:SVGElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SVGStyleElement:{prototype:SVGStyleElement;new():SVGStyleElement;};interface SVGSwitchElement extends SVGGraphicsElement{addEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGSwitchElement,ev:SVGElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGSwitchElement,ev:SVGElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SVGSwitchElement:{prototype:SVGSwitchElement;new():SVGSwitchElement;};interface SVGSymbolElement extends SVGElement,SVGFitToViewBox{addEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGSymbolElement,ev:SVGElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGSymbolElement,ev:SVGElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SVGSymbolElement:{prototype:SVGSymbolElement;new():SVGSymbolElement;};interface SVGTSpanElement extends SVGTextPositioningElement{addEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGTSpanElement,ev:SVGElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGTSpanElement,ev:SVGElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SVGTSpanElement:{prototype:SVGTSpanElement;new():SVGTSpanElement;};interface SVGTests{readonly requiredExtensions:SVGStringList;readonly systemLanguage:SVGStringList;}interface SVGTextContentElement extends SVGGraphicsElement{readonly lengthAdjust:SVGAnimatedEnumeration;readonly textLength:SVGAnimatedLength;getCharNumAtPosition(point?:DOMPointInit):number;getComputedTextLength():number;getEndPositionOfChar(charnum:number):DOMPoint;getExtentOfChar(charnum:number):DOMRect;getNumberOfChars():number;getRotationOfChar(charnum:number):number;getStartPositionOfChar(charnum:number):DOMPoint;getSubStringLength(charnum:number,nchars:number):number;selectSubString(charnum:number,nchars:number):void;readonly LENGTHADJUST_SPACING:number;readonly LENGTHADJUST_SPACINGANDGLYPHS:number;readonly LENGTHADJUST_UNKNOWN:number;addEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGTextContentElement,ev:SVGElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGTextContentElement,ev:SVGElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SVGTextContentElement:{prototype:SVGTextContentElement;new():SVGTextContentElement;readonly LENGTHADJUST_SPACING:number;readonly LENGTHADJUST_SPACINGANDGLYPHS:number;readonly LENGTHADJUST_UNKNOWN:number;};interface SVGTextElement extends SVGTextPositioningElement{addEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGTextElement,ev:SVGElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGTextElement,ev:SVGElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SVGTextElement:{prototype:SVGTextElement;new():SVGTextElement;};interface SVGTextPathElement extends SVGTextContentElement,SVGURIReference{readonly method:SVGAnimatedEnumeration;readonly spacing:SVGAnimatedEnumeration;readonly startOffset:SVGAnimatedLength;readonly TEXTPATH_METHODTYPE_ALIGN:number;readonly TEXTPATH_METHODTYPE_STRETCH:number;readonly TEXTPATH_METHODTYPE_UNKNOWN:number;readonly TEXTPATH_SPACINGTYPE_AUTO:number;readonly TEXTPATH_SPACINGTYPE_EXACT:number;readonly TEXTPATH_SPACINGTYPE_UNKNOWN:number;addEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGTextPathElement,ev:SVGElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGTextPathElement,ev:SVGElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SVGTextPathElement:{prototype:SVGTextPathElement;new():SVGTextPathElement;readonly TEXTPATH_METHODTYPE_ALIGN:number;readonly TEXTPATH_METHODTYPE_STRETCH:number;readonly TEXTPATH_METHODTYPE_UNKNOWN:number;readonly TEXTPATH_SPACINGTYPE_AUTO:number;readonly TEXTPATH_SPACINGTYPE_EXACT:number;readonly TEXTPATH_SPACINGTYPE_UNKNOWN:number;};interface SVGTextPositioningElement extends SVGTextContentElement{readonly dx:SVGAnimatedLengthList;readonly dy:SVGAnimatedLengthList;readonly rotate:SVGAnimatedNumberList;readonly x:SVGAnimatedLengthList;readonly y:SVGAnimatedLengthList;addEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGTextPositioningElement,ev:SVGElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGTextPositioningElement,ev:SVGElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SVGTextPositioningElement:{prototype:SVGTextPositioningElement;new():SVGTextPositioningElement;};interface SVGTitleElement extends SVGElement{addEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGTitleElement,ev:SVGElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGTitleElement,ev:SVGElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SVGTitleElement:{prototype:SVGTitleElement;new():SVGTitleElement;};interface SVGTransform{readonly angle:number;readonly matrix:DOMMatrix;readonly type:number;setMatrix(matrix?:DOMMatrix2DInit):void;setRotate(angle:number,cx:number,cy:number):void;setScale(sx:number,sy:number):void;setSkewX(angle:number):void;setSkewY(angle:number):void;setTranslate(tx:number,ty:number):void;readonly SVG_TRANSFORM_MATRIX:number;readonly SVG_TRANSFORM_ROTATE:number;readonly SVG_TRANSFORM_SCALE:number;readonly SVG_TRANSFORM_SKEWX:number;readonly SVG_TRANSFORM_SKEWY:number;readonly SVG_TRANSFORM_TRANSLATE:number;readonly SVG_TRANSFORM_UNKNOWN:number;}declare var SVGTransform:{prototype:SVGTransform;new():SVGTransform;readonly SVG_TRANSFORM_MATRIX:number;readonly SVG_TRANSFORM_ROTATE:number;readonly SVG_TRANSFORM_SCALE:number;readonly SVG_TRANSFORM_SKEWX:number;readonly SVG_TRANSFORM_SKEWY:number;readonly SVG_TRANSFORM_TRANSLATE:number;readonly SVG_TRANSFORM_UNKNOWN:number;};interface SVGTransformList{readonly length:number;readonly numberOfItems:number;appendItem(newItem:SVGTransform):SVGTransform;clear():void;consolidate():SVGTransform|null;createSVGTransformFromMatrix(matrix?:DOMMatrix2DInit):SVGTransform;getItem(index:number):SVGTransform;initialize(newItem:SVGTransform):SVGTransform;insertItemBefore(newItem:SVGTransform,index:number):SVGTransform;removeItem(index:number):SVGTransform;replaceItem(newItem:SVGTransform,index:number):SVGTransform;[index:number]:SVGTransform;}declare var SVGTransformList:{prototype:SVGTransformList;new():SVGTransformList;};interface SVGURIReference{readonly href:SVGAnimatedString;}interface SVGUnitTypes{readonly SVG_UNIT_TYPE_OBJECTBOUNDINGBOX:number;readonly SVG_UNIT_TYPE_UNKNOWN:number;readonly SVG_UNIT_TYPE_USERSPACEONUSE:number;}declare var SVGUnitTypes:{prototype:SVGUnitTypes;new():SVGUnitTypes;readonly SVG_UNIT_TYPE_OBJECTBOUNDINGBOX:number;readonly SVG_UNIT_TYPE_UNKNOWN:number;readonly SVG_UNIT_TYPE_USERSPACEONUSE:number;};interface SVGUseElement extends SVGGraphicsElement,SVGURIReference{readonly height:SVGAnimatedLength;readonly width:SVGAnimatedLength;readonly x:SVGAnimatedLength;readonly y:SVGAnimatedLength;addEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGUseElement,ev:SVGElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGUseElement,ev:SVGElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SVGUseElement:{prototype:SVGUseElement;new():SVGUseElement;};interface SVGViewElement extends SVGElement,SVGFitToViewBox{addEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGViewElement,ev:SVGElementEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SVGElementEventMap>(type:K,listener:(this:SVGViewElement,ev:SVGElementEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SVGViewElement:{prototype:SVGViewElement;new():SVGViewElement;};interface Screen{readonly availHeight:number;readonly availWidth:number;readonly colorDepth:number;readonly height:number;readonly orientation:ScreenOrientation;readonly pixelDepth:number;readonly width:number;}declare var Screen:{prototype:Screen;new():Screen;};interface ScreenOrientationEventMap{"change":Event;}interface ScreenOrientation extends EventTarget{readonly angle:number;onchange:((this:ScreenOrientation,ev:Event)=>any)|null;readonly type:OrientationType;lock(orientation:OrientationLockType):Promise<void>;unlock():void;addEventListener<K extends keyof ScreenOrientationEventMap>(type:K,listener:(this:ScreenOrientation,ev:ScreenOrientationEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof ScreenOrientationEventMap>(type:K,listener:(this:ScreenOrientation,ev:ScreenOrientationEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var ScreenOrientation:{prototype:ScreenOrientation;new():ScreenOrientation;};interface ScriptProcessorNodeEventMap{"audioprocess":AudioProcessingEvent;}interface ScriptProcessorNode extends AudioNode{readonly bufferSize:number;onaudioprocess:((this:ScriptProcessorNode,ev:AudioProcessingEvent)=>any)|null;addEventListener<K extends keyof ScriptProcessorNodeEventMap>(type:K,listener:(this:ScriptProcessorNode,ev:ScriptProcessorNodeEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof ScriptProcessorNodeEventMap>(type:K,listener:(this:ScriptProcessorNode,ev:ScriptProcessorNodeEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var ScriptProcessorNode:{prototype:ScriptProcessorNode;new():ScriptProcessorNode;};interface SecurityPolicyViolationEvent extends Event{readonly blockedURI:string;readonly columnNumber:number;readonly disposition:SecurityPolicyViolationEventDisposition;readonly documentURI:string;readonly effectiveDirective:string;readonly lineNumber:number;readonly originalPolicy:string;readonly referrer:string;readonly sample:string;readonly sourceFile:string;readonly statusCode:number;readonly violatedDirective:string;}declare var SecurityPolicyViolationEvent:{prototype:SecurityPolicyViolationEvent;new(type:string,eventInitDict?:SecurityPolicyViolationEventInit):SecurityPolicyViolationEvent;};interface Selection{readonly anchorNode:Node|null;readonly anchorOffset:number;readonly focusNode:Node|null;readonly focusOffset:number;readonly isCollapsed:boolean;readonly rangeCount:number;readonly type:string;addRange(range:Range):void;collapse(node:Node|null,offset?:number):void;collapseToEnd():void;collapseToStart():void;containsNode(node:Node,allowPartialContainment?:boolean):boolean;deleteFromDocument():void;empty():void;extend(node:Node,offset?:number):void;getRangeAt(index:number):Range;modify(alter?:string,direction?:string,granularity?:string):void;removeAllRanges():void;removeRange(range:Range):void;selectAllChildren(node:Node):void;setBaseAndExtent(anchorNode:Node,anchorOffset:number,focusNode:Node,focusOffset:number):void;setPosition(node:Node|null,offset?:number):void;toString():string;}declare var Selection:{prototype:Selection;new():Selection;toString():string;};interface ServiceWorkerEventMap extends AbstractWorkerEventMap{"statechange":Event;}interface ServiceWorker extends EventTarget,AbstractWorker{onstatechange:((this:ServiceWorker,ev:Event)=>any)|null;readonly scriptURL:string;readonly state:ServiceWorkerState;postMessage(message:any,transfer:Transferable[]):void;postMessage(message:any,options?:StructuredSerializeOptions):void;addEventListener<K extends keyof ServiceWorkerEventMap>(type:K,listener:(this:ServiceWorker,ev:ServiceWorkerEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof ServiceWorkerEventMap>(type:K,listener:(this:ServiceWorker,ev:ServiceWorkerEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var ServiceWorker:{prototype:ServiceWorker;new():ServiceWorker;};interface ServiceWorkerContainerEventMap{"controllerchange":Event;"message":MessageEvent;"messageerror":MessageEvent;}interface ServiceWorkerContainer extends EventTarget{readonly controller:ServiceWorker|null;oncontrollerchange:((this:ServiceWorkerContainer,ev:Event)=>any)|null;onmessage:((this:ServiceWorkerContainer,ev:MessageEvent)=>any)|null;onmessageerror:((this:ServiceWorkerContainer,ev:MessageEvent)=>any)|null;readonly ready:Promise<ServiceWorkerRegistration>;getRegistration(clientURL?:string|URL):Promise<ServiceWorkerRegistration|undefined>;getRegistrations():Promise<ReadonlyArray<ServiceWorkerRegistration>>;register(scriptURL:string|URL,options?:RegistrationOptions):Promise<ServiceWorkerRegistration>;startMessages():void;addEventListener<K extends keyof ServiceWorkerContainerEventMap>(type:K,listener:(this:ServiceWorkerContainer,ev:ServiceWorkerContainerEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof ServiceWorkerContainerEventMap>(type:K,listener:(this:ServiceWorkerContainer,ev:ServiceWorkerContainerEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var ServiceWorkerContainer:{prototype:ServiceWorkerContainer;new():ServiceWorkerContainer;};interface ServiceWorkerRegistrationEventMap{"updatefound":Event;}interface ServiceWorkerRegistration extends EventTarget{readonly active:ServiceWorker|null;readonly installing:ServiceWorker|null;readonly navigationPreload:NavigationPreloadManager;onupdatefound:((this:ServiceWorkerRegistration,ev:Event)=>any)|null;readonly pushManager:PushManager;readonly scope:string;readonly updateViaCache:ServiceWorkerUpdateViaCache;readonly waiting:ServiceWorker|null;getNotifications(filter?:GetNotificationOptions):Promise<Notification[]>;showNotification(title:string,options?:NotificationOptions):Promise<void>;unregister():Promise<boolean>;update():Promise<void>;addEventListener<K extends keyof ServiceWorkerRegistrationEventMap>(type:K,listener:(this:ServiceWorkerRegistration,ev:ServiceWorkerRegistrationEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof ServiceWorkerRegistrationEventMap>(type:K,listener:(this:ServiceWorkerRegistration,ev:ServiceWorkerRegistrationEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var ServiceWorkerRegistration:{prototype:ServiceWorkerRegistration;new():ServiceWorkerRegistration;};interface ShadowRootEventMap{"slotchange":Event;}interface ShadowRoot extends DocumentFragment,DocumentOrShadowRoot,InnerHTML{readonly delegatesFocus:boolean;readonly host:Element;readonly mode:ShadowRootMode;onslotchange:((this:ShadowRoot,ev:Event)=>any)|null;readonly slotAssignment:SlotAssignmentMode;addEventListener<K extends keyof ShadowRootEventMap>(type:K,listener:(this:ShadowRoot,ev:ShadowRootEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof ShadowRootEventMap>(type:K,listener:(this:ShadowRoot,ev:ShadowRootEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var ShadowRoot:{prototype:ShadowRoot;new():ShadowRoot;};interface SharedWorker extends EventTarget,AbstractWorker{readonly port:MessagePort;addEventListener<K extends keyof AbstractWorkerEventMap>(type:K,listener:(this:SharedWorker,ev:AbstractWorkerEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof AbstractWorkerEventMap>(type:K,listener:(this:SharedWorker,ev:AbstractWorkerEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SharedWorker:{prototype:SharedWorker;new(scriptURL:string|URL,options?:string|WorkerOptions):SharedWorker;};interface Slottable{readonly assignedSlot:HTMLSlotElement|null;}interface SourceBufferEventMap{"abort":Event;"error":Event;"update":Event;"updateend":Event;"updatestart":Event;}interface SourceBuffer extends EventTarget{appendWindowEnd:number;appendWindowStart:number;readonly buffered:TimeRanges;mode:AppendMode;onabort:((this:SourceBuffer,ev:Event)=>any)|null;onerror:((this:SourceBuffer,ev:Event)=>any)|null;onupdate:((this:SourceBuffer,ev:Event)=>any)|null;onupdateend:((this:SourceBuffer,ev:Event)=>any)|null;onupdatestart:((this:SourceBuffer,ev:Event)=>any)|null;timestampOffset:number;readonly updating:boolean;abort():void;appendBuffer(data:BufferSource):void;changeType(type:string):void;remove(start:number,end:number):void;addEventListener<K extends keyof SourceBufferEventMap>(type:K,listener:(this:SourceBuffer,ev:SourceBufferEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SourceBufferEventMap>(type:K,listener:(this:SourceBuffer,ev:SourceBufferEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SourceBuffer:{prototype:SourceBuffer;new():SourceBuffer;};interface SourceBufferListEventMap{"addsourcebuffer":Event;"removesourcebuffer":Event;}interface SourceBufferList extends EventTarget{readonly length:number;onaddsourcebuffer:((this:SourceBufferList,ev:Event)=>any)|null;onremovesourcebuffer:((this:SourceBufferList,ev:Event)=>any)|null;addEventListener<K extends keyof SourceBufferListEventMap>(type:K,listener:(this:SourceBufferList,ev:SourceBufferListEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SourceBufferListEventMap>(type:K,listener:(this:SourceBufferList,ev:SourceBufferListEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;[index:number]:SourceBuffer;}declare var SourceBufferList:{prototype:SourceBufferList;new():SourceBufferList;};interface SpeechRecognitionAlternative{readonly confidence:number;readonly transcript:string;}declare var SpeechRecognitionAlternative:{prototype:SpeechRecognitionAlternative;new():SpeechRecognitionAlternative;};interface SpeechRecognitionResult{readonly isFinal:boolean;readonly length:number;item(index:number):SpeechRecognitionAlternative;[index:number]:SpeechRecognitionAlternative;}declare var SpeechRecognitionResult:{prototype:SpeechRecognitionResult;new():SpeechRecognitionResult;};interface SpeechRecognitionResultList{readonly length:number;item(index:number):SpeechRecognitionResult;[index:number]:SpeechRecognitionResult;}declare var SpeechRecognitionResultList:{prototype:SpeechRecognitionResultList;new():SpeechRecognitionResultList;};interface SpeechSynthesisEventMap{"voiceschanged":Event;}interface SpeechSynthesis extends EventTarget{onvoiceschanged:((this:SpeechSynthesis,ev:Event)=>any)|null;readonly paused:boolean;readonly pending:boolean;readonly speaking:boolean;cancel():void;getVoices():SpeechSynthesisVoice[];pause():void;resume():void;speak(utterance:SpeechSynthesisUtterance):void;addEventListener<K extends keyof SpeechSynthesisEventMap>(type:K,listener:(this:SpeechSynthesis,ev:SpeechSynthesisEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SpeechSynthesisEventMap>(type:K,listener:(this:SpeechSynthesis,ev:SpeechSynthesisEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SpeechSynthesis:{prototype:SpeechSynthesis;new():SpeechSynthesis;};interface SpeechSynthesisErrorEvent extends SpeechSynthesisEvent{readonly error:SpeechSynthesisErrorCode;}declare var SpeechSynthesisErrorEvent:{prototype:SpeechSynthesisErrorEvent;new(type:string,eventInitDict:SpeechSynthesisErrorEventInit):SpeechSynthesisErrorEvent;};interface SpeechSynthesisEvent extends Event{readonly charIndex:number;readonly charLength:number;readonly elapsedTime:number;readonly name:string;readonly utterance:SpeechSynthesisUtterance;}declare var SpeechSynthesisEvent:{prototype:SpeechSynthesisEvent;new(type:string,eventInitDict:SpeechSynthesisEventInit):SpeechSynthesisEvent;};interface SpeechSynthesisUtteranceEventMap{"boundary":SpeechSynthesisEvent;"end":SpeechSynthesisEvent;"error":SpeechSynthesisErrorEvent;"mark":SpeechSynthesisEvent;"pause":SpeechSynthesisEvent;"resume":SpeechSynthesisEvent;"start":SpeechSynthesisEvent;}interface SpeechSynthesisUtterance extends EventTarget{lang:string;onboundary:((this:SpeechSynthesisUtterance,ev:SpeechSynthesisEvent)=>any)|null;onend:((this:SpeechSynthesisUtterance,ev:SpeechSynthesisEvent)=>any)|null;onerror:((this:SpeechSynthesisUtterance,ev:SpeechSynthesisErrorEvent)=>any)|null;onmark:((this:SpeechSynthesisUtterance,ev:SpeechSynthesisEvent)=>any)|null;onpause:((this:SpeechSynthesisUtterance,ev:SpeechSynthesisEvent)=>any)|null;onresume:((this:SpeechSynthesisUtterance,ev:SpeechSynthesisEvent)=>any)|null;onstart:((this:SpeechSynthesisUtterance,ev:SpeechSynthesisEvent)=>any)|null;pitch:number;rate:number;text:string;voice:SpeechSynthesisVoice|null;volume:number;addEventListener<K extends keyof SpeechSynthesisUtteranceEventMap>(type:K,listener:(this:SpeechSynthesisUtterance,ev:SpeechSynthesisUtteranceEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SpeechSynthesisUtteranceEventMap>(type:K,listener:(this:SpeechSynthesisUtterance,ev:SpeechSynthesisUtteranceEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SpeechSynthesisUtterance:{prototype:SpeechSynthesisUtterance;new(text?:string):SpeechSynthesisUtterance;};interface SpeechSynthesisVoice{readonly default:boolean;readonly lang:string;readonly localService:boolean;readonly name:string;readonly voiceURI:string;}declare var SpeechSynthesisVoice:{prototype:SpeechSynthesisVoice;new():SpeechSynthesisVoice;};interface StaticRange extends AbstractRange{}declare var StaticRange:{prototype:StaticRange;new(init:StaticRangeInit):StaticRange;};interface StereoPannerNode extends AudioNode{readonly pan:AudioParam;}declare var StereoPannerNode:{prototype:StereoPannerNode;new(context:BaseAudioContext,options?:StereoPannerOptions):StereoPannerNode;};interface Storage{readonly length:number;clear():void;getItem(key:string):string|null;key(index:number):string|null;removeItem(key:string):void;setItem(key:string,value:string):void;[name:string]:any;}declare var Storage:{prototype:Storage;new():Storage;};interface StorageEvent extends Event{readonly key:string|null;readonly newValue:string|null;readonly oldValue:string|null;readonly storageArea:Storage|null;readonly url:string;initStorageEvent(type:string,bubbles?:boolean,cancelable?:boolean,key?:string|null,oldValue?:string|null,newValue?:string|null,url?:string|URL,storageArea?:Storage|null):void;}declare var StorageEvent:{prototype:StorageEvent;new(type:string,eventInitDict?:StorageEventInit):StorageEvent;};interface StorageManager{estimate():Promise<StorageEstimate>;getDirectory():Promise<FileSystemDirectoryHandle>;persist():Promise<boolean>;persisted():Promise<boolean>;}declare var StorageManager:{prototype:StorageManager;new():StorageManager;};interface StyleMedia{type:string;matchMedium(mediaquery:string):boolean;}interface StyleSheet{disabled:boolean;readonly href:string|null;readonly media:MediaList;readonly ownerNode:Element|ProcessingInstruction|null;readonly parentStyleSheet:CSSStyleSheet|null;readonly title:string|null;readonly type:string;}declare var StyleSheet:{prototype:StyleSheet;new():StyleSheet;};interface StyleSheetList{readonly length:number;item(index:number):CSSStyleSheet|null;[index:number]:CSSStyleSheet;}declare var StyleSheetList:{prototype:StyleSheetList;new():StyleSheetList;};interface SubmitEvent extends Event{readonly submitter:HTMLElement|null;}declare var SubmitEvent:{prototype:SubmitEvent;new(type:string,eventInitDict?:SubmitEventInit):SubmitEvent;};interface SubtleCrypto{decrypt(algorithm:AlgorithmIdentifier|RsaOaepParams|AesCtrParams|AesCbcParams|AesGcmParams,key:CryptoKey,data:BufferSource):Promise<ArrayBuffer>;deriveBits(algorithm:AlgorithmIdentifier|EcdhKeyDeriveParams|HkdfParams|Pbkdf2Params,baseKey:CryptoKey,length:number):Promise<ArrayBuffer>;deriveKey(algorithm:AlgorithmIdentifier|EcdhKeyDeriveParams|HkdfParams|Pbkdf2Params,baseKey:CryptoKey,derivedKeyType:AlgorithmIdentifier|AesDerivedKeyParams|HmacImportParams|HkdfParams|Pbkdf2Params,extractable:boolean,keyUsages:KeyUsage[]):Promise<CryptoKey>;digest(algorithm:AlgorithmIdentifier,data:BufferSource):Promise<ArrayBuffer>;encrypt(algorithm:AlgorithmIdentifier|RsaOaepParams|AesCtrParams|AesCbcParams|AesGcmParams,key:CryptoKey,data:BufferSource):Promise<ArrayBuffer>;exportKey(format:"jwk",key:CryptoKey):Promise<JsonWebKey>;exportKey(format:Exclude<KeyFormat,"jwk">,key:CryptoKey):Promise<ArrayBuffer>;generateKey(algorithm:RsaHashedKeyGenParams|EcKeyGenParams,extractable:boolean,keyUsages:ReadonlyArray<KeyUsage>):Promise<CryptoKeyPair>;generateKey(algorithm:AesKeyGenParams|HmacKeyGenParams|Pbkdf2Params,extractable:boolean,keyUsages:ReadonlyArray<KeyUsage>):Promise<CryptoKey>;generateKey(algorithm:AlgorithmIdentifier,extractable:boolean,keyUsages:KeyUsage[]):Promise<CryptoKeyPair|CryptoKey>;importKey(format:"jwk",keyData:JsonWebKey,algorithm:AlgorithmIdentifier|RsaHashedImportParams|EcKeyImportParams|HmacImportParams|AesKeyAlgorithm,extractable:boolean,keyUsages:ReadonlyArray<KeyUsage>):Promise<CryptoKey>;importKey(format:Exclude<KeyFormat,"jwk">,keyData:BufferSource,algorithm:AlgorithmIdentifier|RsaHashedImportParams|EcKeyImportParams|HmacImportParams|AesKeyAlgorithm,extractable:boolean,keyUsages:KeyUsage[]):Promise<CryptoKey>;sign(algorithm:AlgorithmIdentifier|RsaPssParams|EcdsaParams,key:CryptoKey,data:BufferSource):Promise<ArrayBuffer>;unwrapKey(format:KeyFormat,wrappedKey:BufferSource,unwrappingKey:CryptoKey,unwrapAlgorithm:AlgorithmIdentifier|RsaOaepParams|AesCtrParams|AesCbcParams|AesGcmParams,unwrappedKeyAlgorithm:AlgorithmIdentifier|RsaHashedImportParams|EcKeyImportParams|HmacImportParams|AesKeyAlgorithm,extractable:boolean,keyUsages:KeyUsage[]):Promise<CryptoKey>;verify(algorithm:AlgorithmIdentifier|RsaPssParams|EcdsaParams,key:CryptoKey,signature:BufferSource,data:BufferSource):Promise<boolean>;wrapKey(format:KeyFormat,key:CryptoKey,wrappingKey:CryptoKey,wrapAlgorithm:AlgorithmIdentifier|RsaOaepParams|AesCtrParams|AesCbcParams|AesGcmParams):Promise<ArrayBuffer>;}declare var SubtleCrypto:{prototype:SubtleCrypto;new():SubtleCrypto;};interface Text extends CharacterData,Slottable{readonly wholeText:string;splitText(offset:number):Text;}declare var Text:{prototype:Text;new(data?:string):Text;};interface TextDecoder extends TextDecoderCommon{decode(input?:BufferSource,options?:TextDecodeOptions):string;}declare var TextDecoder:{prototype:TextDecoder;new(label?:string,options?:TextDecoderOptions):TextDecoder;};interface TextDecoderCommon{readonly encoding:string;readonly fatal:boolean;readonly ignoreBOM:boolean;}interface TextDecoderStream extends GenericTransformStream,TextDecoderCommon{readonly readable:ReadableStream<string>;readonly writable:WritableStream<BufferSource>;}declare var TextDecoderStream:{prototype:TextDecoderStream;new(label?:string,options?:TextDecoderOptions):TextDecoderStream;};interface TextEncoder extends TextEncoderCommon{encode(input?:string):Uint8Array;encodeInto(source:string,destination:Uint8Array):TextEncoderEncodeIntoResult;}declare var TextEncoder:{prototype:TextEncoder;new():TextEncoder;};interface TextEncoderCommon{readonly encoding:string;}interface TextEncoderStream extends GenericTransformStream,TextEncoderCommon{readonly readable:ReadableStream<Uint8Array>;readonly writable:WritableStream<string>;}declare var TextEncoderStream:{prototype:TextEncoderStream;new():TextEncoderStream;};interface TextMetrics{readonly actualBoundingBoxAscent:number;readonly actualBoundingBoxDescent:number;readonly actualBoundingBoxLeft:number;readonly actualBoundingBoxRight:number;readonly fontBoundingBoxAscent:number;readonly fontBoundingBoxDescent:number;readonly width:number;}declare var TextMetrics:{prototype:TextMetrics;new():TextMetrics;};interface TextTrackEventMap{"cuechange":Event;}interface TextTrack extends EventTarget{readonly activeCues:TextTrackCueList|null;readonly cues:TextTrackCueList|null;readonly id:string;readonly inBandMetadataTrackDispatchType:string;readonly kind:TextTrackKind;readonly label:string;readonly language:string;mode:TextTrackMode;oncuechange:((this:TextTrack,ev:Event)=>any)|null;addCue(cue:TextTrackCue):void;removeCue(cue:TextTrackCue):void;addEventListener<K extends keyof TextTrackEventMap>(type:K,listener:(this:TextTrack,ev:TextTrackEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof TextTrackEventMap>(type:K,listener:(this:TextTrack,ev:TextTrackEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var TextTrack:{prototype:TextTrack;new():TextTrack;};interface TextTrackCueEventMap{"enter":Event;"exit":Event;}interface TextTrackCue extends EventTarget{endTime:number;id:string;onenter:((this:TextTrackCue,ev:Event)=>any)|null;onexit:((this:TextTrackCue,ev:Event)=>any)|null;pauseOnExit:boolean;startTime:number;readonly track:TextTrack|null;addEventListener<K extends keyof TextTrackCueEventMap>(type:K,listener:(this:TextTrackCue,ev:TextTrackCueEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof TextTrackCueEventMap>(type:K,listener:(this:TextTrackCue,ev:TextTrackCueEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var TextTrackCue:{prototype:TextTrackCue;new():TextTrackCue;};interface TextTrackCueList{readonly length:number;getCueById(id:string):TextTrackCue|null;[index:number]:TextTrackCue;}declare var TextTrackCueList:{prototype:TextTrackCueList;new():TextTrackCueList;};interface TextTrackListEventMap{"addtrack":TrackEvent;"change":Event;"removetrack":TrackEvent;}interface TextTrackList extends EventTarget{readonly length:number;onaddtrack:((this:TextTrackList,ev:TrackEvent)=>any)|null;onchange:((this:TextTrackList,ev:Event)=>any)|null;onremovetrack:((this:TextTrackList,ev:TrackEvent)=>any)|null;getTrackById(id:string):TextTrack|null;addEventListener<K extends keyof TextTrackListEventMap>(type:K,listener:(this:TextTrackList,ev:TextTrackListEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof TextTrackListEventMap>(type:K,listener:(this:TextTrackList,ev:TextTrackListEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;[index:number]:TextTrack;}declare var TextTrackList:{prototype:TextTrackList;new():TextTrackList;};interface TimeRanges{readonly length:number;end(index:number):number;start(index:number):number;}declare var TimeRanges:{prototype:TimeRanges;new():TimeRanges;};interface Touch{readonly clientX:number;readonly clientY:number;readonly force:number;readonly identifier:number;readonly pageX:number;readonly pageY:number;readonly radiusX:number;readonly radiusY:number;readonly rotationAngle:number;readonly screenX:number;readonly screenY:number;readonly target:EventTarget;}declare var Touch:{prototype:Touch;new(touchInitDict:TouchInit):Touch;};interface TouchEvent extends UIEvent{readonly altKey:boolean;readonly changedTouches:TouchList;readonly ctrlKey:boolean;readonly metaKey:boolean;readonly shiftKey:boolean;readonly targetTouches:TouchList;readonly touches:TouchList;}declare var TouchEvent:{prototype:TouchEvent;new(type:string,eventInitDict?:TouchEventInit):TouchEvent;};interface TouchList{readonly length:number;item(index:number):Touch|null;[index:number]:Touch;}declare var TouchList:{prototype:TouchList;new():TouchList;};interface TrackEvent extends Event{readonly track:TextTrack|null;}declare var TrackEvent:{prototype:TrackEvent;new(type:string,eventInitDict?:TrackEventInit):TrackEvent;};interface TransformStream<I=any,O=any>{readonly readable:ReadableStream<O>;readonly writable:WritableStream<I>;}declare var TransformStream:{prototype:TransformStream;new<I=any,O=any>(transformer?:Transformer<I,O>,writableStrategy?:QueuingStrategy<I>,readableStrategy?:QueuingStrategy<O>):TransformStream<I,O>;};interface TransformStreamDefaultController<O=any>{readonly desiredSize:number|null;enqueue(chunk?:O):void;error(reason?:any):void;terminate():void;}declare var TransformStreamDefaultController:{prototype:TransformStreamDefaultController;new():TransformStreamDefaultController;};interface TransitionEvent extends Event{readonly elapsedTime:number;readonly propertyName:string;readonly pseudoElement:string;}declare var TransitionEvent:{prototype:TransitionEvent;new(type:string,transitionEventInitDict?:TransitionEventInit):TransitionEvent;};interface TreeWalker{currentNode:Node;readonly filter:NodeFilter|null;readonly root:Node;readonly whatToShow:number;firstChild():Node|null;lastChild():Node|null;nextNode():Node|null;nextSibling():Node|null;parentNode():Node|null;previousNode():Node|null;previousSibling():Node|null;}declare var TreeWalker:{prototype:TreeWalker;new():TreeWalker;};interface UIEvent extends Event{readonly detail:number;readonly view:Window|null;readonly which:number;initUIEvent(typeArg:string,bubblesArg?:boolean,cancelableArg?:boolean,viewArg?:Window|null,detailArg?:number):void;}declare var UIEvent:{prototype:UIEvent;new(type:string,eventInitDict?:UIEventInit):UIEvent;};interface URL{hash:string;host:string;hostname:string;href:string;toString():string;readonly origin:string;password:string;pathname:string;port:string;protocol:string;search:string;readonly searchParams:URLSearchParams;username:string;toJSON():string;}declare var URL:{prototype:URL;new(url:string|URL,base?:string|URL):URL;createObjectURL(obj:Blob|MediaSource):string;revokeObjectURL(url:string):void;};type webkitURL=URL;declare var webkitURL:typeof URL;interface URLSearchParams{append(name:string,value:string):void;delete(name:string):void;get(name:string):string|null;getAll(name:string):string[];has(name:string):boolean;set(name:string,value:string):void;sort():void;toString():string;forEach(callbackfn:(value:string,key:string,parent:URLSearchParams)=>void,thisArg?:any):void;}declare var URLSearchParams:{prototype:URLSearchParams;new(init?:string[][]|Record<string,string>|string|URLSearchParams):URLSearchParams;toString():string;};interface VTTCue extends TextTrackCue{align:AlignSetting;line:LineAndPositionSetting;lineAlign:LineAlignSetting;position:LineAndPositionSetting;positionAlign:PositionAlignSetting;region:VTTRegion|null;size:number;snapToLines:boolean;text:string;vertical:DirectionSetting;getCueAsHTML():DocumentFragment;addEventListener<K extends keyof TextTrackCueEventMap>(type:K,listener:(this:VTTCue,ev:TextTrackCueEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof TextTrackCueEventMap>(type:K,listener:(this:VTTCue,ev:TextTrackCueEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var VTTCue:{prototype:VTTCue;new(startTime:number,endTime:number,text:string):VTTCue;};interface VTTRegion{id:string;lines:number;regionAnchorX:number;regionAnchorY:number;scroll:ScrollSetting;viewportAnchorX:number;viewportAnchorY:number;width:number;}declare var VTTRegion:{prototype:VTTRegion;new():VTTRegion;};interface ValidityState{readonly badInput:boolean;readonly customError:boolean;readonly patternMismatch:boolean;readonly rangeOverflow:boolean;readonly rangeUnderflow:boolean;readonly stepMismatch:boolean;readonly tooLong:boolean;readonly tooShort:boolean;readonly typeMismatch:boolean;readonly valid:boolean;readonly valueMissing:boolean;}declare var ValidityState:{prototype:ValidityState;new():ValidityState;};interface VideoColorSpace{readonly fullRange:boolean|null;readonly matrix:VideoMatrixCoefficients|null;readonly primaries:VideoColorPrimaries|null;readonly transfer:VideoTransferCharacteristics|null;toJSON():VideoColorSpaceInit;}declare var VideoColorSpace:{prototype:VideoColorSpace;new(init?:VideoColorSpaceInit):VideoColorSpace;};interface VideoPlaybackQuality{readonly corruptedVideoFrames:number;readonly creationTime:DOMHighResTimeStamp;readonly droppedVideoFrames:number;readonly totalVideoFrames:number;}declare var VideoPlaybackQuality:{prototype:VideoPlaybackQuality;new():VideoPlaybackQuality;};interface VisualViewportEventMap{"resize":Event;"scroll":Event;}interface VisualViewport extends EventTarget{readonly height:number;readonly offsetLeft:number;readonly offsetTop:number;onresize:((this:VisualViewport,ev:Event)=>any)|null;onscroll:((this:VisualViewport,ev:Event)=>any)|null;readonly pageLeft:number;readonly pageTop:number;readonly scale:number;readonly width:number;addEventListener<K extends keyof VisualViewportEventMap>(type:K,listener:(this:VisualViewport,ev:VisualViewportEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof VisualViewportEventMap>(type:K,listener:(this:VisualViewport,ev:VisualViewportEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var VisualViewport:{prototype:VisualViewport;new():VisualViewport;};interface WEBGL_color_buffer_float{readonly FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT:GLenum;readonly RGBA32F_EXT:GLenum;readonly UNSIGNED_NORMALIZED_EXT:GLenum;}interface WEBGL_compressed_texture_astc{getSupportedProfiles():string[];readonly COMPRESSED_RGBA_ASTC_10x10_KHR:GLenum;readonly COMPRESSED_RGBA_ASTC_10x5_KHR:GLenum;readonly COMPRESSED_RGBA_ASTC_10x6_KHR:GLenum;readonly COMPRESSED_RGBA_ASTC_10x8_KHR:GLenum;readonly COMPRESSED_RGBA_ASTC_12x10_KHR:GLenum;readonly COMPRESSED_RGBA_ASTC_12x12_KHR:GLenum;readonly COMPRESSED_RGBA_ASTC_4x4_KHR:GLenum;readonly COMPRESSED_RGBA_ASTC_5x4_KHR:GLenum;readonly COMPRESSED_RGBA_ASTC_5x5_KHR:GLenum;readonly COMPRESSED_RGBA_ASTC_6x5_KHR:GLenum;readonly COMPRESSED_RGBA_ASTC_6x6_KHR:GLenum;readonly COMPRESSED_RGBA_ASTC_8x5_KHR:GLenum;readonly COMPRESSED_RGBA_ASTC_8x6_KHR:GLenum;readonly COMPRESSED_RGBA_ASTC_8x8_KHR:GLenum;readonly COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:GLenum;readonly COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:GLenum;readonly COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:GLenum;readonly COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:GLenum;readonly COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:GLenum;readonly COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:GLenum;readonly COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:GLenum;readonly COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:GLenum;readonly COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:GLenum;readonly COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:GLenum;readonly COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:GLenum;readonly COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:GLenum;readonly COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:GLenum;readonly COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:GLenum;}interface WEBGL_compressed_texture_etc{readonly COMPRESSED_R11_EAC:GLenum;readonly COMPRESSED_RG11_EAC:GLenum;readonly COMPRESSED_RGB8_ETC2:GLenum;readonly COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:GLenum;readonly COMPRESSED_RGBA8_ETC2_EAC:GLenum;readonly COMPRESSED_SIGNED_R11_EAC:GLenum;readonly COMPRESSED_SIGNED_RG11_EAC:GLenum;readonly COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:GLenum;readonly COMPRESSED_SRGB8_ETC2:GLenum;readonly COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:GLenum;}interface WEBGL_compressed_texture_etc1{readonly COMPRESSED_RGB_ETC1_WEBGL:GLenum;}interface WEBGL_compressed_texture_s3tc{readonly COMPRESSED_RGBA_S3TC_DXT1_EXT:GLenum;readonly COMPRESSED_RGBA_S3TC_DXT3_EXT:GLenum;readonly COMPRESSED_RGBA_S3TC_DXT5_EXT:GLenum;readonly COMPRESSED_RGB_S3TC_DXT1_EXT:GLenum;}interface WEBGL_compressed_texture_s3tc_srgb{readonly COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT:GLenum;readonly COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT:GLenum;readonly COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT:GLenum;readonly COMPRESSED_SRGB_S3TC_DXT1_EXT:GLenum;}interface WEBGL_debug_renderer_info{readonly UNMASKED_RENDERER_WEBGL:GLenum;readonly UNMASKED_VENDOR_WEBGL:GLenum;}interface WEBGL_debug_shaders{getTranslatedShaderSource(shader:WebGLShader):string;}interface WEBGL_depth_texture{readonly UNSIGNED_INT_24_8_WEBGL:GLenum;}interface WEBGL_draw_buffers{drawBuffersWEBGL(buffers:GLenum[]):void;readonly COLOR_ATTACHMENT0_WEBGL:GLenum;readonly COLOR_ATTACHMENT10_WEBGL:GLenum;readonly COLOR_ATTACHMENT11_WEBGL:GLenum;readonly COLOR_ATTACHMENT12_WEBGL:GLenum;readonly COLOR_ATTACHMENT13_WEBGL:GLenum;readonly COLOR_ATTACHMENT14_WEBGL:GLenum;readonly COLOR_ATTACHMENT15_WEBGL:GLenum;readonly COLOR_ATTACHMENT1_WEBGL:GLenum;readonly COLOR_ATTACHMENT2_WEBGL:GLenum;readonly COLOR_ATTACHMENT3_WEBGL:GLenum;readonly COLOR_ATTACHMENT4_WEBGL:GLenum;readonly COLOR_ATTACHMENT5_WEBGL:GLenum;readonly COLOR_ATTACHMENT6_WEBGL:GLenum;readonly COLOR_ATTACHMENT7_WEBGL:GLenum;readonly COLOR_ATTACHMENT8_WEBGL:GLenum;readonly COLOR_ATTACHMENT9_WEBGL:GLenum;readonly DRAW_BUFFER0_WEBGL:GLenum;readonly DRAW_BUFFER10_WEBGL:GLenum;readonly DRAW_BUFFER11_WEBGL:GLenum;readonly DRAW_BUFFER12_WEBGL:GLenum;readonly DRAW_BUFFER13_WEBGL:GLenum;readonly DRAW_BUFFER14_WEBGL:GLenum;readonly DRAW_BUFFER15_WEBGL:GLenum;readonly DRAW_BUFFER1_WEBGL:GLenum;readonly DRAW_BUFFER2_WEBGL:GLenum;readonly DRAW_BUFFER3_WEBGL:GLenum;readonly DRAW_BUFFER4_WEBGL:GLenum;readonly DRAW_BUFFER5_WEBGL:GLenum;readonly DRAW_BUFFER6_WEBGL:GLenum;readonly DRAW_BUFFER7_WEBGL:GLenum;readonly DRAW_BUFFER8_WEBGL:GLenum;readonly DRAW_BUFFER9_WEBGL:GLenum;readonly MAX_COLOR_ATTACHMENTS_WEBGL:GLenum;readonly MAX_DRAW_BUFFERS_WEBGL:GLenum;}interface WEBGL_lose_context{loseContext():void;restoreContext():void;}interface WEBGL_multi_draw{multiDrawArraysInstancedWEBGL(mode:GLenum,firstsList:Int32Array|GLint[],firstsOffset:GLuint,countsList:Int32Array|GLsizei[],countsOffset:GLuint,instanceCountsList:Int32Array|GLsizei[],instanceCountsOffset:GLuint,drawcount:GLsizei):void;multiDrawArraysWEBGL(mode:GLenum,firstsList:Int32Array|GLint[],firstsOffset:GLuint,countsList:Int32Array|GLsizei[],countsOffset:GLuint,drawcount:GLsizei):void;multiDrawElementsInstancedWEBGL(mode:GLenum,countsList:Int32Array|GLsizei[],countsOffset:GLuint,type:GLenum,offsetsList:Int32Array|GLsizei[],offsetsOffset:GLuint,instanceCountsList:Int32Array|GLsizei[],instanceCountsOffset:GLuint,drawcount:GLsizei):void;multiDrawElementsWEBGL(mode:GLenum,countsList:Int32Array|GLsizei[],countsOffset:GLuint,type:GLenum,offsetsList:Int32Array|GLsizei[],offsetsOffset:GLuint,drawcount:GLsizei):void;}interface WaveShaperNode extends AudioNode{curve:Float32Array|null;oversample:OverSampleType;}declare var WaveShaperNode:{prototype:WaveShaperNode;new(context:BaseAudioContext,options?:WaveShaperOptions):WaveShaperNode;};interface WebGL2RenderingContext extends WebGL2RenderingContextBase,WebGL2RenderingContextOverloads,WebGLRenderingContextBase{}declare var WebGL2RenderingContext:{prototype:WebGL2RenderingContext;new():WebGL2RenderingContext;readonly ACTIVE_UNIFORM_BLOCKS:GLenum;readonly ALREADY_SIGNALED:GLenum;readonly ANY_SAMPLES_PASSED:GLenum;readonly ANY_SAMPLES_PASSED_CONSERVATIVE:GLenum;readonly COLOR:GLenum;readonly COLOR_ATTACHMENT1:GLenum;readonly COLOR_ATTACHMENT10:GLenum;readonly COLOR_ATTACHMENT11:GLenum;readonly COLOR_ATTACHMENT12:GLenum;readonly COLOR_ATTACHMENT13:GLenum;readonly COLOR_ATTACHMENT14:GLenum;readonly COLOR_ATTACHMENT15:GLenum;readonly COLOR_ATTACHMENT2:GLenum;readonly COLOR_ATTACHMENT3:GLenum;readonly COLOR_ATTACHMENT4:GLenum;readonly COLOR_ATTACHMENT5:GLenum;readonly COLOR_ATTACHMENT6:GLenum;readonly COLOR_ATTACHMENT7:GLenum;readonly COLOR_ATTACHMENT8:GLenum;readonly COLOR_ATTACHMENT9:GLenum;readonly COMPARE_REF_TO_TEXTURE:GLenum;readonly CONDITION_SATISFIED:GLenum;readonly COPY_READ_BUFFER:GLenum;readonly COPY_READ_BUFFER_BINDING:GLenum;readonly COPY_WRITE_BUFFER:GLenum;readonly COPY_WRITE_BUFFER_BINDING:GLenum;readonly CURRENT_QUERY:GLenum;readonly DEPTH:GLenum;readonly DEPTH24_STENCIL8:GLenum;readonly DEPTH32F_STENCIL8:GLenum;readonly DEPTH_COMPONENT24:GLenum;readonly DEPTH_COMPONENT32F:GLenum;readonly DRAW_BUFFER0:GLenum;readonly DRAW_BUFFER1:GLenum;readonly DRAW_BUFFER10:GLenum;readonly DRAW_BUFFER11:GLenum;readonly DRAW_BUFFER12:GLenum;readonly DRAW_BUFFER13:GLenum;readonly DRAW_BUFFER14:GLenum;readonly DRAW_BUFFER15:GLenum;readonly DRAW_BUFFER2:GLenum;readonly DRAW_BUFFER3:GLenum;readonly DRAW_BUFFER4:GLenum;readonly DRAW_BUFFER5:GLenum;readonly DRAW_BUFFER6:GLenum;readonly DRAW_BUFFER7:GLenum;readonly DRAW_BUFFER8:GLenum;readonly DRAW_BUFFER9:GLenum;readonly DRAW_FRAMEBUFFER:GLenum;readonly DRAW_FRAMEBUFFER_BINDING:GLenum;readonly DYNAMIC_COPY:GLenum;readonly DYNAMIC_READ:GLenum;readonly FLOAT_32_UNSIGNED_INT_24_8_REV:GLenum;readonly FLOAT_MAT2x3:GLenum;readonly FLOAT_MAT2x4:GLenum;readonly FLOAT_MAT3x2:GLenum;readonly FLOAT_MAT3x4:GLenum;readonly FLOAT_MAT4x2:GLenum;readonly FLOAT_MAT4x3:GLenum;readonly FRAGMENT_SHADER_DERIVATIVE_HINT:GLenum;readonly FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE:GLenum;readonly FRAMEBUFFER_ATTACHMENT_BLUE_SIZE:GLenum;readonly FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING:GLenum;readonly FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE:GLenum;readonly FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE:GLenum;readonly FRAMEBUFFER_ATTACHMENT_GREEN_SIZE:GLenum;readonly FRAMEBUFFER_ATTACHMENT_RED_SIZE:GLenum;readonly FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE:GLenum;readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER:GLenum;readonly FRAMEBUFFER_DEFAULT:GLenum;readonly FRAMEBUFFER_INCOMPLETE_MULTISAMPLE:GLenum;readonly HALF_FLOAT:GLenum;readonly INTERLEAVED_ATTRIBS:GLenum;readonly INT_2_10_10_10_REV:GLenum;readonly INT_SAMPLER_2D:GLenum;readonly INT_SAMPLER_2D_ARRAY:GLenum;readonly INT_SAMPLER_3D:GLenum;readonly INT_SAMPLER_CUBE:GLenum;readonly INVALID_INDEX:GLenum;readonly MAX:GLenum;readonly MAX_3D_TEXTURE_SIZE:GLenum;readonly MAX_ARRAY_TEXTURE_LAYERS:GLenum;readonly MAX_CLIENT_WAIT_TIMEOUT_WEBGL:GLenum;readonly MAX_COLOR_ATTACHMENTS:GLenum;readonly MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS:GLenum;readonly MAX_COMBINED_UNIFORM_BLOCKS:GLenum;readonly MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS:GLenum;readonly MAX_DRAW_BUFFERS:GLenum;readonly MAX_ELEMENTS_INDICES:GLenum;readonly MAX_ELEMENTS_VERTICES:GLenum;readonly MAX_ELEMENT_INDEX:GLenum;readonly MAX_FRAGMENT_INPUT_COMPONENTS:GLenum;readonly MAX_FRAGMENT_UNIFORM_BLOCKS:GLenum;readonly MAX_FRAGMENT_UNIFORM_COMPONENTS:GLenum;readonly MAX_PROGRAM_TEXEL_OFFSET:GLenum;readonly MAX_SAMPLES:GLenum;readonly MAX_SERVER_WAIT_TIMEOUT:GLenum;readonly MAX_TEXTURE_LOD_BIAS:GLenum;readonly MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS:GLenum;readonly MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS:GLenum;readonly MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS:GLenum;readonly MAX_UNIFORM_BLOCK_SIZE:GLenum;readonly MAX_UNIFORM_BUFFER_BINDINGS:GLenum;readonly MAX_VARYING_COMPONENTS:GLenum;readonly MAX_VERTEX_OUTPUT_COMPONENTS:GLenum;readonly MAX_VERTEX_UNIFORM_BLOCKS:GLenum;readonly MAX_VERTEX_UNIFORM_COMPONENTS:GLenum;readonly MIN:GLenum;readonly MIN_PROGRAM_TEXEL_OFFSET:GLenum;readonly OBJECT_TYPE:GLenum;readonly PACK_ROW_LENGTH:GLenum;readonly PACK_SKIP_PIXELS:GLenum;readonly PACK_SKIP_ROWS:GLenum;readonly PIXEL_PACK_BUFFER:GLenum;readonly PIXEL_PACK_BUFFER_BINDING:GLenum;readonly PIXEL_UNPACK_BUFFER:GLenum;readonly PIXEL_UNPACK_BUFFER_BINDING:GLenum;readonly QUERY_RESULT:GLenum;readonly QUERY_RESULT_AVAILABLE:GLenum;readonly R11F_G11F_B10F:GLenum;readonly R16F:GLenum;readonly R16I:GLenum;readonly R16UI:GLenum;readonly R32F:GLenum;readonly R32I:GLenum;readonly R32UI:GLenum;readonly R8:GLenum;readonly R8I:GLenum;readonly R8UI:GLenum;readonly R8_SNORM:GLenum;readonly RASTERIZER_DISCARD:GLenum;readonly READ_BUFFER:GLenum;readonly READ_FRAMEBUFFER:GLenum;readonly READ_FRAMEBUFFER_BINDING:GLenum;readonly RED:GLenum;readonly RED_INTEGER:GLenum;readonly RENDERBUFFER_SAMPLES:GLenum;readonly RG:GLenum;readonly RG16F:GLenum;readonly RG16I:GLenum;readonly RG16UI:GLenum;readonly RG32F:GLenum;readonly RG32I:GLenum;readonly RG32UI:GLenum;readonly RG8:GLenum;readonly RG8I:GLenum;readonly RG8UI:GLenum;readonly RG8_SNORM:GLenum;readonly RGB10_A2:GLenum;readonly RGB10_A2UI:GLenum;readonly RGB16F:GLenum;readonly RGB16I:GLenum;readonly RGB16UI:GLenum;readonly RGB32F:GLenum;readonly RGB32I:GLenum;readonly RGB32UI:GLenum;readonly RGB8:GLenum;readonly RGB8I:GLenum;readonly RGB8UI:GLenum;readonly RGB8_SNORM:GLenum;readonly RGB9_E5:GLenum;readonly RGBA16F:GLenum;readonly RGBA16I:GLenum;readonly RGBA16UI:GLenum;readonly RGBA32F:GLenum;readonly RGBA32I:GLenum;readonly RGBA32UI:GLenum;readonly RGBA8:GLenum;readonly RGBA8I:GLenum;readonly RGBA8UI:GLenum;readonly RGBA8_SNORM:GLenum;readonly RGBA_INTEGER:GLenum;readonly RGB_INTEGER:GLenum;readonly RG_INTEGER:GLenum;readonly SAMPLER_2D_ARRAY:GLenum;readonly SAMPLER_2D_ARRAY_SHADOW:GLenum;readonly SAMPLER_2D_SHADOW:GLenum;readonly SAMPLER_3D:GLenum;readonly SAMPLER_BINDING:GLenum;readonly SAMPLER_CUBE_SHADOW:GLenum;readonly SEPARATE_ATTRIBS:GLenum;readonly SIGNALED:GLenum;readonly SIGNED_NORMALIZED:GLenum;readonly SRGB:GLenum;readonly SRGB8:GLenum;readonly SRGB8_ALPHA8:GLenum;readonly STATIC_COPY:GLenum;readonly STATIC_READ:GLenum;readonly STENCIL:GLenum;readonly STREAM_COPY:GLenum;readonly STREAM_READ:GLenum;readonly SYNC_CONDITION:GLenum;readonly SYNC_FENCE:GLenum;readonly SYNC_FLAGS:GLenum;readonly SYNC_FLUSH_COMMANDS_BIT:GLenum;readonly SYNC_GPU_COMMANDS_COMPLETE:GLenum;readonly SYNC_STATUS:GLenum;readonly TEXTURE_2D_ARRAY:GLenum;readonly TEXTURE_3D:GLenum;readonly TEXTURE_BASE_LEVEL:GLenum;readonly TEXTURE_BINDING_2D_ARRAY:GLenum;readonly TEXTURE_BINDING_3D:GLenum;readonly TEXTURE_COMPARE_FUNC:GLenum;readonly TEXTURE_COMPARE_MODE:GLenum;readonly TEXTURE_IMMUTABLE_FORMAT:GLenum;readonly TEXTURE_IMMUTABLE_LEVELS:GLenum;readonly TEXTURE_MAX_LEVEL:GLenum;readonly TEXTURE_MAX_LOD:GLenum;readonly TEXTURE_MIN_LOD:GLenum;readonly TEXTURE_WRAP_R:GLenum;readonly TIMEOUT_EXPIRED:GLenum;readonly TIMEOUT_IGNORED:GLint64;readonly TRANSFORM_FEEDBACK:GLenum;readonly TRANSFORM_FEEDBACK_ACTIVE:GLenum;readonly TRANSFORM_FEEDBACK_BINDING:GLenum;readonly TRANSFORM_FEEDBACK_BUFFER:GLenum;readonly TRANSFORM_FEEDBACK_BUFFER_BINDING:GLenum;readonly TRANSFORM_FEEDBACK_BUFFER_MODE:GLenum;readonly TRANSFORM_FEEDBACK_BUFFER_SIZE:GLenum;readonly TRANSFORM_FEEDBACK_BUFFER_START:GLenum;readonly TRANSFORM_FEEDBACK_PAUSED:GLenum;readonly TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN:GLenum;readonly TRANSFORM_FEEDBACK_VARYINGS:GLenum;readonly UNIFORM_ARRAY_STRIDE:GLenum;readonly UNIFORM_BLOCK_ACTIVE_UNIFORMS:GLenum;readonly UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES:GLenum;readonly UNIFORM_BLOCK_BINDING:GLenum;readonly UNIFORM_BLOCK_DATA_SIZE:GLenum;readonly UNIFORM_BLOCK_INDEX:GLenum;readonly UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER:GLenum;readonly UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER:GLenum;readonly UNIFORM_BUFFER:GLenum;readonly UNIFORM_BUFFER_BINDING:GLenum;readonly UNIFORM_BUFFER_OFFSET_ALIGNMENT:GLenum;readonly UNIFORM_BUFFER_SIZE:GLenum;readonly UNIFORM_BUFFER_START:GLenum;readonly UNIFORM_IS_ROW_MAJOR:GLenum;readonly UNIFORM_MATRIX_STRIDE:GLenum;readonly UNIFORM_OFFSET:GLenum;readonly UNIFORM_SIZE:GLenum;readonly UNIFORM_TYPE:GLenum;readonly UNPACK_IMAGE_HEIGHT:GLenum;readonly UNPACK_ROW_LENGTH:GLenum;readonly UNPACK_SKIP_IMAGES:GLenum;readonly UNPACK_SKIP_PIXELS:GLenum;readonly UNPACK_SKIP_ROWS:GLenum;readonly UNSIGNALED:GLenum;readonly UNSIGNED_INT_10F_11F_11F_REV:GLenum;readonly UNSIGNED_INT_24_8:GLenum;readonly UNSIGNED_INT_2_10_10_10_REV:GLenum;readonly UNSIGNED_INT_5_9_9_9_REV:GLenum;readonly UNSIGNED_INT_SAMPLER_2D:GLenum;readonly UNSIGNED_INT_SAMPLER_2D_ARRAY:GLenum;readonly UNSIGNED_INT_SAMPLER_3D:GLenum;readonly UNSIGNED_INT_SAMPLER_CUBE:GLenum;readonly UNSIGNED_INT_VEC2:GLenum;readonly UNSIGNED_INT_VEC3:GLenum;readonly UNSIGNED_INT_VEC4:GLenum;readonly UNSIGNED_NORMALIZED:GLenum;readonly VERTEX_ARRAY_BINDING:GLenum;readonly VERTEX_ATTRIB_ARRAY_DIVISOR:GLenum;readonly VERTEX_ATTRIB_ARRAY_INTEGER:GLenum;readonly WAIT_FAILED:GLenum;readonly ACTIVE_ATTRIBUTES:GLenum;readonly ACTIVE_TEXTURE:GLenum;readonly ACTIVE_UNIFORMS:GLenum;readonly ALIASED_LINE_WIDTH_RANGE:GLenum;readonly ALIASED_POINT_SIZE_RANGE:GLenum;readonly ALPHA:GLenum;readonly ALPHA_BITS:GLenum;readonly ALWAYS:GLenum;readonly ARRAY_BUFFER:GLenum;readonly ARRAY_BUFFER_BINDING:GLenum;readonly ATTACHED_SHADERS:GLenum;readonly BACK:GLenum;readonly BLEND:GLenum;readonly BLEND_COLOR:GLenum;readonly BLEND_DST_ALPHA:GLenum;readonly BLEND_DST_RGB:GLenum;readonly BLEND_EQUATION:GLenum;readonly BLEND_EQUATION_ALPHA:GLenum;readonly BLEND_EQUATION_RGB:GLenum;readonly BLEND_SRC_ALPHA:GLenum;readonly BLEND_SRC_RGB:GLenum;readonly BLUE_BITS:GLenum;readonly BOOL:GLenum;readonly BOOL_VEC2:GLenum;readonly BOOL_VEC3:GLenum;readonly BOOL_VEC4:GLenum;readonly BROWSER_DEFAULT_WEBGL:GLenum;readonly BUFFER_SIZE:GLenum;readonly BUFFER_USAGE:GLenum;readonly BYTE:GLenum;readonly CCW:GLenum;readonly CLAMP_TO_EDGE:GLenum;readonly COLOR_ATTACHMENT0:GLenum;readonly COLOR_BUFFER_BIT:GLenum;readonly COLOR_CLEAR_VALUE:GLenum;readonly COLOR_WRITEMASK:GLenum;readonly COMPILE_STATUS:GLenum;readonly COMPRESSED_TEXTURE_FORMATS:GLenum;readonly CONSTANT_ALPHA:GLenum;readonly CONSTANT_COLOR:GLenum;readonly CONTEXT_LOST_WEBGL:GLenum;readonly CULL_FACE:GLenum;readonly CULL_FACE_MODE:GLenum;readonly CURRENT_PROGRAM:GLenum;readonly CURRENT_VERTEX_ATTRIB:GLenum;readonly CW:GLenum;readonly DECR:GLenum;readonly DECR_WRAP:GLenum;readonly DELETE_STATUS:GLenum;readonly DEPTH_ATTACHMENT:GLenum;readonly DEPTH_BITS:GLenum;readonly DEPTH_BUFFER_BIT:GLenum;readonly DEPTH_CLEAR_VALUE:GLenum;readonly DEPTH_COMPONENT:GLenum;readonly DEPTH_COMPONENT16:GLenum;readonly DEPTH_FUNC:GLenum;readonly DEPTH_RANGE:GLenum;readonly DEPTH_STENCIL:GLenum;readonly DEPTH_STENCIL_ATTACHMENT:GLenum;readonly DEPTH_TEST:GLenum;readonly DEPTH_WRITEMASK:GLenum;readonly DITHER:GLenum;readonly DONT_CARE:GLenum;readonly DST_ALPHA:GLenum;readonly DST_COLOR:GLenum;readonly DYNAMIC_DRAW:GLenum;readonly ELEMENT_ARRAY_BUFFER:GLenum;readonly ELEMENT_ARRAY_BUFFER_BINDING:GLenum;readonly EQUAL:GLenum;readonly FASTEST:GLenum;readonly FLOAT:GLenum;readonly FLOAT_MAT2:GLenum;readonly FLOAT_MAT3:GLenum;readonly FLOAT_MAT4:GLenum;readonly FLOAT_VEC2:GLenum;readonly FLOAT_VEC3:GLenum;readonly FLOAT_VEC4:GLenum;readonly FRAGMENT_SHADER:GLenum;readonly FRAMEBUFFER:GLenum;readonly FRAMEBUFFER_ATTACHMENT_OBJECT_NAME:GLenum;readonly FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE:GLenum;readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE:GLenum;readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL:GLenum;readonly FRAMEBUFFER_BINDING:GLenum;readonly FRAMEBUFFER_COMPLETE:GLenum;readonly FRAMEBUFFER_INCOMPLETE_ATTACHMENT:GLenum;readonly FRAMEBUFFER_INCOMPLETE_DIMENSIONS:GLenum;readonly FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:GLenum;readonly FRAMEBUFFER_UNSUPPORTED:GLenum;readonly FRONT:GLenum;readonly FRONT_AND_BACK:GLenum;readonly FRONT_FACE:GLenum;readonly FUNC_ADD:GLenum;readonly FUNC_REVERSE_SUBTRACT:GLenum;readonly FUNC_SUBTRACT:GLenum;readonly GENERATE_MIPMAP_HINT:GLenum;readonly GEQUAL:GLenum;readonly GREATER:GLenum;readonly GREEN_BITS:GLenum;readonly HIGH_FLOAT:GLenum;readonly HIGH_INT:GLenum;readonly IMPLEMENTATION_COLOR_READ_FORMAT:GLenum;readonly IMPLEMENTATION_COLOR_READ_TYPE:GLenum;readonly INCR:GLenum;readonly INCR_WRAP:GLenum;readonly INT:GLenum;readonly INT_VEC2:GLenum;readonly INT_VEC3:GLenum;readonly INT_VEC4:GLenum;readonly INVALID_ENUM:GLenum;readonly INVALID_FRAMEBUFFER_OPERATION:GLenum;readonly INVALID_OPERATION:GLenum;readonly INVALID_VALUE:GLenum;readonly INVERT:GLenum;readonly KEEP:GLenum;readonly LEQUAL:GLenum;readonly LESS:GLenum;readonly LINEAR:GLenum;readonly LINEAR_MIPMAP_LINEAR:GLenum;readonly LINEAR_MIPMAP_NEAREST:GLenum;readonly LINES:GLenum;readonly LINE_LOOP:GLenum;readonly LINE_STRIP:GLenum;readonly LINE_WIDTH:GLenum;readonly LINK_STATUS:GLenum;readonly LOW_FLOAT:GLenum;readonly LOW_INT:GLenum;readonly LUMINANCE:GLenum;readonly LUMINANCE_ALPHA:GLenum;readonly MAX_COMBINED_TEXTURE_IMAGE_UNITS:GLenum;readonly MAX_CUBE_MAP_TEXTURE_SIZE:GLenum;readonly MAX_FRAGMENT_UNIFORM_VECTORS:GLenum;readonly MAX_RENDERBUFFER_SIZE:GLenum;readonly MAX_TEXTURE_IMAGE_UNITS:GLenum;readonly MAX_TEXTURE_SIZE:GLenum;readonly MAX_VARYING_VECTORS:GLenum;readonly MAX_VERTEX_ATTRIBS:GLenum;readonly MAX_VERTEX_TEXTURE_IMAGE_UNITS:GLenum;readonly MAX_VERTEX_UNIFORM_VECTORS:GLenum;readonly MAX_VIEWPORT_DIMS:GLenum;readonly MEDIUM_FLOAT:GLenum;readonly MEDIUM_INT:GLenum;readonly MIRRORED_REPEAT:GLenum;readonly NEAREST:GLenum;readonly NEAREST_MIPMAP_LINEAR:GLenum;readonly NEAREST_MIPMAP_NEAREST:GLenum;readonly NEVER:GLenum;readonly NICEST:GLenum;readonly NONE:GLenum;readonly NOTEQUAL:GLenum;readonly NO_ERROR:GLenum;readonly ONE:GLenum;readonly ONE_MINUS_CONSTANT_ALPHA:GLenum;readonly ONE_MINUS_CONSTANT_COLOR:GLenum;readonly ONE_MINUS_DST_ALPHA:GLenum;readonly ONE_MINUS_DST_COLOR:GLenum;readonly ONE_MINUS_SRC_ALPHA:GLenum;readonly ONE_MINUS_SRC_COLOR:GLenum;readonly OUT_OF_MEMORY:GLenum;readonly PACK_ALIGNMENT:GLenum;readonly POINTS:GLenum;readonly POLYGON_OFFSET_FACTOR:GLenum;readonly POLYGON_OFFSET_FILL:GLenum;readonly POLYGON_OFFSET_UNITS:GLenum;readonly RED_BITS:GLenum;readonly RENDERBUFFER:GLenum;readonly RENDERBUFFER_ALPHA_SIZE:GLenum;readonly RENDERBUFFER_BINDING:GLenum;readonly RENDERBUFFER_BLUE_SIZE:GLenum;readonly RENDERBUFFER_DEPTH_SIZE:GLenum;readonly RENDERBUFFER_GREEN_SIZE:GLenum;readonly RENDERBUFFER_HEIGHT:GLenum;readonly RENDERBUFFER_INTERNAL_FORMAT:GLenum;readonly RENDERBUFFER_RED_SIZE:GLenum;readonly RENDERBUFFER_STENCIL_SIZE:GLenum;readonly RENDERBUFFER_WIDTH:GLenum;readonly RENDERER:GLenum;readonly REPEAT:GLenum;readonly REPLACE:GLenum;readonly RGB:GLenum;readonly RGB565:GLenum;readonly RGB5_A1:GLenum;readonly RGBA:GLenum;readonly RGBA4:GLenum;readonly SAMPLER_2D:GLenum;readonly SAMPLER_CUBE:GLenum;readonly SAMPLES:GLenum;readonly SAMPLE_ALPHA_TO_COVERAGE:GLenum;readonly SAMPLE_BUFFERS:GLenum;readonly SAMPLE_COVERAGE:GLenum;readonly SAMPLE_COVERAGE_INVERT:GLenum;readonly SAMPLE_COVERAGE_VALUE:GLenum;readonly SCISSOR_BOX:GLenum;readonly SCISSOR_TEST:GLenum;readonly SHADER_TYPE:GLenum;readonly SHADING_LANGUAGE_VERSION:GLenum;readonly SHORT:GLenum;readonly SRC_ALPHA:GLenum;readonly SRC_ALPHA_SATURATE:GLenum;readonly SRC_COLOR:GLenum;readonly STATIC_DRAW:GLenum;readonly STENCIL_ATTACHMENT:GLenum;readonly STENCIL_BACK_FAIL:GLenum;readonly STENCIL_BACK_FUNC:GLenum;readonly STENCIL_BACK_PASS_DEPTH_FAIL:GLenum;readonly STENCIL_BACK_PASS_DEPTH_PASS:GLenum;readonly STENCIL_BACK_REF:GLenum;readonly STENCIL_BACK_VALUE_MASK:GLenum;readonly STENCIL_BACK_WRITEMASK:GLenum;readonly STENCIL_BITS:GLenum;readonly STENCIL_BUFFER_BIT:GLenum;readonly STENCIL_CLEAR_VALUE:GLenum;readonly STENCIL_FAIL:GLenum;readonly STENCIL_FUNC:GLenum;readonly STENCIL_INDEX8:GLenum;readonly STENCIL_PASS_DEPTH_FAIL:GLenum;readonly STENCIL_PASS_DEPTH_PASS:GLenum;readonly STENCIL_REF:GLenum;readonly STENCIL_TEST:GLenum;readonly STENCIL_VALUE_MASK:GLenum;readonly STENCIL_WRITEMASK:GLenum;readonly STREAM_DRAW:GLenum;readonly SUBPIXEL_BITS:GLenum;readonly TEXTURE:GLenum;readonly TEXTURE0:GLenum;readonly TEXTURE1:GLenum;readonly TEXTURE10:GLenum;readonly TEXTURE11:GLenum;readonly TEXTURE12:GLenum;readonly TEXTURE13:GLenum;readonly TEXTURE14:GLenum;readonly TEXTURE15:GLenum;readonly TEXTURE16:GLenum;readonly TEXTURE17:GLenum;readonly TEXTURE18:GLenum;readonly TEXTURE19:GLenum;readonly TEXTURE2:GLenum;readonly TEXTURE20:GLenum;readonly TEXTURE21:GLenum;readonly TEXTURE22:GLenum;readonly TEXTURE23:GLenum;readonly TEXTURE24:GLenum;readonly TEXTURE25:GLenum;readonly TEXTURE26:GLenum;readonly TEXTURE27:GLenum;readonly TEXTURE28:GLenum;readonly TEXTURE29:GLenum;readonly TEXTURE3:GLenum;readonly TEXTURE30:GLenum;readonly TEXTURE31:GLenum;readonly TEXTURE4:GLenum;readonly TEXTURE5:GLenum;readonly TEXTURE6:GLenum;readonly TEXTURE7:GLenum;readonly TEXTURE8:GLenum;readonly TEXTURE9:GLenum;readonly TEXTURE_2D:GLenum;readonly TEXTURE_BINDING_2D:GLenum;readonly TEXTURE_BINDING_CUBE_MAP:GLenum;readonly TEXTURE_CUBE_MAP:GLenum;readonly TEXTURE_CUBE_MAP_NEGATIVE_X:GLenum;readonly TEXTURE_CUBE_MAP_NEGATIVE_Y:GLenum;readonly TEXTURE_CUBE_MAP_NEGATIVE_Z:GLenum;readonly TEXTURE_CUBE_MAP_POSITIVE_X:GLenum;readonly TEXTURE_CUBE_MAP_POSITIVE_Y:GLenum;readonly TEXTURE_CUBE_MAP_POSITIVE_Z:GLenum;readonly TEXTURE_MAG_FILTER:GLenum;readonly TEXTURE_MIN_FILTER:GLenum;readonly TEXTURE_WRAP_S:GLenum;readonly TEXTURE_WRAP_T:GLenum;readonly TRIANGLES:GLenum;readonly TRIANGLE_FAN:GLenum;readonly TRIANGLE_STRIP:GLenum;readonly UNPACK_ALIGNMENT:GLenum;readonly UNPACK_COLORSPACE_CONVERSION_WEBGL:GLenum;readonly UNPACK_FLIP_Y_WEBGL:GLenum;readonly UNPACK_PREMULTIPLY_ALPHA_WEBGL:GLenum;readonly UNSIGNED_BYTE:GLenum;readonly UNSIGNED_INT:GLenum;readonly UNSIGNED_SHORT:GLenum;readonly UNSIGNED_SHORT_4_4_4_4:GLenum;readonly UNSIGNED_SHORT_5_5_5_1:GLenum;readonly UNSIGNED_SHORT_5_6_5:GLenum;readonly VALIDATE_STATUS:GLenum;readonly VENDOR:GLenum;readonly VERSION:GLenum;readonly VERTEX_ATTRIB_ARRAY_BUFFER_BINDING:GLenum;readonly VERTEX_ATTRIB_ARRAY_ENABLED:GLenum;readonly VERTEX_ATTRIB_ARRAY_NORMALIZED:GLenum;readonly VERTEX_ATTRIB_ARRAY_POINTER:GLenum;readonly VERTEX_ATTRIB_ARRAY_SIZE:GLenum;readonly VERTEX_ATTRIB_ARRAY_STRIDE:GLenum;readonly VERTEX_ATTRIB_ARRAY_TYPE:GLenum;readonly VERTEX_SHADER:GLenum;readonly VIEWPORT:GLenum;readonly ZERO:GLenum;};interface WebGL2RenderingContextBase{beginQuery(target:GLenum,query:WebGLQuery):void;beginTransformFeedback(primitiveMode:GLenum):void;bindBufferBase(target:GLenum,index:GLuint,buffer:WebGLBuffer|null):void;bindBufferRange(target:GLenum,index:GLuint,buffer:WebGLBuffer|null,offset:GLintptr,size:GLsizeiptr):void;bindSampler(unit:GLuint,sampler:WebGLSampler|null):void;bindTransformFeedback(target:GLenum,tf:WebGLTransformFeedback|null):void;bindVertexArray(array:WebGLVertexArrayObject|null):void;blitFramebuffer(srcX0:GLint,srcY0:GLint,srcX1:GLint,srcY1:GLint,dstX0:GLint,dstY0:GLint,dstX1:GLint,dstY1:GLint,mask:GLbitfield,filter:GLenum):void;clearBufferfi(buffer:GLenum,drawbuffer:GLint,depth:GLfloat,stencil:GLint):void;clearBufferfv(buffer:GLenum,drawbuffer:GLint,values:Float32List,srcOffset?:GLuint):void;clearBufferiv(buffer:GLenum,drawbuffer:GLint,values:Int32List,srcOffset?:GLuint):void;clearBufferuiv(buffer:GLenum,drawbuffer:GLint,values:Uint32List,srcOffset?:GLuint):void;clientWaitSync(sync:WebGLSync,flags:GLbitfield,timeout:GLuint64):GLenum;compressedTexImage3D(target:GLenum,level:GLint,internalformat:GLenum,width:GLsizei,height:GLsizei,depth:GLsizei,border:GLint,imageSize:GLsizei,offset:GLintptr):void;compressedTexImage3D(target:GLenum,level:GLint,internalformat:GLenum,width:GLsizei,height:GLsizei,depth:GLsizei,border:GLint,srcData:ArrayBufferView,srcOffset?:GLuint,srcLengthOverride?:GLuint):void;compressedTexSubImage3D(target:GLenum,level:GLint,xoffset:GLint,yoffset:GLint,zoffset:GLint,width:GLsizei,height:GLsizei,depth:GLsizei,format:GLenum,imageSize:GLsizei,offset:GLintptr):void;compressedTexSubImage3D(target:GLenum,level:GLint,xoffset:GLint,yoffset:GLint,zoffset:GLint,width:GLsizei,height:GLsizei,depth:GLsizei,format:GLenum,srcData:ArrayBufferView,srcOffset?:GLuint,srcLengthOverride?:GLuint):void;copyBufferSubData(readTarget:GLenum,writeTarget:GLenum,readOffset:GLintptr,writeOffset:GLintptr,size:GLsizeiptr):void;copyTexSubImage3D(target:GLenum,level:GLint,xoffset:GLint,yoffset:GLint,zoffset:GLint,x:GLint,y:GLint,width:GLsizei,height:GLsizei):void;createQuery():WebGLQuery|null;createSampler():WebGLSampler|null;createTransformFeedback():WebGLTransformFeedback|null;createVertexArray():WebGLVertexArrayObject|null;deleteQuery(query:WebGLQuery|null):void;deleteSampler(sampler:WebGLSampler|null):void;deleteSync(sync:WebGLSync|null):void;deleteTransformFeedback(tf:WebGLTransformFeedback|null):void;deleteVertexArray(vertexArray:WebGLVertexArrayObject|null):void;drawArraysInstanced(mode:GLenum,first:GLint,count:GLsizei,instanceCount:GLsizei):void;drawBuffers(buffers:GLenum[]):void;drawElementsInstanced(mode:GLenum,count:GLsizei,type:GLenum,offset:GLintptr,instanceCount:GLsizei):void;drawRangeElements(mode:GLenum,start:GLuint,end:GLuint,count:GLsizei,type:GLenum,offset:GLintptr):void;endQuery(target:GLenum):void;endTransformFeedback():void;fenceSync(condition:GLenum,flags:GLbitfield):WebGLSync|null;framebufferTextureLayer(target:GLenum,attachment:GLenum,texture:WebGLTexture|null,level:GLint,layer:GLint):void;getActiveUniformBlockName(program:WebGLProgram,uniformBlockIndex:GLuint):string|null;getActiveUniformBlockParameter(program:WebGLProgram,uniformBlockIndex:GLuint,pname:GLenum):any;getActiveUniforms(program:WebGLProgram,uniformIndices:GLuint[],pname:GLenum):any;getBufferSubData(target:GLenum,srcByteOffset:GLintptr,dstBuffer:ArrayBufferView,dstOffset?:GLuint,length?:GLuint):void;getFragDataLocation(program:WebGLProgram,name:string):GLint;getIndexedParameter(target:GLenum,index:GLuint):any;getInternalformatParameter(target:GLenum,internalformat:GLenum,pname:GLenum):any;getQuery(target:GLenum,pname:GLenum):WebGLQuery|null;getQueryParameter(query:WebGLQuery,pname:GLenum):any;getSamplerParameter(sampler:WebGLSampler,pname:GLenum):any;getSyncParameter(sync:WebGLSync,pname:GLenum):any;getTransformFeedbackVarying(program:WebGLProgram,index:GLuint):WebGLActiveInfo|null;getUniformBlockIndex(program:WebGLProgram,uniformBlockName:string):GLuint;getUniformIndices(program:WebGLProgram,uniformNames:string[]):GLuint[]|null;invalidateFramebuffer(target:GLenum,attachments:GLenum[]):void;invalidateSubFramebuffer(target:GLenum,attachments:GLenum[],x:GLint,y:GLint,width:GLsizei,height:GLsizei):void;isQuery(query:WebGLQuery|null):GLboolean;isSampler(sampler:WebGLSampler|null):GLboolean;isSync(sync:WebGLSync|null):GLboolean;isTransformFeedback(tf:WebGLTransformFeedback|null):GLboolean;isVertexArray(vertexArray:WebGLVertexArrayObject|null):GLboolean;pauseTransformFeedback():void;readBuffer(src:GLenum):void;renderbufferStorageMultisample(target:GLenum,samples:GLsizei,internalformat:GLenum,width:GLsizei,height:GLsizei):void;resumeTransformFeedback():void;samplerParameterf(sampler:WebGLSampler,pname:GLenum,param:GLfloat):void;samplerParameteri(sampler:WebGLSampler,pname:GLenum,param:GLint):void;texImage3D(target:GLenum,level:GLint,internalformat:GLint,width:GLsizei,height:GLsizei,depth:GLsizei,border:GLint,format:GLenum,type:GLenum,pboOffset:GLintptr):void;texImage3D(target:GLenum,level:GLint,internalformat:GLint,width:GLsizei,height:GLsizei,depth:GLsizei,border:GLint,format:GLenum,type:GLenum,source:TexImageSource):void;texImage3D(target:GLenum,level:GLint,internalformat:GLint,width:GLsizei,height:GLsizei,depth:GLsizei,border:GLint,format:GLenum,type:GLenum,srcData:ArrayBufferView|null):void;texImage3D(target:GLenum,level:GLint,internalformat:GLint,width:GLsizei,height:GLsizei,depth:GLsizei,border:GLint,format:GLenum,type:GLenum,srcData:ArrayBufferView,srcOffset:GLuint):void;texStorage2D(target:GLenum,levels:GLsizei,internalformat:GLenum,width:GLsizei,height:GLsizei):void;texStorage3D(target:GLenum,levels:GLsizei,internalformat:GLenum,width:GLsizei,height:GLsizei,depth:GLsizei):void;texSubImage3D(target:GLenum,level:GLint,xoffset:GLint,yoffset:GLint,zoffset:GLint,width:GLsizei,height:GLsizei,depth:GLsizei,format:GLenum,type:GLenum,pboOffset:GLintptr):void;texSubImage3D(target:GLenum,level:GLint,xoffset:GLint,yoffset:GLint,zoffset:GLint,width:GLsizei,height:GLsizei,depth:GLsizei,format:GLenum,type:GLenum,source:TexImageSource):void;texSubImage3D(target:GLenum,level:GLint,xoffset:GLint,yoffset:GLint,zoffset:GLint,width:GLsizei,height:GLsizei,depth:GLsizei,format:GLenum,type:GLenum,srcData:ArrayBufferView|null,srcOffset?:GLuint):void;transformFeedbackVaryings(program:WebGLProgram,varyings:string[],bufferMode:GLenum):void;uniform1ui(location:WebGLUniformLocation|null,v0:GLuint):void;uniform1uiv(location:WebGLUniformLocation|null,data:Uint32List,srcOffset?:GLuint,srcLength?:GLuint):void;uniform2ui(location:WebGLUniformLocation|null,v0:GLuint,v1:GLuint):void;uniform2uiv(location:WebGLUniformLocation|null,data:Uint32List,srcOffset?:GLuint,srcLength?:GLuint):void;uniform3ui(location:WebGLUniformLocation|null,v0:GLuint,v1:GLuint,v2:GLuint):void;uniform3uiv(location:WebGLUniformLocation|null,data:Uint32List,srcOffset?:GLuint,srcLength?:GLuint):void;uniform4ui(location:WebGLUniformLocation|null,v0:GLuint,v1:GLuint,v2:GLuint,v3:GLuint):void;uniform4uiv(location:WebGLUniformLocation|null,data:Uint32List,srcOffset?:GLuint,srcLength?:GLuint):void;uniformBlockBinding(program:WebGLProgram,uniformBlockIndex:GLuint,uniformBlockBinding:GLuint):void;uniformMatrix2x3fv(location:WebGLUniformLocation|null,transpose:GLboolean,data:Float32List,srcOffset?:GLuint,srcLength?:GLuint):void;uniformMatrix2x4fv(location:WebGLUniformLocation|null,transpose:GLboolean,data:Float32List,srcOffset?:GLuint,srcLength?:GLuint):void;uniformMatrix3x2fv(location:WebGLUniformLocation|null,transpose:GLboolean,data:Float32List,srcOffset?:GLuint,srcLength?:GLuint):void;uniformMatrix3x4fv(location:WebGLUniformLocation|null,transpose:GLboolean,data:Float32List,srcOffset?:GLuint,srcLength?:GLuint):void;uniformMatrix4x2fv(location:WebGLUniformLocation|null,transpose:GLboolean,data:Float32List,srcOffset?:GLuint,srcLength?:GLuint):void;uniformMatrix4x3fv(location:WebGLUniformLocation|null,transpose:GLboolean,data:Float32List,srcOffset?:GLuint,srcLength?:GLuint):void;vertexAttribDivisor(index:GLuint,divisor:GLuint):void;vertexAttribI4i(index:GLuint,x:GLint,y:GLint,z:GLint,w:GLint):void;vertexAttribI4iv(index:GLuint,values:Int32List):void;vertexAttribI4ui(index:GLuint,x:GLuint,y:GLuint,z:GLuint,w:GLuint):void;vertexAttribI4uiv(index:GLuint,values:Uint32List):void;vertexAttribIPointer(index:GLuint,size:GLint,type:GLenum,stride:GLsizei,offset:GLintptr):void;waitSync(sync:WebGLSync,flags:GLbitfield,timeout:GLint64):void;readonly ACTIVE_UNIFORM_BLOCKS:GLenum;readonly ALREADY_SIGNALED:GLenum;readonly ANY_SAMPLES_PASSED:GLenum;readonly ANY_SAMPLES_PASSED_CONSERVATIVE:GLenum;readonly COLOR:GLenum;readonly COLOR_ATTACHMENT1:GLenum;readonly COLOR_ATTACHMENT10:GLenum;readonly COLOR_ATTACHMENT11:GLenum;readonly COLOR_ATTACHMENT12:GLenum;readonly COLOR_ATTACHMENT13:GLenum;readonly COLOR_ATTACHMENT14:GLenum;readonly COLOR_ATTACHMENT15:GLenum;readonly COLOR_ATTACHMENT2:GLenum;readonly COLOR_ATTACHMENT3:GLenum;readonly COLOR_ATTACHMENT4:GLenum;readonly COLOR_ATTACHMENT5:GLenum;readonly COLOR_ATTACHMENT6:GLenum;readonly COLOR_ATTACHMENT7:GLenum;readonly COLOR_ATTACHMENT8:GLenum;readonly COLOR_ATTACHMENT9:GLenum;readonly COMPARE_REF_TO_TEXTURE:GLenum;readonly CONDITION_SATISFIED:GLenum;readonly COPY_READ_BUFFER:GLenum;readonly COPY_READ_BUFFER_BINDING:GLenum;readonly COPY_WRITE_BUFFER:GLenum;readonly COPY_WRITE_BUFFER_BINDING:GLenum;readonly CURRENT_QUERY:GLenum;readonly DEPTH:GLenum;readonly DEPTH24_STENCIL8:GLenum;readonly DEPTH32F_STENCIL8:GLenum;readonly DEPTH_COMPONENT24:GLenum;readonly DEPTH_COMPONENT32F:GLenum;readonly DRAW_BUFFER0:GLenum;readonly DRAW_BUFFER1:GLenum;readonly DRAW_BUFFER10:GLenum;readonly DRAW_BUFFER11:GLenum;readonly DRAW_BUFFER12:GLenum;readonly DRAW_BUFFER13:GLenum;readonly DRAW_BUFFER14:GLenum;readonly DRAW_BUFFER15:GLenum;readonly DRAW_BUFFER2:GLenum;readonly DRAW_BUFFER3:GLenum;readonly DRAW_BUFFER4:GLenum;readonly DRAW_BUFFER5:GLenum;readonly DRAW_BUFFER6:GLenum;readonly DRAW_BUFFER7:GLenum;readonly DRAW_BUFFER8:GLenum;readonly DRAW_BUFFER9:GLenum;readonly DRAW_FRAMEBUFFER:GLenum;readonly DRAW_FRAMEBUFFER_BINDING:GLenum;readonly DYNAMIC_COPY:GLenum;readonly DYNAMIC_READ:GLenum;readonly FLOAT_32_UNSIGNED_INT_24_8_REV:GLenum;readonly FLOAT_MAT2x3:GLenum;readonly FLOAT_MAT2x4:GLenum;readonly FLOAT_MAT3x2:GLenum;readonly FLOAT_MAT3x4:GLenum;readonly FLOAT_MAT4x2:GLenum;readonly FLOAT_MAT4x3:GLenum;readonly FRAGMENT_SHADER_DERIVATIVE_HINT:GLenum;readonly FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE:GLenum;readonly FRAMEBUFFER_ATTACHMENT_BLUE_SIZE:GLenum;readonly FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING:GLenum;readonly FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE:GLenum;readonly FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE:GLenum;readonly FRAMEBUFFER_ATTACHMENT_GREEN_SIZE:GLenum;readonly FRAMEBUFFER_ATTACHMENT_RED_SIZE:GLenum;readonly FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE:GLenum;readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER:GLenum;readonly FRAMEBUFFER_DEFAULT:GLenum;readonly FRAMEBUFFER_INCOMPLETE_MULTISAMPLE:GLenum;readonly HALF_FLOAT:GLenum;readonly INTERLEAVED_ATTRIBS:GLenum;readonly INT_2_10_10_10_REV:GLenum;readonly INT_SAMPLER_2D:GLenum;readonly INT_SAMPLER_2D_ARRAY:GLenum;readonly INT_SAMPLER_3D:GLenum;readonly INT_SAMPLER_CUBE:GLenum;readonly INVALID_INDEX:GLenum;readonly MAX:GLenum;readonly MAX_3D_TEXTURE_SIZE:GLenum;readonly MAX_ARRAY_TEXTURE_LAYERS:GLenum;readonly MAX_CLIENT_WAIT_TIMEOUT_WEBGL:GLenum;readonly MAX_COLOR_ATTACHMENTS:GLenum;readonly MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS:GLenum;readonly MAX_COMBINED_UNIFORM_BLOCKS:GLenum;readonly MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS:GLenum;readonly MAX_DRAW_BUFFERS:GLenum;readonly MAX_ELEMENTS_INDICES:GLenum;readonly MAX_ELEMENTS_VERTICES:GLenum;readonly MAX_ELEMENT_INDEX:GLenum;readonly MAX_FRAGMENT_INPUT_COMPONENTS:GLenum;readonly MAX_FRAGMENT_UNIFORM_BLOCKS:GLenum;readonly MAX_FRAGMENT_UNIFORM_COMPONENTS:GLenum;readonly MAX_PROGRAM_TEXEL_OFFSET:GLenum;readonly MAX_SAMPLES:GLenum;readonly MAX_SERVER_WAIT_TIMEOUT:GLenum;readonly MAX_TEXTURE_LOD_BIAS:GLenum;readonly MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS:GLenum;readonly MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS:GLenum;readonly MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS:GLenum;readonly MAX_UNIFORM_BLOCK_SIZE:GLenum;readonly MAX_UNIFORM_BUFFER_BINDINGS:GLenum;readonly MAX_VARYING_COMPONENTS:GLenum;readonly MAX_VERTEX_OUTPUT_COMPONENTS:GLenum;readonly MAX_VERTEX_UNIFORM_BLOCKS:GLenum;readonly MAX_VERTEX_UNIFORM_COMPONENTS:GLenum;readonly MIN:GLenum;readonly MIN_PROGRAM_TEXEL_OFFSET:GLenum;readonly OBJECT_TYPE:GLenum;readonly PACK_ROW_LENGTH:GLenum;readonly PACK_SKIP_PIXELS:GLenum;readonly PACK_SKIP_ROWS:GLenum;readonly PIXEL_PACK_BUFFER:GLenum;readonly PIXEL_PACK_BUFFER_BINDING:GLenum;readonly PIXEL_UNPACK_BUFFER:GLenum;readonly PIXEL_UNPACK_BUFFER_BINDING:GLenum;readonly QUERY_RESULT:GLenum;readonly QUERY_RESULT_AVAILABLE:GLenum;readonly R11F_G11F_B10F:GLenum;readonly R16F:GLenum;readonly R16I:GLenum;readonly R16UI:GLenum;readonly R32F:GLenum;readonly R32I:GLenum;readonly R32UI:GLenum;readonly R8:GLenum;readonly R8I:GLenum;readonly R8UI:GLenum;readonly R8_SNORM:GLenum;readonly RASTERIZER_DISCARD:GLenum;readonly READ_BUFFER:GLenum;readonly READ_FRAMEBUFFER:GLenum;readonly READ_FRAMEBUFFER_BINDING:GLenum;readonly RED:GLenum;readonly RED_INTEGER:GLenum;readonly RENDERBUFFER_SAMPLES:GLenum;readonly RG:GLenum;readonly RG16F:GLenum;readonly RG16I:GLenum;readonly RG16UI:GLenum;readonly RG32F:GLenum;readonly RG32I:GLenum;readonly RG32UI:GLenum;readonly RG8:GLenum;readonly RG8I:GLenum;readonly RG8UI:GLenum;readonly RG8_SNORM:GLenum;readonly RGB10_A2:GLenum;readonly RGB10_A2UI:GLenum;readonly RGB16F:GLenum;readonly RGB16I:GLenum;readonly RGB16UI:GLenum;readonly RGB32F:GLenum;readonly RGB32I:GLenum;readonly RGB32UI:GLenum;readonly RGB8:GLenum;readonly RGB8I:GLenum;readonly RGB8UI:GLenum;readonly RGB8_SNORM:GLenum;readonly RGB9_E5:GLenum;readonly RGBA16F:GLenum;readonly RGBA16I:GLenum;readonly RGBA16UI:GLenum;readonly RGBA32F:GLenum;readonly RGBA32I:GLenum;readonly RGBA32UI:GLenum;readonly RGBA8:GLenum;readonly RGBA8I:GLenum;readonly RGBA8UI:GLenum;readonly RGBA8_SNORM:GLenum;readonly RGBA_INTEGER:GLenum;readonly RGB_INTEGER:GLenum;readonly RG_INTEGER:GLenum;readonly SAMPLER_2D_ARRAY:GLenum;readonly SAMPLER_2D_ARRAY_SHADOW:GLenum;readonly SAMPLER_2D_SHADOW:GLenum;readonly SAMPLER_3D:GLenum;readonly SAMPLER_BINDING:GLenum;readonly SAMPLER_CUBE_SHADOW:GLenum;readonly SEPARATE_ATTRIBS:GLenum;readonly SIGNALED:GLenum;readonly SIGNED_NORMALIZED:GLenum;readonly SRGB:GLenum;readonly SRGB8:GLenum;readonly SRGB8_ALPHA8:GLenum;readonly STATIC_COPY:GLenum;readonly STATIC_READ:GLenum;readonly STENCIL:GLenum;readonly STREAM_COPY:GLenum;readonly STREAM_READ:GLenum;readonly SYNC_CONDITION:GLenum;readonly SYNC_FENCE:GLenum;readonly SYNC_FLAGS:GLenum;readonly SYNC_FLUSH_COMMANDS_BIT:GLenum;readonly SYNC_GPU_COMMANDS_COMPLETE:GLenum;readonly SYNC_STATUS:GLenum;readonly TEXTURE_2D_ARRAY:GLenum;readonly TEXTURE_3D:GLenum;readonly TEXTURE_BASE_LEVEL:GLenum;readonly TEXTURE_BINDING_2D_ARRAY:GLenum;readonly TEXTURE_BINDING_3D:GLenum;readonly TEXTURE_COMPARE_FUNC:GLenum;readonly TEXTURE_COMPARE_MODE:GLenum;readonly TEXTURE_IMMUTABLE_FORMAT:GLenum;readonly TEXTURE_IMMUTABLE_LEVELS:GLenum;readonly TEXTURE_MAX_LEVEL:GLenum;readonly TEXTURE_MAX_LOD:GLenum;readonly TEXTURE_MIN_LOD:GLenum;readonly TEXTURE_WRAP_R:GLenum;readonly TIMEOUT_EXPIRED:GLenum;readonly TIMEOUT_IGNORED:GLint64;readonly TRANSFORM_FEEDBACK:GLenum;readonly TRANSFORM_FEEDBACK_ACTIVE:GLenum;readonly TRANSFORM_FEEDBACK_BINDING:GLenum;readonly TRANSFORM_FEEDBACK_BUFFER:GLenum;readonly TRANSFORM_FEEDBACK_BUFFER_BINDING:GLenum;readonly TRANSFORM_FEEDBACK_BUFFER_MODE:GLenum;readonly TRANSFORM_FEEDBACK_BUFFER_SIZE:GLenum;readonly TRANSFORM_FEEDBACK_BUFFER_START:GLenum;readonly TRANSFORM_FEEDBACK_PAUSED:GLenum;readonly TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN:GLenum;readonly TRANSFORM_FEEDBACK_VARYINGS:GLenum;readonly UNIFORM_ARRAY_STRIDE:GLenum;readonly UNIFORM_BLOCK_ACTIVE_UNIFORMS:GLenum;readonly UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES:GLenum;readonly UNIFORM_BLOCK_BINDING:GLenum;readonly UNIFORM_BLOCK_DATA_SIZE:GLenum;readonly UNIFORM_BLOCK_INDEX:GLenum;readonly UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER:GLenum;readonly UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER:GLenum;readonly UNIFORM_BUFFER:GLenum;readonly UNIFORM_BUFFER_BINDING:GLenum;readonly UNIFORM_BUFFER_OFFSET_ALIGNMENT:GLenum;readonly UNIFORM_BUFFER_SIZE:GLenum;readonly UNIFORM_BUFFER_START:GLenum;readonly UNIFORM_IS_ROW_MAJOR:GLenum;readonly UNIFORM_MATRIX_STRIDE:GLenum;readonly UNIFORM_OFFSET:GLenum;readonly UNIFORM_SIZE:GLenum;readonly UNIFORM_TYPE:GLenum;readonly UNPACK_IMAGE_HEIGHT:GLenum;readonly UNPACK_ROW_LENGTH:GLenum;readonly UNPACK_SKIP_IMAGES:GLenum;readonly UNPACK_SKIP_PIXELS:GLenum;readonly UNPACK_SKIP_ROWS:GLenum;readonly UNSIGNALED:GLenum;readonly UNSIGNED_INT_10F_11F_11F_REV:GLenum;readonly UNSIGNED_INT_24_8:GLenum;readonly UNSIGNED_INT_2_10_10_10_REV:GLenum;readonly UNSIGNED_INT_5_9_9_9_REV:GLenum;readonly UNSIGNED_INT_SAMPLER_2D:GLenum;readonly UNSIGNED_INT_SAMPLER_2D_ARRAY:GLenum;readonly UNSIGNED_INT_SAMPLER_3D:GLenum;readonly UNSIGNED_INT_SAMPLER_CUBE:GLenum;readonly UNSIGNED_INT_VEC2:GLenum;readonly UNSIGNED_INT_VEC3:GLenum;readonly UNSIGNED_INT_VEC4:GLenum;readonly UNSIGNED_NORMALIZED:GLenum;readonly VERTEX_ARRAY_BINDING:GLenum;readonly VERTEX_ATTRIB_ARRAY_DIVISOR:GLenum;readonly VERTEX_ATTRIB_ARRAY_INTEGER:GLenum;readonly WAIT_FAILED:GLenum;}interface WebGL2RenderingContextOverloads{bufferData(target:GLenum,size:GLsizeiptr,usage:GLenum):void;bufferData(target:GLenum,srcData:BufferSource|null,usage:GLenum):void;bufferData(target:GLenum,srcData:ArrayBufferView,usage:GLenum,srcOffset:GLuint,length?:GLuint):void;bufferSubData(target:GLenum,dstByteOffset:GLintptr,srcData:BufferSource):void;bufferSubData(target:GLenum,dstByteOffset:GLintptr,srcData:ArrayBufferView,srcOffset:GLuint,length?:GLuint):void;compressedTexImage2D(target:GLenum,level:GLint,internalformat:GLenum,width:GLsizei,height:GLsizei,border:GLint,imageSize:GLsizei,offset:GLintptr):void;compressedTexImage2D(target:GLenum,level:GLint,internalformat:GLenum,width:GLsizei,height:GLsizei,border:GLint,srcData:ArrayBufferView,srcOffset?:GLuint,srcLengthOverride?:GLuint):void;compressedTexSubImage2D(target:GLenum,level:GLint,xoffset:GLint,yoffset:GLint,width:GLsizei,height:GLsizei,format:GLenum,imageSize:GLsizei,offset:GLintptr):void;compressedTexSubImage2D(target:GLenum,level:GLint,xoffset:GLint,yoffset:GLint,width:GLsizei,height:GLsizei,format:GLenum,srcData:ArrayBufferView,srcOffset?:GLuint,srcLengthOverride?:GLuint):void;readPixels(x:GLint,y:GLint,width:GLsizei,height:GLsizei,format:GLenum,type:GLenum,dstData:ArrayBufferView|null):void;readPixels(x:GLint,y:GLint,width:GLsizei,height:GLsizei,format:GLenum,type:GLenum,offset:GLintptr):void;readPixels(x:GLint,y:GLint,width:GLsizei,height:GLsizei,format:GLenum,type:GLenum,dstData:ArrayBufferView,dstOffset:GLuint):void;texImage2D(target:GLenum,level:GLint,internalformat:GLint,width:GLsizei,height:GLsizei,border:GLint,format:GLenum,type:GLenum,pixels:ArrayBufferView|null):void;texImage2D(target:GLenum,level:GLint,internalformat:GLint,format:GLenum,type:GLenum,source:TexImageSource):void;texImage2D(target:GLenum,level:GLint,internalformat:GLint,width:GLsizei,height:GLsizei,border:GLint,format:GLenum,type:GLenum,pboOffset:GLintptr):void;texImage2D(target:GLenum,level:GLint,internalformat:GLint,width:GLsizei,height:GLsizei,border:GLint,format:GLenum,type:GLenum,source:TexImageSource):void;texImage2D(target:GLenum,level:GLint,internalformat:GLint,width:GLsizei,height:GLsizei,border:GLint,format:GLenum,type:GLenum,srcData:ArrayBufferView,srcOffset:GLuint):void;texSubImage2D(target:GLenum,level:GLint,xoffset:GLint,yoffset:GLint,width:GLsizei,height:GLsizei,format:GLenum,type:GLenum,pixels:ArrayBufferView|null):void;texSubImage2D(target:GLenum,level:GLint,xoffset:GLint,yoffset:GLint,format:GLenum,type:GLenum,source:TexImageSource):void;texSubImage2D(target:GLenum,level:GLint,xoffset:GLint,yoffset:GLint,width:GLsizei,height:GLsizei,format:GLenum,type:GLenum,pboOffset:GLintptr):void;texSubImage2D(target:GLenum,level:GLint,xoffset:GLint,yoffset:GLint,width:GLsizei,height:GLsizei,format:GLenum,type:GLenum,source:TexImageSource):void;texSubImage2D(target:GLenum,level:GLint,xoffset:GLint,yoffset:GLint,width:GLsizei,height:GLsizei,format:GLenum,type:GLenum,srcData:ArrayBufferView,srcOffset:GLuint):void;uniform1fv(location:WebGLUniformLocation|null,data:Float32List,srcOffset?:GLuint,srcLength?:GLuint):void;uniform1iv(location:WebGLUniformLocation|null,data:Int32List,srcOffset?:GLuint,srcLength?:GLuint):void;uniform2fv(location:WebGLUniformLocation|null,data:Float32List,srcOffset?:GLuint,srcLength?:GLuint):void;uniform2iv(location:WebGLUniformLocation|null,data:Int32List,srcOffset?:GLuint,srcLength?:GLuint):void;uniform3fv(location:WebGLUniformLocation|null,data:Float32List,srcOffset?:GLuint,srcLength?:GLuint):void;uniform3iv(location:WebGLUniformLocation|null,data:Int32List,srcOffset?:GLuint,srcLength?:GLuint):void;uniform4fv(location:WebGLUniformLocation|null,data:Float32List,srcOffset?:GLuint,srcLength?:GLuint):void;uniform4iv(location:WebGLUniformLocation|null,data:Int32List,srcOffset?:GLuint,srcLength?:GLuint):void;uniformMatrix2fv(location:WebGLUniformLocation|null,transpose:GLboolean,data:Float32List,srcOffset?:GLuint,srcLength?:GLuint):void;uniformMatrix3fv(location:WebGLUniformLocation|null,transpose:GLboolean,data:Float32List,srcOffset?:GLuint,srcLength?:GLuint):void;uniformMatrix4fv(location:WebGLUniformLocation|null,transpose:GLboolean,data:Float32List,srcOffset?:GLuint,srcLength?:GLuint):void;}interface WebGLActiveInfo{readonly name:string;readonly size:GLint;readonly type:GLenum;}declare var WebGLActiveInfo:{prototype:WebGLActiveInfo;new():WebGLActiveInfo;};interface WebGLBuffer{}declare var WebGLBuffer:{prototype:WebGLBuffer;new():WebGLBuffer;};interface WebGLContextEvent extends Event{readonly statusMessage:string;}declare var WebGLContextEvent:{prototype:WebGLContextEvent;new(type:string,eventInit?:WebGLContextEventInit):WebGLContextEvent;};interface WebGLFramebuffer{}declare var WebGLFramebuffer:{prototype:WebGLFramebuffer;new():WebGLFramebuffer;};interface WebGLProgram{}declare var WebGLProgram:{prototype:WebGLProgram;new():WebGLProgram;};interface WebGLQuery{}declare var WebGLQuery:{prototype:WebGLQuery;new():WebGLQuery;};interface WebGLRenderbuffer{}declare var WebGLRenderbuffer:{prototype:WebGLRenderbuffer;new():WebGLRenderbuffer;};interface WebGLRenderingContext extends WebGLRenderingContextBase,WebGLRenderingContextOverloads{}declare var WebGLRenderingContext:{prototype:WebGLRenderingContext;new():WebGLRenderingContext;readonly ACTIVE_ATTRIBUTES:GLenum;readonly ACTIVE_TEXTURE:GLenum;readonly ACTIVE_UNIFORMS:GLenum;readonly ALIASED_LINE_WIDTH_RANGE:GLenum;readonly ALIASED_POINT_SIZE_RANGE:GLenum;readonly ALPHA:GLenum;readonly ALPHA_BITS:GLenum;readonly ALWAYS:GLenum;readonly ARRAY_BUFFER:GLenum;readonly ARRAY_BUFFER_BINDING:GLenum;readonly ATTACHED_SHADERS:GLenum;readonly BACK:GLenum;readonly BLEND:GLenum;readonly BLEND_COLOR:GLenum;readonly BLEND_DST_ALPHA:GLenum;readonly BLEND_DST_RGB:GLenum;readonly BLEND_EQUATION:GLenum;readonly BLEND_EQUATION_ALPHA:GLenum;readonly BLEND_EQUATION_RGB:GLenum;readonly BLEND_SRC_ALPHA:GLenum;readonly BLEND_SRC_RGB:GLenum;readonly BLUE_BITS:GLenum;readonly BOOL:GLenum;readonly BOOL_VEC2:GLenum;readonly BOOL_VEC3:GLenum;readonly BOOL_VEC4:GLenum;readonly BROWSER_DEFAULT_WEBGL:GLenum;readonly BUFFER_SIZE:GLenum;readonly BUFFER_USAGE:GLenum;readonly BYTE:GLenum;readonly CCW:GLenum;readonly CLAMP_TO_EDGE:GLenum;readonly COLOR_ATTACHMENT0:GLenum;readonly COLOR_BUFFER_BIT:GLenum;readonly COLOR_CLEAR_VALUE:GLenum;readonly COLOR_WRITEMASK:GLenum;readonly COMPILE_STATUS:GLenum;readonly COMPRESSED_TEXTURE_FORMATS:GLenum;readonly CONSTANT_ALPHA:GLenum;readonly CONSTANT_COLOR:GLenum;readonly CONTEXT_LOST_WEBGL:GLenum;readonly CULL_FACE:GLenum;readonly CULL_FACE_MODE:GLenum;readonly CURRENT_PROGRAM:GLenum;readonly CURRENT_VERTEX_ATTRIB:GLenum;readonly CW:GLenum;readonly DECR:GLenum;readonly DECR_WRAP:GLenum;readonly DELETE_STATUS:GLenum;readonly DEPTH_ATTACHMENT:GLenum;readonly DEPTH_BITS:GLenum;readonly DEPTH_BUFFER_BIT:GLenum;readonly DEPTH_CLEAR_VALUE:GLenum;readonly DEPTH_COMPONENT:GLenum;readonly DEPTH_COMPONENT16:GLenum;readonly DEPTH_FUNC:GLenum;readonly DEPTH_RANGE:GLenum;readonly DEPTH_STENCIL:GLenum;readonly DEPTH_STENCIL_ATTACHMENT:GLenum;readonly DEPTH_TEST:GLenum;readonly DEPTH_WRITEMASK:GLenum;readonly DITHER:GLenum;readonly DONT_CARE:GLenum;readonly DST_ALPHA:GLenum;readonly DST_COLOR:GLenum;readonly DYNAMIC_DRAW:GLenum;readonly ELEMENT_ARRAY_BUFFER:GLenum;readonly ELEMENT_ARRAY_BUFFER_BINDING:GLenum;readonly EQUAL:GLenum;readonly FASTEST:GLenum;readonly FLOAT:GLenum;readonly FLOAT_MAT2:GLenum;readonly FLOAT_MAT3:GLenum;readonly FLOAT_MAT4:GLenum;readonly FLOAT_VEC2:GLenum;readonly FLOAT_VEC3:GLenum;readonly FLOAT_VEC4:GLenum;readonly FRAGMENT_SHADER:GLenum;readonly FRAMEBUFFER:GLenum;readonly FRAMEBUFFER_ATTACHMENT_OBJECT_NAME:GLenum;readonly FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE:GLenum;readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE:GLenum;readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL:GLenum;readonly FRAMEBUFFER_BINDING:GLenum;readonly FRAMEBUFFER_COMPLETE:GLenum;readonly FRAMEBUFFER_INCOMPLETE_ATTACHMENT:GLenum;readonly FRAMEBUFFER_INCOMPLETE_DIMENSIONS:GLenum;readonly FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:GLenum;readonly FRAMEBUFFER_UNSUPPORTED:GLenum;readonly FRONT:GLenum;readonly FRONT_AND_BACK:GLenum;readonly FRONT_FACE:GLenum;readonly FUNC_ADD:GLenum;readonly FUNC_REVERSE_SUBTRACT:GLenum;readonly FUNC_SUBTRACT:GLenum;readonly GENERATE_MIPMAP_HINT:GLenum;readonly GEQUAL:GLenum;readonly GREATER:GLenum;readonly GREEN_BITS:GLenum;readonly HIGH_FLOAT:GLenum;readonly HIGH_INT:GLenum;readonly IMPLEMENTATION_COLOR_READ_FORMAT:GLenum;readonly IMPLEMENTATION_COLOR_READ_TYPE:GLenum;readonly INCR:GLenum;readonly INCR_WRAP:GLenum;readonly INT:GLenum;readonly INT_VEC2:GLenum;readonly INT_VEC3:GLenum;readonly INT_VEC4:GLenum;readonly INVALID_ENUM:GLenum;readonly INVALID_FRAMEBUFFER_OPERATION:GLenum;readonly INVALID_OPERATION:GLenum;readonly INVALID_VALUE:GLenum;readonly INVERT:GLenum;readonly KEEP:GLenum;readonly LEQUAL:GLenum;readonly LESS:GLenum;readonly LINEAR:GLenum;readonly LINEAR_MIPMAP_LINEAR:GLenum;readonly LINEAR_MIPMAP_NEAREST:GLenum;readonly LINES:GLenum;readonly LINE_LOOP:GLenum;readonly LINE_STRIP:GLenum;readonly LINE_WIDTH:GLenum;readonly LINK_STATUS:GLenum;readonly LOW_FLOAT:GLenum;readonly LOW_INT:GLenum;readonly LUMINANCE:GLenum;readonly LUMINANCE_ALPHA:GLenum;readonly MAX_COMBINED_TEXTURE_IMAGE_UNITS:GLenum;readonly MAX_CUBE_MAP_TEXTURE_SIZE:GLenum;readonly MAX_FRAGMENT_UNIFORM_VECTORS:GLenum;readonly MAX_RENDERBUFFER_SIZE:GLenum;readonly MAX_TEXTURE_IMAGE_UNITS:GLenum;readonly MAX_TEXTURE_SIZE:GLenum;readonly MAX_VARYING_VECTORS:GLenum;readonly MAX_VERTEX_ATTRIBS:GLenum;readonly MAX_VERTEX_TEXTURE_IMAGE_UNITS:GLenum;readonly MAX_VERTEX_UNIFORM_VECTORS:GLenum;readonly MAX_VIEWPORT_DIMS:GLenum;readonly MEDIUM_FLOAT:GLenum;readonly MEDIUM_INT:GLenum;readonly MIRRORED_REPEAT:GLenum;readonly NEAREST:GLenum;readonly NEAREST_MIPMAP_LINEAR:GLenum;readonly NEAREST_MIPMAP_NEAREST:GLenum;readonly NEVER:GLenum;readonly NICEST:GLenum;readonly NONE:GLenum;readonly NOTEQUAL:GLenum;readonly NO_ERROR:GLenum;readonly ONE:GLenum;readonly ONE_MINUS_CONSTANT_ALPHA:GLenum;readonly ONE_MINUS_CONSTANT_COLOR:GLenum;readonly ONE_MINUS_DST_ALPHA:GLenum;readonly ONE_MINUS_DST_COLOR:GLenum;readonly ONE_MINUS_SRC_ALPHA:GLenum;readonly ONE_MINUS_SRC_COLOR:GLenum;readonly OUT_OF_MEMORY:GLenum;readonly PACK_ALIGNMENT:GLenum;readonly POINTS:GLenum;readonly POLYGON_OFFSET_FACTOR:GLenum;readonly POLYGON_OFFSET_FILL:GLenum;readonly POLYGON_OFFSET_UNITS:GLenum;readonly RED_BITS:GLenum;readonly RENDERBUFFER:GLenum;readonly RENDERBUFFER_ALPHA_SIZE:GLenum;readonly RENDERBUFFER_BINDING:GLenum;readonly RENDERBUFFER_BLUE_SIZE:GLenum;readonly RENDERBUFFER_DEPTH_SIZE:GLenum;readonly RENDERBUFFER_GREEN_SIZE:GLenum;readonly RENDERBUFFER_HEIGHT:GLenum;readonly RENDERBUFFER_INTERNAL_FORMAT:GLenum;readonly RENDERBUFFER_RED_SIZE:GLenum;readonly RENDERBUFFER_STENCIL_SIZE:GLenum;readonly RENDERBUFFER_WIDTH:GLenum;readonly RENDERER:GLenum;readonly REPEAT:GLenum;readonly REPLACE:GLenum;readonly RGB:GLenum;readonly RGB565:GLenum;readonly RGB5_A1:GLenum;readonly RGBA:GLenum;readonly RGBA4:GLenum;readonly SAMPLER_2D:GLenum;readonly SAMPLER_CUBE:GLenum;readonly SAMPLES:GLenum;readonly SAMPLE_ALPHA_TO_COVERAGE:GLenum;readonly SAMPLE_BUFFERS:GLenum;readonly SAMPLE_COVERAGE:GLenum;readonly SAMPLE_COVERAGE_INVERT:GLenum;readonly SAMPLE_COVERAGE_VALUE:GLenum;readonly SCISSOR_BOX:GLenum;readonly SCISSOR_TEST:GLenum;readonly SHADER_TYPE:GLenum;readonly SHADING_LANGUAGE_VERSION:GLenum;readonly SHORT:GLenum;readonly SRC_ALPHA:GLenum;readonly SRC_ALPHA_SATURATE:GLenum;readonly SRC_COLOR:GLenum;readonly STATIC_DRAW:GLenum;readonly STENCIL_ATTACHMENT:GLenum;readonly STENCIL_BACK_FAIL:GLenum;readonly STENCIL_BACK_FUNC:GLenum;readonly STENCIL_BACK_PASS_DEPTH_FAIL:GLenum;readonly STENCIL_BACK_PASS_DEPTH_PASS:GLenum;readonly STENCIL_BACK_REF:GLenum;readonly STENCIL_BACK_VALUE_MASK:GLenum;readonly STENCIL_BACK_WRITEMASK:GLenum;readonly STENCIL_BITS:GLenum;readonly STENCIL_BUFFER_BIT:GLenum;readonly STENCIL_CLEAR_VALUE:GLenum;readonly STENCIL_FAIL:GLenum;readonly STENCIL_FUNC:GLenum;readonly STENCIL_INDEX8:GLenum;readonly STENCIL_PASS_DEPTH_FAIL:GLenum;readonly STENCIL_PASS_DEPTH_PASS:GLenum;readonly STENCIL_REF:GLenum;readonly STENCIL_TEST:GLenum;readonly STENCIL_VALUE_MASK:GLenum;readonly STENCIL_WRITEMASK:GLenum;readonly STREAM_DRAW:GLenum;readonly SUBPIXEL_BITS:GLenum;readonly TEXTURE:GLenum;readonly TEXTURE0:GLenum;readonly TEXTURE1:GLenum;readonly TEXTURE10:GLenum;readonly TEXTURE11:GLenum;readonly TEXTURE12:GLenum;readonly TEXTURE13:GLenum;readonly TEXTURE14:GLenum;readonly TEXTURE15:GLenum;readonly TEXTURE16:GLenum;readonly TEXTURE17:GLenum;readonly TEXTURE18:GLenum;readonly TEXTURE19:GLenum;readonly TEXTURE2:GLenum;readonly TEXTURE20:GLenum;readonly TEXTURE21:GLenum;readonly TEXTURE22:GLenum;readonly TEXTURE23:GLenum;readonly TEXTURE24:GLenum;readonly TEXTURE25:GLenum;readonly TEXTURE26:GLenum;readonly TEXTURE27:GLenum;readonly TEXTURE28:GLenum;readonly TEXTURE29:GLenum;readonly TEXTURE3:GLenum;readonly TEXTURE30:GLenum;readonly TEXTURE31:GLenum;readonly TEXTURE4:GLenum;readonly TEXTURE5:GLenum;readonly TEXTURE6:GLenum;readonly TEXTURE7:GLenum;readonly TEXTURE8:GLenum;readonly TEXTURE9:GLenum;readonly TEXTURE_2D:GLenum;readonly TEXTURE_BINDING_2D:GLenum;readonly TEXTURE_BINDING_CUBE_MAP:GLenum;readonly TEXTURE_CUBE_MAP:GLenum;readonly TEXTURE_CUBE_MAP_NEGATIVE_X:GLenum;readonly TEXTURE_CUBE_MAP_NEGATIVE_Y:GLenum;readonly TEXTURE_CUBE_MAP_NEGATIVE_Z:GLenum;readonly TEXTURE_CUBE_MAP_POSITIVE_X:GLenum;readonly TEXTURE_CUBE_MAP_POSITIVE_Y:GLenum;readonly TEXTURE_CUBE_MAP_POSITIVE_Z:GLenum;readonly TEXTURE_MAG_FILTER:GLenum;readonly TEXTURE_MIN_FILTER:GLenum;readonly TEXTURE_WRAP_S:GLenum;readonly TEXTURE_WRAP_T:GLenum;readonly TRIANGLES:GLenum;readonly TRIANGLE_FAN:GLenum;readonly TRIANGLE_STRIP:GLenum;readonly UNPACK_ALIGNMENT:GLenum;readonly UNPACK_COLORSPACE_CONVERSION_WEBGL:GLenum;readonly UNPACK_FLIP_Y_WEBGL:GLenum;readonly UNPACK_PREMULTIPLY_ALPHA_WEBGL:GLenum;readonly UNSIGNED_BYTE:GLenum;readonly UNSIGNED_INT:GLenum;readonly UNSIGNED_SHORT:GLenum;readonly UNSIGNED_SHORT_4_4_4_4:GLenum;readonly UNSIGNED_SHORT_5_5_5_1:GLenum;readonly UNSIGNED_SHORT_5_6_5:GLenum;readonly VALIDATE_STATUS:GLenum;readonly VENDOR:GLenum;readonly VERSION:GLenum;readonly VERTEX_ATTRIB_ARRAY_BUFFER_BINDING:GLenum;readonly VERTEX_ATTRIB_ARRAY_ENABLED:GLenum;readonly VERTEX_ATTRIB_ARRAY_NORMALIZED:GLenum;readonly VERTEX_ATTRIB_ARRAY_POINTER:GLenum;readonly VERTEX_ATTRIB_ARRAY_SIZE:GLenum;readonly VERTEX_ATTRIB_ARRAY_STRIDE:GLenum;readonly VERTEX_ATTRIB_ARRAY_TYPE:GLenum;readonly VERTEX_SHADER:GLenum;readonly VIEWPORT:GLenum;readonly ZERO:GLenum;};interface WebGLRenderingContextBase{readonly canvas:HTMLCanvasElement|OffscreenCanvas;readonly drawingBufferHeight:GLsizei;readonly drawingBufferWidth:GLsizei;activeTexture(texture:GLenum):void;attachShader(program:WebGLProgram,shader:WebGLShader):void;bindAttribLocation(program:WebGLProgram,index:GLuint,name:string):void;bindBuffer(target:GLenum,buffer:WebGLBuffer|null):void;bindFramebuffer(target:GLenum,framebuffer:WebGLFramebuffer|null):void;bindRenderbuffer(target:GLenum,renderbuffer:WebGLRenderbuffer|null):void;bindTexture(target:GLenum,texture:WebGLTexture|null):void;blendColor(red:GLclampf,green:GLclampf,blue:GLclampf,alpha:GLclampf):void;blendEquation(mode:GLenum):void;blendEquationSeparate(modeRGB:GLenum,modeAlpha:GLenum):void;blendFunc(sfactor:GLenum,dfactor:GLenum):void;blendFuncSeparate(srcRGB:GLenum,dstRGB:GLenum,srcAlpha:GLenum,dstAlpha:GLenum):void;checkFramebufferStatus(target:GLenum):GLenum;clear(mask:GLbitfield):void;clearColor(red:GLclampf,green:GLclampf,blue:GLclampf,alpha:GLclampf):void;clearDepth(depth:GLclampf):void;clearStencil(s:GLint):void;colorMask(red:GLboolean,green:GLboolean,blue:GLboolean,alpha:GLboolean):void;compileShader(shader:WebGLShader):void;copyTexImage2D(target:GLenum,level:GLint,internalformat:GLenum,x:GLint,y:GLint,width:GLsizei,height:GLsizei,border:GLint):void;copyTexSubImage2D(target:GLenum,level:GLint,xoffset:GLint,yoffset:GLint,x:GLint,y:GLint,width:GLsizei,height:GLsizei):void;createBuffer():WebGLBuffer|null;createFramebuffer():WebGLFramebuffer|null;createProgram():WebGLProgram|null;createRenderbuffer():WebGLRenderbuffer|null;createShader(type:GLenum):WebGLShader|null;createTexture():WebGLTexture|null;cullFace(mode:GLenum):void;deleteBuffer(buffer:WebGLBuffer|null):void;deleteFramebuffer(framebuffer:WebGLFramebuffer|null):void;deleteProgram(program:WebGLProgram|null):void;deleteRenderbuffer(renderbuffer:WebGLRenderbuffer|null):void;deleteShader(shader:WebGLShader|null):void;deleteTexture(texture:WebGLTexture|null):void;depthFunc(func:GLenum):void;depthMask(flag:GLboolean):void;depthRange(zNear:GLclampf,zFar:GLclampf):void;detachShader(program:WebGLProgram,shader:WebGLShader):void;disable(cap:GLenum):void;disableVertexAttribArray(index:GLuint):void;drawArrays(mode:GLenum,first:GLint,count:GLsizei):void;drawElements(mode:GLenum,count:GLsizei,type:GLenum,offset:GLintptr):void;enable(cap:GLenum):void;enableVertexAttribArray(index:GLuint):void;finish():void;flush():void;framebufferRenderbuffer(target:GLenum,attachment:GLenum,renderbuffertarget:GLenum,renderbuffer:WebGLRenderbuffer|null):void;framebufferTexture2D(target:GLenum,attachment:GLenum,textarget:GLenum,texture:WebGLTexture|null,level:GLint):void;frontFace(mode:GLenum):void;generateMipmap(target:GLenum):void;getActiveAttrib(program:WebGLProgram,index:GLuint):WebGLActiveInfo|null;getActiveUniform(program:WebGLProgram,index:GLuint):WebGLActiveInfo|null;getAttachedShaders(program:WebGLProgram):WebGLShader[]|null;getAttribLocation(program:WebGLProgram,name:string):GLint;getBufferParameter(target:GLenum,pname:GLenum):any;getContextAttributes():WebGLContextAttributes|null;getError():GLenum;getExtension(extensionName:"ANGLE_instanced_arrays"):ANGLE_instanced_arrays|null;getExtension(extensionName:"EXT_blend_minmax"):EXT_blend_minmax|null;getExtension(extensionName:"EXT_color_buffer_float"):EXT_color_buffer_float|null;getExtension(extensionName:"EXT_color_buffer_half_float"):EXT_color_buffer_half_float|null;getExtension(extensionName:"EXT_float_blend"):EXT_float_blend|null;getExtension(extensionName:"EXT_frag_depth"):EXT_frag_depth|null;getExtension(extensionName:"EXT_sRGB"):EXT_sRGB|null;getExtension(extensionName:"EXT_shader_texture_lod"):EXT_shader_texture_lod|null;getExtension(extensionName:"EXT_texture_compression_bptc"):EXT_texture_compression_bptc|null;getExtension(extensionName:"EXT_texture_compression_rgtc"):EXT_texture_compression_rgtc|null;getExtension(extensionName:"EXT_texture_filter_anisotropic"):EXT_texture_filter_anisotropic|null;getExtension(extensionName:"KHR_parallel_shader_compile"):KHR_parallel_shader_compile|null;getExtension(extensionName:"OES_element_index_uint"):OES_element_index_uint|null;getExtension(extensionName:"OES_fbo_render_mipmap"):OES_fbo_render_mipmap|null;getExtension(extensionName:"OES_standard_derivatives"):OES_standard_derivatives|null;getExtension(extensionName:"OES_texture_float"):OES_texture_float|null;getExtension(extensionName:"OES_texture_float_linear"):OES_texture_float_linear|null;getExtension(extensionName:"OES_texture_half_float"):OES_texture_half_float|null;getExtension(extensionName:"OES_texture_half_float_linear"):OES_texture_half_float_linear|null;getExtension(extensionName:"OES_vertex_array_object"):OES_vertex_array_object|null;getExtension(extensionName:"OVR_multiview2"):OVR_multiview2|null;getExtension(extensionName:"WEBGL_color_buffer_float"):WEBGL_color_buffer_float|null;getExtension(extensionName:"WEBGL_compressed_texture_astc"):WEBGL_compressed_texture_astc|null;getExtension(extensionName:"WEBGL_compressed_texture_etc"):WEBGL_compressed_texture_etc|null;getExtension(extensionName:"WEBGL_compressed_texture_etc1"):WEBGL_compressed_texture_etc1|null;getExtension(extensionName:"WEBGL_compressed_texture_s3tc"):WEBGL_compressed_texture_s3tc|null;getExtension(extensionName:"WEBGL_compressed_texture_s3tc_srgb"):WEBGL_compressed_texture_s3tc_srgb|null;getExtension(extensionName:"WEBGL_debug_renderer_info"):WEBGL_debug_renderer_info|null;getExtension(extensionName:"WEBGL_debug_shaders"):WEBGL_debug_shaders|null;getExtension(extensionName:"WEBGL_depth_texture"):WEBGL_depth_texture|null;getExtension(extensionName:"WEBGL_draw_buffers"):WEBGL_draw_buffers|null;getExtension(extensionName:"WEBGL_lose_context"):WEBGL_lose_context|null;getExtension(extensionName:"WEBGL_multi_draw"):WEBGL_multi_draw|null;getExtension(name:string):any;getFramebufferAttachmentParameter(target:GLenum,attachment:GLenum,pname:GLenum):any;getParameter(pname:GLenum):any;getProgramInfoLog(program:WebGLProgram):string|null;getProgramParameter(program:WebGLProgram,pname:GLenum):any;getRenderbufferParameter(target:GLenum,pname:GLenum):any;getShaderInfoLog(shader:WebGLShader):string|null;getShaderParameter(shader:WebGLShader,pname:GLenum):any;getShaderPrecisionFormat(shadertype:GLenum,precisiontype:GLenum):WebGLShaderPrecisionFormat|null;getShaderSource(shader:WebGLShader):string|null;getSupportedExtensions():string[]|null;getTexParameter(target:GLenum,pname:GLenum):any;getUniform(program:WebGLProgram,location:WebGLUniformLocation):any;getUniformLocation(program:WebGLProgram,name:string):WebGLUniformLocation|null;getVertexAttrib(index:GLuint,pname:GLenum):any;getVertexAttribOffset(index:GLuint,pname:GLenum):GLintptr;hint(target:GLenum,mode:GLenum):void;isBuffer(buffer:WebGLBuffer|null):GLboolean;isContextLost():boolean;isEnabled(cap:GLenum):GLboolean;isFramebuffer(framebuffer:WebGLFramebuffer|null):GLboolean;isProgram(program:WebGLProgram|null):GLboolean;isRenderbuffer(renderbuffer:WebGLRenderbuffer|null):GLboolean;isShader(shader:WebGLShader|null):GLboolean;isTexture(texture:WebGLTexture|null):GLboolean;lineWidth(width:GLfloat):void;linkProgram(program:WebGLProgram):void;pixelStorei(pname:GLenum,param:GLint|GLboolean):void;polygonOffset(factor:GLfloat,units:GLfloat):void;renderbufferStorage(target:GLenum,internalformat:GLenum,width:GLsizei,height:GLsizei):void;sampleCoverage(value:GLclampf,invert:GLboolean):void;scissor(x:GLint,y:GLint,width:GLsizei,height:GLsizei):void;shaderSource(shader:WebGLShader,source:string):void;stencilFunc(func:GLenum,ref:GLint,mask:GLuint):void;stencilFuncSeparate(face:GLenum,func:GLenum,ref:GLint,mask:GLuint):void;stencilMask(mask:GLuint):void;stencilMaskSeparate(face:GLenum,mask:GLuint):void;stencilOp(fail:GLenum,zfail:GLenum,zpass:GLenum):void;stencilOpSeparate(face:GLenum,fail:GLenum,zfail:GLenum,zpass:GLenum):void;texParameterf(target:GLenum,pname:GLenum,param:GLfloat):void;texParameteri(target:GLenum,pname:GLenum,param:GLint):void;uniform1f(location:WebGLUniformLocation|null,x:GLfloat):void;uniform1i(location:WebGLUniformLocation|null,x:GLint):void;uniform2f(location:WebGLUniformLocation|null,x:GLfloat,y:GLfloat):void;uniform2i(location:WebGLUniformLocation|null,x:GLint,y:GLint):void;uniform3f(location:WebGLUniformLocation|null,x:GLfloat,y:GLfloat,z:GLfloat):void;uniform3i(location:WebGLUniformLocation|null,x:GLint,y:GLint,z:GLint):void;uniform4f(location:WebGLUniformLocation|null,x:GLfloat,y:GLfloat,z:GLfloat,w:GLfloat):void;uniform4i(location:WebGLUniformLocation|null,x:GLint,y:GLint,z:GLint,w:GLint):void;useProgram(program:WebGLProgram|null):void;validateProgram(program:WebGLProgram):void;vertexAttrib1f(index:GLuint,x:GLfloat):void;vertexAttrib1fv(index:GLuint,values:Float32List):void;vertexAttrib2f(index:GLuint,x:GLfloat,y:GLfloat):void;vertexAttrib2fv(index:GLuint,values:Float32List):void;vertexAttrib3f(index:GLuint,x:GLfloat,y:GLfloat,z:GLfloat):void;vertexAttrib3fv(index:GLuint,values:Float32List):void;vertexAttrib4f(index:GLuint,x:GLfloat,y:GLfloat,z:GLfloat,w:GLfloat):void;vertexAttrib4fv(index:GLuint,values:Float32List):void;vertexAttribPointer(index:GLuint,size:GLint,type:GLenum,normalized:GLboolean,stride:GLsizei,offset:GLintptr):void;viewport(x:GLint,y:GLint,width:GLsizei,height:GLsizei):void;readonly ACTIVE_ATTRIBUTES:GLenum;readonly ACTIVE_TEXTURE:GLenum;readonly ACTIVE_UNIFORMS:GLenum;readonly ALIASED_LINE_WIDTH_RANGE:GLenum;readonly ALIASED_POINT_SIZE_RANGE:GLenum;readonly ALPHA:GLenum;readonly ALPHA_BITS:GLenum;readonly ALWAYS:GLenum;readonly ARRAY_BUFFER:GLenum;readonly ARRAY_BUFFER_BINDING:GLenum;readonly ATTACHED_SHADERS:GLenum;readonly BACK:GLenum;readonly BLEND:GLenum;readonly BLEND_COLOR:GLenum;readonly BLEND_DST_ALPHA:GLenum;readonly BLEND_DST_RGB:GLenum;readonly BLEND_EQUATION:GLenum;readonly BLEND_EQUATION_ALPHA:GLenum;readonly BLEND_EQUATION_RGB:GLenum;readonly BLEND_SRC_ALPHA:GLenum;readonly BLEND_SRC_RGB:GLenum;readonly BLUE_BITS:GLenum;readonly BOOL:GLenum;readonly BOOL_VEC2:GLenum;readonly BOOL_VEC3:GLenum;readonly BOOL_VEC4:GLenum;readonly BROWSER_DEFAULT_WEBGL:GLenum;readonly BUFFER_SIZE:GLenum;readonly BUFFER_USAGE:GLenum;readonly BYTE:GLenum;readonly CCW:GLenum;readonly CLAMP_TO_EDGE:GLenum;readonly COLOR_ATTACHMENT0:GLenum;readonly COLOR_BUFFER_BIT:GLenum;readonly COLOR_CLEAR_VALUE:GLenum;readonly COLOR_WRITEMASK:GLenum;readonly COMPILE_STATUS:GLenum;readonly COMPRESSED_TEXTURE_FORMATS:GLenum;readonly CONSTANT_ALPHA:GLenum;readonly CONSTANT_COLOR:GLenum;readonly CONTEXT_LOST_WEBGL:GLenum;readonly CULL_FACE:GLenum;readonly CULL_FACE_MODE:GLenum;readonly CURRENT_PROGRAM:GLenum;readonly CURRENT_VERTEX_ATTRIB:GLenum;readonly CW:GLenum;readonly DECR:GLenum;readonly DECR_WRAP:GLenum;readonly DELETE_STATUS:GLenum;readonly DEPTH_ATTACHMENT:GLenum;readonly DEPTH_BITS:GLenum;readonly DEPTH_BUFFER_BIT:GLenum;readonly DEPTH_CLEAR_VALUE:GLenum;readonly DEPTH_COMPONENT:GLenum;readonly DEPTH_COMPONENT16:GLenum;readonly DEPTH_FUNC:GLenum;readonly DEPTH_RANGE:GLenum;readonly DEPTH_STENCIL:GLenum;readonly DEPTH_STENCIL_ATTACHMENT:GLenum;readonly DEPTH_TEST:GLenum;readonly DEPTH_WRITEMASK:GLenum;readonly DITHER:GLenum;readonly DONT_CARE:GLenum;readonly DST_ALPHA:GLenum;readonly DST_COLOR:GLenum;readonly DYNAMIC_DRAW:GLenum;readonly ELEMENT_ARRAY_BUFFER:GLenum;readonly ELEMENT_ARRAY_BUFFER_BINDING:GLenum;readonly EQUAL:GLenum;readonly FASTEST:GLenum;readonly FLOAT:GLenum;readonly FLOAT_MAT2:GLenum;readonly FLOAT_MAT3:GLenum;readonly FLOAT_MAT4:GLenum;readonly FLOAT_VEC2:GLenum;readonly FLOAT_VEC3:GLenum;readonly FLOAT_VEC4:GLenum;readonly FRAGMENT_SHADER:GLenum;readonly FRAMEBUFFER:GLenum;readonly FRAMEBUFFER_ATTACHMENT_OBJECT_NAME:GLenum;readonly FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE:GLenum;readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE:GLenum;readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL:GLenum;readonly FRAMEBUFFER_BINDING:GLenum;readonly FRAMEBUFFER_COMPLETE:GLenum;readonly FRAMEBUFFER_INCOMPLETE_ATTACHMENT:GLenum;readonly FRAMEBUFFER_INCOMPLETE_DIMENSIONS:GLenum;readonly FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:GLenum;readonly FRAMEBUFFER_UNSUPPORTED:GLenum;readonly FRONT:GLenum;readonly FRONT_AND_BACK:GLenum;readonly FRONT_FACE:GLenum;readonly FUNC_ADD:GLenum;readonly FUNC_REVERSE_SUBTRACT:GLenum;readonly FUNC_SUBTRACT:GLenum;readonly GENERATE_MIPMAP_HINT:GLenum;readonly GEQUAL:GLenum;readonly GREATER:GLenum;readonly GREEN_BITS:GLenum;readonly HIGH_FLOAT:GLenum;readonly HIGH_INT:GLenum;readonly IMPLEMENTATION_COLOR_READ_FORMAT:GLenum;readonly IMPLEMENTATION_COLOR_READ_TYPE:GLenum;readonly INCR:GLenum;readonly INCR_WRAP:GLenum;readonly INT:GLenum;readonly INT_VEC2:GLenum;readonly INT_VEC3:GLenum;readonly INT_VEC4:GLenum;readonly INVALID_ENUM:GLenum;readonly INVALID_FRAMEBUFFER_OPERATION:GLenum;readonly INVALID_OPERATION:GLenum;readonly INVALID_VALUE:GLenum;readonly INVERT:GLenum;readonly KEEP:GLenum;readonly LEQUAL:GLenum;readonly LESS:GLenum;readonly LINEAR:GLenum;readonly LINEAR_MIPMAP_LINEAR:GLenum;readonly LINEAR_MIPMAP_NEAREST:GLenum;readonly LINES:GLenum;readonly LINE_LOOP:GLenum;readonly LINE_STRIP:GLenum;readonly LINE_WIDTH:GLenum;readonly LINK_STATUS:GLenum;readonly LOW_FLOAT:GLenum;readonly LOW_INT:GLenum;readonly LUMINANCE:GLenum;readonly LUMINANCE_ALPHA:GLenum;readonly MAX_COMBINED_TEXTURE_IMAGE_UNITS:GLenum;readonly MAX_CUBE_MAP_TEXTURE_SIZE:GLenum;readonly MAX_FRAGMENT_UNIFORM_VECTORS:GLenum;readonly MAX_RENDERBUFFER_SIZE:GLenum;readonly MAX_TEXTURE_IMAGE_UNITS:GLenum;readonly MAX_TEXTURE_SIZE:GLenum;readonly MAX_VARYING_VECTORS:GLenum;readonly MAX_VERTEX_ATTRIBS:GLenum;readonly MAX_VERTEX_TEXTURE_IMAGE_UNITS:GLenum;readonly MAX_VERTEX_UNIFORM_VECTORS:GLenum;readonly MAX_VIEWPORT_DIMS:GLenum;readonly MEDIUM_FLOAT:GLenum;readonly MEDIUM_INT:GLenum;readonly MIRRORED_REPEAT:GLenum;readonly NEAREST:GLenum;readonly NEAREST_MIPMAP_LINEAR:GLenum;readonly NEAREST_MIPMAP_NEAREST:GLenum;readonly NEVER:GLenum;readonly NICEST:GLenum;readonly NONE:GLenum;readonly NOTEQUAL:GLenum;readonly NO_ERROR:GLenum;readonly ONE:GLenum;readonly ONE_MINUS_CONSTANT_ALPHA:GLenum;readonly ONE_MINUS_CONSTANT_COLOR:GLenum;readonly ONE_MINUS_DST_ALPHA:GLenum;readonly ONE_MINUS_DST_COLOR:GLenum;readonly ONE_MINUS_SRC_ALPHA:GLenum;readonly ONE_MINUS_SRC_COLOR:GLenum;readonly OUT_OF_MEMORY:GLenum;readonly PACK_ALIGNMENT:GLenum;readonly POINTS:GLenum;readonly POLYGON_OFFSET_FACTOR:GLenum;readonly POLYGON_OFFSET_FILL:GLenum;readonly POLYGON_OFFSET_UNITS:GLenum;readonly RED_BITS:GLenum;readonly RENDERBUFFER:GLenum;readonly RENDERBUFFER_ALPHA_SIZE:GLenum;readonly RENDERBUFFER_BINDING:GLenum;readonly RENDERBUFFER_BLUE_SIZE:GLenum;readonly RENDERBUFFER_DEPTH_SIZE:GLenum;readonly RENDERBUFFER_GREEN_SIZE:GLenum;readonly RENDERBUFFER_HEIGHT:GLenum;readonly RENDERBUFFER_INTERNAL_FORMAT:GLenum;readonly RENDERBUFFER_RED_SIZE:GLenum;readonly RENDERBUFFER_STENCIL_SIZE:GLenum;readonly RENDERBUFFER_WIDTH:GLenum;readonly RENDERER:GLenum;readonly REPEAT:GLenum;readonly REPLACE:GLenum;readonly RGB:GLenum;readonly RGB565:GLenum;readonly RGB5_A1:GLenum;readonly RGBA:GLenum;readonly RGBA4:GLenum;readonly SAMPLER_2D:GLenum;readonly SAMPLER_CUBE:GLenum;readonly SAMPLES:GLenum;readonly SAMPLE_ALPHA_TO_COVERAGE:GLenum;readonly SAMPLE_BUFFERS:GLenum;readonly SAMPLE_COVERAGE:GLenum;readonly SAMPLE_COVERAGE_INVERT:GLenum;readonly SAMPLE_COVERAGE_VALUE:GLenum;readonly SCISSOR_BOX:GLenum;readonly SCISSOR_TEST:GLenum;readonly SHADER_TYPE:GLenum;readonly SHADING_LANGUAGE_VERSION:GLenum;readonly SHORT:GLenum;readonly SRC_ALPHA:GLenum;readonly SRC_ALPHA_SATURATE:GLenum;readonly SRC_COLOR:GLenum;readonly STATIC_DRAW:GLenum;readonly STENCIL_ATTACHMENT:GLenum;readonly STENCIL_BACK_FAIL:GLenum;readonly STENCIL_BACK_FUNC:GLenum;readonly STENCIL_BACK_PASS_DEPTH_FAIL:GLenum;readonly STENCIL_BACK_PASS_DEPTH_PASS:GLenum;readonly STENCIL_BACK_REF:GLenum;readonly STENCIL_BACK_VALUE_MASK:GLenum;readonly STENCIL_BACK_WRITEMASK:GLenum;readonly STENCIL_BITS:GLenum;readonly STENCIL_BUFFER_BIT:GLenum;readonly STENCIL_CLEAR_VALUE:GLenum;readonly STENCIL_FAIL:GLenum;readonly STENCIL_FUNC:GLenum;readonly STENCIL_INDEX8:GLenum;readonly STENCIL_PASS_DEPTH_FAIL:GLenum;readonly STENCIL_PASS_DEPTH_PASS:GLenum;readonly STENCIL_REF:GLenum;readonly STENCIL_TEST:GLenum;readonly STENCIL_VALUE_MASK:GLenum;readonly STENCIL_WRITEMASK:GLenum;readonly STREAM_DRAW:GLenum;readonly SUBPIXEL_BITS:GLenum;readonly TEXTURE:GLenum;readonly TEXTURE0:GLenum;readonly TEXTURE1:GLenum;readonly TEXTURE10:GLenum;readonly TEXTURE11:GLenum;readonly TEXTURE12:GLenum;readonly TEXTURE13:GLenum;readonly TEXTURE14:GLenum;readonly TEXTURE15:GLenum;readonly TEXTURE16:GLenum;readonly TEXTURE17:GLenum;readonly TEXTURE18:GLenum;readonly TEXTURE19:GLenum;readonly TEXTURE2:GLenum;readonly TEXTURE20:GLenum;readonly TEXTURE21:GLenum;readonly TEXTURE22:GLenum;readonly TEXTURE23:GLenum;readonly TEXTURE24:GLenum;readonly TEXTURE25:GLenum;readonly TEXTURE26:GLenum;readonly TEXTURE27:GLenum;readonly TEXTURE28:GLenum;readonly TEXTURE29:GLenum;readonly TEXTURE3:GLenum;readonly TEXTURE30:GLenum;readonly TEXTURE31:GLenum;readonly TEXTURE4:GLenum;readonly TEXTURE5:GLenum;readonly TEXTURE6:GLenum;readonly TEXTURE7:GLenum;readonly TEXTURE8:GLenum;readonly TEXTURE9:GLenum;readonly TEXTURE_2D:GLenum;readonly TEXTURE_BINDING_2D:GLenum;readonly TEXTURE_BINDING_CUBE_MAP:GLenum;readonly TEXTURE_CUBE_MAP:GLenum;readonly TEXTURE_CUBE_MAP_NEGATIVE_X:GLenum;readonly TEXTURE_CUBE_MAP_NEGATIVE_Y:GLenum;readonly TEXTURE_CUBE_MAP_NEGATIVE_Z:GLenum;readonly TEXTURE_CUBE_MAP_POSITIVE_X:GLenum;readonly TEXTURE_CUBE_MAP_POSITIVE_Y:GLenum;readonly TEXTURE_CUBE_MAP_POSITIVE_Z:GLenum;readonly TEXTURE_MAG_FILTER:GLenum;readonly TEXTURE_MIN_FILTER:GLenum;readonly TEXTURE_WRAP_S:GLenum;readonly TEXTURE_WRAP_T:GLenum;readonly TRIANGLES:GLenum;readonly TRIANGLE_FAN:GLenum;readonly TRIANGLE_STRIP:GLenum;readonly UNPACK_ALIGNMENT:GLenum;readonly UNPACK_COLORSPACE_CONVERSION_WEBGL:GLenum;readonly UNPACK_FLIP_Y_WEBGL:GLenum;readonly UNPACK_PREMULTIPLY_ALPHA_WEBGL:GLenum;readonly UNSIGNED_BYTE:GLenum;readonly UNSIGNED_INT:GLenum;readonly UNSIGNED_SHORT:GLenum;readonly UNSIGNED_SHORT_4_4_4_4:GLenum;readonly UNSIGNED_SHORT_5_5_5_1:GLenum;readonly UNSIGNED_SHORT_5_6_5:GLenum;readonly VALIDATE_STATUS:GLenum;readonly VENDOR:GLenum;readonly VERSION:GLenum;readonly VERTEX_ATTRIB_ARRAY_BUFFER_BINDING:GLenum;readonly VERTEX_ATTRIB_ARRAY_ENABLED:GLenum;readonly VERTEX_ATTRIB_ARRAY_NORMALIZED:GLenum;readonly VERTEX_ATTRIB_ARRAY_POINTER:GLenum;readonly VERTEX_ATTRIB_ARRAY_SIZE:GLenum;readonly VERTEX_ATTRIB_ARRAY_STRIDE:GLenum;readonly VERTEX_ATTRIB_ARRAY_TYPE:GLenum;readonly VERTEX_SHADER:GLenum;readonly VIEWPORT:GLenum;readonly ZERO:GLenum;}interface WebGLRenderingContextOverloads{bufferData(target:GLenum,size:GLsizeiptr,usage:GLenum):void;bufferData(target:GLenum,data:BufferSource|null,usage:GLenum):void;bufferSubData(target:GLenum,offset:GLintptr,data:BufferSource):void;compressedTexImage2D(target:GLenum,level:GLint,internalformat:GLenum,width:GLsizei,height:GLsizei,border:GLint,data:ArrayBufferView):void;compressedTexSubImage2D(target:GLenum,level:GLint,xoffset:GLint,yoffset:GLint,width:GLsizei,height:GLsizei,format:GLenum,data:ArrayBufferView):void;readPixels(x:GLint,y:GLint,width:GLsizei,height:GLsizei,format:GLenum,type:GLenum,pixels:ArrayBufferView|null):void;texImage2D(target:GLenum,level:GLint,internalformat:GLint,width:GLsizei,height:GLsizei,border:GLint,format:GLenum,type:GLenum,pixels:ArrayBufferView|null):void;texImage2D(target:GLenum,level:GLint,internalformat:GLint,format:GLenum,type:GLenum,source:TexImageSource):void;texSubImage2D(target:GLenum,level:GLint,xoffset:GLint,yoffset:GLint,width:GLsizei,height:GLsizei,format:GLenum,type:GLenum,pixels:ArrayBufferView|null):void;texSubImage2D(target:GLenum,level:GLint,xoffset:GLint,yoffset:GLint,format:GLenum,type:GLenum,source:TexImageSource):void;uniform1fv(location:WebGLUniformLocation|null,v:Float32List):void;uniform1iv(location:WebGLUniformLocation|null,v:Int32List):void;uniform2fv(location:WebGLUniformLocation|null,v:Float32List):void;uniform2iv(location:WebGLUniformLocation|null,v:Int32List):void;uniform3fv(location:WebGLUniformLocation|null,v:Float32List):void;uniform3iv(location:WebGLUniformLocation|null,v:Int32List):void;uniform4fv(location:WebGLUniformLocation|null,v:Float32List):void;uniform4iv(location:WebGLUniformLocation|null,v:Int32List):void;uniformMatrix2fv(location:WebGLUniformLocation|null,transpose:GLboolean,value:Float32List):void;uniformMatrix3fv(location:WebGLUniformLocation|null,transpose:GLboolean,value:Float32List):void;uniformMatrix4fv(location:WebGLUniformLocation|null,transpose:GLboolean,value:Float32List):void;}interface WebGLSampler{}declare var WebGLSampler:{prototype:WebGLSampler;new():WebGLSampler;};interface WebGLShader{}declare var WebGLShader:{prototype:WebGLShader;new():WebGLShader;};interface WebGLShaderPrecisionFormat{readonly precision:GLint;readonly rangeMax:GLint;readonly rangeMin:GLint;}declare var WebGLShaderPrecisionFormat:{prototype:WebGLShaderPrecisionFormat;new():WebGLShaderPrecisionFormat;};interface WebGLSync{}declare var WebGLSync:{prototype:WebGLSync;new():WebGLSync;};interface WebGLTexture{}declare var WebGLTexture:{prototype:WebGLTexture;new():WebGLTexture;};interface WebGLTransformFeedback{}declare var WebGLTransformFeedback:{prototype:WebGLTransformFeedback;new():WebGLTransformFeedback;};interface WebGLUniformLocation{}declare var WebGLUniformLocation:{prototype:WebGLUniformLocation;new():WebGLUniformLocation;};interface WebGLVertexArrayObject{}declare var WebGLVertexArrayObject:{prototype:WebGLVertexArrayObject;new():WebGLVertexArrayObject;};interface WebGLVertexArrayObjectOES{}interface WebSocketEventMap{"close":CloseEvent;"error":Event;"message":MessageEvent;"open":Event;}interface WebSocket extends EventTarget{binaryType:BinaryType;readonly bufferedAmount:number;readonly extensions:string;onclose:((this:WebSocket,ev:CloseEvent)=>any)|null;onerror:((this:WebSocket,ev:Event)=>any)|null;onmessage:((this:WebSocket,ev:MessageEvent)=>any)|null;onopen:((this:WebSocket,ev:Event)=>any)|null;readonly protocol:string;readonly readyState:number;readonly url:string;close(code?:number,reason?:string):void;send(data:string|ArrayBufferLike|Blob|ArrayBufferView):void;readonly CLOSED:number;readonly CLOSING:number;readonly CONNECTING:number;readonly OPEN:number;addEventListener<K extends keyof WebSocketEventMap>(type:K,listener:(this:WebSocket,ev:WebSocketEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof WebSocketEventMap>(type:K,listener:(this:WebSocket,ev:WebSocketEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var WebSocket:{prototype:WebSocket;new(url:string|URL,protocols?:string|string[]):WebSocket;readonly CLOSED:number;readonly CLOSING:number;readonly CONNECTING:number;readonly OPEN:number;};interface WheelEvent extends MouseEvent{readonly deltaMode:number;readonly deltaX:number;readonly deltaY:number;readonly deltaZ:number;readonly DOM_DELTA_LINE:number;readonly DOM_DELTA_PAGE:number;readonly DOM_DELTA_PIXEL:number;}declare var WheelEvent:{prototype:WheelEvent;new(type:string,eventInitDict?:WheelEventInit):WheelEvent;readonly DOM_DELTA_LINE:number;readonly DOM_DELTA_PAGE:number;readonly DOM_DELTA_PIXEL:number;};interface WindowEventMap extends GlobalEventHandlersEventMap,WindowEventHandlersEventMap{"DOMContentLoaded":Event;"devicemotion":DeviceMotionEvent;"deviceorientation":DeviceOrientationEvent;"gamepadconnected":GamepadEvent;"gamepaddisconnected":GamepadEvent;"orientationchange":Event;}interface Window extends EventTarget,AnimationFrameProvider,GlobalEventHandlers,WindowEventHandlers,WindowLocalStorage,WindowOrWorkerGlobalScope,WindowSessionStorage{readonly clientInformation:Navigator;readonly closed:boolean;readonly customElements:CustomElementRegistry;readonly devicePixelRatio:number;readonly document:Document;readonly event:Event|undefined;readonly external:External;readonly frameElement:Element|null;readonly frames:WindowProxy;readonly history:History;readonly innerHeight:number;readonly innerWidth:number;readonly length:number;get location():Location;set location(href:string|Location);readonly locationbar:BarProp;readonly menubar:BarProp;name:string;readonly navigator:Navigator;ondevicemotion:((this:Window,ev:DeviceMotionEvent)=>any)|null;ondeviceorientation:((this:Window,ev:DeviceOrientationEvent)=>any)|null;onorientationchange:((this:Window,ev:Event)=>any)|null;opener:any;readonly orientation:number;readonly outerHeight:number;readonly outerWidth:number;readonly pageXOffset:number;readonly pageYOffset:number;readonly parent:WindowProxy;readonly personalbar:BarProp;readonly screen:Screen;readonly screenLeft:number;readonly screenTop:number;readonly screenX:number;readonly screenY:number;readonly scrollX:number;readonly scrollY:number;readonly scrollbars:BarProp;readonly self:Window&typeof globalThis;readonly speechSynthesis:SpeechSynthesis;status:string;readonly statusbar:BarProp;readonly toolbar:BarProp;readonly top:WindowProxy|null;readonly visualViewport:VisualViewport|null;readonly window:Window&typeof globalThis;alert(message?:any):void;blur():void;cancelIdleCallback(handle:number):void;captureEvents():void;close():void;confirm(message?:string):boolean;focus():void;getComputedStyle(elt:Element,pseudoElt?:string|null):CSSStyleDeclaration;getSelection():Selection|null;matchMedia(query:string):MediaQueryList;moveBy(x:number,y:number):void;moveTo(x:number,y:number):void;open(url?:string|URL,target?:string,features?:string):WindowProxy|null;postMessage(message:any,targetOrigin:string,transfer?:Transferable[]):void;postMessage(message:any,options?:WindowPostMessageOptions):void;print():void;prompt(message?:string,_default?:string):string|null;releaseEvents():void;requestIdleCallback(callback:IdleRequestCallback,options?:IdleRequestOptions):number;resizeBy(x:number,y:number):void;resizeTo(width:number,height:number):void;scroll(options?:ScrollToOptions):void;scroll(x:number,y:number):void;scrollBy(options?:ScrollToOptions):void;scrollBy(x:number,y:number):void;scrollTo(options?:ScrollToOptions):void;scrollTo(x:number,y:number):void;stop():void;addEventListener<K extends keyof WindowEventMap>(type:K,listener:(this:Window,ev:WindowEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof WindowEventMap>(type:K,listener:(this:Window,ev:WindowEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;[index:number]:Window;}declare var Window:{prototype:Window;new():Window;};interface WindowEventHandlersEventMap{"afterprint":Event;"beforeprint":Event;"beforeunload":BeforeUnloadEvent;"gamepadconnected":GamepadEvent;"gamepaddisconnected":GamepadEvent;"hashchange":HashChangeEvent;"languagechange":Event;"message":MessageEvent;"messageerror":MessageEvent;"offline":Event;"online":Event;"pagehide":PageTransitionEvent;"pageshow":PageTransitionEvent;"popstate":PopStateEvent;"rejectionhandled":PromiseRejectionEvent;"storage":StorageEvent;"unhandledrejection":PromiseRejectionEvent;"unload":Event;}interface WindowEventHandlers{onafterprint:((this:WindowEventHandlers,ev:Event)=>any)|null;onbeforeprint:((this:WindowEventHandlers,ev:Event)=>any)|null;onbeforeunload:((this:WindowEventHandlers,ev:BeforeUnloadEvent)=>any)|null;ongamepadconnected:((this:WindowEventHandlers,ev:GamepadEvent)=>any)|null;ongamepaddisconnected:((this:WindowEventHandlers,ev:GamepadEvent)=>any)|null;onhashchange:((this:WindowEventHandlers,ev:HashChangeEvent)=>any)|null;onlanguagechange:((this:WindowEventHandlers,ev:Event)=>any)|null;onmessage:((this:WindowEventHandlers,ev:MessageEvent)=>any)|null;onmessageerror:((this:WindowEventHandlers,ev:MessageEvent)=>any)|null;onoffline:((this:WindowEventHandlers,ev:Event)=>any)|null;ononline:((this:WindowEventHandlers,ev:Event)=>any)|null;onpagehide:((this:WindowEventHandlers,ev:PageTransitionEvent)=>any)|null;onpageshow:((this:WindowEventHandlers,ev:PageTransitionEvent)=>any)|null;onpopstate:((this:WindowEventHandlers,ev:PopStateEvent)=>any)|null;onrejectionhandled:((this:WindowEventHandlers,ev:PromiseRejectionEvent)=>any)|null;onstorage:((this:WindowEventHandlers,ev:StorageEvent)=>any)|null;onunhandledrejection:((this:WindowEventHandlers,ev:PromiseRejectionEvent)=>any)|null;onunload:((this:WindowEventHandlers,ev:Event)=>any)|null;addEventListener<K extends keyof WindowEventHandlersEventMap>(type:K,listener:(this:WindowEventHandlers,ev:WindowEventHandlersEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof WindowEventHandlersEventMap>(type:K,listener:(this:WindowEventHandlers,ev:WindowEventHandlersEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}interface WindowLocalStorage{readonly localStorage:Storage;}interface WindowOrWorkerGlobalScope{readonly caches:CacheStorage;readonly crossOriginIsolated:boolean;readonly crypto:Crypto;readonly indexedDB:IDBFactory;readonly isSecureContext:boolean;readonly origin:string;readonly performance:Performance;atob(data:string):string;btoa(data:string):string;clearInterval(id:number|undefined):void;clearTimeout(id:number|undefined):void;createImageBitmap(image:ImageBitmapSource,options?:ImageBitmapOptions):Promise<ImageBitmap>;createImageBitmap(image:ImageBitmapSource,sx:number,sy:number,sw:number,sh:number,options?:ImageBitmapOptions):Promise<ImageBitmap>;fetch(input:RequestInfo|URL,init?:RequestInit):Promise<Response>;queueMicrotask(callback:VoidFunction):void;reportError(e:any):void;setInterval(handler:TimerHandler,timeout?:number,...arguments:any[]):number;setTimeout(handler:TimerHandler,timeout?:number,...arguments:any[]):number;structuredClone(value:any,options?:StructuredSerializeOptions):any;}interface WindowSessionStorage{readonly sessionStorage:Storage;}interface WorkerEventMap extends AbstractWorkerEventMap{"message":MessageEvent;"messageerror":MessageEvent;}interface Worker extends EventTarget,AbstractWorker{onmessage:((this:Worker,ev:MessageEvent)=>any)|null;onmessageerror:((this:Worker,ev:MessageEvent)=>any)|null;postMessage(message:any,transfer:Transferable[]):void;postMessage(message:any,options?:StructuredSerializeOptions):void;terminate():void;addEventListener<K extends keyof WorkerEventMap>(type:K,listener:(this:Worker,ev:WorkerEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof WorkerEventMap>(type:K,listener:(this:Worker,ev:WorkerEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var Worker:{prototype:Worker;new(scriptURL:string|URL,options?:WorkerOptions):Worker;};interface Worklet{addModule(moduleURL:string|URL,options?:WorkletOptions):Promise<void>;}declare var Worklet:{prototype:Worklet;new():Worklet;};interface WritableStream<W=any>{readonly locked:boolean;abort(reason?:any):Promise<void>;close():Promise<void>;getWriter():WritableStreamDefaultWriter<W>;}declare var WritableStream:{prototype:WritableStream;new<W=any>(underlyingSink?:UnderlyingSink<W>,strategy?:QueuingStrategy<W>):WritableStream<W>;};interface WritableStreamDefaultController{readonly signal:AbortSignal;error(e?:any):void;}declare var WritableStreamDefaultController:{prototype:WritableStreamDefaultController;new():WritableStreamDefaultController;};interface WritableStreamDefaultWriter<W=any>{readonly closed:Promise<undefined>;readonly desiredSize:number|null;readonly ready:Promise<undefined>;abort(reason?:any):Promise<void>;close():Promise<void>;releaseLock():void;write(chunk?:W):Promise<void>;}declare var WritableStreamDefaultWriter:{prototype:WritableStreamDefaultWriter;new<W=any>(stream:WritableStream<W>):WritableStreamDefaultWriter<W>;};interface XMLDocument extends Document{addEventListener<K extends keyof DocumentEventMap>(type:K,listener:(this:XMLDocument,ev:DocumentEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof DocumentEventMap>(type:K,listener:(this:XMLDocument,ev:DocumentEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var XMLDocument:{prototype:XMLDocument;new():XMLDocument;};interface XMLHttpRequestEventMap extends XMLHttpRequestEventTargetEventMap{"readystatechange":Event;}interface XMLHttpRequest extends XMLHttpRequestEventTarget{onreadystatechange:((this:XMLHttpRequest,ev:Event)=>any)|null;readonly readyState:number;readonly response:any;readonly responseText:string;responseType:XMLHttpRequestResponseType;readonly responseURL:string;readonly responseXML:Document|null;readonly status:number;readonly statusText:string;timeout:number;readonly upload:XMLHttpRequestUpload;withCredentials:boolean;abort():void;getAllResponseHeaders():string;getResponseHeader(name:string):string|null;open(method:string,url:string|URL):void;open(method:string,url:string|URL,async:boolean,username?:string|null,password?:string|null):void;overrideMimeType(mime:string):void;send(body?:Document|XMLHttpRequestBodyInit|null):void;setRequestHeader(name:string,value:string):void;readonly DONE:number;readonly HEADERS_RECEIVED:number;readonly LOADING:number;readonly OPENED:number;readonly UNSENT:number;addEventListener<K extends keyof XMLHttpRequestEventMap>(type:K,listener:(this:XMLHttpRequest,ev:XMLHttpRequestEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof XMLHttpRequestEventMap>(type:K,listener:(this:XMLHttpRequest,ev:XMLHttpRequestEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var XMLHttpRequest:{prototype:XMLHttpRequest;new():XMLHttpRequest;readonly DONE:number;readonly HEADERS_RECEIVED:number;readonly LOADING:number;readonly OPENED:number;readonly UNSENT:number;};interface XMLHttpRequestEventTargetEventMap{"abort":ProgressEvent<XMLHttpRequestEventTarget>;"error":ProgressEvent<XMLHttpRequestEventTarget>;"load":ProgressEvent<XMLHttpRequestEventTarget>;"loadend":ProgressEvent<XMLHttpRequestEventTarget>;"loadstart":ProgressEvent<XMLHttpRequestEventTarget>;"progress":ProgressEvent<XMLHttpRequestEventTarget>;"timeout":ProgressEvent<XMLHttpRequestEventTarget>;}interface XMLHttpRequestEventTarget extends EventTarget{onabort:((this:XMLHttpRequest,ev:ProgressEvent)=>any)|null;onerror:((this:XMLHttpRequest,ev:ProgressEvent)=>any)|null;onload:((this:XMLHttpRequest,ev:ProgressEvent)=>any)|null;onloadend:((this:XMLHttpRequest,ev:ProgressEvent)=>any)|null;onloadstart:((this:XMLHttpRequest,ev:ProgressEvent)=>any)|null;onprogress:((this:XMLHttpRequest,ev:ProgressEvent)=>any)|null;ontimeout:((this:XMLHttpRequest,ev:ProgressEvent)=>any)|null;addEventListener<K extends keyof XMLHttpRequestEventTargetEventMap>(type:K,listener:(this:XMLHttpRequestEventTarget,ev:XMLHttpRequestEventTargetEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof XMLHttpRequestEventTargetEventMap>(type:K,listener:(this:XMLHttpRequestEventTarget,ev:XMLHttpRequestEventTargetEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var XMLHttpRequestEventTarget:{prototype:XMLHttpRequestEventTarget;new():XMLHttpRequestEventTarget;};interface XMLHttpRequestUpload extends XMLHttpRequestEventTarget{addEventListener<K extends keyof XMLHttpRequestEventTargetEventMap>(type:K,listener:(this:XMLHttpRequestUpload,ev:XMLHttpRequestEventTargetEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof XMLHttpRequestEventTargetEventMap>(type:K,listener:(this:XMLHttpRequestUpload,ev:XMLHttpRequestEventTargetEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var XMLHttpRequestUpload:{prototype:XMLHttpRequestUpload;new():XMLHttpRequestUpload;};interface XMLSerializer{serializeToString(root:Node):string;}declare var XMLSerializer:{prototype:XMLSerializer;new():XMLSerializer;};interface XPathEvaluator extends XPathEvaluatorBase{}declare var XPathEvaluator:{prototype:XPathEvaluator;new():XPathEvaluator;};interface XPathEvaluatorBase{createExpression(expression:string,resolver?:XPathNSResolver|null):XPathExpression;createNSResolver(nodeResolver:Node):XPathNSResolver;evaluate(expression:string,contextNode:Node,resolver?:XPathNSResolver|null,type?:number,result?:XPathResult|null):XPathResult;}interface XPathExpression{evaluate(contextNode:Node,type?:number,result?:XPathResult|null):XPathResult;}declare var XPathExpression:{prototype:XPathExpression;new():XPathExpression;};interface XPathResult{readonly booleanValue:boolean;readonly invalidIteratorState:boolean;readonly numberValue:number;readonly resultType:number;readonly singleNodeValue:Node|null;readonly snapshotLength:number;readonly stringValue:string;iterateNext():Node|null;snapshotItem(index:number):Node|null;readonly ANY_TYPE:number;readonly ANY_UNORDERED_NODE_TYPE:number;readonly BOOLEAN_TYPE:number;readonly FIRST_ORDERED_NODE_TYPE:number;readonly NUMBER_TYPE:number;readonly ORDERED_NODE_ITERATOR_TYPE:number;readonly ORDERED_NODE_SNAPSHOT_TYPE:number;readonly STRING_TYPE:number;readonly UNORDERED_NODE_ITERATOR_TYPE:number;readonly UNORDERED_NODE_SNAPSHOT_TYPE:number;}declare var XPathResult:{prototype:XPathResult;new():XPathResult;readonly ANY_TYPE:number;readonly ANY_UNORDERED_NODE_TYPE:number;readonly BOOLEAN_TYPE:number;readonly FIRST_ORDERED_NODE_TYPE:number;readonly NUMBER_TYPE:number;readonly ORDERED_NODE_ITERATOR_TYPE:number;readonly ORDERED_NODE_SNAPSHOT_TYPE:number;readonly STRING_TYPE:number;readonly UNORDERED_NODE_ITERATOR_TYPE:number;readonly UNORDERED_NODE_SNAPSHOT_TYPE:number;};interface XSLTProcessor{clearParameters():void;getParameter(namespaceURI:string|null,localName:string):any;importStylesheet(style:Node):void;removeParameter(namespaceURI:string|null,localName:string):void;reset():void;setParameter(namespaceURI:string|null,localName:string,value:any):void;transformToDocument(source:Node):Document;transformToFragment(source:Node,output:Document):DocumentFragment;}declare var XSLTProcessor:{prototype:XSLTProcessor;new():XSLTProcessor;};interface Console{assert(condition?:boolean,...data:any[]):void;clear():void;count(label?:string):void;countReset(label?:string):void;debug(...data:any[]):void;dir(item?:any,options?:any):void;dirxml(...data:any[]):void;error(...data:any[]):void;group(...data:any[]):void;groupCollapsed(...data:any[]):void;groupEnd():void;info(...data:any[]):void;log(...data:any[]):void;table(tabularData?:any,properties?:string[]):void;time(label?:string):void;timeEnd(label?:string):void;timeLog(label?:string,...data:any[]):void;timeStamp(label?:string):void;trace(...data:any[]):void;warn(...data:any[]):void;}declare var console:Console;declare namespace CSS{function escape(ident:string):string;function supports(property:string,value:string):boolean;function supports(conditionText:string):boolean;}declare namespace WebAssembly{interface CompileError extends Error{}var CompileError:{prototype:CompileError;new(message?:string):CompileError;(message?:string):CompileError;};interface Global{value:any;valueOf():any;}var Global:{prototype:Global;new(descriptor:GlobalDescriptor,v?:any):Global;};interface Instance{readonly exports:Exports;}var Instance:{prototype:Instance;new(module:Module,importObject?:Imports):Instance;};interface LinkError extends Error{}var LinkError:{prototype:LinkError;new(message?:string):LinkError;(message?:string):LinkError;};interface Memory{readonly buffer:ArrayBuffer;grow(delta:number):number;}var Memory:{prototype:Memory;new(descriptor:MemoryDescriptor):Memory;};interface Module{}var Module:{prototype:Module;new(bytes:BufferSource):Module;customSections(moduleObject:Module,sectionName:string):ArrayBuffer[];exports(moduleObject:Module):ModuleExportDescriptor[];imports(moduleObject:Module):ModuleImportDescriptor[];};interface RuntimeError extends Error{}var RuntimeError:{prototype:RuntimeError;new(message?:string):RuntimeError;(message?:string):RuntimeError;};interface Table{readonly length:number;get(index:number):any;grow(delta:number,value?:any):number;set(index:number,value?:any):void;}var Table:{prototype:Table;new(descriptor:TableDescriptor,value?:any):Table;};interface GlobalDescriptor{mutable?:boolean;value:ValueType;}interface MemoryDescriptor{initial:number;maximum?:number;shared?:boolean;}interface ModuleExportDescriptor{kind:ImportExportKind;name:string;}interface ModuleImportDescriptor{kind:ImportExportKind;module:string;name:string;}interface TableDescriptor{element:TableKind;initial:number;maximum?:number;}interface WebAssemblyInstantiatedSource{instance:Instance;module:Module;}type ImportExportKind="function"|"global"|"memory"|"table";type TableKind="anyfunc"|"externref";type ValueType="anyfunc"|"externref"|"f32"|"f64"|"i32"|"i64"|"v128";type ExportValue=Function|Global|Memory|Table;type Exports=Record<string,ExportValue>;type ImportValue=ExportValue|number;type Imports=Record<string,ModuleImports>;type ModuleImports=Record<string,ImportValue>;function compile(bytes:BufferSource):Promise<Module>;function compileStreaming(source:Response|PromiseLike<Response>):Promise<Module>;function instantiate(bytes:BufferSource,importObject?:Imports):Promise<WebAssemblyInstantiatedSource>;function instantiate(moduleObject:Module,importObject?:Imports):Promise<Instance>;function instantiateStreaming(source:Response|PromiseLike<Response>,importObject?:Imports):Promise<WebAssemblyInstantiatedSource>;function validate(bytes:BufferSource):boolean;}interface BlobCallback{(blob:Blob|null):void;}interface CustomElementConstructor{new(...params:any[]):HTMLElement;}interface DecodeErrorCallback{(error:DOMException):void;}interface DecodeSuccessCallback{(decodedData:AudioBuffer):void;}interface ErrorCallback{(err:DOMException):void;}interface FileCallback{(file:File):void;}interface FileSystemEntriesCallback{(entries:FileSystemEntry[]):void;}interface FileSystemEntryCallback{(entry:FileSystemEntry):void;}interface FrameRequestCallback{(time:DOMHighResTimeStamp):void;}interface FunctionStringCallback{(data:string):void;}interface IdleRequestCallback{(deadline:IdleDeadline):void;}interface IntersectionObserverCallback{(entries:IntersectionObserverEntry[],observer:IntersectionObserver):void;}interface LockGrantedCallback{(lock:Lock|null):any;}interface MediaSessionActionHandler{(details:MediaSessionActionDetails):void;}interface MutationCallback{(mutations:MutationRecord[],observer:MutationObserver):void;}interface NotificationPermissionCallback{(permission:NotificationPermission):void;}interface OnBeforeUnloadEventHandlerNonNull{(event:Event):string|null;}interface OnErrorEventHandlerNonNull{(event:Event|string,source?:string,lineno?:number,colno?:number,error?:Error):any;}interface PerformanceObserverCallback{(entries:PerformanceObserverEntryList,observer:PerformanceObserver):void;}interface PositionCallback{(position:GeolocationPosition):void;}interface PositionErrorCallback{(positionError:GeolocationPositionError):void;}interface QueuingStrategySize<T=any>{(chunk:T):number;}interface RTCPeerConnectionErrorCallback{(error:DOMException):void;}interface RTCSessionDescriptionCallback{(description:RTCSessionDescriptionInit):void;}interface RemotePlaybackAvailabilityCallback{(available:boolean):void;}interface ResizeObserverCallback{(entries:ResizeObserverEntry[],observer:ResizeObserver):void;}interface TransformerFlushCallback<O>{(controller:TransformStreamDefaultController<O>):void|PromiseLike<void>;}interface TransformerStartCallback<O>{(controller:TransformStreamDefaultController<O>):any;}interface TransformerTransformCallback<I,O>{(chunk:I,controller:TransformStreamDefaultController<O>):void|PromiseLike<void>;}interface UnderlyingSinkAbortCallback{(reason?:any):void|PromiseLike<void>;}interface UnderlyingSinkCloseCallback{():void|PromiseLike<void>;}interface UnderlyingSinkStartCallback{(controller:WritableStreamDefaultController):any;}interface UnderlyingSinkWriteCallback<W>{(chunk:W,controller:WritableStreamDefaultController):void|PromiseLike<void>;}interface UnderlyingSourceCancelCallback{(reason?:any):void|PromiseLike<void>;}interface UnderlyingSourcePullCallback<R>{(controller:ReadableStreamController<R>):void|PromiseLike<void>;}interface UnderlyingSourceStartCallback<R>{(controller:ReadableStreamController<R>):any;}interface VideoFrameRequestCallback{(now:DOMHighResTimeStamp,metadata:VideoFrameCallbackMetadata):void;}interface VoidFunction{():void;}interface HTMLElementTagNameMap{"a":HTMLAnchorElement;"abbr":HTMLElement;"address":HTMLElement;"area":HTMLAreaElement;"article":HTMLElement;"aside":HTMLElement;"audio":HTMLAudioElement;"b":HTMLElement;"base":HTMLBaseElement;"bdi":HTMLElement;"bdo":HTMLElement;"blockquote":HTMLQuoteElement;"body":HTMLBodyElement;"br":HTMLBRElement;"button":HTMLButtonElement;"canvas":HTMLCanvasElement;"caption":HTMLTableCaptionElement;"cite":HTMLElement;"code":HTMLElement;"col":HTMLTableColElement;"colgroup":HTMLTableColElement;"data":HTMLDataElement;"datalist":HTMLDataListElement;"dd":HTMLElement;"del":HTMLModElement;"details":HTMLDetailsElement;"dfn":HTMLElement;"dialog":HTMLDialogElement;"div":HTMLDivElement;"dl":HTMLDListElement;"dt":HTMLElement;"em":HTMLElement;"embed":HTMLEmbedElement;"fieldset":HTMLFieldSetElement;"figcaption":HTMLElement;"figure":HTMLElement;"footer":HTMLElement;"form":HTMLFormElement;"h1":HTMLHeadingElement;"h2":HTMLHeadingElement;"h3":HTMLHeadingElement;"h4":HTMLHeadingElement;"h5":HTMLHeadingElement;"h6":HTMLHeadingElement;"head":HTMLHeadElement;"header":HTMLElement;"hgroup":HTMLElement;"hr":HTMLHRElement;"html":HTMLHtmlElement;"i":HTMLElement;"iframe":HTMLIFrameElement;"img":HTMLImageElement;"input":HTMLInputElement;"ins":HTMLModElement;"kbd":HTMLElement;"label":HTMLLabelElement;"legend":HTMLLegendElement;"li":HTMLLIElement;"link":HTMLLinkElement;"main":HTMLElement;"map":HTMLMapElement;"mark":HTMLElement;"menu":HTMLMenuElement;"meta":HTMLMetaElement;"meter":HTMLMeterElement;"nav":HTMLElement;"noscript":HTMLElement;"object":HTMLObjectElement;"ol":HTMLOListElement;"optgroup":HTMLOptGroupElement;"option":HTMLOptionElement;"output":HTMLOutputElement;"p":HTMLParagraphElement;"picture":HTMLPictureElement;"pre":HTMLPreElement;"progress":HTMLProgressElement;"q":HTMLQuoteElement;"rp":HTMLElement;"rt":HTMLElement;"ruby":HTMLElement;"s":HTMLElement;"samp":HTMLElement;"script":HTMLScriptElement;"section":HTMLElement;"select":HTMLSelectElement;"slot":HTMLSlotElement;"small":HTMLElement;"source":HTMLSourceElement;"span":HTMLSpanElement;"strong":HTMLElement;"style":HTMLStyleElement;"sub":HTMLElement;"summary":HTMLElement;"sup":HTMLElement;"table":HTMLTableElement;"tbody":HTMLTableSectionElement;"td":HTMLTableCellElement;"template":HTMLTemplateElement;"textarea":HTMLTextAreaElement;"tfoot":HTMLTableSectionElement;"th":HTMLTableCellElement;"thead":HTMLTableSectionElement;"time":HTMLTimeElement;"title":HTMLTitleElement;"tr":HTMLTableRowElement;"track":HTMLTrackElement;"u":HTMLElement;"ul":HTMLUListElement;"var":HTMLElement;"video":HTMLVideoElement;"wbr":HTMLElement;}interface HTMLElementDeprecatedTagNameMap{"acronym":HTMLElement;"applet":HTMLUnknownElement;"basefont":HTMLElement;"bgsound":HTMLUnknownElement;"big":HTMLElement;"blink":HTMLUnknownElement;"center":HTMLElement;"dir":HTMLDirectoryElement;"font":HTMLFontElement;"frame":HTMLFrameElement;"frameset":HTMLFrameSetElement;"isindex":HTMLUnknownElement;"keygen":HTMLUnknownElement;"listing":HTMLPreElement;"marquee":HTMLMarqueeElement;"menuitem":HTMLElement;"multicol":HTMLUnknownElement;"nextid":HTMLUnknownElement;"nobr":HTMLElement;"noembed":HTMLElement;"noframes":HTMLElement;"param":HTMLParamElement;"plaintext":HTMLElement;"rb":HTMLElement;"rtc":HTMLElement;"spacer":HTMLUnknownElement;"strike":HTMLElement;"tt":HTMLElement;"xmp":HTMLPreElement;}interface SVGElementTagNameMap{"a":SVGAElement;"animate":SVGAnimateElement;"animateMotion":SVGAnimateMotionElement;"animateTransform":SVGAnimateTransformElement;"circle":SVGCircleElement;"clipPath":SVGClipPathElement;"defs":SVGDefsElement;"desc":SVGDescElement;"ellipse":SVGEllipseElement;"feBlend":SVGFEBlendElement;"feColorMatrix":SVGFEColorMatrixElement;"feComponentTransfer":SVGFEComponentTransferElement;"feComposite":SVGFECompositeElement;"feConvolveMatrix":SVGFEConvolveMatrixElement;"feDiffuseLighting":SVGFEDiffuseLightingElement;"feDisplacementMap":SVGFEDisplacementMapElement;"feDistantLight":SVGFEDistantLightElement;"feDropShadow":SVGFEDropShadowElement;"feFlood":SVGFEFloodElement;"feFuncA":SVGFEFuncAElement;"feFuncB":SVGFEFuncBElement;"feFuncG":SVGFEFuncGElement;"feFuncR":SVGFEFuncRElement;"feGaussianBlur":SVGFEGaussianBlurElement;"feImage":SVGFEImageElement;"feMerge":SVGFEMergeElement;"feMergeNode":SVGFEMergeNodeElement;"feMorphology":SVGFEMorphologyElement;"feOffset":SVGFEOffsetElement;"fePointLight":SVGFEPointLightElement;"feSpecularLighting":SVGFESpecularLightingElement;"feSpotLight":SVGFESpotLightElement;"feTile":SVGFETileElement;"feTurbulence":SVGFETurbulenceElement;"filter":SVGFilterElement;"foreignObject":SVGForeignObjectElement;"g":SVGGElement;"image":SVGImageElement;"line":SVGLineElement;"linearGradient":SVGLinearGradientElement;"marker":SVGMarkerElement;"mask":SVGMaskElement;"metadata":SVGMetadataElement;"mpath":SVGMPathElement;"path":SVGPathElement;"pattern":SVGPatternElement;"polygon":SVGPolygonElement;"polyline":SVGPolylineElement;"radialGradient":SVGRadialGradientElement;"rect":SVGRectElement;"script":SVGScriptElement;"set":SVGSetElement;"stop":SVGStopElement;"style":SVGStyleElement;"svg":SVGSVGElement;"switch":SVGSwitchElement;"symbol":SVGSymbolElement;"text":SVGTextElement;"textPath":SVGTextPathElement;"title":SVGTitleElement;"tspan":SVGTSpanElement;"use":SVGUseElement;"view":SVGViewElement;}type ElementTagNameMap=HTMLElementTagNameMap&Pick<SVGElementTagNameMap,Exclude<keyof SVGElementTagNameMap,keyof HTMLElementTagNameMap>>;declare var Audio:{new(src?:string):HTMLAudioElement;};declare var Image:{new(width?:number,height?:number):HTMLImageElement;};declare var Option:{new(text?:string,value?:string,defaultSelected?:boolean,selected?:boolean):HTMLOptionElement;};declare var clientInformation:Navigator;declare var closed:boolean;declare var customElements:CustomElementRegistry;declare var devicePixelRatio:number;declare var document:Document;declare var event:Event|undefined;declare var external:External;declare var frameElement:Element|null;declare var frames:WindowProxy;declare var history:History;declare var innerHeight:number;declare var innerWidth:number;declare var length:number;declare var location:Location;declare var locationbar:BarProp;declare var menubar:BarProp;declare const name:void;declare var navigator:Navigator;declare var ondevicemotion:((this:Window,ev:DeviceMotionEvent)=>any)|null;declare var ondeviceorientation:((this:Window,ev:DeviceOrientationEvent)=>any)|null;declare var onorientationchange:((this:Window,ev:Event)=>any)|null;declare var opener:any;declare var orientation:number;declare var outerHeight:number;declare var outerWidth:number;declare var pageXOffset:number;declare var pageYOffset:number;declare var parent:WindowProxy;declare var personalbar:BarProp;declare var screen:Screen;declare var screenLeft:number;declare var screenTop:number;declare var screenX:number;declare var screenY:number;declare var scrollX:number;declare var scrollY:number;declare var scrollbars:BarProp;declare var self:Window&typeof globalThis;declare var speechSynthesis:SpeechSynthesis;declare var status:string;declare var statusbar:BarProp;declare var toolbar:BarProp;declare var top:WindowProxy|null;declare var visualViewport:VisualViewport|null;declare var window:Window&typeof globalThis;declare function alert(message?:any):void;declare function blur():void;declare function cancelIdleCallback(handle:number):void;declare function captureEvents():void;declare function close():void;declare function confirm(message?:string):boolean;declare function focus():void;declare function getComputedStyle(elt:Element,pseudoElt?:string|null):CSSStyleDeclaration;declare function getSelection():Selection|null;declare function matchMedia(query:string):MediaQueryList;declare function moveBy(x:number,y:number):void;declare function moveTo(x:number,y:number):void;declare function open(url?:string|URL,target?:string,features?:string):WindowProxy|null;declare function postMessage(message:any,targetOrigin:string,transfer?:Transferable[]):void;declare function postMessage(message:any,options?:WindowPostMessageOptions):void;declare function print():void;declare function prompt(message?:string,_default?:string):string|null;declare function releaseEvents():void;declare function requestIdleCallback(callback:IdleRequestCallback,options?:IdleRequestOptions):number;declare function resizeBy(x:number,y:number):void;declare function resizeTo(width:number,height:number):void;declare function scroll(options?:ScrollToOptions):void;declare function scroll(x:number,y:number):void;declare function scrollBy(options?:ScrollToOptions):void;declare function scrollBy(x:number,y:number):void;declare function scrollTo(options?:ScrollToOptions):void;declare function scrollTo(x:number,y:number):void;declare function stop():void;declare function toString():string;declare function dispatchEvent(event:Event):boolean;declare function cancelAnimationFrame(handle:number):void;declare function requestAnimationFrame(callback:FrameRequestCallback):number;declare var onabort:((this:Window,ev:UIEvent)=>any)|null;declare var onanimationcancel:((this:Window,ev:AnimationEvent)=>any)|null;declare var onanimationend:((this:Window,ev:AnimationEvent)=>any)|null;declare var onanimationiteration:((this:Window,ev:AnimationEvent)=>any)|null;declare var onanimationstart:((this:Window,ev:AnimationEvent)=>any)|null;declare var onauxclick:((this:Window,ev:MouseEvent)=>any)|null;declare var onbeforeinput:((this:Window,ev:InputEvent)=>any)|null;declare var onblur:((this:Window,ev:FocusEvent)=>any)|null;declare var oncancel:((this:Window,ev:Event)=>any)|null;declare var oncanplay:((this:Window,ev:Event)=>any)|null;declare var oncanplaythrough:((this:Window,ev:Event)=>any)|null;declare var onchange:((this:Window,ev:Event)=>any)|null;declare var onclick:((this:Window,ev:MouseEvent)=>any)|null;declare var onclose:((this:Window,ev:Event)=>any)|null;declare var oncontextmenu:((this:Window,ev:MouseEvent)=>any)|null;declare var oncuechange:((this:Window,ev:Event)=>any)|null;declare var ondblclick:((this:Window,ev:MouseEvent)=>any)|null;declare var ondrag:((this:Window,ev:DragEvent)=>any)|null;declare var ondragend:((this:Window,ev:DragEvent)=>any)|null;declare var ondragenter:((this:Window,ev:DragEvent)=>any)|null;declare var ondragleave:((this:Window,ev:DragEvent)=>any)|null;declare var ondragover:((this:Window,ev:DragEvent)=>any)|null;declare var ondragstart:((this:Window,ev:DragEvent)=>any)|null;declare var ondrop:((this:Window,ev:DragEvent)=>any)|null;declare var ondurationchange:((this:Window,ev:Event)=>any)|null;declare var onemptied:((this:Window,ev:Event)=>any)|null;declare var onended:((this:Window,ev:Event)=>any)|null;declare var onerror:OnErrorEventHandler;declare var onfocus:((this:Window,ev:FocusEvent)=>any)|null;declare var onformdata:((this:Window,ev:FormDataEvent)=>any)|null;declare var ongotpointercapture:((this:Window,ev:PointerEvent)=>any)|null;declare var oninput:((this:Window,ev:Event)=>any)|null;declare var oninvalid:((this:Window,ev:Event)=>any)|null;declare var onkeydown:((this:Window,ev:KeyboardEvent)=>any)|null;declare var onkeypress:((this:Window,ev:KeyboardEvent)=>any)|null;declare var onkeyup:((this:Window,ev:KeyboardEvent)=>any)|null;declare var onload:((this:Window,ev:Event)=>any)|null;declare var onloadeddata:((this:Window,ev:Event)=>any)|null;declare var onloadedmetadata:((this:Window,ev:Event)=>any)|null;declare var onloadstart:((this:Window,ev:Event)=>any)|null;declare var onlostpointercapture:((this:Window,ev:PointerEvent)=>any)|null;declare var onmousedown:((this:Window,ev:MouseEvent)=>any)|null;declare var onmouseenter:((this:Window,ev:MouseEvent)=>any)|null;declare var onmouseleave:((this:Window,ev:MouseEvent)=>any)|null;declare var onmousemove:((this:Window,ev:MouseEvent)=>any)|null;declare var onmouseout:((this:Window,ev:MouseEvent)=>any)|null;declare var onmouseover:((this:Window,ev:MouseEvent)=>any)|null;declare var onmouseup:((this:Window,ev:MouseEvent)=>any)|null;declare var onpause:((this:Window,ev:Event)=>any)|null;declare var onplay:((this:Window,ev:Event)=>any)|null;declare var onplaying:((this:Window,ev:Event)=>any)|null;declare var onpointercancel:((this:Window,ev:PointerEvent)=>any)|null;declare var onpointerdown:((this:Window,ev:PointerEvent)=>any)|null;declare var onpointerenter:((this:Window,ev:PointerEvent)=>any)|null;declare var onpointerleave:((this:Window,ev:PointerEvent)=>any)|null;declare var onpointermove:((this:Window,ev:PointerEvent)=>any)|null;declare var onpointerout:((this:Window,ev:PointerEvent)=>any)|null;declare var onpointerover:((this:Window,ev:PointerEvent)=>any)|null;declare var onpointerup:((this:Window,ev:PointerEvent)=>any)|null;declare var onprogress:((this:Window,ev:ProgressEvent)=>any)|null;declare var onratechange:((this:Window,ev:Event)=>any)|null;declare var onreset:((this:Window,ev:Event)=>any)|null;declare var onresize:((this:Window,ev:UIEvent)=>any)|null;declare var onscroll:((this:Window,ev:Event)=>any)|null;declare var onsecuritypolicyviolation:((this:Window,ev:SecurityPolicyViolationEvent)=>any)|null;declare var onseeked:((this:Window,ev:Event)=>any)|null;declare var onseeking:((this:Window,ev:Event)=>any)|null;declare var onselect:((this:Window,ev:Event)=>any)|null;declare var onselectionchange:((this:Window,ev:Event)=>any)|null;declare var onselectstart:((this:Window,ev:Event)=>any)|null;declare var onslotchange:((this:Window,ev:Event)=>any)|null;declare var onstalled:((this:Window,ev:Event)=>any)|null;declare var onsubmit:((this:Window,ev:SubmitEvent)=>any)|null;declare var onsuspend:((this:Window,ev:Event)=>any)|null;declare var ontimeupdate:((this:Window,ev:Event)=>any)|null;declare var ontoggle:((this:Window,ev:Event)=>any)|null;declare var ontouchcancel:((this:Window,ev:TouchEvent)=>any)|null|undefined;declare var ontouchend:((this:Window,ev:TouchEvent)=>any)|null|undefined;declare var ontouchmove:((this:Window,ev:TouchEvent)=>any)|null|undefined;declare var ontouchstart:((this:Window,ev:TouchEvent)=>any)|null|undefined;declare var ontransitioncancel:((this:Window,ev:TransitionEvent)=>any)|null;declare var ontransitionend:((this:Window,ev:TransitionEvent)=>any)|null;declare var ontransitionrun:((this:Window,ev:TransitionEvent)=>any)|null;declare var ontransitionstart:((this:Window,ev:TransitionEvent)=>any)|null;declare var onvolumechange:((this:Window,ev:Event)=>any)|null;declare var onwaiting:((this:Window,ev:Event)=>any)|null;declare var onwebkitanimationend:((this:Window,ev:Event)=>any)|null;declare var onwebkitanimationiteration:((this:Window,ev:Event)=>any)|null;declare var onwebkitanimationstart:((this:Window,ev:Event)=>any)|null;declare var onwebkittransitionend:((this:Window,ev:Event)=>any)|null;declare var onwheel:((this:Window,ev:WheelEvent)=>any)|null;declare var onafterprint:((this:Window,ev:Event)=>any)|null;declare var onbeforeprint:((this:Window,ev:Event)=>any)|null;declare var onbeforeunload:((this:Window,ev:BeforeUnloadEvent)=>any)|null;declare var ongamepadconnected:((this:Window,ev:GamepadEvent)=>any)|null;declare var ongamepaddisconnected:((this:Window,ev:GamepadEvent)=>any)|null;declare var onhashchange:((this:Window,ev:HashChangeEvent)=>any)|null;declare var onlanguagechange:((this:Window,ev:Event)=>any)|null;declare var onmessage:((this:Window,ev:MessageEvent)=>any)|null;declare var onmessageerror:((this:Window,ev:MessageEvent)=>any)|null;declare var onoffline:((this:Window,ev:Event)=>any)|null;declare var ononline:((this:Window,ev:Event)=>any)|null;declare var onpagehide:((this:Window,ev:PageTransitionEvent)=>any)|null;declare var onpageshow:((this:Window,ev:PageTransitionEvent)=>any)|null;declare var onpopstate:((this:Window,ev:PopStateEvent)=>any)|null;declare var onrejectionhandled:((this:Window,ev:PromiseRejectionEvent)=>any)|null;declare var onstorage:((this:Window,ev:StorageEvent)=>any)|null;declare var onunhandledrejection:((this:Window,ev:PromiseRejectionEvent)=>any)|null;declare var onunload:((this:Window,ev:Event)=>any)|null;declare var localStorage:Storage;declare var caches:CacheStorage;declare var crossOriginIsolated:boolean;declare var crypto:Crypto;declare var indexedDB:IDBFactory;declare var isSecureContext:boolean;declare var origin:string;declare var performance:Performance;declare function atob(data:string):string;declare function btoa(data:string):string;declare function clearInterval(id:number|undefined):void;declare function clearTimeout(id:number|undefined):void;declare function createImageBitmap(image:ImageBitmapSource,options?:ImageBitmapOptions):Promise<ImageBitmap>;declare function createImageBitmap(image:ImageBitmapSource,sx:number,sy:number,sw:number,sh:number,options?:ImageBitmapOptions):Promise<ImageBitmap>;declare function fetch(input:RequestInfo|URL,init?:RequestInit):Promise<Response>;declare function queueMicrotask(callback:VoidFunction):void;declare function reportError(e:any):void;declare function setInterval(handler:TimerHandler,timeout?:number,...arguments:any[]):number;declare function setTimeout(handler:TimerHandler,timeout?:number,...arguments:any[]):number;declare function structuredClone(value:any,options?:StructuredSerializeOptions):any;declare var sessionStorage:Storage;declare function addEventListener<K extends keyof WindowEventMap>(type:K,listener:(this:Window,ev:WindowEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;declare function addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;declare function removeEventListener<K extends keyof WindowEventMap>(type:K,listener:(this:Window,ev:WindowEventMap[K])=>any,options?:boolean|EventListenerOptions):void;declare function removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;type AlgorithmIdentifier=Algorithm|string;type BigInteger=Uint8Array;type BinaryData=ArrayBuffer|ArrayBufferView;type BlobPart=BufferSource|Blob|string;type BodyInit=ReadableStream|XMLHttpRequestBodyInit;type BufferSource=ArrayBufferView|ArrayBuffer;type COSEAlgorithmIdentifier=number;type CSSNumberish=number;type CanvasImageSource=HTMLOrSVGImageElement|HTMLVideoElement|HTMLCanvasElement|ImageBitmap|OffscreenCanvas;type ClipboardItemData=Promise<string|Blob>;type ClipboardItems=ClipboardItem[];type ConstrainBoolean=boolean|ConstrainBooleanParameters;type ConstrainDOMString=string|string[]|ConstrainDOMStringParameters;type ConstrainDouble=number|ConstrainDoubleRange;type ConstrainULong=number|ConstrainULongRange;type DOMHighResTimeStamp=number;type EpochTimeStamp=number;type EventListenerOrEventListenerObject=EventListener|EventListenerObject;type Float32List=Float32Array|GLfloat[];type FormDataEntryValue=File|string;type GLbitfield=number;type GLboolean=boolean;type GLclampf=number;type GLenum=number;type GLfloat=number;type GLint=number;type GLint64=number;type GLintptr=number;type GLsizei=number;type GLsizeiptr=number;type GLuint=number;type GLuint64=number;type HTMLOrSVGImageElement=HTMLImageElement|SVGImageElement;type HTMLOrSVGScriptElement=HTMLScriptElement|SVGScriptElement;type HashAlgorithmIdentifier=AlgorithmIdentifier;type HeadersInit=[string,string][]|Record<string,string>|Headers;type IDBValidKey=number|string|Date|BufferSource|IDBValidKey[];type ImageBitmapSource=CanvasImageSource|Blob|ImageData;type InsertPosition="beforebegin"|"afterbegin"|"beforeend"|"afterend";type Int32List=Int32Array|GLint[];type LineAndPositionSetting=number|AutoKeyword;type MediaProvider=MediaStream|MediaSource|Blob;type MessageEventSource=WindowProxy|MessagePort|ServiceWorker;type MutationRecordType="attributes"|"characterData"|"childList";type NamedCurve=string;type OffscreenRenderingContext=OffscreenCanvasRenderingContext2D|ImageBitmapRenderingContext|WebGLRenderingContext|WebGL2RenderingContext;type OnBeforeUnloadEventHandler=OnBeforeUnloadEventHandlerNonNull|null;type OnErrorEventHandler=OnErrorEventHandlerNonNull|null;type PerformanceEntryList=PerformanceEntry[];type ReadableStreamController<T>=ReadableStreamDefaultController<T>|ReadableByteStreamController;type ReadableStreamReadResult<T>=ReadableStreamReadValueResult<T>|ReadableStreamReadDoneResult<T>;type ReadableStreamReader<T>=ReadableStreamDefaultReader<T>|ReadableStreamBYOBReader;type RenderingContext=CanvasRenderingContext2D|ImageBitmapRenderingContext|WebGLRenderingContext|WebGL2RenderingContext;type RequestInfo=Request|string;type TexImageSource=ImageBitmap|ImageData|HTMLImageElement|HTMLCanvasElement|HTMLVideoElement|OffscreenCanvas;type TimerHandler=string|Function;type Transferable=OffscreenCanvas|ImageBitmap|MessagePort|ReadableStream|WritableStream|TransformStream|ArrayBuffer;type Uint32List=Uint32Array|GLuint[];type VibratePattern=number|number[];type WindowProxy=Window;type XMLHttpRequestBodyInit=Blob|BufferSource|FormData|URLSearchParams|string;type AlignSetting="center"|"end"|"left"|"right"|"start";type AnimationPlayState="finished"|"idle"|"paused"|"running";type AnimationReplaceState="active"|"persisted"|"removed";type AppendMode="segments"|"sequence";type AttestationConveyancePreference="direct"|"enterprise"|"indirect"|"none";type AudioContextLatencyCategory="balanced"|"interactive"|"playback";type AudioContextState="closed"|"running"|"suspended";type AuthenticatorAttachment="cross-platform"|"platform";type AuthenticatorTransport="ble"|"hybrid"|"internal"|"nfc"|"usb";type AutoKeyword="auto";type AutomationRate="a-rate"|"k-rate";type BinaryType="arraybuffer"|"blob";type BiquadFilterType="allpass"|"bandpass"|"highpass"|"highshelf"|"lowpass"|"lowshelf"|"notch"|"peaking";type CanPlayTypeResult=""|"maybe"|"probably";type CanvasDirection="inherit"|"ltr"|"rtl";type CanvasFillRule="evenodd"|"nonzero";type CanvasFontKerning="auto"|"none"|"normal";type CanvasFontStretch="condensed"|"expanded"|"extra-condensed"|"extra-expanded"|"normal"|"semi-condensed"|"semi-expanded"|"ultra-condensed"|"ultra-expanded";type CanvasFontVariantCaps="all-petite-caps"|"all-small-caps"|"normal"|"petite-caps"|"small-caps"|"titling-caps"|"unicase";type CanvasLineCap="butt"|"round"|"square";type CanvasLineJoin="bevel"|"miter"|"round";type CanvasTextAlign="center"|"end"|"left"|"right"|"start";type CanvasTextBaseline="alphabetic"|"bottom"|"hanging"|"ideographic"|"middle"|"top";type CanvasTextRendering="auto"|"geometricPrecision"|"optimizeLegibility"|"optimizeSpeed";type ChannelCountMode="clamped-max"|"explicit"|"max";type ChannelInterpretation="discrete"|"speakers";type ClientTypes="all"|"sharedworker"|"window"|"worker";type ColorGamut="p3"|"rec2020"|"srgb";type ColorSpaceConversion="default"|"none";type CompositeOperation="accumulate"|"add"|"replace";type CompositeOperationOrAuto="accumulate"|"add"|"auto"|"replace";type CredentialMediationRequirement="optional"|"required"|"silent";type DOMParserSupportedType="application/xhtml+xml"|"application/xml"|"image/svg+xml"|"text/html"|"text/xml";type DirectionSetting=""|"lr"|"rl";type DisplayCaptureSurfaceType="browser"|"monitor"|"window";type DistanceModelType="exponential"|"inverse"|"linear";type DocumentReadyState="complete"|"interactive"|"loading";type DocumentVisibilityState="hidden"|"visible";type EndOfStreamError="decode"|"network";type EndingType="native"|"transparent";type FileSystemHandleKind="directory"|"file";type FillMode="auto"|"backwards"|"both"|"forwards"|"none";type FontFaceLoadStatus="error"|"loaded"|"loading"|"unloaded";type FontFaceSetLoadStatus="loaded"|"loading";type FullscreenNavigationUI="auto"|"hide"|"show";type GamepadHapticActuatorType="vibration";type GamepadMappingType=""|"standard"|"xr-standard";type GlobalCompositeOperation="color"|"color-burn"|"color-dodge"|"copy"|"darken"|"destination-atop"|"destination-in"|"destination-out"|"destination-over"|"difference"|"exclusion"|"hard-light"|"hue"|"lighten"|"lighter"|"luminosity"|"multiply"|"overlay"|"saturation"|"screen"|"soft-light"|"source-atop"|"source-in"|"source-out"|"source-over"|"xor";type HdrMetadataType="smpteSt2086"|"smpteSt2094-10"|"smpteSt2094-40";type IDBCursorDirection="next"|"nextunique"|"prev"|"prevunique";type IDBRequestReadyState="done"|"pending";type IDBTransactionDurability="default"|"relaxed"|"strict";type IDBTransactionMode="readonly"|"readwrite"|"versionchange";type ImageOrientation="flipY"|"none";type ImageSmoothingQuality="high"|"low"|"medium";type IterationCompositeOperation="accumulate"|"replace";type KeyFormat="jwk"|"pkcs8"|"raw"|"spki";type KeyType="private"|"public"|"secret";type KeyUsage="decrypt"|"deriveBits"|"deriveKey"|"encrypt"|"sign"|"unwrapKey"|"verify"|"wrapKey";type LineAlignSetting="center"|"end"|"start";type LockMode="exclusive"|"shared";type MediaDecodingType="file"|"media-source"|"webrtc";type MediaDeviceKind="audioinput"|"audiooutput"|"videoinput";type MediaEncodingType="record"|"webrtc";type MediaKeyMessageType="individualization-request"|"license-release"|"license-renewal"|"license-request";type MediaKeySessionClosedReason="closed-by-application"|"hardware-context-reset"|"internal-error"|"release-acknowledged"|"resource-evicted";type MediaKeySessionType="persistent-license"|"temporary";type MediaKeyStatus="expired"|"internal-error"|"output-downscaled"|"output-restricted"|"released"|"status-pending"|"usable"|"usable-in-future";type MediaKeysRequirement="not-allowed"|"optional"|"required";type MediaSessionAction="nexttrack"|"pause"|"play"|"previoustrack"|"seekbackward"|"seekforward"|"seekto"|"skipad"|"stop";type MediaSessionPlaybackState="none"|"paused"|"playing";type MediaStreamTrackState="ended"|"live";type NavigationTimingType="back_forward"|"navigate"|"prerender"|"reload";type NotificationDirection="auto"|"ltr"|"rtl";type NotificationPermission="default"|"denied"|"granted";type OffscreenRenderingContextId="2d"|"bitmaprenderer"|"webgl"|"webgl2"|"webgpu";type OrientationLockType="any"|"landscape"|"landscape-primary"|"landscape-secondary"|"natural"|"portrait"|"portrait-primary"|"portrait-secondary";type OrientationType="landscape-primary"|"landscape-secondary"|"portrait-primary"|"portrait-secondary";type OscillatorType="custom"|"sawtooth"|"sine"|"square"|"triangle";type OverSampleType="2x"|"4x"|"none";type PanningModelType="HRTF"|"equalpower";type PaymentComplete="fail"|"success"|"unknown";type PermissionName="geolocation"|"notifications"|"persistent-storage"|"push"|"screen-wake-lock"|"xr-spatial-tracking";type PermissionState="denied"|"granted"|"prompt";type PlaybackDirection="alternate"|"alternate-reverse"|"normal"|"reverse";type PositionAlignSetting="auto"|"center"|"line-left"|"line-right";type PredefinedColorSpace="display-p3"|"srgb";type PremultiplyAlpha="default"|"none"|"premultiply";type PresentationStyle="attachment"|"inline"|"unspecified";type PublicKeyCredentialType="public-key";type PushEncryptionKeyName="auth"|"p256dh";type RTCBundlePolicy="balanced"|"max-bundle"|"max-compat";type RTCDataChannelState="closed"|"closing"|"connecting"|"open";type RTCDegradationPreference="balanced"|"maintain-framerate"|"maintain-resolution";type RTCDtlsTransportState="closed"|"connected"|"connecting"|"failed"|"new";type RTCEncodedVideoFrameType="delta"|"empty"|"key";type RTCErrorDetailType="data-channel-failure"|"dtls-failure"|"fingerprint-failure"|"hardware-encoder-error"|"hardware-encoder-not-available"|"sctp-failure"|"sdp-syntax-error";type RTCIceCandidateType="host"|"prflx"|"relay"|"srflx";type RTCIceComponent="rtcp"|"rtp";type RTCIceConnectionState="checking"|"closed"|"completed"|"connected"|"disconnected"|"failed"|"new";type RTCIceGathererState="complete"|"gathering"|"new";type RTCIceGatheringState="complete"|"gathering"|"new";type RTCIceProtocol="tcp"|"udp";type RTCIceTcpCandidateType="active"|"passive"|"so";type RTCIceTransportPolicy="all"|"relay";type RTCIceTransportState="checking"|"closed"|"completed"|"connected"|"disconnected"|"failed"|"new";type RTCPeerConnectionState="closed"|"connected"|"connecting"|"disconnected"|"failed"|"new";type RTCPriorityType="high"|"low"|"medium"|"very-low";type RTCRtcpMuxPolicy="require";type RTCRtpTransceiverDirection="inactive"|"recvonly"|"sendonly"|"sendrecv"|"stopped";type RTCSctpTransportState="closed"|"connected"|"connecting";type RTCSdpType="answer"|"offer"|"pranswer"|"rollback";type RTCSignalingState="closed"|"have-local-offer"|"have-local-pranswer"|"have-remote-offer"|"have-remote-pranswer"|"stable";type RTCStatsIceCandidatePairState="failed"|"frozen"|"in-progress"|"inprogress"|"succeeded"|"waiting";type RTCStatsType="candidate-pair"|"certificate"|"codec"|"data-channel"|"inbound-rtp"|"local-candidate"|"media-source"|"outbound-rtp"|"peer-connection"|"remote-candidate"|"remote-inbound-rtp"|"remote-outbound-rtp"|"track"|"transport";type ReadableStreamReaderMode="byob";type ReadableStreamType="bytes";type ReadyState="closed"|"ended"|"open";type RecordingState="inactive"|"paused"|"recording";type ReferrerPolicy=""|"no-referrer"|"no-referrer-when-downgrade"|"origin"|"origin-when-cross-origin"|"same-origin"|"strict-origin"|"strict-origin-when-cross-origin"|"unsafe-url";type RemotePlaybackState="connected"|"connecting"|"disconnected";type RequestCache="default"|"force-cache"|"no-cache"|"no-store"|"only-if-cached"|"reload";type RequestCredentials="include"|"omit"|"same-origin";type RequestDestination=""|"audio"|"audioworklet"|"document"|"embed"|"font"|"frame"|"iframe"|"image"|"manifest"|"object"|"paintworklet"|"report"|"script"|"sharedworker"|"style"|"track"|"video"|"worker"|"xslt";type RequestMode="cors"|"navigate"|"no-cors"|"same-origin";type RequestRedirect="error"|"follow"|"manual";type ResidentKeyRequirement="discouraged"|"preferred"|"required";type ResizeObserverBoxOptions="border-box"|"content-box"|"device-pixel-content-box";type ResizeQuality="high"|"low"|"medium"|"pixelated";type ResponseType="basic"|"cors"|"default"|"error"|"opaque"|"opaqueredirect";type ScrollBehavior="auto"|"smooth";type ScrollLogicalPosition="center"|"end"|"nearest"|"start";type ScrollRestoration="auto"|"manual";type ScrollSetting=""|"up";type SecurityPolicyViolationEventDisposition="enforce"|"report";type SelectionMode="end"|"preserve"|"select"|"start";type ServiceWorkerState="activated"|"activating"|"installed"|"installing"|"parsed"|"redundant";type ServiceWorkerUpdateViaCache="all"|"imports"|"none";type ShadowRootMode="closed"|"open";type SlotAssignmentMode="manual"|"named";type SpeechSynthesisErrorCode="audio-busy"|"audio-hardware"|"canceled"|"interrupted"|"invalid-argument"|"language-unavailable"|"network"|"not-allowed"|"synthesis-failed"|"synthesis-unavailable"|"text-too-long"|"voice-unavailable";type TextTrackKind="captions"|"chapters"|"descriptions"|"metadata"|"subtitles";type TextTrackMode="disabled"|"hidden"|"showing";type TouchType="direct"|"stylus";type TransferFunction="hlg"|"pq"|"srgb";type UserVerificationRequirement="discouraged"|"preferred"|"required";type VideoColorPrimaries="bt470bg"|"bt709"|"smpte170m";type VideoFacingModeEnum="environment"|"left"|"right"|"user";type VideoMatrixCoefficients="bt470bg"|"bt709"|"rgb"|"smpte170m";type VideoTransferCharacteristics="bt709"|"iec61966-2-1"|"smpte170m";type WebGLPowerPreference="default"|"high-performance"|"low-power";type WorkerType="classic"|"module";type XMLHttpRequestResponseType=""|"arraybuffer"|"blob"|"document"|"json"|"text";`
    }, {
        fileName: "lib.dom.iterable.d.ts",
        text: `/// <reference no-default-lib="true"/>\ninterface AudioParam{setValueCurveAtTime(values:Iterable<number>,startTime:number,duration:number):AudioParam;}interface AudioParamMap extends ReadonlyMap<string,AudioParam>{}interface BaseAudioContext{createIIRFilter(feedforward:Iterable<number>,feedback:Iterable<number>):IIRFilterNode;createPeriodicWave(real:Iterable<number>,imag:Iterable<number>,constraints?:PeriodicWaveConstraints):PeriodicWave;}interface CSSRuleList{[Symbol.iterator]():IterableIterator<CSSRule>;}interface CSSStyleDeclaration{[Symbol.iterator]():IterableIterator<string>;}interface Cache{addAll(requests:Iterable<RequestInfo>):Promise<void>;}interface CanvasPath{roundRect(x:number,y:number,w:number,h:number,radii?:number|DOMPointInit|Iterable<number|DOMPointInit>):void;}interface CanvasPathDrawingStyles{setLineDash(segments:Iterable<number>):void;}interface DOMRectList{[Symbol.iterator]():IterableIterator<DOMRect>;}interface DOMStringList{[Symbol.iterator]():IterableIterator<string>;}interface DOMTokenList{[Symbol.iterator]():IterableIterator<string>;entries():IterableIterator<[number,string]>;keys():IterableIterator<number>;values():IterableIterator<string>;}interface DataTransferItemList{[Symbol.iterator]():IterableIterator<DataTransferItem>;}interface EventCounts extends ReadonlyMap<string,number>{}interface FileList{[Symbol.iterator]():IterableIterator<File>;}interface FontFaceSet extends Set<FontFace>{}interface FormData{[Symbol.iterator]():IterableIterator<[string,FormDataEntryValue]>;entries():IterableIterator<[string,FormDataEntryValue]>;keys():IterableIterator<string>;values():IterableIterator<FormDataEntryValue>;}interface HTMLAllCollection{[Symbol.iterator]():IterableIterator<Element>;}interface HTMLCollectionBase{[Symbol.iterator]():IterableIterator<Element>;}interface HTMLCollectionOf<T extends Element>{[Symbol.iterator]():IterableIterator<T>;}interface HTMLFormElement{[Symbol.iterator]():IterableIterator<Element>;}interface HTMLSelectElement{[Symbol.iterator]():IterableIterator<HTMLOptionElement>;}interface Headers{[Symbol.iterator]():IterableIterator<[string,string]>;entries():IterableIterator<[string,string]>;keys():IterableIterator<string>;values():IterableIterator<string>;}interface IDBDatabase{transaction(storeNames:string|Iterable<string>,mode?:IDBTransactionMode,options?:IDBTransactionOptions):IDBTransaction;}interface IDBObjectStore{createIndex(name:string,keyPath:string|Iterable<string>,options?:IDBIndexParameters):IDBIndex;}interface MediaKeyStatusMap{[Symbol.iterator]():IterableIterator<[BufferSource,MediaKeyStatus]>;entries():IterableIterator<[BufferSource,MediaKeyStatus]>;keys():IterableIterator<BufferSource>;values():IterableIterator<MediaKeyStatus>;}interface MediaList{[Symbol.iterator]():IterableIterator<string>;}interface MessageEvent<T=any>{initMessageEvent(type:string,bubbles?:boolean,cancelable?:boolean,data?:any,origin?:string,lastEventId?:string,source?:MessageEventSource|null,ports?:Iterable<MessagePort>):void;}interface MimeTypeArray{[Symbol.iterator]():IterableIterator<MimeType>;}interface NamedNodeMap{[Symbol.iterator]():IterableIterator<Attr>;}interface Navigator{requestMediaKeySystemAccess(keySystem:string,supportedConfigurations:Iterable<MediaKeySystemConfiguration>):Promise<MediaKeySystemAccess>;vibrate(pattern:Iterable<number>):boolean;}interface NodeList{[Symbol.iterator]():IterableIterator<Node>;entries():IterableIterator<[number,Node]>;keys():IterableIterator<number>;values():IterableIterator<Node>;}interface NodeListOf<TNode extends Node>{[Symbol.iterator]():IterableIterator<TNode>;entries():IterableIterator<[number,TNode]>;keys():IterableIterator<number>;values():IterableIterator<TNode>;}interface Plugin{[Symbol.iterator]():IterableIterator<MimeType>;}interface PluginArray{[Symbol.iterator]():IterableIterator<Plugin>;}interface RTCRtpTransceiver{setCodecPreferences(codecs:Iterable<RTCRtpCodecCapability>):void;}interface RTCStatsReport extends ReadonlyMap<string,any>{}interface SVGLengthList{[Symbol.iterator]():IterableIterator<SVGLength>;}interface SVGNumberList{[Symbol.iterator]():IterableIterator<SVGNumber>;}interface SVGPointList{[Symbol.iterator]():IterableIterator<DOMPoint>;}interface SVGStringList{[Symbol.iterator]():IterableIterator<string>;}interface SVGTransformList{[Symbol.iterator]():IterableIterator<SVGTransform>;}interface SourceBufferList{[Symbol.iterator]():IterableIterator<SourceBuffer>;}interface SpeechRecognitionResult{[Symbol.iterator]():IterableIterator<SpeechRecognitionAlternative>;}interface SpeechRecognitionResultList{[Symbol.iterator]():IterableIterator<SpeechRecognitionResult>;}interface StyleSheetList{[Symbol.iterator]():IterableIterator<CSSStyleSheet>;}interface SubtleCrypto{deriveKey(algorithm:AlgorithmIdentifier|EcdhKeyDeriveParams|HkdfParams|Pbkdf2Params,baseKey:CryptoKey,derivedKeyType:AlgorithmIdentifier|AesDerivedKeyParams|HmacImportParams|HkdfParams|Pbkdf2Params,extractable:boolean,keyUsages:Iterable<KeyUsage>):Promise<CryptoKey>;generateKey(algorithm:RsaHashedKeyGenParams|EcKeyGenParams,extractable:boolean,keyUsages:ReadonlyArray<KeyUsage>):Promise<CryptoKeyPair>;generateKey(algorithm:AesKeyGenParams|HmacKeyGenParams|Pbkdf2Params,extractable:boolean,keyUsages:ReadonlyArray<KeyUsage>):Promise<CryptoKey>;generateKey(algorithm:AlgorithmIdentifier,extractable:boolean,keyUsages:Iterable<KeyUsage>):Promise<CryptoKeyPair|CryptoKey>;importKey(format:"jwk",keyData:JsonWebKey,algorithm:AlgorithmIdentifier|RsaHashedImportParams|EcKeyImportParams|HmacImportParams|AesKeyAlgorithm,extractable:boolean,keyUsages:ReadonlyArray<KeyUsage>):Promise<CryptoKey>;importKey(format:Exclude<KeyFormat,"jwk">,keyData:BufferSource,algorithm:AlgorithmIdentifier|RsaHashedImportParams|EcKeyImportParams|HmacImportParams|AesKeyAlgorithm,extractable:boolean,keyUsages:Iterable<KeyUsage>):Promise<CryptoKey>;unwrapKey(format:KeyFormat,wrappedKey:BufferSource,unwrappingKey:CryptoKey,unwrapAlgorithm:AlgorithmIdentifier|RsaOaepParams|AesCtrParams|AesCbcParams|AesGcmParams,unwrappedKeyAlgorithm:AlgorithmIdentifier|RsaHashedImportParams|EcKeyImportParams|HmacImportParams|AesKeyAlgorithm,extractable:boolean,keyUsages:Iterable<KeyUsage>):Promise<CryptoKey>;}interface TextTrackCueList{[Symbol.iterator]():IterableIterator<TextTrackCue>;}interface TextTrackList{[Symbol.iterator]():IterableIterator<TextTrack>;}interface TouchList{[Symbol.iterator]():IterableIterator<Touch>;}interface URLSearchParams{[Symbol.iterator]():IterableIterator<[string,string]>;entries():IterableIterator<[string,string]>;keys():IterableIterator<string>;values():IterableIterator<string>;}interface WEBGL_draw_buffers{drawBuffersWEBGL(buffers:Iterable<GLenum>):void;}interface WEBGL_multi_draw{multiDrawArraysInstancedWEBGL(mode:GLenum,firstsList:Int32Array|Iterable<GLint>,firstsOffset:GLuint,countsList:Int32Array|Iterable<GLsizei>,countsOffset:GLuint,instanceCountsList:Int32Array|Iterable<GLsizei>,instanceCountsOffset:GLuint,drawcount:GLsizei):void;multiDrawArraysWEBGL(mode:GLenum,firstsList:Int32Array|Iterable<GLint>,firstsOffset:GLuint,countsList:Int32Array|Iterable<GLsizei>,countsOffset:GLuint,drawcount:GLsizei):void;multiDrawElementsInstancedWEBGL(mode:GLenum,countsList:Int32Array|Iterable<GLsizei>,countsOffset:GLuint,type:GLenum,offsetsList:Int32Array|Iterable<GLsizei>,offsetsOffset:GLuint,instanceCountsList:Int32Array|Iterable<GLsizei>,instanceCountsOffset:GLuint,drawcount:GLsizei):void;multiDrawElementsWEBGL(mode:GLenum,countsList:Int32Array|Iterable<GLsizei>,countsOffset:GLuint,type:GLenum,offsetsList:Int32Array|Iterable<GLsizei>,offsetsOffset:GLuint,drawcount:GLsizei):void;}interface WebGL2RenderingContextBase{clearBufferfv(buffer:GLenum,drawbuffer:GLint,values:Iterable<GLfloat>,srcOffset?:GLuint):void;clearBufferiv(buffer:GLenum,drawbuffer:GLint,values:Iterable<GLint>,srcOffset?:GLuint):void;clearBufferuiv(buffer:GLenum,drawbuffer:GLint,values:Iterable<GLuint>,srcOffset?:GLuint):void;drawBuffers(buffers:Iterable<GLenum>):void;getActiveUniforms(program:WebGLProgram,uniformIndices:Iterable<GLuint>,pname:GLenum):any;getUniformIndices(program:WebGLProgram,uniformNames:Iterable<string>):Iterable<GLuint>|null;invalidateFramebuffer(target:GLenum,attachments:Iterable<GLenum>):void;invalidateSubFramebuffer(target:GLenum,attachments:Iterable<GLenum>,x:GLint,y:GLint,width:GLsizei,height:GLsizei):void;transformFeedbackVaryings(program:WebGLProgram,varyings:Iterable<string>,bufferMode:GLenum):void;uniform1uiv(location:WebGLUniformLocation|null,data:Iterable<GLuint>,srcOffset?:GLuint,srcLength?:GLuint):void;uniform2uiv(location:WebGLUniformLocation|null,data:Iterable<GLuint>,srcOffset?:GLuint,srcLength?:GLuint):void;uniform3uiv(location:WebGLUniformLocation|null,data:Iterable<GLuint>,srcOffset?:GLuint,srcLength?:GLuint):void;uniform4uiv(location:WebGLUniformLocation|null,data:Iterable<GLuint>,srcOffset?:GLuint,srcLength?:GLuint):void;uniformMatrix2x3fv(location:WebGLUniformLocation|null,transpose:GLboolean,data:Iterable<GLfloat>,srcOffset?:GLuint,srcLength?:GLuint):void;uniformMatrix2x4fv(location:WebGLUniformLocation|null,transpose:GLboolean,data:Iterable<GLfloat>,srcOffset?:GLuint,srcLength?:GLuint):void;uniformMatrix3x2fv(location:WebGLUniformLocation|null,transpose:GLboolean,data:Iterable<GLfloat>,srcOffset?:GLuint,srcLength?:GLuint):void;uniformMatrix3x4fv(location:WebGLUniformLocation|null,transpose:GLboolean,data:Iterable<GLfloat>,srcOffset?:GLuint,srcLength?:GLuint):void;uniformMatrix4x2fv(location:WebGLUniformLocation|null,transpose:GLboolean,data:Iterable<GLfloat>,srcOffset?:GLuint,srcLength?:GLuint):void;uniformMatrix4x3fv(location:WebGLUniformLocation|null,transpose:GLboolean,data:Iterable<GLfloat>,srcOffset?:GLuint,srcLength?:GLuint):void;vertexAttribI4iv(index:GLuint,values:Iterable<GLint>):void;vertexAttribI4uiv(index:GLuint,values:Iterable<GLuint>):void;}interface WebGL2RenderingContextOverloads{uniform1fv(location:WebGLUniformLocation|null,data:Iterable<GLfloat>,srcOffset?:GLuint,srcLength?:GLuint):void;uniform1iv(location:WebGLUniformLocation|null,data:Iterable<GLint>,srcOffset?:GLuint,srcLength?:GLuint):void;uniform2fv(location:WebGLUniformLocation|null,data:Iterable<GLfloat>,srcOffset?:GLuint,srcLength?:GLuint):void;uniform2iv(location:WebGLUniformLocation|null,data:Iterable<GLint>,srcOffset?:GLuint,srcLength?:GLuint):void;uniform3fv(location:WebGLUniformLocation|null,data:Iterable<GLfloat>,srcOffset?:GLuint,srcLength?:GLuint):void;uniform3iv(location:WebGLUniformLocation|null,data:Iterable<GLint>,srcOffset?:GLuint,srcLength?:GLuint):void;uniform4fv(location:WebGLUniformLocation|null,data:Iterable<GLfloat>,srcOffset?:GLuint,srcLength?:GLuint):void;uniform4iv(location:WebGLUniformLocation|null,data:Iterable<GLint>,srcOffset?:GLuint,srcLength?:GLuint):void;uniformMatrix2fv(location:WebGLUniformLocation|null,transpose:GLboolean,data:Iterable<GLfloat>,srcOffset?:GLuint,srcLength?:GLuint):void;uniformMatrix3fv(location:WebGLUniformLocation|null,transpose:GLboolean,data:Iterable<GLfloat>,srcOffset?:GLuint,srcLength?:GLuint):void;uniformMatrix4fv(location:WebGLUniformLocation|null,transpose:GLboolean,data:Iterable<GLfloat>,srcOffset?:GLuint,srcLength?:GLuint):void;}interface WebGLRenderingContextBase{vertexAttrib1fv(index:GLuint,values:Iterable<GLfloat>):void;vertexAttrib2fv(index:GLuint,values:Iterable<GLfloat>):void;vertexAttrib3fv(index:GLuint,values:Iterable<GLfloat>):void;vertexAttrib4fv(index:GLuint,values:Iterable<GLfloat>):void;}interface WebGLRenderingContextOverloads{uniform1fv(location:WebGLUniformLocation|null,v:Iterable<GLfloat>):void;uniform1iv(location:WebGLUniformLocation|null,v:Iterable<GLint>):void;uniform2fv(location:WebGLUniformLocation|null,v:Iterable<GLfloat>):void;uniform2iv(location:WebGLUniformLocation|null,v:Iterable<GLint>):void;uniform3fv(location:WebGLUniformLocation|null,v:Iterable<GLfloat>):void;uniform3iv(location:WebGLUniformLocation|null,v:Iterable<GLint>):void;uniform4fv(location:WebGLUniformLocation|null,v:Iterable<GLfloat>):void;uniform4iv(location:WebGLUniformLocation|null,v:Iterable<GLint>):void;uniformMatrix2fv(location:WebGLUniformLocation|null,transpose:GLboolean,value:Iterable<GLfloat>):void;uniformMatrix3fv(location:WebGLUniformLocation|null,transpose:GLboolean,value:Iterable<GLfloat>):void;uniformMatrix4fv(location:WebGLUniformLocation|null,transpose:GLboolean,value:Iterable<GLfloat>):void;}`
    }, {
        fileName: "lib.es2015.collection.d.ts",
        text: `/// <reference no-default-lib="true"/>\ninterface Map<K,V>{clear():void;delete(key:K):boolean;forEach(callbackfn:(value:V,key:K,map:Map<K,V>)=>void,thisArg?:any):void;get(key:K):V|undefined;has(key:K):boolean;set(key:K,value:V):this;readonly size:number;}interface MapConstructor{new():Map<any,any>;new<K,V>(entries?:readonly(readonly[K,V])[]|null):Map<K,V>;readonly prototype:Map<any,any>;}declare var Map:MapConstructor;interface ReadonlyMap<K,V>{forEach(callbackfn:(value:V,key:K,map:ReadonlyMap<K,V>)=>void,thisArg?:any):void;get(key:K):V|undefined;has(key:K):boolean;readonly size:number;}interface WeakMap<K extends object,V>{delete(key:K):boolean;get(key:K):V|undefined;has(key:K):boolean;set(key:K,value:V):this;}interface WeakMapConstructor{new<K extends object=object,V=any>(entries?:readonly[K,V][]|null):WeakMap<K,V>;readonly prototype:WeakMap<object,any>;}declare var WeakMap:WeakMapConstructor;interface Set<T>{add(value:T):this;clear():void;delete(value:T):boolean;forEach(callbackfn:(value:T,value2:T,set:Set<T>)=>void,thisArg?:any):void;has(value:T):boolean;readonly size:number;}interface SetConstructor{new<T=any>(values?:readonly T[]|null):Set<T>;readonly prototype:Set<any>;}declare var Set:SetConstructor;interface ReadonlySet<T>{forEach(callbackfn:(value:T,value2:T,set:ReadonlySet<T>)=>void,thisArg?:any):void;has(value:T):boolean;readonly size:number;}interface WeakSet<T extends object>{add(value:T):this;delete(value:T):boolean;has(value:T):boolean;}interface WeakSetConstructor{new<T extends object=object>(values?:readonly T[]|null):WeakSet<T>;readonly prototype:WeakSet<object>;}declare var WeakSet:WeakSetConstructor;`
    }, {
        fileName: "lib.es2015.core.d.ts",
        text: `/// <reference no-default-lib="true"/>\ninterface Array<T>{find<S extends T>(predicate:(this:void,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;}interface ArrayConstructor{from<T>(arrayLike:ArrayLike<T>):T[];from<T,U>(arrayLike:ArrayLike<T>,mapfn:(v:T,k:number)=>U,thisArg?:any):U[];of<T>(...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<T extends{},U>(target:T,source:U):T&U;assign<T extends{},U,V>(target:T,source1:U,source2:V):T&U&V;assign<T extends{},U,V,W>(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<T>{find<S extends T>(predicate:(this:void,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;}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<string>},...substitutions:any[]):string;}`
    }, {
        fileName: "lib.es2015.d.ts",
        text: `/// <reference no-default-lib="true"/>\n/// <reference lib="es5" />\n/// <reference lib="es2015.core" />\n/// <reference lib="es2015.collection" />\n/// <reference lib="es2015.iterable" />\n/// <reference lib="es2015.generator" />\n/// <reference lib="es2015.promise" />\n/// <reference lib="es2015.proxy" />\n/// <reference lib="es2015.reflect" />\n/// <reference lib="es2015.symbol" />\n/// <reference lib="es2015.symbol.wellknown" />\n`
    }, {
        fileName: "lib.es2015.generator.d.ts",
        text: `/// <reference no-default-lib="true"/>\n/// <reference lib="es2015.iterable" />\ninterface Generator<T=unknown,TReturn=any,TNext=unknown>extends Iterator<T,TReturn,TNext>{next(...args:[]|[TNext]):IteratorResult<T,TReturn>;return(value:TReturn):IteratorResult<T,TReturn>;throw(e:any):IteratorResult<T,TReturn>;[Symbol.iterator]():Generator<T,TReturn,TNext>;}interface GeneratorFunction{new(...args:any[]):Generator;(...args:any[]):Generator;readonly length:number;readonly name:string;readonly prototype:Generator;}interface GeneratorFunctionConstructor{new(...args:string[]):GeneratorFunction;(...args:string[]):GeneratorFunction;readonly length:number;readonly name:string;readonly prototype:GeneratorFunction;}`
    }, {
        fileName: "lib.es2015.iterable.d.ts",
        text: `/// <reference no-default-lib="true"/>\n/// <reference lib="es2015.symbol" />\ninterface SymbolConstructor{readonly iterator:unique symbol;}interface IteratorYieldResult<TYield>{done?:false;value:TYield;}interface IteratorReturnResult<TReturn>{done:true;value:TReturn;}type IteratorResult<T,TReturn=any>=IteratorYieldResult<T>|IteratorReturnResult<TReturn>;interface Iterator<T,TReturn=any,TNext=undefined>{next(...args:[]|[TNext]):IteratorResult<T,TReturn>;return?(value?:TReturn):IteratorResult<T,TReturn>;throw?(e?:any):IteratorResult<T,TReturn>;}interface Iterable<T>{[Symbol.iterator]():Iterator<T>;}interface IterableIterator<T>extends Iterator<T>{[Symbol.iterator]():IterableIterator<T>;}interface Array<T>{[Symbol.iterator]():IterableIterator<T>;entries():IterableIterator<[number,T]>;keys():IterableIterator<number>;values():IterableIterator<T>;}interface ArrayConstructor{from<T>(iterable:Iterable<T>|ArrayLike<T>):T[];from<T,U>(iterable:Iterable<T>|ArrayLike<T>,mapfn:(v:T,k:number)=>U,thisArg?:any):U[];}interface ReadonlyArray<T>{[Symbol.iterator]():IterableIterator<T>;entries():IterableIterator<[number,T]>;keys():IterableIterator<number>;values():IterableIterator<T>;}interface IArguments{[Symbol.iterator]():IterableIterator<any>;}interface Map<K,V>{[Symbol.iterator]():IterableIterator<[K,V]>;entries():IterableIterator<[K,V]>;keys():IterableIterator<K>;values():IterableIterator<V>;}interface ReadonlyMap<K,V>{[Symbol.iterator]():IterableIterator<[K,V]>;entries():IterableIterator<[K,V]>;keys():IterableIterator<K>;values():IterableIterator<V>;}interface MapConstructor{new():Map<any,any>;new<K,V>(iterable?:Iterable<readonly[K,V]>|null):Map<K,V>;}interface WeakMap<K extends object,V>{}interface WeakMapConstructor{new<K extends object,V>(iterable:Iterable<readonly[K,V]>):WeakMap<K,V>;}interface Set<T>{[Symbol.iterator]():IterableIterator<T>;entries():IterableIterator<[T,T]>;keys():IterableIterator<T>;values():IterableIterator<T>;}interface ReadonlySet<T>{[Symbol.iterator]():IterableIterator<T>;entries():IterableIterator<[T,T]>;keys():IterableIterator<T>;values():IterableIterator<T>;}interface SetConstructor{new<T>(iterable?:Iterable<T>|null):Set<T>;}interface WeakSet<T extends object>{}interface WeakSetConstructor{new<T extends object=object>(iterable:Iterable<T>):WeakSet<T>;}interface Promise<T>{}interface PromiseConstructor{all<T>(values:Iterable<T|PromiseLike<T>>):Promise<Awaited<T>[]>;race<T>(values:Iterable<T|PromiseLike<T>>):Promise<Awaited<T>>;}interface String{[Symbol.iterator]():IterableIterator<string>;}interface Int8Array{[Symbol.iterator]():IterableIterator<number>;entries():IterableIterator<[number,number]>;keys():IterableIterator<number>;values():IterableIterator<number>;}interface Int8ArrayConstructor{new(elements:Iterable<number>):Int8Array;from(arrayLike:Iterable<number>,mapfn?:(v:number,k:number)=>number,thisArg?:any):Int8Array;}interface Uint8Array{[Symbol.iterator]():IterableIterator<number>;entries():IterableIterator<[number,number]>;keys():IterableIterator<number>;values():IterableIterator<number>;}interface Uint8ArrayConstructor{new(elements:Iterable<number>):Uint8Array;from(arrayLike:Iterable<number>,mapfn?:(v:number,k:number)=>number,thisArg?:any):Uint8Array;}interface Uint8ClampedArray{[Symbol.iterator]():IterableIterator<number>;entries():IterableIterator<[number,number]>;keys():IterableIterator<number>;values():IterableIterator<number>;}interface Uint8ClampedArrayConstructor{new(elements:Iterable<number>):Uint8ClampedArray;from(arrayLike:Iterable<number>,mapfn?:(v:number,k:number)=>number,thisArg?:any):Uint8ClampedArray;}interface Int16Array{[Symbol.iterator]():IterableIterator<number>;entries():IterableIterator<[number,number]>;keys():IterableIterator<number>;values():IterableIterator<number>;}interface Int16ArrayConstructor{new(elements:Iterable<number>):Int16Array;from(arrayLike:Iterable<number>,mapfn?:(v:number,k:number)=>number,thisArg?:any):Int16Array;}interface Uint16Array{[Symbol.iterator]():IterableIterator<number>;entries():IterableIterator<[number,number]>;keys():IterableIterator<number>;values():IterableIterator<number>;}interface Uint16ArrayConstructor{new(elements:Iterable<number>):Uint16Array;from(arrayLike:Iterable<number>,mapfn?:(v:number,k:number)=>number,thisArg?:any):Uint16Array;}interface Int32Array{[Symbol.iterator]():IterableIterator<number>;entries():IterableIterator<[number,number]>;keys():IterableIterator<number>;values():IterableIterator<number>;}interface Int32ArrayConstructor{new(elements:Iterable<number>):Int32Array;from(arrayLike:Iterable<number>,mapfn?:(v:number,k:number)=>number,thisArg?:any):Int32Array;}interface Uint32Array{[Symbol.iterator]():IterableIterator<number>;entries():IterableIterator<[number,number]>;keys():IterableIterator<number>;values():IterableIterator<number>;}interface Uint32ArrayConstructor{new(elements:Iterable<number>):Uint32Array;from(arrayLike:Iterable<number>,mapfn?:(v:number,k:number)=>number,thisArg?:any):Uint32Array;}interface Float32Array{[Symbol.iterator]():IterableIterator<number>;entries():IterableIterator<[number,number]>;keys():IterableIterator<number>;values():IterableIterator<number>;}interface Float32ArrayConstructor{new(elements:Iterable<number>):Float32Array;from(arrayLike:Iterable<number>,mapfn?:(v:number,k:number)=>number,thisArg?:any):Float32Array;}interface Float64Array{[Symbol.iterator]():IterableIterator<number>;entries():IterableIterator<[number,number]>;keys():IterableIterator<number>;values():IterableIterator<number>;}interface Float64ArrayConstructor{new(elements:Iterable<number>):Float64Array;from(arrayLike:Iterable<number>,mapfn?:(v:number,k:number)=>number,thisArg?:any):Float64Array;}`
    }, {
        fileName: "lib.es2015.promise.d.ts",
        text: `/// <reference no-default-lib="true"/>\ninterface PromiseConstructor{readonly prototype:Promise<any>;new<T>(executor:(resolve:(value:T|PromiseLike<T>)=>void,reject:(reason?:any)=>void)=>void):Promise<T>;all<T extends readonly unknown[]|[]>(values:T):Promise<{-readonly[P in keyof T]:Awaited<T[P]>}>;race<T extends readonly unknown[]|[]>(values:T):Promise<Awaited<T[number]>>;reject<T=never>(reason?:any):Promise<T>;resolve():Promise<void>;resolve<T>(value:T):Promise<Awaited<T>>;resolve<T>(value:T|PromiseLike<T>):Promise<Awaited<T>>;}declare var Promise:PromiseConstructor;`
    }, {
        fileName: "lib.es2015.proxy.d.ts",
        text: `/// <reference no-default-lib="true"/>\ninterface ProxyHandler<T extends object>{apply?(target:T,thisArg:any,argArray:any[]):any;construct?(target:T,argArray:any[],newTarget:Function):object;defineProperty?(target:T,property:string|symbol,attributes:PropertyDescriptor):boolean;deleteProperty?(target:T,p:string|symbol):boolean;get?(target:T,p:string|symbol,receiver:any):any;getOwnPropertyDescriptor?(target:T,p:string|symbol):PropertyDescriptor|undefined;getPrototypeOf?(target:T):object|null;has?(target:T,p:string|symbol):boolean;isExtensible?(target:T):boolean;ownKeys?(target:T):ArrayLike<string|symbol>;preventExtensions?(target:T):boolean;set?(target:T,p:string|symbol,newValue:any,receiver:any):boolean;setPrototypeOf?(target:T,v:object|null):boolean;}interface ProxyConstructor{revocable<T extends object>(target:T,handler:ProxyHandler<T>):{proxy:T;revoke:()=>void;};new<T extends object>(target:T,handler:ProxyHandler<T>):T;}declare var Proxy:ProxyConstructor;`
    }, {
        fileName: "lib.es2015.reflect.d.ts",
        text: `/// <reference no-default-lib="true"/>\ndeclare namespace Reflect{function apply<T,A extends readonly any[],R>(target:(this:T,...args:A)=>R,thisArgument:T,argumentsList:Readonly<A>,):R;function apply(target:Function,thisArgument:any,argumentsList:ArrayLike<any>):any;function construct<A extends readonly any[],R>(target:new(...args:A)=>R,argumentsList:Readonly<A>,newTarget?:new(...args:any)=>any,):R;function construct(target:Function,argumentsList:ArrayLike<any>,newTarget?:Function):any;function defineProperty(target:object,propertyKey:PropertyKey,attributes:PropertyDescriptor&ThisType<any>):boolean;function deleteProperty(target:object,propertyKey:PropertyKey):boolean;function get<T extends object,P extends PropertyKey>(target:T,propertyKey:P,receiver?:unknown,):P extends keyof T?T[P]:any;function getOwnPropertyDescriptor<T extends object,P extends PropertyKey>(target:T,propertyKey:P,):TypedPropertyDescriptor<P extends keyof T?T[P]:any>|undefined;function getPrototypeOf(target:object):object|null;function has(target:object,propertyKey:PropertyKey):boolean;function isExtensible(target:object):boolean;function ownKeys(target:object):(string|symbol)[];function preventExtensions(target:object):boolean;function set<T extends object,P extends PropertyKey>(target:T,propertyKey:P,value:P extends keyof T?T[P]:any,receiver?:any,):boolean;function set(target:object,propertyKey:PropertyKey,value:any,receiver?:any):boolean;function setPrototypeOf(target:object,proto:object|null):boolean;}`
    }, {
        fileName: "lib.es2015.symbol.d.ts",
        text: `/// <reference no-default-lib="true"/>\ninterface SymbolConstructor{readonly prototype:Symbol;(description?:string|number):symbol;for(key:string):symbol;keyFor(sym:symbol):string|undefined;}declare var Symbol:SymbolConstructor;`
    }, {
        fileName: "lib.es2015.symbol.wellknown.d.ts",
        text: `/// <reference no-default-lib="true"/>\n/// <reference lib="es2015.symbol" />\ninterface SymbolConstructor{readonly hasInstance:unique symbol;readonly isConcatSpreadable:unique symbol;readonly match:unique symbol;readonly replace:unique symbol;readonly search:unique symbol;readonly species:unique symbol;readonly split:unique symbol;readonly toPrimitive:unique symbol;readonly toStringTag:unique symbol;readonly unscopables:unique symbol;}interface Symbol{[Symbol.toPrimitive](hint:string):symbol;readonly[Symbol.toStringTag]:string;}interface Array<T>{[Symbol.unscopables]():{copyWithin:boolean;entries:boolean;fill:boolean;find:boolean;findIndex:boolean;keys:boolean;values:boolean;};}interface Date{[Symbol.toPrimitive](hint:"default"):string;[Symbol.toPrimitive](hint:"string"):string;[Symbol.toPrimitive](hint:"number"):number;[Symbol.toPrimitive](hint:string):string|number;}interface Map<K,V>{readonly[Symbol.toStringTag]:string;}interface WeakMap<K extends object,V>{readonly[Symbol.toStringTag]:string;}interface Set<T>{readonly[Symbol.toStringTag]:string;}interface WeakSet<T extends object>{readonly[Symbol.toStringTag]:string;}interface JSON{readonly[Symbol.toStringTag]:string;}interface Function{[Symbol.hasInstance](value:any):boolean;}interface GeneratorFunction{readonly[Symbol.toStringTag]:string;}interface Math{readonly[Symbol.toStringTag]:string;}interface Promise<T>{readonly[Symbol.toStringTag]:string;}interface PromiseConstructor{readonly[Symbol.species]:PromiseConstructor;}interface RegExp{[Symbol.match](string:string):RegExpMatchArray|null;[Symbol.replace](string:string,replaceValue:string):string;[Symbol.replace](string:string,replacer:(substring:string,...args:any[])=>string):string;[Symbol.search](string:string):number;[Symbol.split](string:string,limit?:number):string[];}interface RegExpConstructor{readonly[Symbol.species]:RegExpConstructor;}interface String{match(matcher:{[Symbol.match](string:string):RegExpMatchArray|null;}):RegExpMatchArray|null;replace(searchValue:{[Symbol.replace](string:string,replaceValue:string):string;},replaceValue:string):string;replace(searchValue:{[Symbol.replace](string:string,replacer:(substring:string,...args:any[])=>string):string;},replacer:(substring:string,...args:any[])=>string):string;search(searcher:{[Symbol.search](string:string):number;}):number;split(splitter:{[Symbol.split](string:string,limit?:number):string[];},limit?:number):string[];}interface ArrayBuffer{readonly[Symbol.toStringTag]:string;}interface DataView{readonly[Symbol.toStringTag]:string;}interface Int8Array{readonly[Symbol.toStringTag]:"Int8Array";}interface Uint8Array{readonly[Symbol.toStringTag]:"Uint8Array";}interface Uint8ClampedArray{readonly[Symbol.toStringTag]:"Uint8ClampedArray";}interface Int16Array{readonly[Symbol.toStringTag]:"Int16Array";}interface Uint16Array{readonly[Symbol.toStringTag]:"Uint16Array";}interface Int32Array{readonly[Symbol.toStringTag]:"Int32Array";}interface Uint32Array{readonly[Symbol.toStringTag]:"Uint32Array";}interface Float32Array{readonly[Symbol.toStringTag]:"Float32Array";}interface Float64Array{readonly[Symbol.toStringTag]:"Float64Array";}interface ArrayConstructor{readonly[Symbol.species]:ArrayConstructor;}interface MapConstructor{readonly[Symbol.species]:MapConstructor;}interface SetConstructor{readonly[Symbol.species]:SetConstructor;}interface ArrayBufferConstructor{readonly[Symbol.species]:ArrayBufferConstructor;}`
    }, {
        fileName: "lib.es2016.array.include.d.ts",
        text: `/// <reference no-default-lib="true"/>\ninterface Array<T>{includes(searchElement:T,fromIndex?:number):boolean;}interface ReadonlyArray<T>{includes(searchElement:T,fromIndex?:number):boolean;}interface Int8Array{includes(searchElement:number,fromIndex?:number):boolean;}interface Uint8Array{includes(searchElement:number,fromIndex?:number):boolean;}interface Uint8ClampedArray{includes(searchElement:number,fromIndex?:number):boolean;}interface Int16Array{includes(searchElement:number,fromIndex?:number):boolean;}interface Uint16Array{includes(searchElement:number,fromIndex?:number):boolean;}interface Int32Array{includes(searchElement:number,fromIndex?:number):boolean;}interface Uint32Array{includes(searchElement:number,fromIndex?:number):boolean;}interface Float32Array{includes(searchElement:number,fromIndex?:number):boolean;}interface Float64Array{includes(searchElement:number,fromIndex?:number):boolean;}`
    }, {
        fileName: "lib.es2016.d.ts",
        text: `/// <reference no-default-lib="true"/>\n/// <reference lib="es2015" />\n/// <reference lib="es2016.array.include" />`
    }, {
        fileName: "lib.es2016.full.d.ts",
        text: `/// <reference no-default-lib="true"/>\n/// <reference lib="es2016" />\n/// <reference lib="dom" />\n/// <reference lib="webworker.importscripts" />\n/// <reference lib="scripthost" />\n/// <reference lib="dom.iterable" />`
    }, {
        fileName: "lib.es2017.d.ts",
        text: `/// <reference no-default-lib="true"/>\n/// <reference lib="es2016" />\n/// <reference lib="es2017.object" />\n/// <reference lib="es2017.sharedmemory" />\n/// <reference lib="es2017.string" />\n/// <reference lib="es2017.intl" />\n/// <reference lib="es2017.typedarrays" />\n`
    }, {
        fileName: "lib.es2017.full.d.ts",
        text: `/// <reference no-default-lib="true"/>\n/// <reference lib="es2017" />\n/// <reference lib="dom" />\n/// <reference lib="webworker.importscripts" />\n/// <reference lib="scripthost" />\n/// <reference lib="dom.iterable" />`
    }, {
        fileName: "lib.es2017.intl.d.ts",
        text: `/// <reference no-default-lib="true"/>\ndeclare namespace Intl{interface DateTimeFormatPartTypesRegistry{day:any\ndayPeriod:any\nera:any\nhour:any\nliteral:any\nminute:any\nmonth:any\nsecond:any\ntimeZoneName:any\nweekday:any\nyear:any}type DateTimeFormatPartTypes=keyof DateTimeFormatPartTypesRegistry;interface DateTimeFormatPart{type:DateTimeFormatPartTypes;value:string;}interface DateTimeFormat{formatToParts(date?:Date|number):DateTimeFormatPart[];}}`
    }, {
        fileName: "lib.es2017.object.d.ts",
        text: `/// <reference no-default-lib="true"/>\ninterface ObjectConstructor{values<T>(o:{[s:string]:T}|ArrayLike<T>):T[];values(o:{}):any[];entries<T>(o:{[s:string]:T}|ArrayLike<T>):[string,T][];entries(o:{}):[string,any][];getOwnPropertyDescriptors<T>(o:T):{[P in keyof T]:TypedPropertyDescriptor<T[P]>}&{[x:string]:PropertyDescriptor};}`
    }, {
        fileName: "lib.es2017.sharedmemory.d.ts",
        text: `/// <reference no-default-lib="true"/>\n/// <reference lib="es2015.symbol" />\n/// <reference lib="es2015.symbol.wellknown" />\ninterface SharedArrayBuffer{readonly byteLength:number;slice(begin:number,end?:number):SharedArrayBuffer;readonly[Symbol.species]:SharedArrayBuffer;readonly[Symbol.toStringTag]:"SharedArrayBuffer";}interface SharedArrayBufferConstructor{readonly prototype:SharedArrayBuffer;new(byteLength:number):SharedArrayBuffer;}declare var SharedArrayBuffer:SharedArrayBufferConstructor;interface ArrayBufferTypes{SharedArrayBuffer:SharedArrayBuffer;}interface Atomics{add(typedArray:Int8Array|Uint8Array|Int16Array|Uint16Array|Int32Array|Uint32Array,index:number,value:number):number;and(typedArray:Int8Array|Uint8Array|Int16Array|Uint16Array|Int32Array|Uint32Array,index:number,value:number):number;compareExchange(typedArray:Int8Array|Uint8Array|Int16Array|Uint16Array|Int32Array|Uint32Array,index:number,expectedValue:number,replacementValue:number):number;exchange(typedArray:Int8Array|Uint8Array|Int16Array|Uint16Array|Int32Array|Uint32Array,index:number,value:number):number;isLockFree(size:number):boolean;load(typedArray:Int8Array|Uint8Array|Int16Array|Uint16Array|Int32Array|Uint32Array,index:number):number;or(typedArray:Int8Array|Uint8Array|Int16Array|Uint16Array|Int32Array|Uint32Array,index:number,value:number):number;store(typedArray:Int8Array|Uint8Array|Int16Array|Uint16Array|Int32Array|Uint32Array,index:number,value:number):number;sub(typedArray:Int8Array|Uint8Array|Int16Array|Uint16Array|Int32Array|Uint32Array,index:number,value:number):number;wait(typedArray:Int32Array,index:number,value:number,timeout?:number):"ok"|"not-equal"|"timed-out";notify(typedArray:Int32Array,index:number,count?:number):number;xor(typedArray:Int8Array|Uint8Array|Int16Array|Uint16Array|Int32Array|Uint32Array,index:number,value:number):number;readonly[Symbol.toStringTag]:"Atomics";}declare var Atomics:Atomics;`
    }, {
        fileName: "lib.es2017.string.d.ts",
        text: `/// <reference no-default-lib="true"/>\ninterface String{padStart(maxLength:number,fillString?:string):string;padEnd(maxLength:number,fillString?:string):string;}`
    }, {
        fileName: "lib.es2017.typedarrays.d.ts",
        text: `/// <reference no-default-lib="true"/>\ninterface Int8ArrayConstructor{new():Int8Array;}interface Uint8ArrayConstructor{new():Uint8Array;}interface Uint8ClampedArrayConstructor{new():Uint8ClampedArray;}interface Int16ArrayConstructor{new():Int16Array;}interface Uint16ArrayConstructor{new():Uint16Array;}interface Int32ArrayConstructor{new():Int32Array;}interface Uint32ArrayConstructor{new():Uint32Array;}interface Float32ArrayConstructor{new():Float32Array;}interface Float64ArrayConstructor{new():Float64Array;}`
    }, {
        fileName: "lib.es2018.asyncgenerator.d.ts",
        text: `/// <reference no-default-lib="true"/>\n/// <reference lib="es2018.asynciterable" />\ninterface AsyncGenerator<T=unknown,TReturn=any,TNext=unknown>extends AsyncIterator<T,TReturn,TNext>{next(...args:[]|[TNext]):Promise<IteratorResult<T,TReturn>>;return(value:TReturn|PromiseLike<TReturn>):Promise<IteratorResult<T,TReturn>>;throw(e:any):Promise<IteratorResult<T,TReturn>>;[Symbol.asyncIterator]():AsyncGenerator<T,TReturn,TNext>;}interface AsyncGeneratorFunction{new(...args:any[]):AsyncGenerator;(...args:any[]):AsyncGenerator;readonly length:number;readonly name:string;readonly prototype:AsyncGenerator;}interface AsyncGeneratorFunctionConstructor{new(...args:string[]):AsyncGeneratorFunction;(...args:string[]):AsyncGeneratorFunction;readonly length:number;readonly name:string;readonly prototype:AsyncGeneratorFunction;}`
    }, {
        fileName: "lib.es2018.asynciterable.d.ts",
        text: `/// <reference no-default-lib="true"/>\n/// <reference lib="es2015.symbol" />\n/// <reference lib="es2015.iterable" />\ninterface SymbolConstructor{readonly asyncIterator:unique symbol;}interface AsyncIterator<T,TReturn=any,TNext=undefined>{next(...args:[]|[TNext]):Promise<IteratorResult<T,TReturn>>;return?(value?:TReturn|PromiseLike<TReturn>):Promise<IteratorResult<T,TReturn>>;throw?(e?:any):Promise<IteratorResult<T,TReturn>>;}interface AsyncIterable<T>{[Symbol.asyncIterator]():AsyncIterator<T>;}interface AsyncIterableIterator<T>extends AsyncIterator<T>{[Symbol.asyncIterator]():AsyncIterableIterator<T>;}`
    }, {
        fileName: "lib.es2018.d.ts",
        text: `/// <reference no-default-lib="true"/>\n/// <reference lib="es2017" />\n/// <reference lib="es2018.asynciterable" />\n/// <reference lib="es2018.asyncgenerator" />\n/// <reference lib="es2018.promise" />\n/// <reference lib="es2018.regexp" />\n/// <reference lib="es2018.intl" />\n`
    }, {
        fileName: "lib.es2018.full.d.ts",
        text: `/// <reference no-default-lib="true"/>\n/// <reference lib="es2018" />\n/// <reference lib="dom" />\n/// <reference lib="webworker.importscripts" />\n/// <reference lib="scripthost" />\n/// <reference lib="dom.iterable" />`
    }, {
        fileName: "lib.es2018.intl.d.ts",
        text: `/// <reference no-default-lib="true"/>\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;}const PluralRules:{new(locales?:string|string[],options?:PluralRulesOptions):PluralRules;(locales?:string|string[],options?:PluralRulesOptions):PluralRules;supportedLocalesOf(locales:string|string[],options?:{localeMatcher?:"lookup"|"best fit"}):string[];};type ES2018NumberFormatPartType="literal"|"nan"|"infinity"|"percent"|"integer"|"group"|"decimal"|"fraction"|"plusSign"|"minusSign"|"percentSign"|"currency"|"code"|"symbol"|"name";type ES2020NumberFormatPartType="compact"|"exponentInteger"|"exponentMinusSign"|"exponentSeparator"|"unit"|"unknown";type NumberFormatPartTypes=ES2018NumberFormatPartType|ES2020NumberFormatPartType;interface NumberFormatPart{type:NumberFormatPartTypes;value:string;}interface NumberFormat{formatToParts(number?:number|bigint):NumberFormatPart[];}}`
    }, {
        fileName: "lib.es2018.promise.d.ts",
        text: `/// <reference no-default-lib="true"/>\ninterface Promise<T>{finally(onfinally?:(()=>void)|undefined|null):Promise<T>}`
    }, {
        fileName: "lib.es2018.regexp.d.ts",
        text: `/// <reference no-default-lib="true"/>\ninterface RegExpMatchArray{groups?:{[key:string]:string}}interface RegExpExecArray{groups?:{[key:string]:string}}interface RegExp{readonly dotAll:boolean;}`
    }, {
        fileName: "lib.es2019.array.d.ts",
        text: `/// <reference no-default-lib="true"/>\ntype FlatArray<Arr,Depth extends number>={"done":Arr,"recur":Arr extends ReadonlyArray<infer InnerArr>?FlatArray<InnerArr,[-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20][Depth]>:Arr}[Depth extends-1?"done":"recur"];interface ReadonlyArray<T>{flatMap<U,This=undefined>(callback:(this:This,value:T,index:number,array:T[])=>U|ReadonlyArray<U>,thisArg?:This):U[]\nflat<A,D extends number=1>(this:A,depth?:D):FlatArray<A,D>[]}interface Array<T>{flatMap<U,This=undefined>(callback:(this:This,value:T,index:number,array:T[])=>U|ReadonlyArray<U>,thisArg?:This):U[]\nflat<A,D extends number=1>(this:A,depth?:D):FlatArray<A,D>[]}`
    }, {
        fileName: "lib.es2019.d.ts",
        text: `/// <reference no-default-lib="true"/>\n/// <reference lib="es2018" />\n/// <reference lib="es2019.array" />\n/// <reference lib="es2019.object" />\n/// <reference lib="es2019.string" />\n/// <reference lib="es2019.symbol" />\n/// <reference lib="es2019.intl" />\n`
    }, {
        fileName: "lib.es2019.full.d.ts",
        text: `/// <reference no-default-lib="true"/>\n/// <reference lib="es2019" />\n/// <reference lib="dom" />\n/// <reference lib="webworker.importscripts" />\n/// <reference lib="scripthost" />\n/// <reference lib="dom.iterable" />\n`
    }, {
        fileName: "lib.es2019.intl.d.ts",
        text: `/// <reference no-default-lib="true"/>\ndeclare namespace Intl{interface DateTimeFormatPartTypesRegistry{unknown:any}}`
    }, {
        fileName: "lib.es2019.object.d.ts",
        text: `/// <reference no-default-lib="true"/>\n/// <reference lib="es2015.iterable" />\ninterface ObjectConstructor{fromEntries<T=any>(entries:Iterable<readonly[PropertyKey,T]>):{[k:string]:T};fromEntries(entries:Iterable<readonly any[]>):any;}`
    }, {
        fileName: "lib.es2019.string.d.ts",
        text: `/// <reference no-default-lib="true"/>\ninterface String{trimEnd():string;trimStart():string;trimLeft():string;trimRight():string;}`
    }, {
        fileName: "lib.es2019.symbol.d.ts",
        text: `/// <reference no-default-lib="true"/>\ninterface Symbol{readonly description:string|undefined;}`
    }, {
        fileName: "lib.es2020.bigint.d.ts",
        text: `/// <reference no-default-lib="true"/>\n/// <reference lib="es2020.intl" />\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:ArrayBufferLike;readonly byteLength:number;readonly byteOffset:number;copyWithin(target:number,start:number,end?:number):this;entries():IterableIterator<[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():IterableIterator<number>;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<U>(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<U>(callbackfn:(previousValue:U,currentValue:bigint,currentIndex:number,array:BigInt64Array)=>U,initialValue:U):U;reverse():this;set(array:ArrayLike<bigint>,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():string;toString():string;valueOf():BigInt64Array;values():IterableIterator<bigint>;[Symbol.iterator]():IterableIterator<bigint>;readonly[Symbol.toStringTag]:"BigInt64Array";[index:number]:bigint;}interface BigInt64ArrayConstructor{readonly prototype:BigInt64Array;new(length?:number):BigInt64Array;new(array:Iterable<bigint>):BigInt64Array;new(buffer:ArrayBufferLike,byteOffset?:number,length?:number):BigInt64Array;readonly BYTES_PER_ELEMENT:number;of(...items:bigint[]):BigInt64Array;from(arrayLike:ArrayLike<bigint>):BigInt64Array;from<U>(arrayLike:ArrayLike<U>,mapfn:(v:U,k:number)=>bigint,thisArg?:any):BigInt64Array;}declare var BigInt64Array:BigInt64ArrayConstructor;interface BigUint64Array{readonly BYTES_PER_ELEMENT:number;readonly buffer:ArrayBufferLike;readonly byteLength:number;readonly byteOffset:number;copyWithin(target:number,start:number,end?:number):this;entries():IterableIterator<[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():IterableIterator<number>;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<U>(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<U>(callbackfn:(previousValue:U,currentValue:bigint,currentIndex:number,array:BigUint64Array)=>U,initialValue:U):U;reverse():this;set(array:ArrayLike<bigint>,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():string;toString():string;valueOf():BigUint64Array;values():IterableIterator<bigint>;[Symbol.iterator]():IterableIterator<bigint>;readonly[Symbol.toStringTag]:"BigUint64Array";[index:number]:bigint;}interface BigUint64ArrayConstructor{readonly prototype:BigUint64Array;new(length?:number):BigUint64Array;new(array:Iterable<bigint>):BigUint64Array;new(buffer:ArrayBufferLike,byteOffset?:number,length?:number):BigUint64Array;readonly BYTES_PER_ELEMENT:number;of(...items:bigint[]):BigUint64Array;from(arrayLike:ArrayLike<bigint>):BigUint64Array;from<U>(arrayLike:ArrayLike<U>,mapfn:(v:U,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;resolvedOptions():ResolvedNumberFormatOptions;}}`
    }, {
        fileName: "lib.es2020.d.ts",
        text: `/// <reference no-default-lib="true"/>\n/// <reference lib="es2019" />\n/// <reference lib="es2020.bigint" />\n/// <reference lib="es2020.date" />\n/// <reference lib="es2020.number" />\n/// <reference lib="es2020.promise" />\n/// <reference lib="es2020.sharedmemory" />\n/// <reference lib="es2020.string" />\n/// <reference lib="es2020.symbol.wellknown" />\n/// <reference lib="es2020.intl" />\n`
    }, {
        fileName: "lib.es2020.date.d.ts",
        text: `/// <reference no-default-lib="true"/>\n/// <reference lib="es2020.intl" />\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.es2020.full.d.ts",
        text: `/// <reference no-default-lib="true"/>\n/// <reference lib="es2020" />\n/// <reference lib="dom" />\n/// <reference lib="webworker.importscripts" />\n/// <reference lib="scripthost" />\n/// <reference lib="dom.iterable" />\n`
    }, {
        fileName: "lib.es2020.intl.d.ts",
        text: `/// <reference no-default-lib="true"/>\n/// <reference lib="es2018.intl" />\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 BCP47LanguageTag=string;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<NumberFormatPartTypes,"literal">;value:string;unit:RelativeTimeFormatUnitSingular;};interface RelativeTimeFormat{format(value:number,unit:RelativeTimeFormatUnit):string;formatToParts(value:number,unit:RelativeTimeFormatUnit):RelativeTimeFormatPart[];resolvedOptions():ResolvedRelativeTimeFormatOptions;}const RelativeTimeFormat:{new(locales?:UnicodeBCP47LocaleIdentifier|UnicodeBCP47LocaleIdentifier[],options?:RelativeTimeFormatOptions,):RelativeTimeFormat;supportedLocalesOf(locales?:UnicodeBCP47LocaleIdentifier|UnicodeBCP47LocaleIdentifier[],options?:RelativeTimeFormatOptions,):UnicodeBCP47LocaleIdentifier[];};interface NumberFormatOptions{compactDisplay?:"short"|"long"|undefined;notation?:"standard"|"scientific"|"engineering"|"compact"|undefined;signDisplay?:"auto"|"never"|"always"|"exceptZero"|undefined;unit?:string|undefined;unitDisplay?:"short"|"long"|"narrow"|undefined;currencyDisplay?:string|undefined;currencySign?:string|undefined;}interface ResolvedNumberFormatOptions{compactDisplay?:"short"|"long";notation?:"standard"|"scientific"|"engineering"|"compact";signDisplay?:"auto"|"never"|"always"|"exceptZero";unit?:string;unitDisplay?:"short"|"long"|"narrow";currencyDisplay?:string;currencySign?:string;}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():BCP47LanguageTag;}const Locale:{new(tag:BCP47LanguageTag|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}):BCP47LanguageTag[];};}`
    }, {
        fileName: "lib.es2020.number.d.ts",
        text: `/// <reference no-default-lib="true"/>\n/// <reference lib="es2020.intl" />\ninterface Number{toLocaleString(locales?:Intl.LocalesArgument,options?:Intl.NumberFormatOptions):string;}`
    }, {
        fileName: "lib.es2020.promise.d.ts",
        text: `/// <reference no-default-lib="true"/>\ninterface PromiseFulfilledResult<T>{status:"fulfilled";value:T;}interface PromiseRejectedResult{status:"rejected";reason:any;}type PromiseSettledResult<T>=PromiseFulfilledResult<T>|PromiseRejectedResult;interface PromiseConstructor{allSettled<T extends readonly unknown[]|[]>(values:T):Promise<{-readonly[P in keyof T]:PromiseSettledResult<Awaited<T[P]>>}>;allSettled<T>(values:Iterable<T|PromiseLike<T>>):Promise<PromiseSettledResult<Awaited<T>>[]>;}`
    }, {
        fileName: "lib.es2020.sharedmemory.d.ts",
        text: `/// <reference no-default-lib="true"/>\ninterface Atomics{add(typedArray:BigInt64Array|BigUint64Array,index:number,value:bigint):bigint;and(typedArray:BigInt64Array|BigUint64Array,index:number,value:bigint):bigint;compareExchange(typedArray:BigInt64Array|BigUint64Array,index:number,expectedValue:bigint,replacementValue:bigint):bigint;exchange(typedArray:BigInt64Array|BigUint64Array,index:number,value:bigint):bigint;load(typedArray:BigInt64Array|BigUint64Array,index:number):bigint;or(typedArray:BigInt64Array|BigUint64Array,index:number,value:bigint):bigint;store(typedArray:BigInt64Array|BigUint64Array,index:number,value:bigint):bigint;sub(typedArray:BigInt64Array|BigUint64Array,index:number,value:bigint):bigint;wait(typedArray:BigInt64Array,index:number,value:bigint,timeout?:number):"ok"|"not-equal"|"timed-out";notify(typedArray:BigInt64Array,index:number,count?:number):number;xor(typedArray:BigInt64Array|BigUint64Array,index:number,value:bigint):bigint;}`
    }, {
        fileName: "lib.es2020.string.d.ts",
        text: `/// <reference no-default-lib="true"/>\n/// <reference lib="es2015.iterable" />\ninterface String{matchAll(regexp:RegExp):IterableIterator<RegExpMatchArray>;}`
    }, {
        fileName: "lib.es2020.symbol.wellknown.d.ts",
        text: `/// <reference no-default-lib="true"/>\n/// <reference lib="es2015.iterable" />\n/// <reference lib="es2015.symbol" />\ninterface SymbolConstructor{readonly matchAll:unique symbol;}interface RegExp{[Symbol.matchAll](str:string):IterableIterator<RegExpMatchArray>;}`
    }, {
        fileName: "lib.es2021.d.ts",
        text: `/// <reference no-default-lib="true"/>\n/// <reference lib="es2020" />\n/// <reference lib="es2021.promise" />\n/// <reference lib="es2021.string" />\n/// <reference lib="es2021.weakref" />\n/// <reference lib="es2021.intl" />\n`
    }, {
        fileName: "lib.es2021.full.d.ts",
        text: `/// <reference no-default-lib="true"/>\n/// <reference lib="es2021" />\n/// <reference lib="dom" />\n/// <reference lib="webworker.importscripts" />\n/// <reference lib="scripthost" />\n/// <reference lib="dom.iterable" />\n`
    }, {
        fileName: "lib.es2021.intl.d.ts",
        text: `/// <reference no-default-lib="true"/>\ndeclare namespace Intl{interface DateTimeFormatPartTypesRegistry{fractionalSecond:any}interface DateTimeFormatOptions{formatMatcher?:"basic"|"best fit"|"best fit"|undefined;dateStyle?:"full"|"long"|"medium"|"short"|undefined;timeStyle?:"full"|"long"|"medium"|"short"|undefined;dayPeriod?:"narrow"|"short"|"long"|undefined;fractionalSecondDigits?:1|2|3|undefined;}interface DateTimeRangeFormatPart extends DateTimeFormatPart{source:"startRange"|"endRange"|"shared"}interface DateTimeFormat{formatRange(startDate:Date|number|bigint,endDate:Date|number|bigint):string;formatRangeToParts(startDate:Date|number|bigint,endDate:Date|number|bigint):DateTimeRangeFormatPart[];}interface ResolvedDateTimeFormatOptions{formatMatcher?:"basic"|"best fit"|"best fit";dateStyle?:"full"|"long"|"medium"|"short";timeStyle?:"full"|"long"|"medium"|"short";hourCycle?:"h11"|"h12"|"h23"|"h24";dayPeriod?:"narrow"|"short"|"long";fractionalSecondDigits?:1|2|3;}type ListFormatLocaleMatcher="lookup"|"best fit";type ListFormatType="conjunction"|"disjunction"|"unit";type ListFormatStyle="long"|"short"|"narrow";interface ListFormatOptions{localeMatcher?:ListFormatLocaleMatcher|undefined;type?:ListFormatType|undefined;style?:ListFormatStyle|undefined;}interface ListFormat{format(list:Iterable<string>):string;formatToParts(list:Iterable<string>):{type:"element"|"literal",value:string;}[];}const ListFormat:{prototype:ListFormat;new(locales?:BCP47LanguageTag|BCP47LanguageTag[],options?:ListFormatOptions):ListFormat;supportedLocalesOf(locales:BCP47LanguageTag|BCP47LanguageTag[],options?:Pick<ListFormatOptions,"localeMatcher">):BCP47LanguageTag[];};}`
    }, {
        fileName: "lib.es2021.promise.d.ts",
        text: `/// <reference no-default-lib="true"/>\ninterface AggregateError extends Error{errors:any[]}interface AggregateErrorConstructor{new(errors:Iterable<any>,message?:string):AggregateError;(errors:Iterable<any>,message?:string):AggregateError;readonly prototype:AggregateError;}declare var AggregateError:AggregateErrorConstructor;interface PromiseConstructor{any<T extends readonly unknown[]|[]>(values:T):Promise<Awaited<T[number]>>;any<T>(values:Iterable<T|PromiseLike<T>>):Promise<Awaited<T>>}`
    }, {
        fileName: "lib.es2021.string.d.ts",
        text: `/// <reference no-default-lib="true"/>\ninterface String{replaceAll(searchValue:string|RegExp,replaceValue:string):string;replaceAll(searchValue:string|RegExp,replacer:(substring:string,...args:any[])=>string):string;}`
    }, {
        fileName: "lib.es2021.weakref.d.ts",
        text: `/// <reference no-default-lib="true"/>\ninterface WeakRef<T extends object>{readonly[Symbol.toStringTag]:"WeakRef";deref():T|undefined;}interface WeakRefConstructor{readonly prototype:WeakRef<any>;new<T extends object>(target:T):WeakRef<T>;}declare var WeakRef:WeakRefConstructor;interface FinalizationRegistry<T>{readonly[Symbol.toStringTag]:"FinalizationRegistry";register(target:object,heldValue:T,unregisterToken?:object):void;unregister(unregisterToken:object):void;}interface FinalizationRegistryConstructor{readonly prototype:FinalizationRegistry<any>;new<T>(cleanupCallback:(heldValue:T)=>void):FinalizationRegistry<T>;}declare var FinalizationRegistry:FinalizationRegistryConstructor;`
    }, {
        fileName: "lib.es2022.array.d.ts",
        text: `/// <reference no-default-lib="true"/>\ninterface Array<T>{at(index:number):T|undefined;}interface ReadonlyArray<T>{at(index:number):T|undefined;}interface Int8Array{at(index:number):number|undefined;}interface Uint8Array{at(index:number):number|undefined;}interface Uint8ClampedArray{at(index:number):number|undefined;}interface Int16Array{at(index:number):number|undefined;}interface Uint16Array{at(index:number):number|undefined;}interface Int32Array{at(index:number):number|undefined;}interface Uint32Array{at(index:number):number|undefined;}interface Float32Array{at(index:number):number|undefined;}interface Float64Array{at(index:number):number|undefined;}interface BigInt64Array{at(index:number):bigint|undefined;}interface BigUint64Array{at(index:number):bigint|undefined;}`
    }, {
        fileName: "lib.es2022.d.ts",
        text: `/// <reference no-default-lib="true"/>\n/// <reference lib="es2021" />\n/// <reference lib="es2022.array" />\n/// <reference lib="es2022.error" />\n/// <reference lib="es2022.intl" />\n/// <reference lib="es2022.object" />\n/// <reference lib="es2022.sharedmemory" />\n/// <reference lib="es2022.string" />\n`
    }, {
        fileName: "lib.es2022.error.d.ts",
        text: `/// <reference no-default-lib="true"/>\ninterface ErrorOptions{cause?:unknown;}interface Error{cause?:unknown;}interface ErrorConstructor{new(message?:string,options?:ErrorOptions):Error;(message?:string,options?:ErrorOptions):Error;}interface EvalErrorConstructor{new(message?:string,options?:ErrorOptions):EvalError;(message?:string,options?:ErrorOptions):EvalError;}interface RangeErrorConstructor{new(message?:string,options?:ErrorOptions):RangeError;(message?:string,options?:ErrorOptions):RangeError;}interface ReferenceErrorConstructor{new(message?:string,options?:ErrorOptions):ReferenceError;(message?:string,options?:ErrorOptions):ReferenceError;}interface SyntaxErrorConstructor{new(message?:string,options?:ErrorOptions):SyntaxError;(message?:string,options?:ErrorOptions):SyntaxError;}interface TypeErrorConstructor{new(message?:string,options?:ErrorOptions):TypeError;(message?:string,options?:ErrorOptions):TypeError;}interface URIErrorConstructor{new(message?:string,options?:ErrorOptions):URIError;(message?:string,options?:ErrorOptions):URIError;}interface AggregateErrorConstructor{new(errors:Iterable<any>,message?:string,options?:ErrorOptions):AggregateError;(errors:Iterable<any>,message?:string,options?:ErrorOptions):AggregateError;}`
    }, {
        fileName: "lib.es2022.full.d.ts",
        text: `/// <reference no-default-lib="true"/>\n/// <reference lib="es2022" />\n/// <reference lib="dom" />\n/// <reference lib="webworker.importscripts" />\n/// <reference lib="scripthost" />\n/// <reference lib="dom.iterable" />\n`
    }, {
        fileName: "lib.es2022.intl.d.ts",
        text: `/// <reference no-default-lib="true"/>\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 Segments{containing(codeUnitIndex?:number):SegmentData;[Symbol.iterator]():IterableIterator<SegmentData>;}interface SegmentData{segment:string;index:number;input:string;isWordLike?:boolean;}const Segmenter:{prototype:Segmenter;new(locales?:BCP47LanguageTag|BCP47LanguageTag[],options?:SegmenterOptions):Segmenter;supportedLocalesOf(locales:BCP47LanguageTag|BCP47LanguageTag[],options?:Pick<SegmenterOptions,"localeMatcher">):BCP47LanguageTag[];};}`
    }, {
        fileName: "lib.es2022.object.d.ts",
        text: `/// <reference no-default-lib="true"/>\ninterface ObjectConstructor{hasOwn(o:object,v:PropertyKey):boolean;}`
    }, {
        fileName: "lib.es2022.sharedmemory.d.ts",
        text: `/// <reference no-default-lib="true"/>\ninterface Atomics{waitAsync(typedArray:BigInt64Array|Int32Array,index:number,value:bigint,timeout?:number):{async:false,value:"ok"|"not-equal"|"timed-out"}|{async:true,value:Promise<"ok"|"not-equal"|"timed-out">};}`
    }, {
        fileName: "lib.es2022.string.d.ts",
        text: `/// <reference no-default-lib="true"/>\ninterface String{at(index:number):string|undefined;}`
    }, {
        fileName: "lib.es5.d.ts",
        text: `/// <reference no-default-lib="true"/>\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>):any;defineProperty<T>(o:T,p:PropertyKey,attributes:PropertyDescriptor&ThisType<any>):T;defineProperties<T>(o:T,properties:PropertyDescriptorMap&ThisType<any>):T;seal<T>(o:T):T;freeze<T extends Function>(f:T):T;freeze<T extends{[idx:string]:U|null|undefined|object},U extends string|bigint|number|boolean|symbol>(o:T):Readonly<T>;freeze<T>(o:T):Readonly<T>;preventExtensions<T>(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>=T extends(this:infer U,...args:never)=>any?U:unknown;type OmitThisParameter<T>=unknown extends ThisParameterType<T>?T:T extends(...args:infer A)=>infer R?(...args:A)=>R:T;interface CallableFunction extends Function{apply<T,R>(this:(this:T)=>R,thisArg:T):R;apply<T,A extends any[],R>(this:(this:T,...args:A)=>R,thisArg:T,args:A):R;call<T,A extends any[],R>(this:(this:T,...args:A)=>R,thisArg:T,...args:A):R;bind<T>(this:T,thisArg:ThisParameterType<T>):OmitThisParameter<T>;bind<T,A0,A extends any[],R>(this:(this:T,arg0:A0,...args:A)=>R,thisArg:T,arg0:A0):(...args:A)=>R;bind<T,A0,A1,A extends any[],R>(this:(this:T,arg0:A0,arg1:A1,...args:A)=>R,thisArg:T,arg0:A0,arg1:A1):(...args:A)=>R;bind<T,A0,A1,A2,A extends any[],R>(this:(this:T,arg0:A0,arg1:A1,arg2:A2,...args:A)=>R,thisArg:T,arg0:A0,arg1:A1,arg2:A2):(...args:A)=>R;bind<T,A0,A1,A2,A3,A extends any[],R>(this:(this:T,arg0:A0,arg1:A1,arg2:A2,arg3:A3,...args:A)=>R,thisArg:T,arg0:A0,arg1:A1,arg2:A2,arg3:A3):(...args:A)=>R;bind<T,AX,R>(this:(this:T,...args:AX[])=>R,thisArg:T,...args:AX[]):(...args:AX[])=>R;}interface NewableFunction extends Function{apply<T>(this:new()=>T,thisArg:T):void;apply<T,A extends any[]>(this:new(...args:A)=>T,thisArg:T,args:A):void;call<T,A extends any[]>(this:new(...args:A)=>T,thisArg:T,...args:A):void;bind<T>(this:T,thisArg:any):T;bind<A0,A extends any[],R>(this:new(arg0:A0,...args:A)=>R,thisArg:any,arg0:A0):new(...args:A)=>R;bind<A0,A1,A extends any[],R>(this:new(arg0:A0,arg1:A1,...args:A)=>R,thisArg:any,arg0:A0,arg1:A1):new(...args:A)=>R;bind<A0,A1,A2,A extends any[],R>(this:new(arg0:A0,arg1:A1,arg2:A2,...args:A)=>R,thisArg:any,arg0:A0,arg1:A1,arg2:A2):new(...args:A)=>R;bind<A0,A1,A2,A3,A extends any[],R>(this:new(arg0:A0,arg1:A1,arg2:A2,arg3:A3,...args:A)=>R,thisArg:any,arg0:A0,arg1:A1,arg2:A2,arg3:A3):new(...args:A)=>R;bind<AX,R>(this:new(...args:AX[])=>R,thisArg:any,...args:AX[]):new(...args:AX[])=>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;<T>(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<string>{readonly raw:readonly string[];}interface ImportMeta{}interface ImportCallOptions{assert?:ImportAssertions;}interface ImportAssertions{[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<string>{index?:number;input?:string;0:string;}interface RegExpExecArray extends Array<string>{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<T>{readonly length:number;toString():string;toLocaleString():string;concat(...items:ConcatArray<T>[]):T[];concat(...items:(T|ConcatArray<T>)[]):T[];join(separator?:string):string;slice(start?:number,end?:number):T[];indexOf(searchElement:T,fromIndex?:number):number;lastIndexOf(searchElement:T,fromIndex?:number):number;every<S extends T>(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<U>(callbackfn:(value:T,index:number,array:readonly T[])=>U,thisArg?:any):U[];filter<S extends T>(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<U>(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<U>(callbackfn:(previousValue:U,currentValue:T,currentIndex:number,array:readonly T[])=>U,initialValue:U):U;readonly[n:number]:T;}interface ConcatArray<T>{readonly length:number;readonly[n:number]:T;join(separator?:string):string;slice(start?:number,end?:number):T[];}interface Array<T>{length:number;toString():string;toLocaleString():string;pop():T|undefined;push(...items:T[]):number;concat(...items:ConcatArray<T>[]):T[];concat(...items:(T|ConcatArray<T>)[]):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<S extends T>(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<U>(callbackfn:(value:T,index:number,array:T[])=>U,thisArg?:any):U[];filter<S extends T>(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<U>(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<U>(callbackfn:(previousValue:U,currentValue:T,currentIndex:number,array:T[])=>U,initialValue:U):U;[n:number]:T;}interface ArrayConstructor{new(arrayLength?:number):any[];new<T>(arrayLength:number):T[];new<T>(...items:T[]):T[];(arrayLength?:number):any[];<T>(arrayLength:number):T[];<T>(...items:T[]):T[];isArray(arg:any):arg is any[];readonly prototype:any[];}declare var Array:ArrayConstructor;interface TypedPropertyDescriptor<T>{enumerable?:boolean;configurable?:boolean;writable?:boolean;value?:T;get?:()=>T;set?:(value:T)=>void;}declare type ClassDecorator=<TFunction extends Function>(target:TFunction)=>TFunction|void;declare type PropertyDecorator=(target:Object,propertyKey:string|symbol)=>void;declare type MethodDecorator=<T>(target:Object,propertyKey:string|symbol,descriptor:TypedPropertyDescriptor<T>)=>TypedPropertyDescriptor<T>|void;declare type ParameterDecorator=(target:Object,propertyKey:string|symbol,parameterIndex:number)=>void;declare type PromiseConstructorLike=new<T>(executor:(resolve:(value:T|PromiseLike<T>)=>void,reject:(reason?:any)=>void)=>void)=>PromiseLike<T>;interface PromiseLike<T>{then<TResult1=T,TResult2=never>(onfulfilled?:((value:T)=>TResult1|PromiseLike<TResult1>)|undefined|null,onrejected?:((reason:any)=>TResult2|PromiseLike<TResult2>)|undefined|null):PromiseLike<TResult1|TResult2>;}interface Promise<T>{then<TResult1=T,TResult2=never>(onfulfilled?:((value:T)=>TResult1|PromiseLike<TResult1>)|undefined|null,onrejected?:((reason:any)=>TResult2|PromiseLike<TResult2>)|undefined|null):Promise<TResult1|TResult2>;catch<TResult=never>(onrejected?:((reason:any)=>TResult|PromiseLike<TResult>)|undefined|null):Promise<T|TResult>;}type Awaited<T>=\nT extends null|undefined?T:T extends object&{then(onfulfilled:infer F,...args:infer _):any}?\nF extends((value:infer V,...args:infer _)=>any)?\nAwaited<V>:never:T;interface ArrayLike<T>{readonly length:number;readonly[n:number]:T;}type Partial<T>={[P in keyof T]?:T[P];};type Required<T>={[P in keyof T]-?:T[P];};type Readonly<T>={readonly[P in keyof T]:T[P];};type Pick<T,K extends keyof T>={[P in K]:T[P];};type Record<K extends keyof any,T>={[P in K]:T;};type Exclude<T,U>=T extends U?never:T;type Extract<T,U>=T extends U?T:never;type Omit<T,K extends keyof any>=Pick<T,Exclude<keyof T,K>>;type NonNullable<T>=T&{};type Parameters<T extends(...args:any)=>any>=T extends(...args:infer P)=>any?P:never;type ConstructorParameters<T extends abstract new(...args:any)=>any>=T extends abstract new(...args:infer P)=>any?P:never;type ReturnType<T extends(...args:any)=>any>=T extends(...args:any)=>infer R?R:any;type InstanceType<T extends abstract new(...args:any)=>any>=T extends abstract new(...args:any)=>infer R?R:any;type Uppercase<S extends string>=intrinsic;type Lowercase<S extends string>=intrinsic;type Capitalize<S extends string>=intrinsic;type Uncapitalize<S extends string>=intrinsic;interface ThisType<T>{}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{buffer:ArrayBufferLike;byteLength:number;byteOffset:number;}interface DataView{readonly buffer:ArrayBuffer;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:ArrayBufferLike,byteOffset?:number,byteLength?:number):DataView;}declare var DataView:DataViewConstructor;interface Int8Array{readonly BYTES_PER_ELEMENT:number;readonly buffer:ArrayBufferLike;readonly byteLength:number;readonly byteOffset:number;copyWithin(target:number,start:number,end?:number):this;every(predicate:(value:number,index:number,array:Int8Array)=>unknown,thisArg?:any):boolean;fill(value:number,start?:number,end?:number):this;filter(predicate:(value:number,index:number,array:Int8Array)=>any,thisArg?:any):Int8Array;find(predicate:(value:number,index:number,obj:Int8Array)=>boolean,thisArg?:any):number|undefined;findIndex(predicate:(value:number,index:number,obj:Int8Array)=>boolean,thisArg?:any):number;forEach(callbackfn:(value:number,index:number,array:Int8Array)=>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:Int8Array)=>number,thisArg?:any):Int8Array;reduce(callbackfn:(previousValue:number,currentValue:number,currentIndex:number,array:Int8Array)=>number):number;reduce(callbackfn:(previousValue:number,currentValue:number,currentIndex:number,array:Int8Array)=>number,initialValue:number):number;reduce<U>(callbackfn:(previousValue:U,currentValue:number,currentIndex:number,array:Int8Array)=>U,initialValue:U):U;reduceRight(callbackfn:(previousValue:number,currentValue:number,currentIndex:number,array:Int8Array)=>number):number;reduceRight(callbackfn:(previousValue:number,currentValue:number,currentIndex:number,array:Int8Array)=>number,initialValue:number):number;reduceRight<U>(callbackfn:(previousValue:U,currentValue:number,currentIndex:number,array:Int8Array)=>U,initialValue:U):U;reverse():Int8Array;set(array:ArrayLike<number>,offset?:number):void;slice(start?:number,end?:number):Int8Array;some(predicate:(value:number,index:number,array:Int8Array)=>unknown,thisArg?:any):boolean;sort(compareFn?:(a:number,b:number)=>number):this;subarray(begin?:number,end?:number):Int8Array;toLocaleString():string;toString():string;valueOf():Int8Array;[index:number]:number;}interface Int8ArrayConstructor{readonly prototype:Int8Array;new(length:number):Int8Array;new(array:ArrayLike<number>|ArrayBufferLike):Int8Array;new(buffer:ArrayBufferLike,byteOffset?:number,length?:number):Int8Array;readonly BYTES_PER_ELEMENT:number;of(...items:number[]):Int8Array;from(arrayLike:ArrayLike<number>):Int8Array;from<T>(arrayLike:ArrayLike<T>,mapfn:(v:T,k:number)=>number,thisArg?:any):Int8Array;}declare var Int8Array:Int8ArrayConstructor;interface Uint8Array{readonly BYTES_PER_ELEMENT:number;readonly buffer:ArrayBufferLike;readonly byteLength:number;readonly byteOffset:number;copyWithin(target:number,start:number,end?:number):this;every(predicate:(value:number,index:number,array:Uint8Array)=>unknown,thisArg?:any):boolean;fill(value:number,start?:number,end?:number):this;filter(predicate:(value:number,index:number,array:Uint8Array)=>any,thisArg?:any):Uint8Array;find(predicate:(value:number,index:number,obj:Uint8Array)=>boolean,thisArg?:any):number|undefined;findIndex(predicate:(value:number,index:number,obj:Uint8Array)=>boolean,thisArg?:any):number;forEach(callbackfn:(value:number,index:number,array:Uint8Array)=>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:Uint8Array)=>number,thisArg?:any):Uint8Array;reduce(callbackfn:(previousValue:number,currentValue:number,currentIndex:number,array:Uint8Array)=>number):number;reduce(callbackfn:(previousValue:number,currentValue:number,currentIndex:number,array:Uint8Array)=>number,initialValue:number):number;reduce<U>(callbackfn:(previousValue:U,currentValue:number,currentIndex:number,array:Uint8Array)=>U,initialValue:U):U;reduceRight(callbackfn:(previousValue:number,currentValue:number,currentIndex:number,array:Uint8Array)=>number):number;reduceRight(callbackfn:(previousValue:number,currentValue:number,currentIndex:number,array:Uint8Array)=>number,initialValue:number):number;reduceRight<U>(callbackfn:(previousValue:U,currentValue:number,currentIndex:number,array:Uint8Array)=>U,initialValue:U):U;reverse():Uint8Array;set(array:ArrayLike<number>,offset?:number):void;slice(start?:number,end?:number):Uint8Array;some(predicate:(value:number,index:number,array:Uint8Array)=>unknown,thisArg?:any):boolean;sort(compareFn?:(a:number,b:number)=>number):this;subarray(begin?:number,end?:number):Uint8Array;toLocaleString():string;toString():string;valueOf():Uint8Array;[index:number]:number;}interface Uint8ArrayConstructor{readonly prototype:Uint8Array;new(length:number):Uint8Array;new(array:ArrayLike<number>|ArrayBufferLike):Uint8Array;new(buffer:ArrayBufferLike,byteOffset?:number,length?:number):Uint8Array;readonly BYTES_PER_ELEMENT:number;of(...items:number[]):Uint8Array;from(arrayLike:ArrayLike<number>):Uint8Array;from<T>(arrayLike:ArrayLike<T>,mapfn:(v:T,k:number)=>number,thisArg?:any):Uint8Array;}declare var Uint8Array:Uint8ArrayConstructor;interface Uint8ClampedArray{readonly BYTES_PER_ELEMENT:number;readonly buffer:ArrayBufferLike;readonly byteLength:number;readonly byteOffset:number;copyWithin(target:number,start:number,end?:number):this;every(predicate:(value:number,index:number,array:Uint8ClampedArray)=>unknown,thisArg?:any):boolean;fill(value:number,start?:number,end?:number):this;filter(predicate:(value:number,index:number,array:Uint8ClampedArray)=>any,thisArg?:any):Uint8ClampedArray;find(predicate:(value:number,index:number,obj:Uint8ClampedArray)=>boolean,thisArg?:any):number|undefined;findIndex(predicate:(value:number,index:number,obj:Uint8ClampedArray)=>boolean,thisArg?:any):number;forEach(callbackfn:(value:number,index:number,array:Uint8ClampedArray)=>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:Uint8ClampedArray)=>number,thisArg?:any):Uint8ClampedArray;reduce(callbackfn:(previousValue:number,currentValue:number,currentIndex:number,array:Uint8ClampedArray)=>number):number;reduce(callbackfn:(previousValue:number,currentValue:number,currentIndex:number,array:Uint8ClampedArray)=>number,initialValue:number):number;reduce<U>(callbackfn:(previousValue:U,currentValue:number,currentIndex:number,array:Uint8ClampedArray)=>U,initialValue:U):U;reduceRight(callbackfn:(previousValue:number,currentValue:number,currentIndex:number,array:Uint8ClampedArray)=>number):number;reduceRight(callbackfn:(previousValue:number,currentValue:number,currentIndex:number,array:Uint8ClampedArray)=>number,initialValue:number):number;reduceRight<U>(callbackfn:(previousValue:U,currentValue:number,currentIndex:number,array:Uint8ClampedArray)=>U,initialValue:U):U;reverse():Uint8ClampedArray;set(array:ArrayLike<number>,offset?:number):void;slice(start?:number,end?:number):Uint8ClampedArray;some(predicate:(value:number,index:number,array:Uint8ClampedArray)=>unknown,thisArg?:any):boolean;sort(compareFn?:(a:number,b:number)=>number):this;subarray(begin?:number,end?:number):Uint8ClampedArray;toLocaleString():string;toString():string;valueOf():Uint8ClampedArray;[index:number]:number;}interface Uint8ClampedArrayConstructor{readonly prototype:Uint8ClampedArray;new(length:number):Uint8ClampedArray;new(array:ArrayLike<number>|ArrayBufferLike):Uint8ClampedArray;new(buffer:ArrayBufferLike,byteOffset?:number,length?:number):Uint8ClampedArray;readonly BYTES_PER_ELEMENT:number;of(...items:number[]):Uint8ClampedArray;from(arrayLike:ArrayLike<number>):Uint8ClampedArray;from<T>(arrayLike:ArrayLike<T>,mapfn:(v:T,k:number)=>number,thisArg?:any):Uint8ClampedArray;}declare var Uint8ClampedArray:Uint8ClampedArrayConstructor;interface Int16Array{readonly BYTES_PER_ELEMENT:number;readonly buffer:ArrayBufferLike;readonly byteLength:number;readonly byteOffset:number;copyWithin(target:number,start:number,end?:number):this;every(predicate:(value:number,index:number,array:Int16Array)=>unknown,thisArg?:any):boolean;fill(value:number,start?:number,end?:number):this;filter(predicate:(value:number,index:number,array:Int16Array)=>any,thisArg?:any):Int16Array;find(predicate:(value:number,index:number,obj:Int16Array)=>boolean,thisArg?:any):number|undefined;findIndex(predicate:(value:number,index:number,obj:Int16Array)=>boolean,thisArg?:any):number;forEach(callbackfn:(value:number,index:number,array:Int16Array)=>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:Int16Array)=>number,thisArg?:any):Int16Array;reduce(callbackfn:(previousValue:number,currentValue:number,currentIndex:number,array:Int16Array)=>number):number;reduce(callbackfn:(previousValue:number,currentValue:number,currentIndex:number,array:Int16Array)=>number,initialValue:number):number;reduce<U>(callbackfn:(previousValue:U,currentValue:number,currentIndex:number,array:Int16Array)=>U,initialValue:U):U;reduceRight(callbackfn:(previousValue:number,currentValue:number,currentIndex:number,array:Int16Array)=>number):number;reduceRight(callbackfn:(previousValue:number,currentValue:number,currentIndex:number,array:Int16Array)=>number,initialValue:number):number;reduceRight<U>(callbackfn:(previousValue:U,currentValue:number,currentIndex:number,array:Int16Array)=>U,initialValue:U):U;reverse():Int16Array;set(array:ArrayLike<number>,offset?:number):void;slice(start?:number,end?:number):Int16Array;some(predicate:(value:number,index:number,array:Int16Array)=>unknown,thisArg?:any):boolean;sort(compareFn?:(a:number,b:number)=>number):this;subarray(begin?:number,end?:number):Int16Array;toLocaleString():string;toString():string;valueOf():Int16Array;[index:number]:number;}interface Int16ArrayConstructor{readonly prototype:Int16Array;new(length:number):Int16Array;new(array:ArrayLike<number>|ArrayBufferLike):Int16Array;new(buffer:ArrayBufferLike,byteOffset?:number,length?:number):Int16Array;readonly BYTES_PER_ELEMENT:number;of(...items:number[]):Int16Array;from(arrayLike:ArrayLike<number>):Int16Array;from<T>(arrayLike:ArrayLike<T>,mapfn:(v:T,k:number)=>number,thisArg?:any):Int16Array;}declare var Int16Array:Int16ArrayConstructor;interface Uint16Array{readonly BYTES_PER_ELEMENT:number;readonly buffer:ArrayBufferLike;readonly byteLength:number;readonly byteOffset:number;copyWithin(target:number,start:number,end?:number):this;every(predicate:(value:number,index:number,array:Uint16Array)=>unknown,thisArg?:any):boolean;fill(value:number,start?:number,end?:number):this;filter(predicate:(value:number,index:number,array:Uint16Array)=>any,thisArg?:any):Uint16Array;find(predicate:(value:number,index:number,obj:Uint16Array)=>boolean,thisArg?:any):number|undefined;findIndex(predicate:(value:number,index:number,obj:Uint16Array)=>boolean,thisArg?:any):number;forEach(callbackfn:(value:number,index:number,array:Uint16Array)=>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:Uint16Array)=>number,thisArg?:any):Uint16Array;reduce(callbackfn:(previousValue:number,currentValue:number,currentIndex:number,array:Uint16Array)=>number):number;reduce(callbackfn:(previousValue:number,currentValue:number,currentIndex:number,array:Uint16Array)=>number,initialValue:number):number;reduce<U>(callbackfn:(previousValue:U,currentValue:number,currentIndex:number,array:Uint16Array)=>U,initialValue:U):U;reduceRight(callbackfn:(previousValue:number,currentValue:number,currentIndex:number,array:Uint16Array)=>number):number;reduceRight(callbackfn:(previousValue:number,currentValue:number,currentIndex:number,array:Uint16Array)=>number,initialValue:number):number;reduceRight<U>(callbackfn:(previousValue:U,currentValue:number,currentIndex:number,array:Uint16Array)=>U,initialValue:U):U;reverse():Uint16Array;set(array:ArrayLike<number>,offset?:number):void;slice(start?:number,end?:number):Uint16Array;some(predicate:(value:number,index:number,array:Uint16Array)=>unknown,thisArg?:any):boolean;sort(compareFn?:(a:number,b:number)=>number):this;subarray(begin?:number,end?:number):Uint16Array;toLocaleString():string;toString():string;valueOf():Uint16Array;[index:number]:number;}interface Uint16ArrayConstructor{readonly prototype:Uint16Array;new(length:number):Uint16Array;new(array:ArrayLike<number>|ArrayBufferLike):Uint16Array;new(buffer:ArrayBufferLike,byteOffset?:number,length?:number):Uint16Array;readonly BYTES_PER_ELEMENT:number;of(...items:number[]):Uint16Array;from(arrayLike:ArrayLike<number>):Uint16Array;from<T>(arrayLike:ArrayLike<T>,mapfn:(v:T,k:number)=>number,thisArg?:any):Uint16Array;}declare var Uint16Array:Uint16ArrayConstructor;interface Int32Array{readonly BYTES_PER_ELEMENT:number;readonly buffer:ArrayBufferLike;readonly byteLength:number;readonly byteOffset:number;copyWithin(target:number,start:number,end?:number):this;every(predicate:(value:number,index:number,array:Int32Array)=>unknown,thisArg?:any):boolean;fill(value:number,start?:number,end?:number):this;filter(predicate:(value:number,index:number,array:Int32Array)=>any,thisArg?:any):Int32Array;find(predicate:(value:number,index:number,obj:Int32Array)=>boolean,thisArg?:any):number|undefined;findIndex(predicate:(value:number,index:number,obj:Int32Array)=>boolean,thisArg?:any):number;forEach(callbackfn:(value:number,index:number,array:Int32Array)=>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:Int32Array)=>number,thisArg?:any):Int32Array;reduce(callbackfn:(previousValue:number,currentValue:number,currentIndex:number,array:Int32Array)=>number):number;reduce(callbackfn:(previousValue:number,currentValue:number,currentIndex:number,array:Int32Array)=>number,initialValue:number):number;reduce<U>(callbackfn:(previousValue:U,currentValue:number,currentIndex:number,array:Int32Array)=>U,initialValue:U):U;reduceRight(callbackfn:(previousValue:number,currentValue:number,currentIndex:number,array:Int32Array)=>number):number;reduceRight(callbackfn:(previousValue:number,currentValue:number,currentIndex:number,array:Int32Array)=>number,initialValue:number):number;reduceRight<U>(callbackfn:(previousValue:U,currentValue:number,currentIndex:number,array:Int32Array)=>U,initialValue:U):U;reverse():Int32Array;set(array:ArrayLike<number>,offset?:number):void;slice(start?:number,end?:number):Int32Array;some(predicate:(value:number,index:number,array:Int32Array)=>unknown,thisArg?:any):boolean;sort(compareFn?:(a:number,b:number)=>number):this;subarray(begin?:number,end?:number):Int32Array;toLocaleString():string;toString():string;valueOf():Int32Array;[index:number]:number;}interface Int32ArrayConstructor{readonly prototype:Int32Array;new(length:number):Int32Array;new(array:ArrayLike<number>|ArrayBufferLike):Int32Array;new(buffer:ArrayBufferLike,byteOffset?:number,length?:number):Int32Array;readonly BYTES_PER_ELEMENT:number;of(...items:number[]):Int32Array;from(arrayLike:ArrayLike<number>):Int32Array;from<T>(arrayLike:ArrayLike<T>,mapfn:(v:T,k:number)=>number,thisArg?:any):Int32Array;}declare var Int32Array:Int32ArrayConstructor;interface Uint32Array{readonly BYTES_PER_ELEMENT:number;readonly buffer:ArrayBufferLike;readonly byteLength:number;readonly byteOffset:number;copyWithin(target:number,start:number,end?:number):this;every(predicate:(value:number,index:number,array:Uint32Array)=>unknown,thisArg?:any):boolean;fill(value:number,start?:number,end?:number):this;filter(predicate:(value:number,index:number,array:Uint32Array)=>any,thisArg?:any):Uint32Array;find(predicate:(value:number,index:number,obj:Uint32Array)=>boolean,thisArg?:any):number|undefined;findIndex(predicate:(value:number,index:number,obj:Uint32Array)=>boolean,thisArg?:any):number;forEach(callbackfn:(value:number,index:number,array:Uint32Array)=>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:Uint32Array)=>number,thisArg?:any):Uint32Array;reduce(callbackfn:(previousValue:number,currentValue:number,currentIndex:number,array:Uint32Array)=>number):number;reduce(callbackfn:(previousValue:number,currentValue:number,currentIndex:number,array:Uint32Array)=>number,initialValue:number):number;reduce<U>(callbackfn:(previousValue:U,currentValue:number,currentIndex:number,array:Uint32Array)=>U,initialValue:U):U;reduceRight(callbackfn:(previousValue:number,currentValue:number,currentIndex:number,array:Uint32Array)=>number):number;reduceRight(callbackfn:(previousValue:number,currentValue:number,currentIndex:number,array:Uint32Array)=>number,initialValue:number):number;reduceRight<U>(callbackfn:(previousValue:U,currentValue:number,currentIndex:number,array:Uint32Array)=>U,initialValue:U):U;reverse():Uint32Array;set(array:ArrayLike<number>,offset?:number):void;slice(start?:number,end?:number):Uint32Array;some(predicate:(value:number,index:number,array:Uint32Array)=>unknown,thisArg?:any):boolean;sort(compareFn?:(a:number,b:number)=>number):this;subarray(begin?:number,end?:number):Uint32Array;toLocaleString():string;toString():string;valueOf():Uint32Array;[index:number]:number;}interface Uint32ArrayConstructor{readonly prototype:Uint32Array;new(length:number):Uint32Array;new(array:ArrayLike<number>|ArrayBufferLike):Uint32Array;new(buffer:ArrayBufferLike,byteOffset?:number,length?:number):Uint32Array;readonly BYTES_PER_ELEMENT:number;of(...items:number[]):Uint32Array;from(arrayLike:ArrayLike<number>):Uint32Array;from<T>(arrayLike:ArrayLike<T>,mapfn:(v:T,k:number)=>number,thisArg?:any):Uint32Array;}declare var Uint32Array:Uint32ArrayConstructor;interface Float32Array{readonly BYTES_PER_ELEMENT:number;readonly buffer:ArrayBufferLike;readonly byteLength:number;readonly byteOffset:number;copyWithin(target:number,start:number,end?:number):this;every(predicate:(value:number,index:number,array:Float32Array)=>unknown,thisArg?:any):boolean;fill(value:number,start?:number,end?:number):this;filter(predicate:(value:number,index:number,array:Float32Array)=>any,thisArg?:any):Float32Array;find(predicate:(value:number,index:number,obj:Float32Array)=>boolean,thisArg?:any):number|undefined;findIndex(predicate:(value:number,index:number,obj:Float32Array)=>boolean,thisArg?:any):number;forEach(callbackfn:(value:number,index:number,array:Float32Array)=>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:Float32Array)=>number,thisArg?:any):Float32Array;reduce(callbackfn:(previousValue:number,currentValue:number,currentIndex:number,array:Float32Array)=>number):number;reduce(callbackfn:(previousValue:number,currentValue:number,currentIndex:number,array:Float32Array)=>number,initialValue:number):number;reduce<U>(callbackfn:(previousValue:U,currentValue:number,currentIndex:number,array:Float32Array)=>U,initialValue:U):U;reduceRight(callbackfn:(previousValue:number,currentValue:number,currentIndex:number,array:Float32Array)=>number):number;reduceRight(callbackfn:(previousValue:number,currentValue:number,currentIndex:number,array:Float32Array)=>number,initialValue:number):number;reduceRight<U>(callbackfn:(previousValue:U,currentValue:number,currentIndex:number,array:Float32Array)=>U,initialValue:U):U;reverse():Float32Array;set(array:ArrayLike<number>,offset?:number):void;slice(start?:number,end?:number):Float32Array;some(predicate:(value:number,index:number,array:Float32Array)=>unknown,thisArg?:any):boolean;sort(compareFn?:(a:number,b:number)=>number):this;subarray(begin?:number,end?:number):Float32Array;toLocaleString():string;toString():string;valueOf():Float32Array;[index:number]:number;}interface Float32ArrayConstructor{readonly prototype:Float32Array;new(length:number):Float32Array;new(array:ArrayLike<number>|ArrayBufferLike):Float32Array;new(buffer:ArrayBufferLike,byteOffset?:number,length?:number):Float32Array;readonly BYTES_PER_ELEMENT:number;of(...items:number[]):Float32Array;from(arrayLike:ArrayLike<number>):Float32Array;from<T>(arrayLike:ArrayLike<T>,mapfn:(v:T,k:number)=>number,thisArg?:any):Float32Array;}declare var Float32Array:Float32ArrayConstructor;interface Float64Array{readonly BYTES_PER_ELEMENT:number;readonly buffer:ArrayBufferLike;readonly byteLength:number;readonly byteOffset:number;copyWithin(target:number,start:number,end?:number):this;every(predicate:(value:number,index:number,array:Float64Array)=>unknown,thisArg?:any):boolean;fill(value:number,start?:number,end?:number):this;filter(predicate:(value:number,index:number,array:Float64Array)=>any,thisArg?:any):Float64Array;find(predicate:(value:number,index:number,obj:Float64Array)=>boolean,thisArg?:any):number|undefined;findIndex(predicate:(value:number,index:number,obj:Float64Array)=>boolean,thisArg?:any):number;forEach(callbackfn:(value:number,index:number,array:Float64Array)=>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:Float64Array)=>number,thisArg?:any):Float64Array;reduce(callbackfn:(previousValue:number,currentValue:number,currentIndex:number,array:Float64Array)=>number):number;reduce(callbackfn:(previousValue:number,currentValue:number,currentIndex:number,array:Float64Array)=>number,initialValue:number):number;reduce<U>(callbackfn:(previousValue:U,currentValue:number,currentIndex:number,array:Float64Array)=>U,initialValue:U):U;reduceRight(callbackfn:(previousValue:number,currentValue:number,currentIndex:number,array:Float64Array)=>number):number;reduceRight(callbackfn:(previousValue:number,currentValue:number,currentIndex:number,array:Float64Array)=>number,initialValue:number):number;reduceRight<U>(callbackfn:(previousValue:U,currentValue:number,currentIndex:number,array:Float64Array)=>U,initialValue:U):U;reverse():Float64Array;set(array:ArrayLike<number>,offset?:number):void;slice(start?:number,end?:number):Float64Array;some(predicate:(value:number,index:number,array:Float64Array)=>unknown,thisArg?:any):boolean;sort(compareFn?:(a:number,b:number)=>number):this;subarray(begin?:number,end?:number):Float64Array;toString():string;valueOf():Float64Array;[index:number]:number;}interface Float64ArrayConstructor{readonly prototype:Float64Array;new(length:number):Float64Array;new(array:ArrayLike<number>|ArrayBufferLike):Float64Array;new(buffer:ArrayBufferLike,byteOffset?:number,length?:number):Float64Array;readonly BYTES_PER_ELEMENT:number;of(...items:number[]):Float64Array;from(arrayLike:ArrayLike<number>):Float64Array;from<T>(arrayLike:ArrayLike<T>,mapfn:(v:T,k:number)=>number,thisArg?:any):Float64Array;}declare var Float64Array:Float64ArrayConstructor;declare namespace Intl{interface CollatorOptions{usage?:string|undefined;localeMatcher?:string|undefined;numeric?:boolean|undefined;caseFirst?:string|undefined;sensitivity?:string|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;}var Collator:{new(locales?:string|string[],options?:CollatorOptions):Collator;(locales?:string|string[],options?:CollatorOptions):Collator;supportedLocalesOf(locales:string|string[],options?:CollatorOptions):string[];};interface NumberFormatOptions{localeMatcher?:string|undefined;style?:string|undefined;currency?:string|undefined;currencySign?:string|undefined;useGrouping?:boolean|undefined;minimumIntegerDigits?:number|undefined;minimumFractionDigits?:number|undefined;maximumFractionDigits?:number|undefined;minimumSignificantDigits?:number|undefined;maximumSignificantDigits?:number|undefined;}interface ResolvedNumberFormatOptions{locale:string;numberingSystem:string;style:string;currency?:string;minimumIntegerDigits:number;minimumFractionDigits:number;maximumFractionDigits:number;minimumSignificantDigits?:number;maximumSignificantDigits?:number;useGrouping:boolean;}interface NumberFormat{format(value:number):string;resolvedOptions():ResolvedNumberFormatOptions;}var NumberFormat:{new(locales?:string|string[],options?:NumberFormatOptions):NumberFormat;(locales?:string|string[],options?:NumberFormatOptions):NumberFormat;supportedLocalesOf(locales:string|string[],options?:NumberFormatOptions):string[];readonly prototype:NumberFormat;};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;}var DateTimeFormat:{new(locales?:string|string[],options?:DateTimeFormatOptions):DateTimeFormat;(locales?:string|string[],options?:DateTimeFormatOptions):DateTimeFormat;supportedLocalesOf(locales:string|string[],options?:DateTimeFormatOptions):string[];readonly prototype:DateTimeFormat;};}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.es6.d.ts",
        text: `/// <reference no-default-lib="true"/>\n/// <reference lib="es2015" />\n/// <reference lib="dom" />\n/// <reference lib="dom.iterable" />\n/// <reference lib="webworker.importscripts" />\n/// <reference lib="scripthost" />\n`
    }, {
        fileName: "lib.esnext.d.ts",
        text: `/// <reference no-default-lib="true"/>\n/// <reference lib="es2022" />\n/// <reference lib="esnext.intl" />\n`
    }, {
        fileName: "lib.esnext.full.d.ts",
        text: `/// <reference no-default-lib="true"/>\n/// <reference lib="esnext" />\n/// <reference lib="dom" />\n/// <reference lib="webworker.importscripts" />\n/// <reference lib="scripthost" />\n/// <reference lib="dom.iterable" />`
    }, {
        fileName: "lib.esnext.intl.d.ts",
        text: `/// <reference no-default-lib="true"/>\ndeclare namespace Intl{interface NumberRangeFormatPart extends NumberFormatPart{source:"startRange"|"endRange"|"shared"}interface NumberFormat{formatRange(start:number|bigint,end:number|bigint):string;formatRangeToParts(start:number|bigint,end:number|bigint):NumberRangeFormatPart[];}}`
    }, {
        fileName: "lib.esnext.promise.d.ts",
        text: `/// <reference no-default-lib="true"/>\ninterface AggregateError extends Error{errors:any[]}interface AggregateErrorConstructor{new(errors:Iterable<any>,message?:string):AggregateError;(errors:Iterable<any>,message?:string):AggregateError;readonly prototype:AggregateError;}declare var AggregateError:AggregateErrorConstructor;interface PromiseConstructor{any<T>(values:(T|PromiseLike<T>)[]|Iterable<T|PromiseLike<T>>):Promise<T>}`
    }, {
        fileName: "lib.esnext.string.d.ts",
        text: `/// <reference no-default-lib="true"/>\ninterface String{replaceAll(searchValue:string|RegExp,replaceValue:string):string;replaceAll(searchValue:string|RegExp,replacer:(substring:string,...args:any[])=>string):string;}`
    }, {
        fileName: "lib.esnext.weakref.d.ts",
        text: `/// <reference no-default-lib="true"/>\ninterface WeakRef<T extends object>{readonly[Symbol.toStringTag]:"WeakRef";deref():T|undefined;}interface WeakRefConstructor{readonly prototype:WeakRef<any>;new<T extends object>(target?:T):WeakRef<T>;}declare var WeakRef:WeakRefConstructor;interface FinalizationRegistry{readonly[Symbol.toStringTag]:"FinalizationRegistry";register(target:object,heldValue:any,unregisterToken?:object):void;unregister(unregisterToken:object):void;}interface FinalizationRegistryConstructor{readonly prototype:FinalizationRegistry;new(cleanupCallback:(heldValue:any)=>void):FinalizationRegistry;}declare var FinalizationRegistry:FinalizationRegistryConstructor;`
    }, {
        fileName: "lib.scripthost.d.ts",
        text: `/// <reference no-default-lib="true"/>\ninterface ActiveXObject{new(s:string):any;}declare var ActiveXObject:ActiveXObject;interface ITextWriter{Write(s:string):void;WriteLine(s:string):void;Close():void;}interface TextStreamBase{Column:number;Line:number;Close():void;}interface TextStreamWriter extends TextStreamBase{Write(s:string):void;WriteBlankLines(intLines:number):void;WriteLine(s:string):void;}interface TextStreamReader extends TextStreamBase{Read(characters:number):string;ReadAll():string;ReadLine():string;Skip(characters:number):void;SkipLine():void;AtEndOfLine:boolean;AtEndOfStream:boolean;}declare var WScript:{Echo(s:any):void;StdErr:TextStreamWriter;StdOut:TextStreamWriter;Arguments:{length:number;Item(n:number):string;};ScriptFullName:string;Quit(exitCode?:number):number;BuildVersion:number;FullName:string;Interactive:boolean;Name:string;Path:string;ScriptName:string;StdIn:TextStreamReader;Version:string;ConnectObject(objEventSource:any,strPrefix:string):void;CreateObject(strProgID:string,strPrefix?:string):any;DisconnectObject(obj:any):void;GetObject(strPathname:string,strProgID?:string,strPrefix?:string):any;Sleep(intTime:number):void;};declare var WSH:typeof WScript;declare class SafeArray<T=any>{private constructor();private SafeArray_typekey:SafeArray<T>;}interface Enumerator<T=any>{atEnd():boolean;item():T;moveFirst():void;moveNext():void;}interface EnumeratorConstructor{new<T=any>(safearray:SafeArray<T>):Enumerator<T>;new<T=any>(collection:{Item(index:any):T}):Enumerator<T>;new<T=any>(collection:any):Enumerator<T>;}declare var Enumerator:EnumeratorConstructor;interface VBArray<T=any>{dimensions():number;getItem(dimension1Index:number,...dimensionNIndexes:number[]):T;lbound(dimension?:number):number;ubound(dimension?:number):number;toArray():T[];}interface VBArrayConstructor{new<T=any>(safeArray:SafeArray<T>):VBArray<T>;}declare var VBArray:VBArrayConstructor;declare class VarDate{private constructor();private VarDate_typekey:VarDate;}interface DateConstructor{new(vd:VarDate):Date;}interface Date{getVarDate:()=>VarDate;}`
    }, {
        fileName: "lib.webworker.d.ts",
        text: `/// <reference no-default-lib="true"/>\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 BlobPropertyBag{endings?:EndingType;type?:string;}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 CustomEventInit<T=any>extends 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 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<undefined>;preloadResponse?:Promise<any>;replacesClientId?:string;request:Request;resultingClientId?:string;}interface FilePropertyBag extends BlobPropertyBag{lastModified?:number;}interface FileSystemGetDirectoryOptions{create?:boolean;}interface FileSystemGetFileOptions{create?:boolean;}interface FileSystemRemoveOptions{recursive?:boolean;}interface FontFaceDescriptors{display?:string;featureSettings?:string;stretch?:string;style?:string;unicodeRange?:string;variant?: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 ImportMeta{url: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 MessageEventInit<T=any>extends 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 NotificationAction{action:string;icon?:string;title:string;}interface NotificationEventInit extends ExtendableEventInit{action?:string;notification:Notification;}interface NotificationOptions{actions?:NotificationAction[];badge?:string;body?:string;data?:any;dir?:NotificationDirection;icon?:string;image?:string;lang?:string;renotify?:boolean;requireInteraction?:boolean;silent?:boolean;tag?:string;timestamp?:EpochTimeStamp;vibrate?:VibratePattern;}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 ProgressEventInit extends EventInit{lengthComputable?:boolean;loaded?:number;total?:number;}interface PromiseRejectionEventInit extends EventInit{promise:Promise<any>;reason?:any;}interface PushEventInit extends ExtendableEventInit{data?:PushMessageDataInit;}interface PushSubscriptionJSON{endpoint?:string;expirationTime?:EpochTimeStamp|null;keys?:Record<string,string>;}interface PushSubscriptionOptionsInit{applicationServerKey?:BufferSource|string|null;userVisibleOnly?:boolean;}interface QueuingStrategy<T=any>{highWaterMark?:number;size?:QueuingStrategySize<T>;}interface QueuingStrategyInit{highWaterMark:number;}interface RTCEncodedAudioFrameMetadata{contributingSources?:number[];synchronizationSource?:number;}interface RTCEncodedVideoFrameMetadata{contributingSources?:number[];dependencies?:number[];frameId?:number;height?:number;spatialIndex?:number;synchronizationSource?:number;temporalIndex?:number;width?:number;}interface ReadableStreamGetReaderOptions{mode?:ReadableStreamReaderMode;}interface ReadableStreamReadDoneResult<T>{done:true;value?:T;}interface ReadableStreamReadValueResult<T>{done:false;value:T;}interface ReadableWritablePair<R=any,W=any>{readable:ReadableStream<R>;writable:WritableStream<W>;}interface RegistrationOptions{scope?:string;type?:WorkerType;updateViaCache?:ServiceWorkerUpdateViaCache;}interface RequestInit{body?:BodyInit|null;cache?:RequestCache;credentials?:RequestCredentials;headers?:HeadersInit;integrity?:string;keepalive?:boolean;method?:string;mode?:RequestMode;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<I=any,O=any>{flush?:TransformerFlushCallback<O>;readableType?:undefined;start?:TransformerStartCallback<O>;transform?:TransformerTransformCallback<I,O>;writableType?:undefined;}interface UnderlyingByteSource{autoAllocateChunkSize?:number;cancel?:UnderlyingSourceCancelCallback;pull?:(controller:ReadableByteStreamController)=>void|PromiseLike<void>;start?:(controller:ReadableByteStreamController)=>any;type:"bytes";}interface UnderlyingDefaultSource<R=any>{cancel?:UnderlyingSourceCancelCallback;pull?:(controller:ReadableStreamDefaultController<R>)=>void|PromiseLike<void>;start?:(controller:ReadableStreamDefaultController<R>)=>any;type?:undefined;}interface UnderlyingSink<W=any>{abort?:UnderlyingSinkAbortCallback;close?:UnderlyingSinkCloseCallback;start?:UnderlyingSinkStartCallback;type?:undefined;write?:UnderlyingSinkWriteCallback<W>;}interface UnderlyingSource<R=any>{autoAllocateChunkSize?:number;cancel?:UnderlyingSourceCancelCallback;pull?:UnderlyingSourcePullCallback<R>;start?:UnderlyingSourceStartCallback<R>;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;hdrMetadataType?:HdrMetadataType;height:number;scalabilityMode?:string;transferFunction?:TransferFunction;width:number;}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 WorkerOptions{credentials?:RequestCredentials;name?:string;type?:WorkerType;}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:GLenum;}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<K extends keyof AbortSignalEventMap>(type:K,listener:(this:AbortSignal,ev:AbortSignalEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof AbortSignalEventMap>(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;timeout(milliseconds:number):AbortSignal;};interface AbstractWorkerEventMap{"error":ErrorEvent;}interface AbstractWorker{onerror:((this:AbstractWorker,ev:ErrorEvent)=>any)|null;addEventListener<K extends keyof AbstractWorkerEventMap>(type:K,listener:(this:AbstractWorker,ev:AbstractWorkerEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof AbstractWorkerEventMap>(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 Blob{readonly size:number;readonly type:string;arrayBuffer():Promise<ArrayBuffer>;slice(start?:number,end?:number,contentType?:string):Blob;stream():ReadableStream<Uint8Array>;text():Promise<string>;}declare var Blob:{prototype:Blob;new(blobParts?:BlobPart[],options?:BlobPropertyBag):Blob;};interface Body{readonly body:ReadableStream<Uint8Array>|null;readonly bodyUsed:boolean;arrayBuffer():Promise<ArrayBuffer>;blob():Promise<Blob>;formData():Promise<FormData>;json():Promise<any>;text():Promise<string>;}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<K extends keyof BroadcastChannelEventMap>(type:K,listener:(this:BroadcastChannel,ev:BroadcastChannelEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof BroadcastChannelEventMap>(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<ArrayBufferView>{readonly highWaterMark:number;readonly size:QueuingStrategySize<ArrayBufferView>;}declare var ByteLengthQueuingStrategy:{prototype:ByteLengthQueuingStrategy;new(init:QueuingStrategyInit):ByteLengthQueuingStrategy;};interface Cache{add(request:RequestInfo|URL):Promise<void>;addAll(requests:RequestInfo[]):Promise<void>;delete(request:RequestInfo|URL,options?:CacheQueryOptions):Promise<boolean>;keys(request?:RequestInfo|URL,options?:CacheQueryOptions):Promise<ReadonlyArray<Request>>;match(request:RequestInfo|URL,options?:CacheQueryOptions):Promise<Response|undefined>;matchAll(request?:RequestInfo|URL,options?:CacheQueryOptions):Promise<ReadonlyArray<Response>>;put(request:RequestInfo|URL,response:Response):Promise<void>;}declare var Cache:{prototype:Cache;new():Cache;};interface CacheStorage{delete(cacheName:string):Promise<boolean>;has(cacheName:string):Promise<boolean>;keys():Promise<string[]>;match(request:RequestInfo|URL,options?:MultiCacheQueryOptions):Promise<Response|undefined>;open(cacheName:string):Promise<Cache>;}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{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;textAlign:CanvasTextAlign;textBaseline:CanvasTextBaseline;}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<void>;get(id:string):Promise<Client|undefined>;matchAll<T extends ClientQueryOptions>(options?:T):Promise<ReadonlyArray<T["type"]extends"window"?WindowClient:Client>>;openWindow(url:string|URL):Promise<WindowClient|null>;}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 CountQueuingStrategy extends QueuingStrategy{readonly highWaterMark:number;readonly size:QueuingStrategySize;}declare var CountQueuingStrategy:{prototype:CountQueuingStrategy;new(init:QueuingStrategyInit):CountQueuingStrategy;};interface Crypto{readonly subtle:SubtleCrypto;getRandomValues<T extends ArrayBufferView|null>(array:T):T;randomUUID():string;}declare var Crypto:{prototype:Crypto;new():Crypto;};interface CryptoKey{readonly algorithm:KeyAlgorithm;readonly extractable:boolean;readonly type:KeyType;readonly usages:KeyUsage[];}declare var CryptoKey:{prototype:CryptoKey;new():CryptoKey;};interface CustomEvent<T=any>extends Event{readonly detail:T;initCustomEvent(type:string,bubbles?:boolean,cancelable?:boolean,detail?:T):void;}declare var CustomEvent:{prototype:CustomEvent;new<T>(type:string,eventInitDict?:CustomEventInit<T>):CustomEvent<T>;};interface DOMException extends Error{readonly code:number;readonly message:string;readonly name:string;readonly ABORT_ERR:number;readonly DATA_CLONE_ERR:number;readonly DOMSTRING_SIZE_ERR:number;readonly HIERARCHY_REQUEST_ERR:number;readonly INDEX_SIZE_ERR:number;readonly INUSE_ATTRIBUTE_ERR:number;readonly INVALID_ACCESS_ERR:number;readonly INVALID_CHARACTER_ERR:number;readonly INVALID_MODIFICATION_ERR:number;readonly INVALID_NODE_TYPE_ERR:number;readonly INVALID_STATE_ERR:number;readonly NAMESPACE_ERR:number;readonly NETWORK_ERR:number;readonly NOT_FOUND_ERR:number;readonly NOT_SUPPORTED_ERR:number;readonly NO_DATA_ALLOWED_ERR:number;readonly NO_MODIFICATION_ALLOWED_ERR:number;readonly QUOTA_EXCEEDED_ERR:number;readonly SECURITY_ERR:number;readonly SYNTAX_ERR:number;readonly TIMEOUT_ERR:number;readonly TYPE_MISMATCH_ERR:number;readonly URL_MISMATCH_ERR:number;readonly VALIDATION_ERR:number;readonly WRONG_DOCUMENT_ERR:number;}declare var DOMException:{prototype:DOMException;new(message?:string,name?:string):DOMException;readonly ABORT_ERR:number;readonly DATA_CLONE_ERR:number;readonly DOMSTRING_SIZE_ERR:number;readonly HIERARCHY_REQUEST_ERR:number;readonly INDEX_SIZE_ERR:number;readonly INUSE_ATTRIBUTE_ERR:number;readonly INVALID_ACCESS_ERR:number;readonly INVALID_CHARACTER_ERR:number;readonly INVALID_MODIFICATION_ERR:number;readonly INVALID_NODE_TYPE_ERR:number;readonly INVALID_STATE_ERR:number;readonly NAMESPACE_ERR:number;readonly NETWORK_ERR:number;readonly NOT_FOUND_ERR:number;readonly NOT_SUPPORTED_ERR:number;readonly NO_DATA_ALLOWED_ERR:number;readonly NO_MODIFICATION_ALLOWED_ERR:number;readonly QUOTA_EXCEEDED_ERR:number;readonly SECURITY_ERR:number;readonly SYNTAX_ERR:number;readonly TIMEOUT_ERR:number;readonly TYPE_MISMATCH_ERR:number;readonly URL_MISMATCH_ERR:number;readonly VALIDATION_ERR:number;readonly WRONG_DOCUMENT_ERR:number;};interface DOMMatrix extends DOMMatrixReadOnly{a:number;b:number;c:number;d:number;e:number;f:number;m11:number;m12:number;m13:number;m14:number;m21:number;m22:number;m23:number;m24:number;m31:number;m32:number;m33:number;m34:number;m41:number;m42:number;m43:number;m44:number;invertSelf():DOMMatrix;multiplySelf(other?:DOMMatrixInit):DOMMatrix;preMultiplySelf(other?:DOMMatrixInit):DOMMatrix;rotateAxisAngleSelf(x?:number,y?:number,z?:number,angle?:number):DOMMatrix;rotateFromVectorSelf(x?:number,y?:number):DOMMatrix;rotateSelf(rotX?:number,rotY?:number,rotZ?:number):DOMMatrix;scale3dSelf(scale?:number,originX?:number,originY?:number,originZ?:number):DOMMatrix;scaleSelf(scaleX?:number,scaleY?:number,scaleZ?:number,originX?:number,originY?:number,originZ?:number):DOMMatrix;skewXSelf(sx?:number):DOMMatrix;skewYSelf(sy?:number):DOMMatrix;translateSelf(tx?:number,ty?:number,tz?:number):DOMMatrix;}declare var DOMMatrix:{prototype:DOMMatrix;new(init?:string|number[]):DOMMatrix;fromFloat32Array(array32:Float32Array):DOMMatrix;fromFloat64Array(array64:Float64Array):DOMMatrix;fromMatrix(other?:DOMMatrixInit):DOMMatrix;};interface DOMMatrixReadOnly{readonly a:number;readonly b:number;readonly c:number;readonly d:number;readonly e:number;readonly f:number;readonly is2D:boolean;readonly isIdentity:boolean;readonly m11:number;readonly m12:number;readonly m13:number;readonly m14:number;readonly m21:number;readonly m22:number;readonly m23:number;readonly m24:number;readonly m31:number;readonly m32:number;readonly m33:number;readonly m34:number;readonly m41:number;readonly m42:number;readonly m43:number;readonly m44:number;flipX():DOMMatrix;flipY():DOMMatrix;inverse():DOMMatrix;multiply(other?:DOMMatrixInit):DOMMatrix;rotate(rotX?:number,rotY?:number,rotZ?:number):DOMMatrix;rotateAxisAngle(x?:number,y?:number,z?:number,angle?:number):DOMMatrix;rotateFromVector(x?:number,y?:number):DOMMatrix;scale(scaleX?:number,scaleY?:number,scaleZ?:number,originX?:number,originY?:number,originZ?:number):DOMMatrix;scale3d(scale?:number,originX?:number,originY?:number,originZ?:number):DOMMatrix;scaleNonUniform(scaleX?:number,scaleY?:number):DOMMatrix;skewX(sx?:number):DOMMatrix;skewY(sy?:number):DOMMatrix;toFloat32Array():Float32Array;toFloat64Array():Float64Array;toJSON():any;transformPoint(point?:DOMPointInit):DOMPoint;translate(tx?:number,ty?:number,tz?:number):DOMMatrix;}declare var DOMMatrixReadOnly:{prototype:DOMMatrixReadOnly;new(init?:string|number[]):DOMMatrixReadOnly;fromFloat32Array(array32:Float32Array):DOMMatrixReadOnly;fromFloat64Array(array64:Float64Array):DOMMatrixReadOnly;fromMatrix(other?:DOMMatrixInit):DOMMatrixReadOnly;};interface DOMPoint extends DOMPointReadOnly{w:number;x:number;y:number;z:number;}declare var DOMPoint:{prototype:DOMPoint;new(x?:number,y?:number,z?:number,w?:number):DOMPoint;fromPoint(other?:DOMPointInit):DOMPoint;};interface DOMPointReadOnly{readonly w:number;readonly x:number;readonly y:number;readonly z:number;matrixTransform(matrix?:DOMMatrixInit):DOMPoint;toJSON():any;}declare var DOMPointReadOnly:{prototype:DOMPointReadOnly;new(x?:number,y?:number,z?:number,w?:number):DOMPointReadOnly;fromPoint(other?:DOMPointInit):DOMPointReadOnly;};interface DOMQuad{readonly p1:DOMPoint;readonly p2:DOMPoint;readonly p3:DOMPoint;readonly p4:DOMPoint;getBounds():DOMRect;toJSON():any;}declare var DOMQuad:{prototype:DOMQuad;new(p1?:DOMPointInit,p2?:DOMPointInit,p3?:DOMPointInit,p4?:DOMPointInit):DOMQuad;fromQuad(other?:DOMQuadInit):DOMQuad;fromRect(other?:DOMRectInit):DOMQuad;};interface DOMRect extends DOMRectReadOnly{height:number;width:number;x:number;y:number;}declare var DOMRect:{prototype:DOMRect;new(x?:number,y?:number,width?:number,height?:number):DOMRect;fromRect(other?:DOMRectInit):DOMRect;};interface DOMRectReadOnly{readonly bottom:number;readonly height:number;readonly left:number;readonly right:number;readonly top:number;readonly width:number;readonly x:number;readonly y:number;toJSON():any;}declare var DOMRectReadOnly:{prototype:DOMRectReadOnly;new(x?:number,y?:number,width?:number,height?:number):DOMRectReadOnly;fromRect(other?:DOMRectInit):DOMRectReadOnly;};interface DOMStringList{readonly length:number;contains(string:string):boolean;item(index:number):string|null;[index:number]:string;}declare var DOMStringList:{prototype:DOMStringList;new():DOMStringList;};interface DedicatedWorkerGlobalScopeEventMap extends WorkerGlobalScopeEventMap{"message":MessageEvent;"messageerror":MessageEvent;}interface DedicatedWorkerGlobalScope extends WorkerGlobalScope,AnimationFrameProvider{readonly name:string;onmessage:((this:DedicatedWorkerGlobalScope,ev:MessageEvent)=>any)|null;onmessageerror:((this:DedicatedWorkerGlobalScope,ev:MessageEvent)=>any)|null;close():void;postMessage(message:any,transfer:Transferable[]):void;postMessage(message:any,options?:StructuredSerializeOptions):void;addEventListener<K extends keyof DedicatedWorkerGlobalScopeEventMap>(type:K,listener:(this:DedicatedWorkerGlobalScope,ev:DedicatedWorkerGlobalScopeEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof DedicatedWorkerGlobalScopeEventMap>(type:K,listener:(this:DedicatedWorkerGlobalScope,ev:DedicatedWorkerGlobalScopeEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var DedicatedWorkerGlobalScope:{prototype:DedicatedWorkerGlobalScope;new():DedicatedWorkerGlobalScope;};interface EXT_blend_minmax{readonly MAX_EXT:GLenum;readonly MIN_EXT:GLenum;}interface EXT_color_buffer_float{}interface EXT_color_buffer_half_float{readonly FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT:GLenum;readonly RGB16F_EXT:GLenum;readonly RGBA16F_EXT:GLenum;readonly UNSIGNED_NORMALIZED_EXT:GLenum;}interface EXT_float_blend{}interface EXT_frag_depth{}interface EXT_sRGB{readonly FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT:GLenum;readonly SRGB8_ALPHA8_EXT:GLenum;readonly SRGB_ALPHA_EXT:GLenum;readonly SRGB_EXT:GLenum;}interface EXT_shader_texture_lod{}interface EXT_texture_compression_bptc{readonly COMPRESSED_RGBA_BPTC_UNORM_EXT:GLenum;readonly COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT:GLenum;readonly COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT:GLenum;readonly COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:GLenum;}interface EXT_texture_compression_rgtc{readonly COMPRESSED_RED_GREEN_RGTC2_EXT:GLenum;readonly COMPRESSED_RED_RGTC1_EXT:GLenum;readonly COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT:GLenum;readonly COMPRESSED_SIGNED_RED_RGTC1_EXT:GLenum;}interface EXT_texture_filter_anisotropic{readonly MAX_TEXTURE_MAX_ANISOTROPY_EXT:GLenum;readonly TEXTURE_MAX_ANISOTROPY_EXT:GLenum;}interface EXT_texture_norm16{readonly R16_EXT:GLenum;readonly R16_SNORM_EXT:GLenum;readonly RG16_EXT:GLenum;readonly RG16_SNORM_EXT:GLenum;readonly RGB16_EXT:GLenum;readonly RGB16_SNORM_EXT:GLenum;readonly RGBA16_EXT:GLenum;readonly RGBA16_SNORM_EXT:GLenum;}interface ErrorEvent extends Event{readonly colno:number;readonly error:any;readonly filename:string;readonly lineno:number;readonly message:string;}declare var ErrorEvent:{prototype:ErrorEvent;new(type:string,eventInitDict?:ErrorEventInit):ErrorEvent;};interface Event{readonly bubbles:boolean;cancelBubble:boolean;readonly cancelable:boolean;readonly composed:boolean;readonly currentTarget:EventTarget|null;readonly defaultPrevented:boolean;readonly eventPhase:number;readonly isTrusted:boolean;returnValue:boolean;readonly srcElement:EventTarget|null;readonly target:EventTarget|null;readonly timeStamp:DOMHighResTimeStamp;readonly type:string;composedPath():EventTarget[];initEvent(type:string,bubbles?:boolean,cancelable?:boolean):void;preventDefault():void;stopImmediatePropagation():void;stopPropagation():void;readonly AT_TARGET:number;readonly BUBBLING_PHASE:number;readonly CAPTURING_PHASE:number;readonly NONE:number;}declare var Event:{prototype:Event;new(type:string,eventInitDict?:EventInit):Event;readonly AT_TARGET:number;readonly BUBBLING_PHASE:number;readonly CAPTURING_PHASE:number;readonly NONE:number;};interface EventListener{(evt:Event):void;}interface EventListenerObject{handleEvent(object:Event):void;}interface EventSourceEventMap{"error":Event;"message":MessageEvent;"open":Event;}interface EventSource extends EventTarget{onerror:((this:EventSource,ev:Event)=>any)|null;onmessage:((this:EventSource,ev:MessageEvent)=>any)|null;onopen:((this:EventSource,ev:Event)=>any)|null;readonly readyState:number;readonly url:string;readonly withCredentials:boolean;close():void;readonly CLOSED:number;readonly CONNECTING:number;readonly OPEN:number;addEventListener<K extends keyof EventSourceEventMap>(type:K,listener:(this:EventSource,ev:EventSourceEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:(this:EventSource,event:MessageEvent)=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof EventSourceEventMap>(type:K,listener:(this:EventSource,ev:EventSourceEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:(this:EventSource,event:MessageEvent)=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var EventSource:{prototype:EventSource;new(url:string|URL,eventSourceInitDict?:EventSourceInit):EventSource;readonly CLOSED:number;readonly CONNECTING:number;readonly OPEN:number;};interface EventTarget{addEventListener(type:string,callback:EventListenerOrEventListenerObject|null,options?:AddEventListenerOptions|boolean):void;dispatchEvent(event:Event):boolean;removeEventListener(type:string,callback:EventListenerOrEventListenerObject|null,options?:EventListenerOptions|boolean):void;}declare var EventTarget:{prototype:EventTarget;new():EventTarget;};interface ExtendableEvent extends Event{waitUntil(f:Promise<any>):void;}declare var ExtendableEvent:{prototype:ExtendableEvent;new(type:string,eventInitDict?:ExtendableEventInit):ExtendableEvent;};interface ExtendableMessageEvent extends ExtendableEvent{readonly data:any;readonly lastEventId:string;readonly origin:string;readonly ports:ReadonlyArray<MessagePort>;readonly source:Client|ServiceWorker|MessagePort|null;}declare var ExtendableMessageEvent:{prototype:ExtendableMessageEvent;new(type:string,eventInitDict?:ExtendableMessageEventInit):ExtendableMessageEvent;};interface FetchEvent extends ExtendableEvent{readonly clientId:string;readonly handled:Promise<undefined>;readonly preloadResponse:Promise<any>;readonly request:Request;readonly resultingClientId:string;respondWith(r:Response|PromiseLike<Response>):void;}declare var FetchEvent:{prototype:FetchEvent;new(type:string,eventInitDict:FetchEventInit):FetchEvent;};interface File extends Blob{readonly lastModified:number;readonly name:string;readonly webkitRelativePath:string;}declare var File:{prototype:File;new(fileBits:BlobPart[],fileName:string,options?:FilePropertyBag):File;};interface FileList{readonly length:number;item(index:number):File|null;[index:number]:File;}declare var FileList:{prototype:FileList;new():FileList;};interface FileReaderEventMap{"abort":ProgressEvent<FileReader>;"error":ProgressEvent<FileReader>;"load":ProgressEvent<FileReader>;"loadend":ProgressEvent<FileReader>;"loadstart":ProgressEvent<FileReader>;"progress":ProgressEvent<FileReader>;}interface FileReader extends EventTarget{readonly error:DOMException|null;onabort:((this:FileReader,ev:ProgressEvent<FileReader>)=>any)|null;onerror:((this:FileReader,ev:ProgressEvent<FileReader>)=>any)|null;onload:((this:FileReader,ev:ProgressEvent<FileReader>)=>any)|null;onloadend:((this:FileReader,ev:ProgressEvent<FileReader>)=>any)|null;onloadstart:((this:FileReader,ev:ProgressEvent<FileReader>)=>any)|null;onprogress:((this:FileReader,ev:ProgressEvent<FileReader>)=>any)|null;readonly readyState:number;readonly result:string|ArrayBuffer|null;abort():void;readAsArrayBuffer(blob:Blob):void;readAsBinaryString(blob:Blob):void;readAsDataURL(blob:Blob):void;readAsText(blob:Blob,encoding?:string):void;readonly DONE:number;readonly EMPTY:number;readonly LOADING:number;addEventListener<K extends keyof FileReaderEventMap>(type:K,listener:(this:FileReader,ev:FileReaderEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof FileReaderEventMap>(type:K,listener:(this:FileReader,ev:FileReaderEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var FileReader:{prototype:FileReader;new():FileReader;readonly DONE:number;readonly EMPTY:number;readonly LOADING:number;};interface FileReaderSync{readAsArrayBuffer(blob:Blob):ArrayBuffer;readAsBinaryString(blob:Blob):string;readAsDataURL(blob:Blob):string;readAsText(blob:Blob,encoding?:string):string;}declare var FileReaderSync:{prototype:FileReaderSync;new():FileReaderSync;};interface FileSystemDirectoryHandle extends FileSystemHandle{readonly kind:"directory";getDirectoryHandle(name:string,options?:FileSystemGetDirectoryOptions):Promise<FileSystemDirectoryHandle>;getFileHandle(name:string,options?:FileSystemGetFileOptions):Promise<FileSystemFileHandle>;removeEntry(name:string,options?:FileSystemRemoveOptions):Promise<void>;resolve(possibleDescendant:FileSystemHandle):Promise<string[]|null>;}declare var FileSystemDirectoryHandle:{prototype:FileSystemDirectoryHandle;new():FileSystemDirectoryHandle;};interface FileSystemFileHandle extends FileSystemHandle{readonly kind:"file";getFile():Promise<File>;}declare var FileSystemFileHandle:{prototype:FileSystemFileHandle;new():FileSystemFileHandle;};interface FileSystemHandle{readonly kind:FileSystemHandleKind;readonly name:string;isSameEntry(other:FileSystemHandle):Promise<boolean>;}declare var FileSystemHandle:{prototype:FileSystemHandle;new():FileSystemHandle;};interface FontFace{ascentOverride:string;descentOverride:string;display:string;family:string;featureSettings:string;lineGapOverride:string;readonly loaded:Promise<FontFace>;readonly status:FontFaceLoadStatus;stretch:string;style:string;unicodeRange:string;variant:string;variationSettings:string;weight:string;load():Promise<FontFace>;}declare var FontFace:{prototype:FontFace;new(family:string,source:string|BinaryData,descriptors?:FontFaceDescriptors):FontFace;};interface FontFaceSetEventMap{"loading":Event;"loadingdone":Event;"loadingerror":Event;}interface FontFaceSet extends EventTarget{onloading:((this:FontFaceSet,ev:Event)=>any)|null;onloadingdone:((this:FontFaceSet,ev:Event)=>any)|null;onloadingerror:((this:FontFaceSet,ev:Event)=>any)|null;readonly ready:Promise<FontFaceSet>;readonly status:FontFaceSetLoadStatus;check(font:string,text?:string):boolean;load(font:string,text?:string):Promise<FontFace[]>;forEach(callbackfn:(value:FontFace,key:FontFace,parent:FontFaceSet)=>void,thisArg?:any):void;addEventListener<K extends keyof FontFaceSetEventMap>(type:K,listener:(this:FontFaceSet,ev:FontFaceSetEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof FontFaceSetEventMap>(type:K,listener:(this:FontFaceSet,ev:FontFaceSetEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var FontFaceSet:{prototype:FontFaceSet;new(initialFaces:FontFace[]):FontFaceSet;};interface FontFaceSetLoadEvent extends Event{readonly fontfaces:ReadonlyArray<FontFace>;}declare var FontFaceSetLoadEvent:{prototype:FontFaceSetLoadEvent;new(type:string,eventInitDict?:FontFaceSetLoadEventInit):FontFaceSetLoadEvent;};interface FontFaceSource{readonly fonts:FontFaceSet;}interface FormData{append(name:string,value:string|Blob,fileName?:string):void;delete(name:string):void;get(name:string):FormDataEntryValue|null;getAll(name:string):FormDataEntryValue[];has(name:string):boolean;set(name:string,value:string|Blob,fileName?:string):void;forEach(callbackfn:(value:FormDataEntryValue,key:string,parent:FormData)=>void,thisArg?:any):void;}declare var FormData:{prototype:FormData;new():FormData;};interface GenericTransformStream{readonly readable:ReadableStream;readonly writable:WritableStream;}interface Headers{append(name:string,value:string):void;delete(name:string):void;get(name:string):string|null;has(name:string):boolean;set(name:string,value:string):void;forEach(callbackfn:(value:string,key:string,parent:Headers)=>void,thisArg?:any):void;}declare var Headers:{prototype:Headers;new(init?:HeadersInit):Headers;};interface IDBCursor{readonly direction:IDBCursorDirection;readonly key:IDBValidKey;readonly primaryKey:IDBValidKey;readonly request:IDBRequest;readonly source:IDBObjectStore|IDBIndex;advance(count:number):void;continue(key?:IDBValidKey):void;continuePrimaryKey(key:IDBValidKey,primaryKey:IDBValidKey):void;delete():IDBRequest<undefined>;update(value:any):IDBRequest<IDBValidKey>;}declare var IDBCursor:{prototype:IDBCursor;new():IDBCursor;};interface IDBCursorWithValue extends IDBCursor{readonly value:any;}declare var IDBCursorWithValue:{prototype:IDBCursorWithValue;new():IDBCursorWithValue;};interface IDBDatabaseEventMap{"abort":Event;"close":Event;"error":Event;"versionchange":IDBVersionChangeEvent;}interface IDBDatabase extends EventTarget{readonly name:string;readonly objectStoreNames:DOMStringList;onabort:((this:IDBDatabase,ev:Event)=>any)|null;onclose:((this:IDBDatabase,ev:Event)=>any)|null;onerror:((this:IDBDatabase,ev:Event)=>any)|null;onversionchange:((this:IDBDatabase,ev:IDBVersionChangeEvent)=>any)|null;readonly version:number;close():void;createObjectStore(name:string,options?:IDBObjectStoreParameters):IDBObjectStore;deleteObjectStore(name:string):void;transaction(storeNames:string|string[],mode?:IDBTransactionMode,options?:IDBTransactionOptions):IDBTransaction;addEventListener<K extends keyof IDBDatabaseEventMap>(type:K,listener:(this:IDBDatabase,ev:IDBDatabaseEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof IDBDatabaseEventMap>(type:K,listener:(this:IDBDatabase,ev:IDBDatabaseEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var IDBDatabase:{prototype:IDBDatabase;new():IDBDatabase;};interface IDBFactory{cmp(first:any,second:any):number;databases():Promise<IDBDatabaseInfo[]>;deleteDatabase(name:string):IDBOpenDBRequest;open(name:string,version?:number):IDBOpenDBRequest;}declare var IDBFactory:{prototype:IDBFactory;new():IDBFactory;};interface IDBIndex{readonly keyPath:string|string[];readonly multiEntry:boolean;name:string;readonly objectStore:IDBObjectStore;readonly unique:boolean;count(query?:IDBValidKey|IDBKeyRange):IDBRequest<number>;get(query:IDBValidKey|IDBKeyRange):IDBRequest<any>;getAll(query?:IDBValidKey|IDBKeyRange|null,count?:number):IDBRequest<any[]>;getAllKeys(query?:IDBValidKey|IDBKeyRange|null,count?:number):IDBRequest<IDBValidKey[]>;getKey(query:IDBValidKey|IDBKeyRange):IDBRequest<IDBValidKey|undefined>;openCursor(query?:IDBValidKey|IDBKeyRange|null,direction?:IDBCursorDirection):IDBRequest<IDBCursorWithValue|null>;openKeyCursor(query?:IDBValidKey|IDBKeyRange|null,direction?:IDBCursorDirection):IDBRequest<IDBCursor|null>;}declare var IDBIndex:{prototype:IDBIndex;new():IDBIndex;};interface IDBKeyRange{readonly lower:any;readonly lowerOpen:boolean;readonly upper:any;readonly upperOpen:boolean;includes(key:any):boolean;}declare var IDBKeyRange:{prototype:IDBKeyRange;new():IDBKeyRange;bound(lower:any,upper:any,lowerOpen?:boolean,upperOpen?:boolean):IDBKeyRange;lowerBound(lower:any,open?:boolean):IDBKeyRange;only(value:any):IDBKeyRange;upperBound(upper:any,open?:boolean):IDBKeyRange;};interface IDBObjectStore{readonly autoIncrement:boolean;readonly indexNames:DOMStringList;readonly keyPath:string|string[];name:string;readonly transaction:IDBTransaction;add(value:any,key?:IDBValidKey):IDBRequest<IDBValidKey>;clear():IDBRequest<undefined>;count(query?:IDBValidKey|IDBKeyRange):IDBRequest<number>;createIndex(name:string,keyPath:string|string[],options?:IDBIndexParameters):IDBIndex;delete(query:IDBValidKey|IDBKeyRange):IDBRequest<undefined>;deleteIndex(name:string):void;get(query:IDBValidKey|IDBKeyRange):IDBRequest<any>;getAll(query?:IDBValidKey|IDBKeyRange|null,count?:number):IDBRequest<any[]>;getAllKeys(query?:IDBValidKey|IDBKeyRange|null,count?:number):IDBRequest<IDBValidKey[]>;getKey(query:IDBValidKey|IDBKeyRange):IDBRequest<IDBValidKey|undefined>;index(name:string):IDBIndex;openCursor(query?:IDBValidKey|IDBKeyRange|null,direction?:IDBCursorDirection):IDBRequest<IDBCursorWithValue|null>;openKeyCursor(query?:IDBValidKey|IDBKeyRange|null,direction?:IDBCursorDirection):IDBRequest<IDBCursor|null>;put(value:any,key?:IDBValidKey):IDBRequest<IDBValidKey>;}declare var IDBObjectStore:{prototype:IDBObjectStore;new():IDBObjectStore;};interface IDBOpenDBRequestEventMap extends IDBRequestEventMap{"blocked":IDBVersionChangeEvent;"upgradeneeded":IDBVersionChangeEvent;}interface IDBOpenDBRequest extends IDBRequest<IDBDatabase>{onblocked:((this:IDBOpenDBRequest,ev:IDBVersionChangeEvent)=>any)|null;onupgradeneeded:((this:IDBOpenDBRequest,ev:IDBVersionChangeEvent)=>any)|null;addEventListener<K extends keyof IDBOpenDBRequestEventMap>(type:K,listener:(this:IDBOpenDBRequest,ev:IDBOpenDBRequestEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof IDBOpenDBRequestEventMap>(type:K,listener:(this:IDBOpenDBRequest,ev:IDBOpenDBRequestEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var IDBOpenDBRequest:{prototype:IDBOpenDBRequest;new():IDBOpenDBRequest;};interface IDBRequestEventMap{"error":Event;"success":Event;}interface IDBRequest<T=any>extends EventTarget{readonly error:DOMException|null;onerror:((this:IDBRequest<T>,ev:Event)=>any)|null;onsuccess:((this:IDBRequest<T>,ev:Event)=>any)|null;readonly readyState:IDBRequestReadyState;readonly result:T;readonly source:IDBObjectStore|IDBIndex|IDBCursor;readonly transaction:IDBTransaction|null;addEventListener<K extends keyof IDBRequestEventMap>(type:K,listener:(this:IDBRequest<T>,ev:IDBRequestEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof IDBRequestEventMap>(type:K,listener:(this:IDBRequest<T>,ev:IDBRequestEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var IDBRequest:{prototype:IDBRequest;new():IDBRequest;};interface IDBTransactionEventMap{"abort":Event;"complete":Event;"error":Event;}interface IDBTransaction extends EventTarget{readonly db:IDBDatabase;readonly durability:IDBTransactionDurability;readonly error:DOMException|null;readonly mode:IDBTransactionMode;readonly objectStoreNames:DOMStringList;onabort:((this:IDBTransaction,ev:Event)=>any)|null;oncomplete:((this:IDBTransaction,ev:Event)=>any)|null;onerror:((this:IDBTransaction,ev:Event)=>any)|null;abort():void;commit():void;objectStore(name:string):IDBObjectStore;addEventListener<K extends keyof IDBTransactionEventMap>(type:K,listener:(this:IDBTransaction,ev:IDBTransactionEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof IDBTransactionEventMap>(type:K,listener:(this:IDBTransaction,ev:IDBTransactionEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var IDBTransaction:{prototype:IDBTransaction;new():IDBTransaction;};interface IDBVersionChangeEvent extends Event{readonly newVersion:number|null;readonly oldVersion:number;}declare var IDBVersionChangeEvent:{prototype:IDBVersionChangeEvent;new(type:string,eventInitDict?:IDBVersionChangeEventInit):IDBVersionChangeEvent;};interface ImageBitmap{readonly height:number;readonly width:number;close():void;}declare var ImageBitmap:{prototype:ImageBitmap;new():ImageBitmap;};interface ImageBitmapRenderingContext{transferFromImageBitmap(bitmap:ImageBitmap|null):void;}declare var ImageBitmapRenderingContext:{prototype:ImageBitmapRenderingContext;new():ImageBitmapRenderingContext;};interface ImageData{readonly colorSpace:PredefinedColorSpace;readonly data:Uint8ClampedArray;readonly height:number;readonly width:number;}declare var ImageData:{prototype:ImageData;new(sw:number,sh:number,settings?:ImageDataSettings):ImageData;new(data:Uint8ClampedArray,sw:number,sh?:number,settings?:ImageDataSettings):ImageData;};interface KHR_parallel_shader_compile{readonly COMPLETION_STATUS_KHR:GLenum;}interface Lock{readonly mode:LockMode;readonly name:string;}declare var Lock:{prototype:Lock;new():Lock;};interface LockManager{query():Promise<LockManagerSnapshot>;request(name:string,callback:LockGrantedCallback):Promise<any>;request(name:string,options:LockOptions,callback:LockGrantedCallback):Promise<any>;}declare var LockManager:{prototype:LockManager;new():LockManager;};interface MediaCapabilities{decodingInfo(configuration:MediaDecodingConfiguration):Promise<MediaCapabilitiesDecodingInfo>;encodingInfo(configuration:MediaEncodingConfiguration):Promise<MediaCapabilitiesEncodingInfo>;}declare var MediaCapabilities:{prototype:MediaCapabilities;new():MediaCapabilities;};interface MessageChannel{readonly port1:MessagePort;readonly port2:MessagePort;}declare var MessageChannel:{prototype:MessageChannel;new():MessageChannel;};interface MessageEvent<T=any>extends Event{readonly data:T;readonly lastEventId:string;readonly origin:string;readonly ports:ReadonlyArray<MessagePort>;readonly source:MessageEventSource|null;initMessageEvent(type:string,bubbles?:boolean,cancelable?:boolean,data?:any,origin?:string,lastEventId?:string,source?:MessageEventSource|null,ports?:MessagePort[]):void;}declare var MessageEvent:{prototype:MessageEvent;new<T>(type:string,eventInitDict?:MessageEventInit<T>):MessageEvent<T>;};interface MessagePortEventMap{"message":MessageEvent;"messageerror":MessageEvent;}interface MessagePort extends EventTarget{onmessage:((this:MessagePort,ev:MessageEvent)=>any)|null;onmessageerror:((this:MessagePort,ev:MessageEvent)=>any)|null;close():void;postMessage(message:any,transfer:Transferable[]):void;postMessage(message:any,options?:StructuredSerializeOptions):void;start():void;addEventListener<K extends keyof MessagePortEventMap>(type:K,listener:(this:MessagePort,ev:MessagePortEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof MessagePortEventMap>(type:K,listener:(this:MessagePort,ev:MessagePortEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var MessagePort:{prototype:MessagePort;new():MessagePort;};interface NavigationPreloadManager{disable():Promise<void>;enable():Promise<void>;getState():Promise<NavigationPreloadState>;setHeaderValue(value:string):Promise<void>;}declare var NavigationPreloadManager:{prototype:NavigationPreloadManager;new():NavigationPreloadManager;};interface NavigatorConcurrentHardware{readonly hardwareConcurrency:number;}interface NavigatorID{readonly appCodeName:string;readonly appName:string;readonly appVersion:string;readonly platform:string;readonly product:string;readonly userAgent:string;}interface NavigatorLanguage{readonly language:string;readonly languages:ReadonlyArray<string>;}interface NavigatorLocks{readonly locks:LockManager;}interface NavigatorOnLine{readonly onLine:boolean;}interface NavigatorStorage{readonly storage:StorageManager;}interface NotificationEventMap{"click":Event;"close":Event;"error":Event;"show":Event;}interface Notification extends EventTarget{readonly body:string;readonly data:any;readonly dir:NotificationDirection;readonly icon:string;readonly lang:string;onclick:((this:Notification,ev:Event)=>any)|null;onclose:((this:Notification,ev:Event)=>any)|null;onerror:((this:Notification,ev:Event)=>any)|null;onshow:((this:Notification,ev:Event)=>any)|null;readonly tag:string;readonly title:string;close():void;addEventListener<K extends keyof NotificationEventMap>(type:K,listener:(this:Notification,ev:NotificationEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof NotificationEventMap>(type:K,listener:(this:Notification,ev:NotificationEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var Notification:{prototype:Notification;new(title:string,options?:NotificationOptions):Notification;readonly permission:NotificationPermission;};interface NotificationEvent extends ExtendableEvent{readonly action:string;readonly notification:Notification;}declare var NotificationEvent:{prototype:NotificationEvent;new(type:string,eventInitDict:NotificationEventInit):NotificationEvent;};interface OES_draw_buffers_indexed{blendEquationSeparateiOES(buf:GLuint,modeRGB:GLenum,modeAlpha:GLenum):void;blendEquationiOES(buf:GLuint,mode:GLenum):void;blendFuncSeparateiOES(buf:GLuint,srcRGB:GLenum,dstRGB:GLenum,srcAlpha:GLenum,dstAlpha:GLenum):void;blendFunciOES(buf:GLuint,src:GLenum,dst:GLenum):void;colorMaskiOES(buf:GLuint,r:GLboolean,g:GLboolean,b:GLboolean,a:GLboolean):void;disableiOES(target:GLenum,index:GLuint):void;enableiOES(target:GLenum,index:GLuint):void;}interface OES_element_index_uint{}interface OES_fbo_render_mipmap{}interface OES_standard_derivatives{readonly FRAGMENT_SHADER_DERIVATIVE_HINT_OES:GLenum;}interface OES_texture_float{}interface OES_texture_float_linear{}interface OES_texture_half_float{readonly HALF_FLOAT_OES:GLenum;}interface OES_texture_half_float_linear{}interface OES_vertex_array_object{bindVertexArrayOES(arrayObject:WebGLVertexArrayObjectOES|null):void;createVertexArrayOES():WebGLVertexArrayObjectOES|null;deleteVertexArrayOES(arrayObject:WebGLVertexArrayObjectOES|null):void;isVertexArrayOES(arrayObject:WebGLVertexArrayObjectOES|null):GLboolean;readonly VERTEX_ARRAY_BINDING_OES:GLenum;}interface OVR_multiview2{framebufferTextureMultiviewOVR(target:GLenum,attachment:GLenum,texture:WebGLTexture|null,level:GLint,baseViewIndex:GLint,numViews:GLsizei):void;readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_BASE_VIEW_INDEX_OVR:GLenum;readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_NUM_VIEWS_OVR:GLenum;readonly FRAMEBUFFER_INCOMPLETE_VIEW_TARGETS_OVR:GLenum;readonly MAX_VIEWS_OVR:GLenum;}interface OffscreenCanvasEventMap{"contextlost":Event;"contextrestored":Event;}interface OffscreenCanvas extends EventTarget{height:number;oncontextlost:((this:OffscreenCanvas,ev:Event)=>any)|null;oncontextrestored:((this:OffscreenCanvas,ev:Event)=>any)|null;width:number;getContext(contextId:OffscreenRenderingContextId,options?:any):OffscreenRenderingContext|null;transferToImageBitmap():ImageBitmap;addEventListener<K extends keyof OffscreenCanvasEventMap>(type:K,listener:(this:OffscreenCanvas,ev:OffscreenCanvasEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof OffscreenCanvasEventMap>(type:K,listener:(this:OffscreenCanvas,ev:OffscreenCanvasEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var OffscreenCanvas:{prototype:OffscreenCanvas;new(width:number,height:number):OffscreenCanvas;};interface OffscreenCanvasRenderingContext2D extends CanvasCompositing,CanvasDrawImage,CanvasDrawPath,CanvasFillStrokeStyles,CanvasFilters,CanvasImageData,CanvasImageSmoothing,CanvasPath,CanvasPathDrawingStyles,CanvasRect,CanvasShadowStyles,CanvasState,CanvasText,CanvasTextDrawingStyles,CanvasTransform{readonly canvas:OffscreenCanvas;commit():void;}declare var OffscreenCanvasRenderingContext2D:{prototype:OffscreenCanvasRenderingContext2D;new():OffscreenCanvasRenderingContext2D;};interface Path2D extends CanvasPath{addPath(path:Path2D,transform?:DOMMatrix2DInit):void;}declare var Path2D:{prototype:Path2D;new(path?:Path2D|string):Path2D;};interface PerformanceEventMap{"resourcetimingbufferfull":Event;}interface Performance extends EventTarget{onresourcetimingbufferfull:((this:Performance,ev:Event)=>any)|null;readonly timeOrigin:DOMHighResTimeStamp;clearMarks(markName?:string):void;clearMeasures(measureName?:string):void;clearResourceTimings():void;getEntries():PerformanceEntryList;getEntriesByName(name:string,type?:string):PerformanceEntryList;getEntriesByType(type:string):PerformanceEntryList;mark(markName:string,markOptions?:PerformanceMarkOptions):PerformanceMark;measure(measureName:string,startOrMeasureOptions?:string|PerformanceMeasureOptions,endMark?:string):PerformanceMeasure;now():DOMHighResTimeStamp;setResourceTimingBufferSize(maxSize:number):void;toJSON():any;addEventListener<K extends keyof PerformanceEventMap>(type:K,listener:(this:Performance,ev:PerformanceEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof PerformanceEventMap>(type:K,listener:(this:Performance,ev:PerformanceEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var Performance:{prototype:Performance;new():Performance;};interface PerformanceEntry{readonly duration:DOMHighResTimeStamp;readonly entryType:string;readonly name:string;readonly startTime:DOMHighResTimeStamp;toJSON():any;}declare var PerformanceEntry:{prototype:PerformanceEntry;new():PerformanceEntry;};interface PerformanceMark extends PerformanceEntry{readonly detail:any;}declare var PerformanceMark:{prototype:PerformanceMark;new(markName:string,markOptions?:PerformanceMarkOptions):PerformanceMark;};interface PerformanceMeasure extends PerformanceEntry{readonly detail:any;}declare var PerformanceMeasure:{prototype:PerformanceMeasure;new():PerformanceMeasure;};interface PerformanceObserver{disconnect():void;observe(options?:PerformanceObserverInit):void;takeRecords():PerformanceEntryList;}declare var PerformanceObserver:{prototype:PerformanceObserver;new(callback:PerformanceObserverCallback):PerformanceObserver;readonly supportedEntryTypes:ReadonlyArray<string>;};interface PerformanceObserverEntryList{getEntries():PerformanceEntryList;getEntriesByName(name:string,type?:string):PerformanceEntryList;getEntriesByType(type:string):PerformanceEntryList;}declare var PerformanceObserverEntryList:{prototype:PerformanceObserverEntryList;new():PerformanceObserverEntryList;};interface PerformanceResourceTiming extends PerformanceEntry{readonly connectEnd:DOMHighResTimeStamp;readonly connectStart:DOMHighResTimeStamp;readonly decodedBodySize:number;readonly domainLookupEnd:DOMHighResTimeStamp;readonly domainLookupStart:DOMHighResTimeStamp;readonly encodedBodySize:number;readonly fetchStart:DOMHighResTimeStamp;readonly initiatorType:string;readonly nextHopProtocol:string;readonly redirectEnd:DOMHighResTimeStamp;readonly redirectStart:DOMHighResTimeStamp;readonly requestStart:DOMHighResTimeStamp;readonly responseEnd:DOMHighResTimeStamp;readonly responseStart:DOMHighResTimeStamp;readonly secureConnectionStart:DOMHighResTimeStamp;readonly serverTiming:ReadonlyArray<PerformanceServerTiming>;readonly transferSize:number;readonly workerStart:DOMHighResTimeStamp;toJSON():any;}declare var PerformanceResourceTiming:{prototype:PerformanceResourceTiming;new():PerformanceResourceTiming;};interface PerformanceServerTiming{readonly description:string;readonly duration:DOMHighResTimeStamp;readonly name:string;toJSON():any;}declare var PerformanceServerTiming:{prototype:PerformanceServerTiming;new():PerformanceServerTiming;};interface PermissionStatusEventMap{"change":Event;}interface PermissionStatus extends EventTarget{readonly name:string;onchange:((this:PermissionStatus,ev:Event)=>any)|null;readonly state:PermissionState;addEventListener<K extends keyof PermissionStatusEventMap>(type:K,listener:(this:PermissionStatus,ev:PermissionStatusEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof PermissionStatusEventMap>(type:K,listener:(this:PermissionStatus,ev:PermissionStatusEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var PermissionStatus:{prototype:PermissionStatus;new():PermissionStatus;};interface Permissions{query(permissionDesc:PermissionDescriptor):Promise<PermissionStatus>;}declare var Permissions:{prototype:Permissions;new():Permissions;};interface ProgressEvent<T extends EventTarget=EventTarget>extends Event{readonly lengthComputable:boolean;readonly loaded:number;readonly target:T|null;readonly total:number;}declare var ProgressEvent:{prototype:ProgressEvent;new(type:string,eventInitDict?:ProgressEventInit):ProgressEvent;};interface PromiseRejectionEvent extends Event{readonly promise:Promise<any>;readonly reason:any;}declare var PromiseRejectionEvent:{prototype:PromiseRejectionEvent;new(type:string,eventInitDict:PromiseRejectionEventInit):PromiseRejectionEvent;};interface PushEvent extends ExtendableEvent{readonly data:PushMessageData|null;}declare var PushEvent:{prototype:PushEvent;new(type:string,eventInitDict?:PushEventInit):PushEvent;};interface PushManager{getSubscription():Promise<PushSubscription|null>;permissionState(options?:PushSubscriptionOptionsInit):Promise<PermissionState>;subscribe(options?:PushSubscriptionOptionsInit):Promise<PushSubscription>;}declare var PushManager:{prototype:PushManager;new():PushManager;readonly supportedContentEncodings:ReadonlyArray<string>;};interface PushMessageData{arrayBuffer():ArrayBuffer;blob():Blob;json():any;text():string;}declare var PushMessageData:{prototype:PushMessageData;new():PushMessageData;};interface PushSubscription{readonly endpoint:string;readonly expirationTime:EpochTimeStamp|null;readonly options:PushSubscriptionOptions;getKey(name:PushEncryptionKeyName):ArrayBuffer|null;toJSON():PushSubscriptionJSON;unsubscribe():Promise<boolean>;}declare var PushSubscription:{prototype:PushSubscription;new():PushSubscription;};interface PushSubscriptionOptions{readonly applicationServerKey:ArrayBuffer|null;readonly userVisibleOnly:boolean;}declare var PushSubscriptionOptions:{prototype:PushSubscriptionOptions;new():PushSubscriptionOptions;};interface RTCEncodedAudioFrame{data:ArrayBuffer;readonly timestamp:number;getMetadata():RTCEncodedAudioFrameMetadata;}declare var RTCEncodedAudioFrame:{prototype:RTCEncodedAudioFrame;new():RTCEncodedAudioFrame;};interface RTCEncodedVideoFrame{data:ArrayBuffer;readonly timestamp:number;readonly type:RTCEncodedVideoFrameType;getMetadata():RTCEncodedVideoFrameMetadata;}declare var RTCEncodedVideoFrame:{prototype:RTCEncodedVideoFrame;new():RTCEncodedVideoFrame;};interface ReadableByteStreamController{readonly byobRequest:ReadableStreamBYOBRequest|null;readonly desiredSize:number|null;close():void;enqueue(chunk:ArrayBufferView):void;error(e?:any):void;}declare var ReadableByteStreamController:{prototype:ReadableByteStreamController;new():ReadableByteStreamController;};interface ReadableStream<R=any>{readonly locked:boolean;cancel(reason?:any):Promise<void>;getReader(options:{mode:"byob"}):ReadableStreamBYOBReader;getReader():ReadableStreamDefaultReader<R>;getReader(options?:ReadableStreamGetReaderOptions):ReadableStreamReader<R>;pipeThrough<T>(transform:ReadableWritablePair<T,R>,options?:StreamPipeOptions):ReadableStream<T>;pipeTo(destination:WritableStream<R>,options?:StreamPipeOptions):Promise<void>;tee():[ReadableStream<R>,ReadableStream<R>];}declare var ReadableStream:{prototype:ReadableStream;new(underlyingSource:UnderlyingByteSource,strategy?:{highWaterMark?:number}):ReadableStream<Uint8Array>;new<R=any>(underlyingSource:UnderlyingDefaultSource<R>,strategy?:QueuingStrategy<R>):ReadableStream<R>;new<R=any>(underlyingSource?:UnderlyingSource<R>,strategy?:QueuingStrategy<R>):ReadableStream<R>;};interface ReadableStreamBYOBReader extends ReadableStreamGenericReader{read<T extends ArrayBufferView>(view:T):Promise<ReadableStreamReadResult<T>>;releaseLock():void;}declare var ReadableStreamBYOBReader:{prototype:ReadableStreamBYOBReader;new(stream:ReadableStream):ReadableStreamBYOBReader;};interface ReadableStreamBYOBRequest{readonly view:ArrayBufferView|null;respond(bytesWritten:number):void;respondWithNewView(view:ArrayBufferView):void;}declare var ReadableStreamBYOBRequest:{prototype:ReadableStreamBYOBRequest;new():ReadableStreamBYOBRequest;};interface ReadableStreamDefaultController<R=any>{readonly desiredSize:number|null;close():void;enqueue(chunk?:R):void;error(e?:any):void;}declare var ReadableStreamDefaultController:{prototype:ReadableStreamDefaultController;new():ReadableStreamDefaultController;};interface ReadableStreamDefaultReader<R=any>extends ReadableStreamGenericReader{read():Promise<ReadableStreamReadResult<R>>;releaseLock():void;}declare var ReadableStreamDefaultReader:{prototype:ReadableStreamDefaultReader;new<R=any>(stream:ReadableStream<R>):ReadableStreamDefaultReader<R>;};interface ReadableStreamGenericReader{readonly closed:Promise<undefined>;cancel(reason?:any):Promise<void>;}interface Request extends Body{readonly cache:RequestCache;readonly credentials:RequestCredentials;readonly destination:RequestDestination;readonly headers:Headers;readonly integrity:string;readonly keepalive:boolean;readonly method:string;readonly mode:RequestMode;readonly redirect:RequestRedirect;readonly referrer:string;readonly referrerPolicy:ReferrerPolicy;readonly signal:AbortSignal;readonly url:string;clone():Request;}declare var Request:{prototype:Request;new(input:RequestInfo|URL,init?:RequestInit):Request;};interface Response extends Body{readonly headers:Headers;readonly ok:boolean;readonly redirected:boolean;readonly status:number;readonly statusText:string;readonly type:ResponseType;readonly url:string;clone():Response;}declare var Response:{prototype:Response;new(body?:BodyInit|null,init?:ResponseInit):Response;error():Response;redirect(url:string|URL,status?:number):Response;};interface SecurityPolicyViolationEvent extends Event{readonly blockedURI:string;readonly columnNumber:number;readonly disposition:SecurityPolicyViolationEventDisposition;readonly documentURI:string;readonly effectiveDirective:string;readonly lineNumber:number;readonly originalPolicy:string;readonly referrer:string;readonly sample:string;readonly sourceFile:string;readonly statusCode:number;readonly violatedDirective:string;}declare var SecurityPolicyViolationEvent:{prototype:SecurityPolicyViolationEvent;new(type:string,eventInitDict?:SecurityPolicyViolationEventInit):SecurityPolicyViolationEvent;};interface ServiceWorkerEventMap extends AbstractWorkerEventMap{"statechange":Event;}interface ServiceWorker extends EventTarget,AbstractWorker{onstatechange:((this:ServiceWorker,ev:Event)=>any)|null;readonly scriptURL:string;readonly state:ServiceWorkerState;postMessage(message:any,transfer:Transferable[]):void;postMessage(message:any,options?:StructuredSerializeOptions):void;addEventListener<K extends keyof ServiceWorkerEventMap>(type:K,listener:(this:ServiceWorker,ev:ServiceWorkerEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof ServiceWorkerEventMap>(type:K,listener:(this:ServiceWorker,ev:ServiceWorkerEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var ServiceWorker:{prototype:ServiceWorker;new():ServiceWorker;};interface ServiceWorkerContainerEventMap{"controllerchange":Event;"message":MessageEvent;"messageerror":MessageEvent;}interface ServiceWorkerContainer extends EventTarget{readonly controller:ServiceWorker|null;oncontrollerchange:((this:ServiceWorkerContainer,ev:Event)=>any)|null;onmessage:((this:ServiceWorkerContainer,ev:MessageEvent)=>any)|null;onmessageerror:((this:ServiceWorkerContainer,ev:MessageEvent)=>any)|null;readonly ready:Promise<ServiceWorkerRegistration>;getRegistration(clientURL?:string|URL):Promise<ServiceWorkerRegistration|undefined>;getRegistrations():Promise<ReadonlyArray<ServiceWorkerRegistration>>;register(scriptURL:string|URL,options?:RegistrationOptions):Promise<ServiceWorkerRegistration>;startMessages():void;addEventListener<K extends keyof ServiceWorkerContainerEventMap>(type:K,listener:(this:ServiceWorkerContainer,ev:ServiceWorkerContainerEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof ServiceWorkerContainerEventMap>(type:K,listener:(this:ServiceWorkerContainer,ev:ServiceWorkerContainerEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var ServiceWorkerContainer:{prototype:ServiceWorkerContainer;new():ServiceWorkerContainer;};interface ServiceWorkerGlobalScopeEventMap extends WorkerGlobalScopeEventMap{"activate":ExtendableEvent;"fetch":FetchEvent;"install":ExtendableEvent;"message":ExtendableMessageEvent;"messageerror":MessageEvent;"notificationclick":NotificationEvent;"notificationclose":NotificationEvent;"push":PushEvent;"pushsubscriptionchange":Event;}interface ServiceWorkerGlobalScope extends WorkerGlobalScope{readonly clients:Clients;onactivate:((this:ServiceWorkerGlobalScope,ev:ExtendableEvent)=>any)|null;onfetch:((this:ServiceWorkerGlobalScope,ev:FetchEvent)=>any)|null;oninstall:((this:ServiceWorkerGlobalScope,ev:ExtendableEvent)=>any)|null;onmessage:((this:ServiceWorkerGlobalScope,ev:ExtendableMessageEvent)=>any)|null;onmessageerror:((this:ServiceWorkerGlobalScope,ev:MessageEvent)=>any)|null;onnotificationclick:((this:ServiceWorkerGlobalScope,ev:NotificationEvent)=>any)|null;onnotificationclose:((this:ServiceWorkerGlobalScope,ev:NotificationEvent)=>any)|null;onpush:((this:ServiceWorkerGlobalScope,ev:PushEvent)=>any)|null;onpushsubscriptionchange:((this:ServiceWorkerGlobalScope,ev:Event)=>any)|null;readonly registration:ServiceWorkerRegistration;readonly serviceWorker:ServiceWorker;skipWaiting():Promise<void>;addEventListener<K extends keyof ServiceWorkerGlobalScopeEventMap>(type:K,listener:(this:ServiceWorkerGlobalScope,ev:ServiceWorkerGlobalScopeEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof ServiceWorkerGlobalScopeEventMap>(type:K,listener:(this:ServiceWorkerGlobalScope,ev:ServiceWorkerGlobalScopeEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var ServiceWorkerGlobalScope:{prototype:ServiceWorkerGlobalScope;new():ServiceWorkerGlobalScope;};interface ServiceWorkerRegistrationEventMap{"updatefound":Event;}interface ServiceWorkerRegistration extends EventTarget{readonly active:ServiceWorker|null;readonly installing:ServiceWorker|null;readonly navigationPreload:NavigationPreloadManager;onupdatefound:((this:ServiceWorkerRegistration,ev:Event)=>any)|null;readonly pushManager:PushManager;readonly scope:string;readonly updateViaCache:ServiceWorkerUpdateViaCache;readonly waiting:ServiceWorker|null;getNotifications(filter?:GetNotificationOptions):Promise<Notification[]>;showNotification(title:string,options?:NotificationOptions):Promise<void>;unregister():Promise<boolean>;update():Promise<void>;addEventListener<K extends keyof ServiceWorkerRegistrationEventMap>(type:K,listener:(this:ServiceWorkerRegistration,ev:ServiceWorkerRegistrationEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof ServiceWorkerRegistrationEventMap>(type:K,listener:(this:ServiceWorkerRegistration,ev:ServiceWorkerRegistrationEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var ServiceWorkerRegistration:{prototype:ServiceWorkerRegistration;new():ServiceWorkerRegistration;};interface SharedWorkerGlobalScopeEventMap extends WorkerGlobalScopeEventMap{"connect":MessageEvent;}interface SharedWorkerGlobalScope extends WorkerGlobalScope{readonly name:string;onconnect:((this:SharedWorkerGlobalScope,ev:MessageEvent)=>any)|null;close():void;addEventListener<K extends keyof SharedWorkerGlobalScopeEventMap>(type:K,listener:(this:SharedWorkerGlobalScope,ev:SharedWorkerGlobalScopeEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof SharedWorkerGlobalScopeEventMap>(type:K,listener:(this:SharedWorkerGlobalScope,ev:SharedWorkerGlobalScopeEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var SharedWorkerGlobalScope:{prototype:SharedWorkerGlobalScope;new():SharedWorkerGlobalScope;};interface StorageManager{estimate():Promise<StorageEstimate>;getDirectory():Promise<FileSystemDirectoryHandle>;persisted():Promise<boolean>;}declare var StorageManager:{prototype:StorageManager;new():StorageManager;};interface SubtleCrypto{decrypt(algorithm:AlgorithmIdentifier|RsaOaepParams|AesCtrParams|AesCbcParams|AesGcmParams,key:CryptoKey,data:BufferSource):Promise<ArrayBuffer>;deriveBits(algorithm:AlgorithmIdentifier|EcdhKeyDeriveParams|HkdfParams|Pbkdf2Params,baseKey:CryptoKey,length:number):Promise<ArrayBuffer>;deriveKey(algorithm:AlgorithmIdentifier|EcdhKeyDeriveParams|HkdfParams|Pbkdf2Params,baseKey:CryptoKey,derivedKeyType:AlgorithmIdentifier|AesDerivedKeyParams|HmacImportParams|HkdfParams|Pbkdf2Params,extractable:boolean,keyUsages:KeyUsage[]):Promise<CryptoKey>;digest(algorithm:AlgorithmIdentifier,data:BufferSource):Promise<ArrayBuffer>;encrypt(algorithm:AlgorithmIdentifier|RsaOaepParams|AesCtrParams|AesCbcParams|AesGcmParams,key:CryptoKey,data:BufferSource):Promise<ArrayBuffer>;exportKey(format:"jwk",key:CryptoKey):Promise<JsonWebKey>;exportKey(format:Exclude<KeyFormat,"jwk">,key:CryptoKey):Promise<ArrayBuffer>;generateKey(algorithm:RsaHashedKeyGenParams|EcKeyGenParams,extractable:boolean,keyUsages:ReadonlyArray<KeyUsage>):Promise<CryptoKeyPair>;generateKey(algorithm:AesKeyGenParams|HmacKeyGenParams|Pbkdf2Params,extractable:boolean,keyUsages:ReadonlyArray<KeyUsage>):Promise<CryptoKey>;generateKey(algorithm:AlgorithmIdentifier,extractable:boolean,keyUsages:KeyUsage[]):Promise<CryptoKeyPair|CryptoKey>;importKey(format:"jwk",keyData:JsonWebKey,algorithm:AlgorithmIdentifier|RsaHashedImportParams|EcKeyImportParams|HmacImportParams|AesKeyAlgorithm,extractable:boolean,keyUsages:ReadonlyArray<KeyUsage>):Promise<CryptoKey>;importKey(format:Exclude<KeyFormat,"jwk">,keyData:BufferSource,algorithm:AlgorithmIdentifier|RsaHashedImportParams|EcKeyImportParams|HmacImportParams|AesKeyAlgorithm,extractable:boolean,keyUsages:KeyUsage[]):Promise<CryptoKey>;sign(algorithm:AlgorithmIdentifier|RsaPssParams|EcdsaParams,key:CryptoKey,data:BufferSource):Promise<ArrayBuffer>;unwrapKey(format:KeyFormat,wrappedKey:BufferSource,unwrappingKey:CryptoKey,unwrapAlgorithm:AlgorithmIdentifier|RsaOaepParams|AesCtrParams|AesCbcParams|AesGcmParams,unwrappedKeyAlgorithm:AlgorithmIdentifier|RsaHashedImportParams|EcKeyImportParams|HmacImportParams|AesKeyAlgorithm,extractable:boolean,keyUsages:KeyUsage[]):Promise<CryptoKey>;verify(algorithm:AlgorithmIdentifier|RsaPssParams|EcdsaParams,key:CryptoKey,signature:BufferSource,data:BufferSource):Promise<boolean>;wrapKey(format:KeyFormat,key:CryptoKey,wrappingKey:CryptoKey,wrapAlgorithm:AlgorithmIdentifier|RsaOaepParams|AesCtrParams|AesCbcParams|AesGcmParams):Promise<ArrayBuffer>;}declare var SubtleCrypto:{prototype:SubtleCrypto;new():SubtleCrypto;};interface TextDecoder extends TextDecoderCommon{decode(input?:BufferSource,options?:TextDecodeOptions):string;}declare var TextDecoder:{prototype:TextDecoder;new(label?:string,options?:TextDecoderOptions):TextDecoder;};interface TextDecoderCommon{readonly encoding:string;readonly fatal:boolean;readonly ignoreBOM:boolean;}interface TextDecoderStream extends GenericTransformStream,TextDecoderCommon{readonly readable:ReadableStream<string>;readonly writable:WritableStream<BufferSource>;}declare var TextDecoderStream:{prototype:TextDecoderStream;new(label?:string,options?:TextDecoderOptions):TextDecoderStream;};interface TextEncoder extends TextEncoderCommon{encode(input?:string):Uint8Array;encodeInto(source:string,destination:Uint8Array):TextEncoderEncodeIntoResult;}declare var TextEncoder:{prototype:TextEncoder;new():TextEncoder;};interface TextEncoderCommon{readonly encoding:string;}interface TextEncoderStream extends GenericTransformStream,TextEncoderCommon{readonly readable:ReadableStream<Uint8Array>;readonly writable:WritableStream<string>;}declare var TextEncoderStream:{prototype:TextEncoderStream;new():TextEncoderStream;};interface TextMetrics{readonly actualBoundingBoxAscent:number;readonly actualBoundingBoxDescent:number;readonly actualBoundingBoxLeft:number;readonly actualBoundingBoxRight:number;readonly fontBoundingBoxAscent:number;readonly fontBoundingBoxDescent:number;readonly width:number;}declare var TextMetrics:{prototype:TextMetrics;new():TextMetrics;};interface TransformStream<I=any,O=any>{readonly readable:ReadableStream<O>;readonly writable:WritableStream<I>;}declare var TransformStream:{prototype:TransformStream;new<I=any,O=any>(transformer?:Transformer<I,O>,writableStrategy?:QueuingStrategy<I>,readableStrategy?:QueuingStrategy<O>):TransformStream<I,O>;};interface TransformStreamDefaultController<O=any>{readonly desiredSize:number|null;enqueue(chunk?:O):void;error(reason?:any):void;terminate():void;}declare var TransformStreamDefaultController:{prototype:TransformStreamDefaultController;new():TransformStreamDefaultController;};interface URL{hash:string;host:string;hostname:string;href:string;toString():string;readonly origin:string;password:string;pathname:string;port:string;protocol:string;search:string;readonly searchParams:URLSearchParams;username:string;toJSON():string;}declare var URL:{prototype:URL;new(url:string|URL,base?:string|URL):URL;createObjectURL(obj:Blob):string;revokeObjectURL(url:string):void;};interface URLSearchParams{append(name:string,value:string):void;delete(name:string):void;get(name:string):string|null;getAll(name:string):string[];has(name:string):boolean;set(name:string,value:string):void;sort():void;toString():string;forEach(callbackfn:(value:string,key:string,parent:URLSearchParams)=>void,thisArg?:any):void;}declare var URLSearchParams:{prototype:URLSearchParams;new(init?:string[][]|Record<string,string>|string|URLSearchParams):URLSearchParams;toString():string;};interface VideoColorSpace{readonly fullRange:boolean|null;readonly matrix:VideoMatrixCoefficients|null;readonly primaries:VideoColorPrimaries|null;readonly transfer:VideoTransferCharacteristics|null;toJSON():VideoColorSpaceInit;}declare var VideoColorSpace:{prototype:VideoColorSpace;new(init?:VideoColorSpaceInit):VideoColorSpace;};interface WEBGL_color_buffer_float{readonly FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT:GLenum;readonly RGBA32F_EXT:GLenum;readonly UNSIGNED_NORMALIZED_EXT:GLenum;}interface WEBGL_compressed_texture_astc{getSupportedProfiles():string[];readonly COMPRESSED_RGBA_ASTC_10x10_KHR:GLenum;readonly COMPRESSED_RGBA_ASTC_10x5_KHR:GLenum;readonly COMPRESSED_RGBA_ASTC_10x6_KHR:GLenum;readonly COMPRESSED_RGBA_ASTC_10x8_KHR:GLenum;readonly COMPRESSED_RGBA_ASTC_12x10_KHR:GLenum;readonly COMPRESSED_RGBA_ASTC_12x12_KHR:GLenum;readonly COMPRESSED_RGBA_ASTC_4x4_KHR:GLenum;readonly COMPRESSED_RGBA_ASTC_5x4_KHR:GLenum;readonly COMPRESSED_RGBA_ASTC_5x5_KHR:GLenum;readonly COMPRESSED_RGBA_ASTC_6x5_KHR:GLenum;readonly COMPRESSED_RGBA_ASTC_6x6_KHR:GLenum;readonly COMPRESSED_RGBA_ASTC_8x5_KHR:GLenum;readonly COMPRESSED_RGBA_ASTC_8x6_KHR:GLenum;readonly COMPRESSED_RGBA_ASTC_8x8_KHR:GLenum;readonly COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:GLenum;readonly COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:GLenum;readonly COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:GLenum;readonly COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:GLenum;readonly COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:GLenum;readonly COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:GLenum;readonly COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:GLenum;readonly COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:GLenum;readonly COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:GLenum;readonly COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:GLenum;readonly COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:GLenum;readonly COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:GLenum;readonly COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:GLenum;readonly COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:GLenum;}interface WEBGL_compressed_texture_etc{readonly COMPRESSED_R11_EAC:GLenum;readonly COMPRESSED_RG11_EAC:GLenum;readonly COMPRESSED_RGB8_ETC2:GLenum;readonly COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:GLenum;readonly COMPRESSED_RGBA8_ETC2_EAC:GLenum;readonly COMPRESSED_SIGNED_R11_EAC:GLenum;readonly COMPRESSED_SIGNED_RG11_EAC:GLenum;readonly COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:GLenum;readonly COMPRESSED_SRGB8_ETC2:GLenum;readonly COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:GLenum;}interface WEBGL_compressed_texture_etc1{readonly COMPRESSED_RGB_ETC1_WEBGL:GLenum;}interface WEBGL_compressed_texture_s3tc{readonly COMPRESSED_RGBA_S3TC_DXT1_EXT:GLenum;readonly COMPRESSED_RGBA_S3TC_DXT3_EXT:GLenum;readonly COMPRESSED_RGBA_S3TC_DXT5_EXT:GLenum;readonly COMPRESSED_RGB_S3TC_DXT1_EXT:GLenum;}interface WEBGL_compressed_texture_s3tc_srgb{readonly COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT:GLenum;readonly COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT:GLenum;readonly COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT:GLenum;readonly COMPRESSED_SRGB_S3TC_DXT1_EXT:GLenum;}interface WEBGL_debug_renderer_info{readonly UNMASKED_RENDERER_WEBGL:GLenum;readonly UNMASKED_VENDOR_WEBGL:GLenum;}interface WEBGL_debug_shaders{getTranslatedShaderSource(shader:WebGLShader):string;}interface WEBGL_depth_texture{readonly UNSIGNED_INT_24_8_WEBGL:GLenum;}interface WEBGL_draw_buffers{drawBuffersWEBGL(buffers:GLenum[]):void;readonly COLOR_ATTACHMENT0_WEBGL:GLenum;readonly COLOR_ATTACHMENT10_WEBGL:GLenum;readonly COLOR_ATTACHMENT11_WEBGL:GLenum;readonly COLOR_ATTACHMENT12_WEBGL:GLenum;readonly COLOR_ATTACHMENT13_WEBGL:GLenum;readonly COLOR_ATTACHMENT14_WEBGL:GLenum;readonly COLOR_ATTACHMENT15_WEBGL:GLenum;readonly COLOR_ATTACHMENT1_WEBGL:GLenum;readonly COLOR_ATTACHMENT2_WEBGL:GLenum;readonly COLOR_ATTACHMENT3_WEBGL:GLenum;readonly COLOR_ATTACHMENT4_WEBGL:GLenum;readonly COLOR_ATTACHMENT5_WEBGL:GLenum;readonly COLOR_ATTACHMENT6_WEBGL:GLenum;readonly COLOR_ATTACHMENT7_WEBGL:GLenum;readonly COLOR_ATTACHMENT8_WEBGL:GLenum;readonly COLOR_ATTACHMENT9_WEBGL:GLenum;readonly DRAW_BUFFER0_WEBGL:GLenum;readonly DRAW_BUFFER10_WEBGL:GLenum;readonly DRAW_BUFFER11_WEBGL:GLenum;readonly DRAW_BUFFER12_WEBGL:GLenum;readonly DRAW_BUFFER13_WEBGL:GLenum;readonly DRAW_BUFFER14_WEBGL:GLenum;readonly DRAW_BUFFER15_WEBGL:GLenum;readonly DRAW_BUFFER1_WEBGL:GLenum;readonly DRAW_BUFFER2_WEBGL:GLenum;readonly DRAW_BUFFER3_WEBGL:GLenum;readonly DRAW_BUFFER4_WEBGL:GLenum;readonly DRAW_BUFFER5_WEBGL:GLenum;readonly DRAW_BUFFER6_WEBGL:GLenum;readonly DRAW_BUFFER7_WEBGL:GLenum;readonly DRAW_BUFFER8_WEBGL:GLenum;readonly DRAW_BUFFER9_WEBGL:GLenum;readonly MAX_COLOR_ATTACHMENTS_WEBGL:GLenum;readonly MAX_DRAW_BUFFERS_WEBGL:GLenum;}interface WEBGL_lose_context{loseContext():void;restoreContext():void;}interface WEBGL_multi_draw{multiDrawArraysInstancedWEBGL(mode:GLenum,firstsList:Int32Array|GLint[],firstsOffset:GLuint,countsList:Int32Array|GLsizei[],countsOffset:GLuint,instanceCountsList:Int32Array|GLsizei[],instanceCountsOffset:GLuint,drawcount:GLsizei):void;multiDrawArraysWEBGL(mode:GLenum,firstsList:Int32Array|GLint[],firstsOffset:GLuint,countsList:Int32Array|GLsizei[],countsOffset:GLuint,drawcount:GLsizei):void;multiDrawElementsInstancedWEBGL(mode:GLenum,countsList:Int32Array|GLsizei[],countsOffset:GLuint,type:GLenum,offsetsList:Int32Array|GLsizei[],offsetsOffset:GLuint,instanceCountsList:Int32Array|GLsizei[],instanceCountsOffset:GLuint,drawcount:GLsizei):void;multiDrawElementsWEBGL(mode:GLenum,countsList:Int32Array|GLsizei[],countsOffset:GLuint,type:GLenum,offsetsList:Int32Array|GLsizei[],offsetsOffset:GLuint,drawcount:GLsizei):void;}interface WebGL2RenderingContext extends WebGL2RenderingContextBase,WebGL2RenderingContextOverloads,WebGLRenderingContextBase{}declare var WebGL2RenderingContext:{prototype:WebGL2RenderingContext;new():WebGL2RenderingContext;readonly ACTIVE_UNIFORM_BLOCKS:GLenum;readonly ALREADY_SIGNALED:GLenum;readonly ANY_SAMPLES_PASSED:GLenum;readonly ANY_SAMPLES_PASSED_CONSERVATIVE:GLenum;readonly COLOR:GLenum;readonly COLOR_ATTACHMENT1:GLenum;readonly COLOR_ATTACHMENT10:GLenum;readonly COLOR_ATTACHMENT11:GLenum;readonly COLOR_ATTACHMENT12:GLenum;readonly COLOR_ATTACHMENT13:GLenum;readonly COLOR_ATTACHMENT14:GLenum;readonly COLOR_ATTACHMENT15:GLenum;readonly COLOR_ATTACHMENT2:GLenum;readonly COLOR_ATTACHMENT3:GLenum;readonly COLOR_ATTACHMENT4:GLenum;readonly COLOR_ATTACHMENT5:GLenum;readonly COLOR_ATTACHMENT6:GLenum;readonly COLOR_ATTACHMENT7:GLenum;readonly COLOR_ATTACHMENT8:GLenum;readonly COLOR_ATTACHMENT9:GLenum;readonly COMPARE_REF_TO_TEXTURE:GLenum;readonly CONDITION_SATISFIED:GLenum;readonly COPY_READ_BUFFER:GLenum;readonly COPY_READ_BUFFER_BINDING:GLenum;readonly COPY_WRITE_BUFFER:GLenum;readonly COPY_WRITE_BUFFER_BINDING:GLenum;readonly CURRENT_QUERY:GLenum;readonly DEPTH:GLenum;readonly DEPTH24_STENCIL8:GLenum;readonly DEPTH32F_STENCIL8:GLenum;readonly DEPTH_COMPONENT24:GLenum;readonly DEPTH_COMPONENT32F:GLenum;readonly DRAW_BUFFER0:GLenum;readonly DRAW_BUFFER1:GLenum;readonly DRAW_BUFFER10:GLenum;readonly DRAW_BUFFER11:GLenum;readonly DRAW_BUFFER12:GLenum;readonly DRAW_BUFFER13:GLenum;readonly DRAW_BUFFER14:GLenum;readonly DRAW_BUFFER15:GLenum;readonly DRAW_BUFFER2:GLenum;readonly DRAW_BUFFER3:GLenum;readonly DRAW_BUFFER4:GLenum;readonly DRAW_BUFFER5:GLenum;readonly DRAW_BUFFER6:GLenum;readonly DRAW_BUFFER7:GLenum;readonly DRAW_BUFFER8:GLenum;readonly DRAW_BUFFER9:GLenum;readonly DRAW_FRAMEBUFFER:GLenum;readonly DRAW_FRAMEBUFFER_BINDING:GLenum;readonly DYNAMIC_COPY:GLenum;readonly DYNAMIC_READ:GLenum;readonly FLOAT_32_UNSIGNED_INT_24_8_REV:GLenum;readonly FLOAT_MAT2x3:GLenum;readonly FLOAT_MAT2x4:GLenum;readonly FLOAT_MAT3x2:GLenum;readonly FLOAT_MAT3x4:GLenum;readonly FLOAT_MAT4x2:GLenum;readonly FLOAT_MAT4x3:GLenum;readonly FRAGMENT_SHADER_DERIVATIVE_HINT:GLenum;readonly FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE:GLenum;readonly FRAMEBUFFER_ATTACHMENT_BLUE_SIZE:GLenum;readonly FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING:GLenum;readonly FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE:GLenum;readonly FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE:GLenum;readonly FRAMEBUFFER_ATTACHMENT_GREEN_SIZE:GLenum;readonly FRAMEBUFFER_ATTACHMENT_RED_SIZE:GLenum;readonly FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE:GLenum;readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER:GLenum;readonly FRAMEBUFFER_DEFAULT:GLenum;readonly FRAMEBUFFER_INCOMPLETE_MULTISAMPLE:GLenum;readonly HALF_FLOAT:GLenum;readonly INTERLEAVED_ATTRIBS:GLenum;readonly INT_2_10_10_10_REV:GLenum;readonly INT_SAMPLER_2D:GLenum;readonly INT_SAMPLER_2D_ARRAY:GLenum;readonly INT_SAMPLER_3D:GLenum;readonly INT_SAMPLER_CUBE:GLenum;readonly INVALID_INDEX:GLenum;readonly MAX:GLenum;readonly MAX_3D_TEXTURE_SIZE:GLenum;readonly MAX_ARRAY_TEXTURE_LAYERS:GLenum;readonly MAX_CLIENT_WAIT_TIMEOUT_WEBGL:GLenum;readonly MAX_COLOR_ATTACHMENTS:GLenum;readonly MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS:GLenum;readonly MAX_COMBINED_UNIFORM_BLOCKS:GLenum;readonly MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS:GLenum;readonly MAX_DRAW_BUFFERS:GLenum;readonly MAX_ELEMENTS_INDICES:GLenum;readonly MAX_ELEMENTS_VERTICES:GLenum;readonly MAX_ELEMENT_INDEX:GLenum;readonly MAX_FRAGMENT_INPUT_COMPONENTS:GLenum;readonly MAX_FRAGMENT_UNIFORM_BLOCKS:GLenum;readonly MAX_FRAGMENT_UNIFORM_COMPONENTS:GLenum;readonly MAX_PROGRAM_TEXEL_OFFSET:GLenum;readonly MAX_SAMPLES:GLenum;readonly MAX_SERVER_WAIT_TIMEOUT:GLenum;readonly MAX_TEXTURE_LOD_BIAS:GLenum;readonly MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS:GLenum;readonly MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS:GLenum;readonly MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS:GLenum;readonly MAX_UNIFORM_BLOCK_SIZE:GLenum;readonly MAX_UNIFORM_BUFFER_BINDINGS:GLenum;readonly MAX_VARYING_COMPONENTS:GLenum;readonly MAX_VERTEX_OUTPUT_COMPONENTS:GLenum;readonly MAX_VERTEX_UNIFORM_BLOCKS:GLenum;readonly MAX_VERTEX_UNIFORM_COMPONENTS:GLenum;readonly MIN:GLenum;readonly MIN_PROGRAM_TEXEL_OFFSET:GLenum;readonly OBJECT_TYPE:GLenum;readonly PACK_ROW_LENGTH:GLenum;readonly PACK_SKIP_PIXELS:GLenum;readonly PACK_SKIP_ROWS:GLenum;readonly PIXEL_PACK_BUFFER:GLenum;readonly PIXEL_PACK_BUFFER_BINDING:GLenum;readonly PIXEL_UNPACK_BUFFER:GLenum;readonly PIXEL_UNPACK_BUFFER_BINDING:GLenum;readonly QUERY_RESULT:GLenum;readonly QUERY_RESULT_AVAILABLE:GLenum;readonly R11F_G11F_B10F:GLenum;readonly R16F:GLenum;readonly R16I:GLenum;readonly R16UI:GLenum;readonly R32F:GLenum;readonly R32I:GLenum;readonly R32UI:GLenum;readonly R8:GLenum;readonly R8I:GLenum;readonly R8UI:GLenum;readonly R8_SNORM:GLenum;readonly RASTERIZER_DISCARD:GLenum;readonly READ_BUFFER:GLenum;readonly READ_FRAMEBUFFER:GLenum;readonly READ_FRAMEBUFFER_BINDING:GLenum;readonly RED:GLenum;readonly RED_INTEGER:GLenum;readonly RENDERBUFFER_SAMPLES:GLenum;readonly RG:GLenum;readonly RG16F:GLenum;readonly RG16I:GLenum;readonly RG16UI:GLenum;readonly RG32F:GLenum;readonly RG32I:GLenum;readonly RG32UI:GLenum;readonly RG8:GLenum;readonly RG8I:GLenum;readonly RG8UI:GLenum;readonly RG8_SNORM:GLenum;readonly RGB10_A2:GLenum;readonly RGB10_A2UI:GLenum;readonly RGB16F:GLenum;readonly RGB16I:GLenum;readonly RGB16UI:GLenum;readonly RGB32F:GLenum;readonly RGB32I:GLenum;readonly RGB32UI:GLenum;readonly RGB8:GLenum;readonly RGB8I:GLenum;readonly RGB8UI:GLenum;readonly RGB8_SNORM:GLenum;readonly RGB9_E5:GLenum;readonly RGBA16F:GLenum;readonly RGBA16I:GLenum;readonly RGBA16UI:GLenum;readonly RGBA32F:GLenum;readonly RGBA32I:GLenum;readonly RGBA32UI:GLenum;readonly RGBA8:GLenum;readonly RGBA8I:GLenum;readonly RGBA8UI:GLenum;readonly RGBA8_SNORM:GLenum;readonly RGBA_INTEGER:GLenum;readonly RGB_INTEGER:GLenum;readonly RG_INTEGER:GLenum;readonly SAMPLER_2D_ARRAY:GLenum;readonly SAMPLER_2D_ARRAY_SHADOW:GLenum;readonly SAMPLER_2D_SHADOW:GLenum;readonly SAMPLER_3D:GLenum;readonly SAMPLER_BINDING:GLenum;readonly SAMPLER_CUBE_SHADOW:GLenum;readonly SEPARATE_ATTRIBS:GLenum;readonly SIGNALED:GLenum;readonly SIGNED_NORMALIZED:GLenum;readonly SRGB:GLenum;readonly SRGB8:GLenum;readonly SRGB8_ALPHA8:GLenum;readonly STATIC_COPY:GLenum;readonly STATIC_READ:GLenum;readonly STENCIL:GLenum;readonly STREAM_COPY:GLenum;readonly STREAM_READ:GLenum;readonly SYNC_CONDITION:GLenum;readonly SYNC_FENCE:GLenum;readonly SYNC_FLAGS:GLenum;readonly SYNC_FLUSH_COMMANDS_BIT:GLenum;readonly SYNC_GPU_COMMANDS_COMPLETE:GLenum;readonly SYNC_STATUS:GLenum;readonly TEXTURE_2D_ARRAY:GLenum;readonly TEXTURE_3D:GLenum;readonly TEXTURE_BASE_LEVEL:GLenum;readonly TEXTURE_BINDING_2D_ARRAY:GLenum;readonly TEXTURE_BINDING_3D:GLenum;readonly TEXTURE_COMPARE_FUNC:GLenum;readonly TEXTURE_COMPARE_MODE:GLenum;readonly TEXTURE_IMMUTABLE_FORMAT:GLenum;readonly TEXTURE_IMMUTABLE_LEVELS:GLenum;readonly TEXTURE_MAX_LEVEL:GLenum;readonly TEXTURE_MAX_LOD:GLenum;readonly TEXTURE_MIN_LOD:GLenum;readonly TEXTURE_WRAP_R:GLenum;readonly TIMEOUT_EXPIRED:GLenum;readonly TIMEOUT_IGNORED:GLint64;readonly TRANSFORM_FEEDBACK:GLenum;readonly TRANSFORM_FEEDBACK_ACTIVE:GLenum;readonly TRANSFORM_FEEDBACK_BINDING:GLenum;readonly TRANSFORM_FEEDBACK_BUFFER:GLenum;readonly TRANSFORM_FEEDBACK_BUFFER_BINDING:GLenum;readonly TRANSFORM_FEEDBACK_BUFFER_MODE:GLenum;readonly TRANSFORM_FEEDBACK_BUFFER_SIZE:GLenum;readonly TRANSFORM_FEEDBACK_BUFFER_START:GLenum;readonly TRANSFORM_FEEDBACK_PAUSED:GLenum;readonly TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN:GLenum;readonly TRANSFORM_FEEDBACK_VARYINGS:GLenum;readonly UNIFORM_ARRAY_STRIDE:GLenum;readonly UNIFORM_BLOCK_ACTIVE_UNIFORMS:GLenum;readonly UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES:GLenum;readonly UNIFORM_BLOCK_BINDING:GLenum;readonly UNIFORM_BLOCK_DATA_SIZE:GLenum;readonly UNIFORM_BLOCK_INDEX:GLenum;readonly UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER:GLenum;readonly UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER:GLenum;readonly UNIFORM_BUFFER:GLenum;readonly UNIFORM_BUFFER_BINDING:GLenum;readonly UNIFORM_BUFFER_OFFSET_ALIGNMENT:GLenum;readonly UNIFORM_BUFFER_SIZE:GLenum;readonly UNIFORM_BUFFER_START:GLenum;readonly UNIFORM_IS_ROW_MAJOR:GLenum;readonly UNIFORM_MATRIX_STRIDE:GLenum;readonly UNIFORM_OFFSET:GLenum;readonly UNIFORM_SIZE:GLenum;readonly UNIFORM_TYPE:GLenum;readonly UNPACK_IMAGE_HEIGHT:GLenum;readonly UNPACK_ROW_LENGTH:GLenum;readonly UNPACK_SKIP_IMAGES:GLenum;readonly UNPACK_SKIP_PIXELS:GLenum;readonly UNPACK_SKIP_ROWS:GLenum;readonly UNSIGNALED:GLenum;readonly UNSIGNED_INT_10F_11F_11F_REV:GLenum;readonly UNSIGNED_INT_24_8:GLenum;readonly UNSIGNED_INT_2_10_10_10_REV:GLenum;readonly UNSIGNED_INT_5_9_9_9_REV:GLenum;readonly UNSIGNED_INT_SAMPLER_2D:GLenum;readonly UNSIGNED_INT_SAMPLER_2D_ARRAY:GLenum;readonly UNSIGNED_INT_SAMPLER_3D:GLenum;readonly UNSIGNED_INT_SAMPLER_CUBE:GLenum;readonly UNSIGNED_INT_VEC2:GLenum;readonly UNSIGNED_INT_VEC3:GLenum;readonly UNSIGNED_INT_VEC4:GLenum;readonly UNSIGNED_NORMALIZED:GLenum;readonly VERTEX_ARRAY_BINDING:GLenum;readonly VERTEX_ATTRIB_ARRAY_DIVISOR:GLenum;readonly VERTEX_ATTRIB_ARRAY_INTEGER:GLenum;readonly WAIT_FAILED:GLenum;readonly ACTIVE_ATTRIBUTES:GLenum;readonly ACTIVE_TEXTURE:GLenum;readonly ACTIVE_UNIFORMS:GLenum;readonly ALIASED_LINE_WIDTH_RANGE:GLenum;readonly ALIASED_POINT_SIZE_RANGE:GLenum;readonly ALPHA:GLenum;readonly ALPHA_BITS:GLenum;readonly ALWAYS:GLenum;readonly ARRAY_BUFFER:GLenum;readonly ARRAY_BUFFER_BINDING:GLenum;readonly ATTACHED_SHADERS:GLenum;readonly BACK:GLenum;readonly BLEND:GLenum;readonly BLEND_COLOR:GLenum;readonly BLEND_DST_ALPHA:GLenum;readonly BLEND_DST_RGB:GLenum;readonly BLEND_EQUATION:GLenum;readonly BLEND_EQUATION_ALPHA:GLenum;readonly BLEND_EQUATION_RGB:GLenum;readonly BLEND_SRC_ALPHA:GLenum;readonly BLEND_SRC_RGB:GLenum;readonly BLUE_BITS:GLenum;readonly BOOL:GLenum;readonly BOOL_VEC2:GLenum;readonly BOOL_VEC3:GLenum;readonly BOOL_VEC4:GLenum;readonly BROWSER_DEFAULT_WEBGL:GLenum;readonly BUFFER_SIZE:GLenum;readonly BUFFER_USAGE:GLenum;readonly BYTE:GLenum;readonly CCW:GLenum;readonly CLAMP_TO_EDGE:GLenum;readonly COLOR_ATTACHMENT0:GLenum;readonly COLOR_BUFFER_BIT:GLenum;readonly COLOR_CLEAR_VALUE:GLenum;readonly COLOR_WRITEMASK:GLenum;readonly COMPILE_STATUS:GLenum;readonly COMPRESSED_TEXTURE_FORMATS:GLenum;readonly CONSTANT_ALPHA:GLenum;readonly CONSTANT_COLOR:GLenum;readonly CONTEXT_LOST_WEBGL:GLenum;readonly CULL_FACE:GLenum;readonly CULL_FACE_MODE:GLenum;readonly CURRENT_PROGRAM:GLenum;readonly CURRENT_VERTEX_ATTRIB:GLenum;readonly CW:GLenum;readonly DECR:GLenum;readonly DECR_WRAP:GLenum;readonly DELETE_STATUS:GLenum;readonly DEPTH_ATTACHMENT:GLenum;readonly DEPTH_BITS:GLenum;readonly DEPTH_BUFFER_BIT:GLenum;readonly DEPTH_CLEAR_VALUE:GLenum;readonly DEPTH_COMPONENT:GLenum;readonly DEPTH_COMPONENT16:GLenum;readonly DEPTH_FUNC:GLenum;readonly DEPTH_RANGE:GLenum;readonly DEPTH_STENCIL:GLenum;readonly DEPTH_STENCIL_ATTACHMENT:GLenum;readonly DEPTH_TEST:GLenum;readonly DEPTH_WRITEMASK:GLenum;readonly DITHER:GLenum;readonly DONT_CARE:GLenum;readonly DST_ALPHA:GLenum;readonly DST_COLOR:GLenum;readonly DYNAMIC_DRAW:GLenum;readonly ELEMENT_ARRAY_BUFFER:GLenum;readonly ELEMENT_ARRAY_BUFFER_BINDING:GLenum;readonly EQUAL:GLenum;readonly FASTEST:GLenum;readonly FLOAT:GLenum;readonly FLOAT_MAT2:GLenum;readonly FLOAT_MAT3:GLenum;readonly FLOAT_MAT4:GLenum;readonly FLOAT_VEC2:GLenum;readonly FLOAT_VEC3:GLenum;readonly FLOAT_VEC4:GLenum;readonly FRAGMENT_SHADER:GLenum;readonly FRAMEBUFFER:GLenum;readonly FRAMEBUFFER_ATTACHMENT_OBJECT_NAME:GLenum;readonly FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE:GLenum;readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE:GLenum;readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL:GLenum;readonly FRAMEBUFFER_BINDING:GLenum;readonly FRAMEBUFFER_COMPLETE:GLenum;readonly FRAMEBUFFER_INCOMPLETE_ATTACHMENT:GLenum;readonly FRAMEBUFFER_INCOMPLETE_DIMENSIONS:GLenum;readonly FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:GLenum;readonly FRAMEBUFFER_UNSUPPORTED:GLenum;readonly FRONT:GLenum;readonly FRONT_AND_BACK:GLenum;readonly FRONT_FACE:GLenum;readonly FUNC_ADD:GLenum;readonly FUNC_REVERSE_SUBTRACT:GLenum;readonly FUNC_SUBTRACT:GLenum;readonly GENERATE_MIPMAP_HINT:GLenum;readonly GEQUAL:GLenum;readonly GREATER:GLenum;readonly GREEN_BITS:GLenum;readonly HIGH_FLOAT:GLenum;readonly HIGH_INT:GLenum;readonly IMPLEMENTATION_COLOR_READ_FORMAT:GLenum;readonly IMPLEMENTATION_COLOR_READ_TYPE:GLenum;readonly INCR:GLenum;readonly INCR_WRAP:GLenum;readonly INT:GLenum;readonly INT_VEC2:GLenum;readonly INT_VEC3:GLenum;readonly INT_VEC4:GLenum;readonly INVALID_ENUM:GLenum;readonly INVALID_FRAMEBUFFER_OPERATION:GLenum;readonly INVALID_OPERATION:GLenum;readonly INVALID_VALUE:GLenum;readonly INVERT:GLenum;readonly KEEP:GLenum;readonly LEQUAL:GLenum;readonly LESS:GLenum;readonly LINEAR:GLenum;readonly LINEAR_MIPMAP_LINEAR:GLenum;readonly LINEAR_MIPMAP_NEAREST:GLenum;readonly LINES:GLenum;readonly LINE_LOOP:GLenum;readonly LINE_STRIP:GLenum;readonly LINE_WIDTH:GLenum;readonly LINK_STATUS:GLenum;readonly LOW_FLOAT:GLenum;readonly LOW_INT:GLenum;readonly LUMINANCE:GLenum;readonly LUMINANCE_ALPHA:GLenum;readonly MAX_COMBINED_TEXTURE_IMAGE_UNITS:GLenum;readonly MAX_CUBE_MAP_TEXTURE_SIZE:GLenum;readonly MAX_FRAGMENT_UNIFORM_VECTORS:GLenum;readonly MAX_RENDERBUFFER_SIZE:GLenum;readonly MAX_TEXTURE_IMAGE_UNITS:GLenum;readonly MAX_TEXTURE_SIZE:GLenum;readonly MAX_VARYING_VECTORS:GLenum;readonly MAX_VERTEX_ATTRIBS:GLenum;readonly MAX_VERTEX_TEXTURE_IMAGE_UNITS:GLenum;readonly MAX_VERTEX_UNIFORM_VECTORS:GLenum;readonly MAX_VIEWPORT_DIMS:GLenum;readonly MEDIUM_FLOAT:GLenum;readonly MEDIUM_INT:GLenum;readonly MIRRORED_REPEAT:GLenum;readonly NEAREST:GLenum;readonly NEAREST_MIPMAP_LINEAR:GLenum;readonly NEAREST_MIPMAP_NEAREST:GLenum;readonly NEVER:GLenum;readonly NICEST:GLenum;readonly NONE:GLenum;readonly NOTEQUAL:GLenum;readonly NO_ERROR:GLenum;readonly ONE:GLenum;readonly ONE_MINUS_CONSTANT_ALPHA:GLenum;readonly ONE_MINUS_CONSTANT_COLOR:GLenum;readonly ONE_MINUS_DST_ALPHA:GLenum;readonly ONE_MINUS_DST_COLOR:GLenum;readonly ONE_MINUS_SRC_ALPHA:GLenum;readonly ONE_MINUS_SRC_COLOR:GLenum;readonly OUT_OF_MEMORY:GLenum;readonly PACK_ALIGNMENT:GLenum;readonly POINTS:GLenum;readonly POLYGON_OFFSET_FACTOR:GLenum;readonly POLYGON_OFFSET_FILL:GLenum;readonly POLYGON_OFFSET_UNITS:GLenum;readonly RED_BITS:GLenum;readonly RENDERBUFFER:GLenum;readonly RENDERBUFFER_ALPHA_SIZE:GLenum;readonly RENDERBUFFER_BINDING:GLenum;readonly RENDERBUFFER_BLUE_SIZE:GLenum;readonly RENDERBUFFER_DEPTH_SIZE:GLenum;readonly RENDERBUFFER_GREEN_SIZE:GLenum;readonly RENDERBUFFER_HEIGHT:GLenum;readonly RENDERBUFFER_INTERNAL_FORMAT:GLenum;readonly RENDERBUFFER_RED_SIZE:GLenum;readonly RENDERBUFFER_STENCIL_SIZE:GLenum;readonly RENDERBUFFER_WIDTH:GLenum;readonly RENDERER:GLenum;readonly REPEAT:GLenum;readonly REPLACE:GLenum;readonly RGB:GLenum;readonly RGB565:GLenum;readonly RGB5_A1:GLenum;readonly RGBA:GLenum;readonly RGBA4:GLenum;readonly SAMPLER_2D:GLenum;readonly SAMPLER_CUBE:GLenum;readonly SAMPLES:GLenum;readonly SAMPLE_ALPHA_TO_COVERAGE:GLenum;readonly SAMPLE_BUFFERS:GLenum;readonly SAMPLE_COVERAGE:GLenum;readonly SAMPLE_COVERAGE_INVERT:GLenum;readonly SAMPLE_COVERAGE_VALUE:GLenum;readonly SCISSOR_BOX:GLenum;readonly SCISSOR_TEST:GLenum;readonly SHADER_TYPE:GLenum;readonly SHADING_LANGUAGE_VERSION:GLenum;readonly SHORT:GLenum;readonly SRC_ALPHA:GLenum;readonly SRC_ALPHA_SATURATE:GLenum;readonly SRC_COLOR:GLenum;readonly STATIC_DRAW:GLenum;readonly STENCIL_ATTACHMENT:GLenum;readonly STENCIL_BACK_FAIL:GLenum;readonly STENCIL_BACK_FUNC:GLenum;readonly STENCIL_BACK_PASS_DEPTH_FAIL:GLenum;readonly STENCIL_BACK_PASS_DEPTH_PASS:GLenum;readonly STENCIL_BACK_REF:GLenum;readonly STENCIL_BACK_VALUE_MASK:GLenum;readonly STENCIL_BACK_WRITEMASK:GLenum;readonly STENCIL_BITS:GLenum;readonly STENCIL_BUFFER_BIT:GLenum;readonly STENCIL_CLEAR_VALUE:GLenum;readonly STENCIL_FAIL:GLenum;readonly STENCIL_FUNC:GLenum;readonly STENCIL_INDEX8:GLenum;readonly STENCIL_PASS_DEPTH_FAIL:GLenum;readonly STENCIL_PASS_DEPTH_PASS:GLenum;readonly STENCIL_REF:GLenum;readonly STENCIL_TEST:GLenum;readonly STENCIL_VALUE_MASK:GLenum;readonly STENCIL_WRITEMASK:GLenum;readonly STREAM_DRAW:GLenum;readonly SUBPIXEL_BITS:GLenum;readonly TEXTURE:GLenum;readonly TEXTURE0:GLenum;readonly TEXTURE1:GLenum;readonly TEXTURE10:GLenum;readonly TEXTURE11:GLenum;readonly TEXTURE12:GLenum;readonly TEXTURE13:GLenum;readonly TEXTURE14:GLenum;readonly TEXTURE15:GLenum;readonly TEXTURE16:GLenum;readonly TEXTURE17:GLenum;readonly TEXTURE18:GLenum;readonly TEXTURE19:GLenum;readonly TEXTURE2:GLenum;readonly TEXTURE20:GLenum;readonly TEXTURE21:GLenum;readonly TEXTURE22:GLenum;readonly TEXTURE23:GLenum;readonly TEXTURE24:GLenum;readonly TEXTURE25:GLenum;readonly TEXTURE26:GLenum;readonly TEXTURE27:GLenum;readonly TEXTURE28:GLenum;readonly TEXTURE29:GLenum;readonly TEXTURE3:GLenum;readonly TEXTURE30:GLenum;readonly TEXTURE31:GLenum;readonly TEXTURE4:GLenum;readonly TEXTURE5:GLenum;readonly TEXTURE6:GLenum;readonly TEXTURE7:GLenum;readonly TEXTURE8:GLenum;readonly TEXTURE9:GLenum;readonly TEXTURE_2D:GLenum;readonly TEXTURE_BINDING_2D:GLenum;readonly TEXTURE_BINDING_CUBE_MAP:GLenum;readonly TEXTURE_CUBE_MAP:GLenum;readonly TEXTURE_CUBE_MAP_NEGATIVE_X:GLenum;readonly TEXTURE_CUBE_MAP_NEGATIVE_Y:GLenum;readonly TEXTURE_CUBE_MAP_NEGATIVE_Z:GLenum;readonly TEXTURE_CUBE_MAP_POSITIVE_X:GLenum;readonly TEXTURE_CUBE_MAP_POSITIVE_Y:GLenum;readonly TEXTURE_CUBE_MAP_POSITIVE_Z:GLenum;readonly TEXTURE_MAG_FILTER:GLenum;readonly TEXTURE_MIN_FILTER:GLenum;readonly TEXTURE_WRAP_S:GLenum;readonly TEXTURE_WRAP_T:GLenum;readonly TRIANGLES:GLenum;readonly TRIANGLE_FAN:GLenum;readonly TRIANGLE_STRIP:GLenum;readonly UNPACK_ALIGNMENT:GLenum;readonly UNPACK_COLORSPACE_CONVERSION_WEBGL:GLenum;readonly UNPACK_FLIP_Y_WEBGL:GLenum;readonly UNPACK_PREMULTIPLY_ALPHA_WEBGL:GLenum;readonly UNSIGNED_BYTE:GLenum;readonly UNSIGNED_INT:GLenum;readonly UNSIGNED_SHORT:GLenum;readonly UNSIGNED_SHORT_4_4_4_4:GLenum;readonly UNSIGNED_SHORT_5_5_5_1:GLenum;readonly UNSIGNED_SHORT_5_6_5:GLenum;readonly VALIDATE_STATUS:GLenum;readonly VENDOR:GLenum;readonly VERSION:GLenum;readonly VERTEX_ATTRIB_ARRAY_BUFFER_BINDING:GLenum;readonly VERTEX_ATTRIB_ARRAY_ENABLED:GLenum;readonly VERTEX_ATTRIB_ARRAY_NORMALIZED:GLenum;readonly VERTEX_ATTRIB_ARRAY_POINTER:GLenum;readonly VERTEX_ATTRIB_ARRAY_SIZE:GLenum;readonly VERTEX_ATTRIB_ARRAY_STRIDE:GLenum;readonly VERTEX_ATTRIB_ARRAY_TYPE:GLenum;readonly VERTEX_SHADER:GLenum;readonly VIEWPORT:GLenum;readonly ZERO:GLenum;};interface WebGL2RenderingContextBase{beginQuery(target:GLenum,query:WebGLQuery):void;beginTransformFeedback(primitiveMode:GLenum):void;bindBufferBase(target:GLenum,index:GLuint,buffer:WebGLBuffer|null):void;bindBufferRange(target:GLenum,index:GLuint,buffer:WebGLBuffer|null,offset:GLintptr,size:GLsizeiptr):void;bindSampler(unit:GLuint,sampler:WebGLSampler|null):void;bindTransformFeedback(target:GLenum,tf:WebGLTransformFeedback|null):void;bindVertexArray(array:WebGLVertexArrayObject|null):void;blitFramebuffer(srcX0:GLint,srcY0:GLint,srcX1:GLint,srcY1:GLint,dstX0:GLint,dstY0:GLint,dstX1:GLint,dstY1:GLint,mask:GLbitfield,filter:GLenum):void;clearBufferfi(buffer:GLenum,drawbuffer:GLint,depth:GLfloat,stencil:GLint):void;clearBufferfv(buffer:GLenum,drawbuffer:GLint,values:Float32List,srcOffset?:GLuint):void;clearBufferiv(buffer:GLenum,drawbuffer:GLint,values:Int32List,srcOffset?:GLuint):void;clearBufferuiv(buffer:GLenum,drawbuffer:GLint,values:Uint32List,srcOffset?:GLuint):void;clientWaitSync(sync:WebGLSync,flags:GLbitfield,timeout:GLuint64):GLenum;compressedTexImage3D(target:GLenum,level:GLint,internalformat:GLenum,width:GLsizei,height:GLsizei,depth:GLsizei,border:GLint,imageSize:GLsizei,offset:GLintptr):void;compressedTexImage3D(target:GLenum,level:GLint,internalformat:GLenum,width:GLsizei,height:GLsizei,depth:GLsizei,border:GLint,srcData:ArrayBufferView,srcOffset?:GLuint,srcLengthOverride?:GLuint):void;compressedTexSubImage3D(target:GLenum,level:GLint,xoffset:GLint,yoffset:GLint,zoffset:GLint,width:GLsizei,height:GLsizei,depth:GLsizei,format:GLenum,imageSize:GLsizei,offset:GLintptr):void;compressedTexSubImage3D(target:GLenum,level:GLint,xoffset:GLint,yoffset:GLint,zoffset:GLint,width:GLsizei,height:GLsizei,depth:GLsizei,format:GLenum,srcData:ArrayBufferView,srcOffset?:GLuint,srcLengthOverride?:GLuint):void;copyBufferSubData(readTarget:GLenum,writeTarget:GLenum,readOffset:GLintptr,writeOffset:GLintptr,size:GLsizeiptr):void;copyTexSubImage3D(target:GLenum,level:GLint,xoffset:GLint,yoffset:GLint,zoffset:GLint,x:GLint,y:GLint,width:GLsizei,height:GLsizei):void;createQuery():WebGLQuery|null;createSampler():WebGLSampler|null;createTransformFeedback():WebGLTransformFeedback|null;createVertexArray():WebGLVertexArrayObject|null;deleteQuery(query:WebGLQuery|null):void;deleteSampler(sampler:WebGLSampler|null):void;deleteSync(sync:WebGLSync|null):void;deleteTransformFeedback(tf:WebGLTransformFeedback|null):void;deleteVertexArray(vertexArray:WebGLVertexArrayObject|null):void;drawArraysInstanced(mode:GLenum,first:GLint,count:GLsizei,instanceCount:GLsizei):void;drawBuffers(buffers:GLenum[]):void;drawElementsInstanced(mode:GLenum,count:GLsizei,type:GLenum,offset:GLintptr,instanceCount:GLsizei):void;drawRangeElements(mode:GLenum,start:GLuint,end:GLuint,count:GLsizei,type:GLenum,offset:GLintptr):void;endQuery(target:GLenum):void;endTransformFeedback():void;fenceSync(condition:GLenum,flags:GLbitfield):WebGLSync|null;framebufferTextureLayer(target:GLenum,attachment:GLenum,texture:WebGLTexture|null,level:GLint,layer:GLint):void;getActiveUniformBlockName(program:WebGLProgram,uniformBlockIndex:GLuint):string|null;getActiveUniformBlockParameter(program:WebGLProgram,uniformBlockIndex:GLuint,pname:GLenum):any;getActiveUniforms(program:WebGLProgram,uniformIndices:GLuint[],pname:GLenum):any;getBufferSubData(target:GLenum,srcByteOffset:GLintptr,dstBuffer:ArrayBufferView,dstOffset?:GLuint,length?:GLuint):void;getFragDataLocation(program:WebGLProgram,name:string):GLint;getIndexedParameter(target:GLenum,index:GLuint):any;getInternalformatParameter(target:GLenum,internalformat:GLenum,pname:GLenum):any;getQuery(target:GLenum,pname:GLenum):WebGLQuery|null;getQueryParameter(query:WebGLQuery,pname:GLenum):any;getSamplerParameter(sampler:WebGLSampler,pname:GLenum):any;getSyncParameter(sync:WebGLSync,pname:GLenum):any;getTransformFeedbackVarying(program:WebGLProgram,index:GLuint):WebGLActiveInfo|null;getUniformBlockIndex(program:WebGLProgram,uniformBlockName:string):GLuint;getUniformIndices(program:WebGLProgram,uniformNames:string[]):GLuint[]|null;invalidateFramebuffer(target:GLenum,attachments:GLenum[]):void;invalidateSubFramebuffer(target:GLenum,attachments:GLenum[],x:GLint,y:GLint,width:GLsizei,height:GLsizei):void;isQuery(query:WebGLQuery|null):GLboolean;isSampler(sampler:WebGLSampler|null):GLboolean;isSync(sync:WebGLSync|null):GLboolean;isTransformFeedback(tf:WebGLTransformFeedback|null):GLboolean;isVertexArray(vertexArray:WebGLVertexArrayObject|null):GLboolean;pauseTransformFeedback():void;readBuffer(src:GLenum):void;renderbufferStorageMultisample(target:GLenum,samples:GLsizei,internalformat:GLenum,width:GLsizei,height:GLsizei):void;resumeTransformFeedback():void;samplerParameterf(sampler:WebGLSampler,pname:GLenum,param:GLfloat):void;samplerParameteri(sampler:WebGLSampler,pname:GLenum,param:GLint):void;texImage3D(target:GLenum,level:GLint,internalformat:GLint,width:GLsizei,height:GLsizei,depth:GLsizei,border:GLint,format:GLenum,type:GLenum,pboOffset:GLintptr):void;texImage3D(target:GLenum,level:GLint,internalformat:GLint,width:GLsizei,height:GLsizei,depth:GLsizei,border:GLint,format:GLenum,type:GLenum,source:TexImageSource):void;texImage3D(target:GLenum,level:GLint,internalformat:GLint,width:GLsizei,height:GLsizei,depth:GLsizei,border:GLint,format:GLenum,type:GLenum,srcData:ArrayBufferView|null):void;texImage3D(target:GLenum,level:GLint,internalformat:GLint,width:GLsizei,height:GLsizei,depth:GLsizei,border:GLint,format:GLenum,type:GLenum,srcData:ArrayBufferView,srcOffset:GLuint):void;texStorage2D(target:GLenum,levels:GLsizei,internalformat:GLenum,width:GLsizei,height:GLsizei):void;texStorage3D(target:GLenum,levels:GLsizei,internalformat:GLenum,width:GLsizei,height:GLsizei,depth:GLsizei):void;texSubImage3D(target:GLenum,level:GLint,xoffset:GLint,yoffset:GLint,zoffset:GLint,width:GLsizei,height:GLsizei,depth:GLsizei,format:GLenum,type:GLenum,pboOffset:GLintptr):void;texSubImage3D(target:GLenum,level:GLint,xoffset:GLint,yoffset:GLint,zoffset:GLint,width:GLsizei,height:GLsizei,depth:GLsizei,format:GLenum,type:GLenum,source:TexImageSource):void;texSubImage3D(target:GLenum,level:GLint,xoffset:GLint,yoffset:GLint,zoffset:GLint,width:GLsizei,height:GLsizei,depth:GLsizei,format:GLenum,type:GLenum,srcData:ArrayBufferView|null,srcOffset?:GLuint):void;transformFeedbackVaryings(program:WebGLProgram,varyings:string[],bufferMode:GLenum):void;uniform1ui(location:WebGLUniformLocation|null,v0:GLuint):void;uniform1uiv(location:WebGLUniformLocation|null,data:Uint32List,srcOffset?:GLuint,srcLength?:GLuint):void;uniform2ui(location:WebGLUniformLocation|null,v0:GLuint,v1:GLuint):void;uniform2uiv(location:WebGLUniformLocation|null,data:Uint32List,srcOffset?:GLuint,srcLength?:GLuint):void;uniform3ui(location:WebGLUniformLocation|null,v0:GLuint,v1:GLuint,v2:GLuint):void;uniform3uiv(location:WebGLUniformLocation|null,data:Uint32List,srcOffset?:GLuint,srcLength?:GLuint):void;uniform4ui(location:WebGLUniformLocation|null,v0:GLuint,v1:GLuint,v2:GLuint,v3:GLuint):void;uniform4uiv(location:WebGLUniformLocation|null,data:Uint32List,srcOffset?:GLuint,srcLength?:GLuint):void;uniformBlockBinding(program:WebGLProgram,uniformBlockIndex:GLuint,uniformBlockBinding:GLuint):void;uniformMatrix2x3fv(location:WebGLUniformLocation|null,transpose:GLboolean,data:Float32List,srcOffset?:GLuint,srcLength?:GLuint):void;uniformMatrix2x4fv(location:WebGLUniformLocation|null,transpose:GLboolean,data:Float32List,srcOffset?:GLuint,srcLength?:GLuint):void;uniformMatrix3x2fv(location:WebGLUniformLocation|null,transpose:GLboolean,data:Float32List,srcOffset?:GLuint,srcLength?:GLuint):void;uniformMatrix3x4fv(location:WebGLUniformLocation|null,transpose:GLboolean,data:Float32List,srcOffset?:GLuint,srcLength?:GLuint):void;uniformMatrix4x2fv(location:WebGLUniformLocation|null,transpose:GLboolean,data:Float32List,srcOffset?:GLuint,srcLength?:GLuint):void;uniformMatrix4x3fv(location:WebGLUniformLocation|null,transpose:GLboolean,data:Float32List,srcOffset?:GLuint,srcLength?:GLuint):void;vertexAttribDivisor(index:GLuint,divisor:GLuint):void;vertexAttribI4i(index:GLuint,x:GLint,y:GLint,z:GLint,w:GLint):void;vertexAttribI4iv(index:GLuint,values:Int32List):void;vertexAttribI4ui(index:GLuint,x:GLuint,y:GLuint,z:GLuint,w:GLuint):void;vertexAttribI4uiv(index:GLuint,values:Uint32List):void;vertexAttribIPointer(index:GLuint,size:GLint,type:GLenum,stride:GLsizei,offset:GLintptr):void;waitSync(sync:WebGLSync,flags:GLbitfield,timeout:GLint64):void;readonly ACTIVE_UNIFORM_BLOCKS:GLenum;readonly ALREADY_SIGNALED:GLenum;readonly ANY_SAMPLES_PASSED:GLenum;readonly ANY_SAMPLES_PASSED_CONSERVATIVE:GLenum;readonly COLOR:GLenum;readonly COLOR_ATTACHMENT1:GLenum;readonly COLOR_ATTACHMENT10:GLenum;readonly COLOR_ATTACHMENT11:GLenum;readonly COLOR_ATTACHMENT12:GLenum;readonly COLOR_ATTACHMENT13:GLenum;readonly COLOR_ATTACHMENT14:GLenum;readonly COLOR_ATTACHMENT15:GLenum;readonly COLOR_ATTACHMENT2:GLenum;readonly COLOR_ATTACHMENT3:GLenum;readonly COLOR_ATTACHMENT4:GLenum;readonly COLOR_ATTACHMENT5:GLenum;readonly COLOR_ATTACHMENT6:GLenum;readonly COLOR_ATTACHMENT7:GLenum;readonly COLOR_ATTACHMENT8:GLenum;readonly COLOR_ATTACHMENT9:GLenum;readonly COMPARE_REF_TO_TEXTURE:GLenum;readonly CONDITION_SATISFIED:GLenum;readonly COPY_READ_BUFFER:GLenum;readonly COPY_READ_BUFFER_BINDING:GLenum;readonly COPY_WRITE_BUFFER:GLenum;readonly COPY_WRITE_BUFFER_BINDING:GLenum;readonly CURRENT_QUERY:GLenum;readonly DEPTH:GLenum;readonly DEPTH24_STENCIL8:GLenum;readonly DEPTH32F_STENCIL8:GLenum;readonly DEPTH_COMPONENT24:GLenum;readonly DEPTH_COMPONENT32F:GLenum;readonly DRAW_BUFFER0:GLenum;readonly DRAW_BUFFER1:GLenum;readonly DRAW_BUFFER10:GLenum;readonly DRAW_BUFFER11:GLenum;readonly DRAW_BUFFER12:GLenum;readonly DRAW_BUFFER13:GLenum;readonly DRAW_BUFFER14:GLenum;readonly DRAW_BUFFER15:GLenum;readonly DRAW_BUFFER2:GLenum;readonly DRAW_BUFFER3:GLenum;readonly DRAW_BUFFER4:GLenum;readonly DRAW_BUFFER5:GLenum;readonly DRAW_BUFFER6:GLenum;readonly DRAW_BUFFER7:GLenum;readonly DRAW_BUFFER8:GLenum;readonly DRAW_BUFFER9:GLenum;readonly DRAW_FRAMEBUFFER:GLenum;readonly DRAW_FRAMEBUFFER_BINDING:GLenum;readonly DYNAMIC_COPY:GLenum;readonly DYNAMIC_READ:GLenum;readonly FLOAT_32_UNSIGNED_INT_24_8_REV:GLenum;readonly FLOAT_MAT2x3:GLenum;readonly FLOAT_MAT2x4:GLenum;readonly FLOAT_MAT3x2:GLenum;readonly FLOAT_MAT3x4:GLenum;readonly FLOAT_MAT4x2:GLenum;readonly FLOAT_MAT4x3:GLenum;readonly FRAGMENT_SHADER_DERIVATIVE_HINT:GLenum;readonly FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE:GLenum;readonly FRAMEBUFFER_ATTACHMENT_BLUE_SIZE:GLenum;readonly FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING:GLenum;readonly FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE:GLenum;readonly FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE:GLenum;readonly FRAMEBUFFER_ATTACHMENT_GREEN_SIZE:GLenum;readonly FRAMEBUFFER_ATTACHMENT_RED_SIZE:GLenum;readonly FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE:GLenum;readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER:GLenum;readonly FRAMEBUFFER_DEFAULT:GLenum;readonly FRAMEBUFFER_INCOMPLETE_MULTISAMPLE:GLenum;readonly HALF_FLOAT:GLenum;readonly INTERLEAVED_ATTRIBS:GLenum;readonly INT_2_10_10_10_REV:GLenum;readonly INT_SAMPLER_2D:GLenum;readonly INT_SAMPLER_2D_ARRAY:GLenum;readonly INT_SAMPLER_3D:GLenum;readonly INT_SAMPLER_CUBE:GLenum;readonly INVALID_INDEX:GLenum;readonly MAX:GLenum;readonly MAX_3D_TEXTURE_SIZE:GLenum;readonly MAX_ARRAY_TEXTURE_LAYERS:GLenum;readonly MAX_CLIENT_WAIT_TIMEOUT_WEBGL:GLenum;readonly MAX_COLOR_ATTACHMENTS:GLenum;readonly MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS:GLenum;readonly MAX_COMBINED_UNIFORM_BLOCKS:GLenum;readonly MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS:GLenum;readonly MAX_DRAW_BUFFERS:GLenum;readonly MAX_ELEMENTS_INDICES:GLenum;readonly MAX_ELEMENTS_VERTICES:GLenum;readonly MAX_ELEMENT_INDEX:GLenum;readonly MAX_FRAGMENT_INPUT_COMPONENTS:GLenum;readonly MAX_FRAGMENT_UNIFORM_BLOCKS:GLenum;readonly MAX_FRAGMENT_UNIFORM_COMPONENTS:GLenum;readonly MAX_PROGRAM_TEXEL_OFFSET:GLenum;readonly MAX_SAMPLES:GLenum;readonly MAX_SERVER_WAIT_TIMEOUT:GLenum;readonly MAX_TEXTURE_LOD_BIAS:GLenum;readonly MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS:GLenum;readonly MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS:GLenum;readonly MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS:GLenum;readonly MAX_UNIFORM_BLOCK_SIZE:GLenum;readonly MAX_UNIFORM_BUFFER_BINDINGS:GLenum;readonly MAX_VARYING_COMPONENTS:GLenum;readonly MAX_VERTEX_OUTPUT_COMPONENTS:GLenum;readonly MAX_VERTEX_UNIFORM_BLOCKS:GLenum;readonly MAX_VERTEX_UNIFORM_COMPONENTS:GLenum;readonly MIN:GLenum;readonly MIN_PROGRAM_TEXEL_OFFSET:GLenum;readonly OBJECT_TYPE:GLenum;readonly PACK_ROW_LENGTH:GLenum;readonly PACK_SKIP_PIXELS:GLenum;readonly PACK_SKIP_ROWS:GLenum;readonly PIXEL_PACK_BUFFER:GLenum;readonly PIXEL_PACK_BUFFER_BINDING:GLenum;readonly PIXEL_UNPACK_BUFFER:GLenum;readonly PIXEL_UNPACK_BUFFER_BINDING:GLenum;readonly QUERY_RESULT:GLenum;readonly QUERY_RESULT_AVAILABLE:GLenum;readonly R11F_G11F_B10F:GLenum;readonly R16F:GLenum;readonly R16I:GLenum;readonly R16UI:GLenum;readonly R32F:GLenum;readonly R32I:GLenum;readonly R32UI:GLenum;readonly R8:GLenum;readonly R8I:GLenum;readonly R8UI:GLenum;readonly R8_SNORM:GLenum;readonly RASTERIZER_DISCARD:GLenum;readonly READ_BUFFER:GLenum;readonly READ_FRAMEBUFFER:GLenum;readonly READ_FRAMEBUFFER_BINDING:GLenum;readonly RED:GLenum;readonly RED_INTEGER:GLenum;readonly RENDERBUFFER_SAMPLES:GLenum;readonly RG:GLenum;readonly RG16F:GLenum;readonly RG16I:GLenum;readonly RG16UI:GLenum;readonly RG32F:GLenum;readonly RG32I:GLenum;readonly RG32UI:GLenum;readonly RG8:GLenum;readonly RG8I:GLenum;readonly RG8UI:GLenum;readonly RG8_SNORM:GLenum;readonly RGB10_A2:GLenum;readonly RGB10_A2UI:GLenum;readonly RGB16F:GLenum;readonly RGB16I:GLenum;readonly RGB16UI:GLenum;readonly RGB32F:GLenum;readonly RGB32I:GLenum;readonly RGB32UI:GLenum;readonly RGB8:GLenum;readonly RGB8I:GLenum;readonly RGB8UI:GLenum;readonly RGB8_SNORM:GLenum;readonly RGB9_E5:GLenum;readonly RGBA16F:GLenum;readonly RGBA16I:GLenum;readonly RGBA16UI:GLenum;readonly RGBA32F:GLenum;readonly RGBA32I:GLenum;readonly RGBA32UI:GLenum;readonly RGBA8:GLenum;readonly RGBA8I:GLenum;readonly RGBA8UI:GLenum;readonly RGBA8_SNORM:GLenum;readonly RGBA_INTEGER:GLenum;readonly RGB_INTEGER:GLenum;readonly RG_INTEGER:GLenum;readonly SAMPLER_2D_ARRAY:GLenum;readonly SAMPLER_2D_ARRAY_SHADOW:GLenum;readonly SAMPLER_2D_SHADOW:GLenum;readonly SAMPLER_3D:GLenum;readonly SAMPLER_BINDING:GLenum;readonly SAMPLER_CUBE_SHADOW:GLenum;readonly SEPARATE_ATTRIBS:GLenum;readonly SIGNALED:GLenum;readonly SIGNED_NORMALIZED:GLenum;readonly SRGB:GLenum;readonly SRGB8:GLenum;readonly SRGB8_ALPHA8:GLenum;readonly STATIC_COPY:GLenum;readonly STATIC_READ:GLenum;readonly STENCIL:GLenum;readonly STREAM_COPY:GLenum;readonly STREAM_READ:GLenum;readonly SYNC_CONDITION:GLenum;readonly SYNC_FENCE:GLenum;readonly SYNC_FLAGS:GLenum;readonly SYNC_FLUSH_COMMANDS_BIT:GLenum;readonly SYNC_GPU_COMMANDS_COMPLETE:GLenum;readonly SYNC_STATUS:GLenum;readonly TEXTURE_2D_ARRAY:GLenum;readonly TEXTURE_3D:GLenum;readonly TEXTURE_BASE_LEVEL:GLenum;readonly TEXTURE_BINDING_2D_ARRAY:GLenum;readonly TEXTURE_BINDING_3D:GLenum;readonly TEXTURE_COMPARE_FUNC:GLenum;readonly TEXTURE_COMPARE_MODE:GLenum;readonly TEXTURE_IMMUTABLE_FORMAT:GLenum;readonly TEXTURE_IMMUTABLE_LEVELS:GLenum;readonly TEXTURE_MAX_LEVEL:GLenum;readonly TEXTURE_MAX_LOD:GLenum;readonly TEXTURE_MIN_LOD:GLenum;readonly TEXTURE_WRAP_R:GLenum;readonly TIMEOUT_EXPIRED:GLenum;readonly TIMEOUT_IGNORED:GLint64;readonly TRANSFORM_FEEDBACK:GLenum;readonly TRANSFORM_FEEDBACK_ACTIVE:GLenum;readonly TRANSFORM_FEEDBACK_BINDING:GLenum;readonly TRANSFORM_FEEDBACK_BUFFER:GLenum;readonly TRANSFORM_FEEDBACK_BUFFER_BINDING:GLenum;readonly TRANSFORM_FEEDBACK_BUFFER_MODE:GLenum;readonly TRANSFORM_FEEDBACK_BUFFER_SIZE:GLenum;readonly TRANSFORM_FEEDBACK_BUFFER_START:GLenum;readonly TRANSFORM_FEEDBACK_PAUSED:GLenum;readonly TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN:GLenum;readonly TRANSFORM_FEEDBACK_VARYINGS:GLenum;readonly UNIFORM_ARRAY_STRIDE:GLenum;readonly UNIFORM_BLOCK_ACTIVE_UNIFORMS:GLenum;readonly UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES:GLenum;readonly UNIFORM_BLOCK_BINDING:GLenum;readonly UNIFORM_BLOCK_DATA_SIZE:GLenum;readonly UNIFORM_BLOCK_INDEX:GLenum;readonly UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER:GLenum;readonly UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER:GLenum;readonly UNIFORM_BUFFER:GLenum;readonly UNIFORM_BUFFER_BINDING:GLenum;readonly UNIFORM_BUFFER_OFFSET_ALIGNMENT:GLenum;readonly UNIFORM_BUFFER_SIZE:GLenum;readonly UNIFORM_BUFFER_START:GLenum;readonly UNIFORM_IS_ROW_MAJOR:GLenum;readonly UNIFORM_MATRIX_STRIDE:GLenum;readonly UNIFORM_OFFSET:GLenum;readonly UNIFORM_SIZE:GLenum;readonly UNIFORM_TYPE:GLenum;readonly UNPACK_IMAGE_HEIGHT:GLenum;readonly UNPACK_ROW_LENGTH:GLenum;readonly UNPACK_SKIP_IMAGES:GLenum;readonly UNPACK_SKIP_PIXELS:GLenum;readonly UNPACK_SKIP_ROWS:GLenum;readonly UNSIGNALED:GLenum;readonly UNSIGNED_INT_10F_11F_11F_REV:GLenum;readonly UNSIGNED_INT_24_8:GLenum;readonly UNSIGNED_INT_2_10_10_10_REV:GLenum;readonly UNSIGNED_INT_5_9_9_9_REV:GLenum;readonly UNSIGNED_INT_SAMPLER_2D:GLenum;readonly UNSIGNED_INT_SAMPLER_2D_ARRAY:GLenum;readonly UNSIGNED_INT_SAMPLER_3D:GLenum;readonly UNSIGNED_INT_SAMPLER_CUBE:GLenum;readonly UNSIGNED_INT_VEC2:GLenum;readonly UNSIGNED_INT_VEC3:GLenum;readonly UNSIGNED_INT_VEC4:GLenum;readonly UNSIGNED_NORMALIZED:GLenum;readonly VERTEX_ARRAY_BINDING:GLenum;readonly VERTEX_ATTRIB_ARRAY_DIVISOR:GLenum;readonly VERTEX_ATTRIB_ARRAY_INTEGER:GLenum;readonly WAIT_FAILED:GLenum;}interface WebGL2RenderingContextOverloads{bufferData(target:GLenum,size:GLsizeiptr,usage:GLenum):void;bufferData(target:GLenum,srcData:BufferSource|null,usage:GLenum):void;bufferData(target:GLenum,srcData:ArrayBufferView,usage:GLenum,srcOffset:GLuint,length?:GLuint):void;bufferSubData(target:GLenum,dstByteOffset:GLintptr,srcData:BufferSource):void;bufferSubData(target:GLenum,dstByteOffset:GLintptr,srcData:ArrayBufferView,srcOffset:GLuint,length?:GLuint):void;compressedTexImage2D(target:GLenum,level:GLint,internalformat:GLenum,width:GLsizei,height:GLsizei,border:GLint,imageSize:GLsizei,offset:GLintptr):void;compressedTexImage2D(target:GLenum,level:GLint,internalformat:GLenum,width:GLsizei,height:GLsizei,border:GLint,srcData:ArrayBufferView,srcOffset?:GLuint,srcLengthOverride?:GLuint):void;compressedTexSubImage2D(target:GLenum,level:GLint,xoffset:GLint,yoffset:GLint,width:GLsizei,height:GLsizei,format:GLenum,imageSize:GLsizei,offset:GLintptr):void;compressedTexSubImage2D(target:GLenum,level:GLint,xoffset:GLint,yoffset:GLint,width:GLsizei,height:GLsizei,format:GLenum,srcData:ArrayBufferView,srcOffset?:GLuint,srcLengthOverride?:GLuint):void;readPixels(x:GLint,y:GLint,width:GLsizei,height:GLsizei,format:GLenum,type:GLenum,dstData:ArrayBufferView|null):void;readPixels(x:GLint,y:GLint,width:GLsizei,height:GLsizei,format:GLenum,type:GLenum,offset:GLintptr):void;readPixels(x:GLint,y:GLint,width:GLsizei,height:GLsizei,format:GLenum,type:GLenum,dstData:ArrayBufferView,dstOffset:GLuint):void;texImage2D(target:GLenum,level:GLint,internalformat:GLint,width:GLsizei,height:GLsizei,border:GLint,format:GLenum,type:GLenum,pixels:ArrayBufferView|null):void;texImage2D(target:GLenum,level:GLint,internalformat:GLint,format:GLenum,type:GLenum,source:TexImageSource):void;texImage2D(target:GLenum,level:GLint,internalformat:GLint,width:GLsizei,height:GLsizei,border:GLint,format:GLenum,type:GLenum,pboOffset:GLintptr):void;texImage2D(target:GLenum,level:GLint,internalformat:GLint,width:GLsizei,height:GLsizei,border:GLint,format:GLenum,type:GLenum,source:TexImageSource):void;texImage2D(target:GLenum,level:GLint,internalformat:GLint,width:GLsizei,height:GLsizei,border:GLint,format:GLenum,type:GLenum,srcData:ArrayBufferView,srcOffset:GLuint):void;texSubImage2D(target:GLenum,level:GLint,xoffset:GLint,yoffset:GLint,width:GLsizei,height:GLsizei,format:GLenum,type:GLenum,pixels:ArrayBufferView|null):void;texSubImage2D(target:GLenum,level:GLint,xoffset:GLint,yoffset:GLint,format:GLenum,type:GLenum,source:TexImageSource):void;texSubImage2D(target:GLenum,level:GLint,xoffset:GLint,yoffset:GLint,width:GLsizei,height:GLsizei,format:GLenum,type:GLenum,pboOffset:GLintptr):void;texSubImage2D(target:GLenum,level:GLint,xoffset:GLint,yoffset:GLint,width:GLsizei,height:GLsizei,format:GLenum,type:GLenum,source:TexImageSource):void;texSubImage2D(target:GLenum,level:GLint,xoffset:GLint,yoffset:GLint,width:GLsizei,height:GLsizei,format:GLenum,type:GLenum,srcData:ArrayBufferView,srcOffset:GLuint):void;uniform1fv(location:WebGLUniformLocation|null,data:Float32List,srcOffset?:GLuint,srcLength?:GLuint):void;uniform1iv(location:WebGLUniformLocation|null,data:Int32List,srcOffset?:GLuint,srcLength?:GLuint):void;uniform2fv(location:WebGLUniformLocation|null,data:Float32List,srcOffset?:GLuint,srcLength?:GLuint):void;uniform2iv(location:WebGLUniformLocation|null,data:Int32List,srcOffset?:GLuint,srcLength?:GLuint):void;uniform3fv(location:WebGLUniformLocation|null,data:Float32List,srcOffset?:GLuint,srcLength?:GLuint):void;uniform3iv(location:WebGLUniformLocation|null,data:Int32List,srcOffset?:GLuint,srcLength?:GLuint):void;uniform4fv(location:WebGLUniformLocation|null,data:Float32List,srcOffset?:GLuint,srcLength?:GLuint):void;uniform4iv(location:WebGLUniformLocation|null,data:Int32List,srcOffset?:GLuint,srcLength?:GLuint):void;uniformMatrix2fv(location:WebGLUniformLocation|null,transpose:GLboolean,data:Float32List,srcOffset?:GLuint,srcLength?:GLuint):void;uniformMatrix3fv(location:WebGLUniformLocation|null,transpose:GLboolean,data:Float32List,srcOffset?:GLuint,srcLength?:GLuint):void;uniformMatrix4fv(location:WebGLUniformLocation|null,transpose:GLboolean,data:Float32List,srcOffset?:GLuint,srcLength?:GLuint):void;}interface WebGLActiveInfo{readonly name:string;readonly size:GLint;readonly type:GLenum;}declare var WebGLActiveInfo:{prototype:WebGLActiveInfo;new():WebGLActiveInfo;};interface WebGLBuffer{}declare var WebGLBuffer:{prototype:WebGLBuffer;new():WebGLBuffer;};interface WebGLContextEvent extends Event{readonly statusMessage:string;}declare var WebGLContextEvent:{prototype:WebGLContextEvent;new(type:string,eventInit?:WebGLContextEventInit):WebGLContextEvent;};interface WebGLFramebuffer{}declare var WebGLFramebuffer:{prototype:WebGLFramebuffer;new():WebGLFramebuffer;};interface WebGLProgram{}declare var WebGLProgram:{prototype:WebGLProgram;new():WebGLProgram;};interface WebGLQuery{}declare var WebGLQuery:{prototype:WebGLQuery;new():WebGLQuery;};interface WebGLRenderbuffer{}declare var WebGLRenderbuffer:{prototype:WebGLRenderbuffer;new():WebGLRenderbuffer;};interface WebGLRenderingContext extends WebGLRenderingContextBase,WebGLRenderingContextOverloads{}declare var WebGLRenderingContext:{prototype:WebGLRenderingContext;new():WebGLRenderingContext;readonly ACTIVE_ATTRIBUTES:GLenum;readonly ACTIVE_TEXTURE:GLenum;readonly ACTIVE_UNIFORMS:GLenum;readonly ALIASED_LINE_WIDTH_RANGE:GLenum;readonly ALIASED_POINT_SIZE_RANGE:GLenum;readonly ALPHA:GLenum;readonly ALPHA_BITS:GLenum;readonly ALWAYS:GLenum;readonly ARRAY_BUFFER:GLenum;readonly ARRAY_BUFFER_BINDING:GLenum;readonly ATTACHED_SHADERS:GLenum;readonly BACK:GLenum;readonly BLEND:GLenum;readonly BLEND_COLOR:GLenum;readonly BLEND_DST_ALPHA:GLenum;readonly BLEND_DST_RGB:GLenum;readonly BLEND_EQUATION:GLenum;readonly BLEND_EQUATION_ALPHA:GLenum;readonly BLEND_EQUATION_RGB:GLenum;readonly BLEND_SRC_ALPHA:GLenum;readonly BLEND_SRC_RGB:GLenum;readonly BLUE_BITS:GLenum;readonly BOOL:GLenum;readonly BOOL_VEC2:GLenum;readonly BOOL_VEC3:GLenum;readonly BOOL_VEC4:GLenum;readonly BROWSER_DEFAULT_WEBGL:GLenum;readonly BUFFER_SIZE:GLenum;readonly BUFFER_USAGE:GLenum;readonly BYTE:GLenum;readonly CCW:GLenum;readonly CLAMP_TO_EDGE:GLenum;readonly COLOR_ATTACHMENT0:GLenum;readonly COLOR_BUFFER_BIT:GLenum;readonly COLOR_CLEAR_VALUE:GLenum;readonly COLOR_WRITEMASK:GLenum;readonly COMPILE_STATUS:GLenum;readonly COMPRESSED_TEXTURE_FORMATS:GLenum;readonly CONSTANT_ALPHA:GLenum;readonly CONSTANT_COLOR:GLenum;readonly CONTEXT_LOST_WEBGL:GLenum;readonly CULL_FACE:GLenum;readonly CULL_FACE_MODE:GLenum;readonly CURRENT_PROGRAM:GLenum;readonly CURRENT_VERTEX_ATTRIB:GLenum;readonly CW:GLenum;readonly DECR:GLenum;readonly DECR_WRAP:GLenum;readonly DELETE_STATUS:GLenum;readonly DEPTH_ATTACHMENT:GLenum;readonly DEPTH_BITS:GLenum;readonly DEPTH_BUFFER_BIT:GLenum;readonly DEPTH_CLEAR_VALUE:GLenum;readonly DEPTH_COMPONENT:GLenum;readonly DEPTH_COMPONENT16:GLenum;readonly DEPTH_FUNC:GLenum;readonly DEPTH_RANGE:GLenum;readonly DEPTH_STENCIL:GLenum;readonly DEPTH_STENCIL_ATTACHMENT:GLenum;readonly DEPTH_TEST:GLenum;readonly DEPTH_WRITEMASK:GLenum;readonly DITHER:GLenum;readonly DONT_CARE:GLenum;readonly DST_ALPHA:GLenum;readonly DST_COLOR:GLenum;readonly DYNAMIC_DRAW:GLenum;readonly ELEMENT_ARRAY_BUFFER:GLenum;readonly ELEMENT_ARRAY_BUFFER_BINDING:GLenum;readonly EQUAL:GLenum;readonly FASTEST:GLenum;readonly FLOAT:GLenum;readonly FLOAT_MAT2:GLenum;readonly FLOAT_MAT3:GLenum;readonly FLOAT_MAT4:GLenum;readonly FLOAT_VEC2:GLenum;readonly FLOAT_VEC3:GLenum;readonly FLOAT_VEC4:GLenum;readonly FRAGMENT_SHADER:GLenum;readonly FRAMEBUFFER:GLenum;readonly FRAMEBUFFER_ATTACHMENT_OBJECT_NAME:GLenum;readonly FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE:GLenum;readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE:GLenum;readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL:GLenum;readonly FRAMEBUFFER_BINDING:GLenum;readonly FRAMEBUFFER_COMPLETE:GLenum;readonly FRAMEBUFFER_INCOMPLETE_ATTACHMENT:GLenum;readonly FRAMEBUFFER_INCOMPLETE_DIMENSIONS:GLenum;readonly FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:GLenum;readonly FRAMEBUFFER_UNSUPPORTED:GLenum;readonly FRONT:GLenum;readonly FRONT_AND_BACK:GLenum;readonly FRONT_FACE:GLenum;readonly FUNC_ADD:GLenum;readonly FUNC_REVERSE_SUBTRACT:GLenum;readonly FUNC_SUBTRACT:GLenum;readonly GENERATE_MIPMAP_HINT:GLenum;readonly GEQUAL:GLenum;readonly GREATER:GLenum;readonly GREEN_BITS:GLenum;readonly HIGH_FLOAT:GLenum;readonly HIGH_INT:GLenum;readonly IMPLEMENTATION_COLOR_READ_FORMAT:GLenum;readonly IMPLEMENTATION_COLOR_READ_TYPE:GLenum;readonly INCR:GLenum;readonly INCR_WRAP:GLenum;readonly INT:GLenum;readonly INT_VEC2:GLenum;readonly INT_VEC3:GLenum;readonly INT_VEC4:GLenum;readonly INVALID_ENUM:GLenum;readonly INVALID_FRAMEBUFFER_OPERATION:GLenum;readonly INVALID_OPERATION:GLenum;readonly INVALID_VALUE:GLenum;readonly INVERT:GLenum;readonly KEEP:GLenum;readonly LEQUAL:GLenum;readonly LESS:GLenum;readonly LINEAR:GLenum;readonly LINEAR_MIPMAP_LINEAR:GLenum;readonly LINEAR_MIPMAP_NEAREST:GLenum;readonly LINES:GLenum;readonly LINE_LOOP:GLenum;readonly LINE_STRIP:GLenum;readonly LINE_WIDTH:GLenum;readonly LINK_STATUS:GLenum;readonly LOW_FLOAT:GLenum;readonly LOW_INT:GLenum;readonly LUMINANCE:GLenum;readonly LUMINANCE_ALPHA:GLenum;readonly MAX_COMBINED_TEXTURE_IMAGE_UNITS:GLenum;readonly MAX_CUBE_MAP_TEXTURE_SIZE:GLenum;readonly MAX_FRAGMENT_UNIFORM_VECTORS:GLenum;readonly MAX_RENDERBUFFER_SIZE:GLenum;readonly MAX_TEXTURE_IMAGE_UNITS:GLenum;readonly MAX_TEXTURE_SIZE:GLenum;readonly MAX_VARYING_VECTORS:GLenum;readonly MAX_VERTEX_ATTRIBS:GLenum;readonly MAX_VERTEX_TEXTURE_IMAGE_UNITS:GLenum;readonly MAX_VERTEX_UNIFORM_VECTORS:GLenum;readonly MAX_VIEWPORT_DIMS:GLenum;readonly MEDIUM_FLOAT:GLenum;readonly MEDIUM_INT:GLenum;readonly MIRRORED_REPEAT:GLenum;readonly NEAREST:GLenum;readonly NEAREST_MIPMAP_LINEAR:GLenum;readonly NEAREST_MIPMAP_NEAREST:GLenum;readonly NEVER:GLenum;readonly NICEST:GLenum;readonly NONE:GLenum;readonly NOTEQUAL:GLenum;readonly NO_ERROR:GLenum;readonly ONE:GLenum;readonly ONE_MINUS_CONSTANT_ALPHA:GLenum;readonly ONE_MINUS_CONSTANT_COLOR:GLenum;readonly ONE_MINUS_DST_ALPHA:GLenum;readonly ONE_MINUS_DST_COLOR:GLenum;readonly ONE_MINUS_SRC_ALPHA:GLenum;readonly ONE_MINUS_SRC_COLOR:GLenum;readonly OUT_OF_MEMORY:GLenum;readonly PACK_ALIGNMENT:GLenum;readonly POINTS:GLenum;readonly POLYGON_OFFSET_FACTOR:GLenum;readonly POLYGON_OFFSET_FILL:GLenum;readonly POLYGON_OFFSET_UNITS:GLenum;readonly RED_BITS:GLenum;readonly RENDERBUFFER:GLenum;readonly RENDERBUFFER_ALPHA_SIZE:GLenum;readonly RENDERBUFFER_BINDING:GLenum;readonly RENDERBUFFER_BLUE_SIZE:GLenum;readonly RENDERBUFFER_DEPTH_SIZE:GLenum;readonly RENDERBUFFER_GREEN_SIZE:GLenum;readonly RENDERBUFFER_HEIGHT:GLenum;readonly RENDERBUFFER_INTERNAL_FORMAT:GLenum;readonly RENDERBUFFER_RED_SIZE:GLenum;readonly RENDERBUFFER_STENCIL_SIZE:GLenum;readonly RENDERBUFFER_WIDTH:GLenum;readonly RENDERER:GLenum;readonly REPEAT:GLenum;readonly REPLACE:GLenum;readonly RGB:GLenum;readonly RGB565:GLenum;readonly RGB5_A1:GLenum;readonly RGBA:GLenum;readonly RGBA4:GLenum;readonly SAMPLER_2D:GLenum;readonly SAMPLER_CUBE:GLenum;readonly SAMPLES:GLenum;readonly SAMPLE_ALPHA_TO_COVERAGE:GLenum;readonly SAMPLE_BUFFERS:GLenum;readonly SAMPLE_COVERAGE:GLenum;readonly SAMPLE_COVERAGE_INVERT:GLenum;readonly SAMPLE_COVERAGE_VALUE:GLenum;readonly SCISSOR_BOX:GLenum;readonly SCISSOR_TEST:GLenum;readonly SHADER_TYPE:GLenum;readonly SHADING_LANGUAGE_VERSION:GLenum;readonly SHORT:GLenum;readonly SRC_ALPHA:GLenum;readonly SRC_ALPHA_SATURATE:GLenum;readonly SRC_COLOR:GLenum;readonly STATIC_DRAW:GLenum;readonly STENCIL_ATTACHMENT:GLenum;readonly STENCIL_BACK_FAIL:GLenum;readonly STENCIL_BACK_FUNC:GLenum;readonly STENCIL_BACK_PASS_DEPTH_FAIL:GLenum;readonly STENCIL_BACK_PASS_DEPTH_PASS:GLenum;readonly STENCIL_BACK_REF:GLenum;readonly STENCIL_BACK_VALUE_MASK:GLenum;readonly STENCIL_BACK_WRITEMASK:GLenum;readonly STENCIL_BITS:GLenum;readonly STENCIL_BUFFER_BIT:GLenum;readonly STENCIL_CLEAR_VALUE:GLenum;readonly STENCIL_FAIL:GLenum;readonly STENCIL_FUNC:GLenum;readonly STENCIL_INDEX8:GLenum;readonly STENCIL_PASS_DEPTH_FAIL:GLenum;readonly STENCIL_PASS_DEPTH_PASS:GLenum;readonly STENCIL_REF:GLenum;readonly STENCIL_TEST:GLenum;readonly STENCIL_VALUE_MASK:GLenum;readonly STENCIL_WRITEMASK:GLenum;readonly STREAM_DRAW:GLenum;readonly SUBPIXEL_BITS:GLenum;readonly TEXTURE:GLenum;readonly TEXTURE0:GLenum;readonly TEXTURE1:GLenum;readonly TEXTURE10:GLenum;readonly TEXTURE11:GLenum;readonly TEXTURE12:GLenum;readonly TEXTURE13:GLenum;readonly TEXTURE14:GLenum;readonly TEXTURE15:GLenum;readonly TEXTURE16:GLenum;readonly TEXTURE17:GLenum;readonly TEXTURE18:GLenum;readonly TEXTURE19:GLenum;readonly TEXTURE2:GLenum;readonly TEXTURE20:GLenum;readonly TEXTURE21:GLenum;readonly TEXTURE22:GLenum;readonly TEXTURE23:GLenum;readonly TEXTURE24:GLenum;readonly TEXTURE25:GLenum;readonly TEXTURE26:GLenum;readonly TEXTURE27:GLenum;readonly TEXTURE28:GLenum;readonly TEXTURE29:GLenum;readonly TEXTURE3:GLenum;readonly TEXTURE30:GLenum;readonly TEXTURE31:GLenum;readonly TEXTURE4:GLenum;readonly TEXTURE5:GLenum;readonly TEXTURE6:GLenum;readonly TEXTURE7:GLenum;readonly TEXTURE8:GLenum;readonly TEXTURE9:GLenum;readonly TEXTURE_2D:GLenum;readonly TEXTURE_BINDING_2D:GLenum;readonly TEXTURE_BINDING_CUBE_MAP:GLenum;readonly TEXTURE_CUBE_MAP:GLenum;readonly TEXTURE_CUBE_MAP_NEGATIVE_X:GLenum;readonly TEXTURE_CUBE_MAP_NEGATIVE_Y:GLenum;readonly TEXTURE_CUBE_MAP_NEGATIVE_Z:GLenum;readonly TEXTURE_CUBE_MAP_POSITIVE_X:GLenum;readonly TEXTURE_CUBE_MAP_POSITIVE_Y:GLenum;readonly TEXTURE_CUBE_MAP_POSITIVE_Z:GLenum;readonly TEXTURE_MAG_FILTER:GLenum;readonly TEXTURE_MIN_FILTER:GLenum;readonly TEXTURE_WRAP_S:GLenum;readonly TEXTURE_WRAP_T:GLenum;readonly TRIANGLES:GLenum;readonly TRIANGLE_FAN:GLenum;readonly TRIANGLE_STRIP:GLenum;readonly UNPACK_ALIGNMENT:GLenum;readonly UNPACK_COLORSPACE_CONVERSION_WEBGL:GLenum;readonly UNPACK_FLIP_Y_WEBGL:GLenum;readonly UNPACK_PREMULTIPLY_ALPHA_WEBGL:GLenum;readonly UNSIGNED_BYTE:GLenum;readonly UNSIGNED_INT:GLenum;readonly UNSIGNED_SHORT:GLenum;readonly UNSIGNED_SHORT_4_4_4_4:GLenum;readonly UNSIGNED_SHORT_5_5_5_1:GLenum;readonly UNSIGNED_SHORT_5_6_5:GLenum;readonly VALIDATE_STATUS:GLenum;readonly VENDOR:GLenum;readonly VERSION:GLenum;readonly VERTEX_ATTRIB_ARRAY_BUFFER_BINDING:GLenum;readonly VERTEX_ATTRIB_ARRAY_ENABLED:GLenum;readonly VERTEX_ATTRIB_ARRAY_NORMALIZED:GLenum;readonly VERTEX_ATTRIB_ARRAY_POINTER:GLenum;readonly VERTEX_ATTRIB_ARRAY_SIZE:GLenum;readonly VERTEX_ATTRIB_ARRAY_STRIDE:GLenum;readonly VERTEX_ATTRIB_ARRAY_TYPE:GLenum;readonly VERTEX_SHADER:GLenum;readonly VIEWPORT:GLenum;readonly ZERO:GLenum;};interface WebGLRenderingContextBase{readonly drawingBufferHeight:GLsizei;readonly drawingBufferWidth:GLsizei;activeTexture(texture:GLenum):void;attachShader(program:WebGLProgram,shader:WebGLShader):void;bindAttribLocation(program:WebGLProgram,index:GLuint,name:string):void;bindBuffer(target:GLenum,buffer:WebGLBuffer|null):void;bindFramebuffer(target:GLenum,framebuffer:WebGLFramebuffer|null):void;bindRenderbuffer(target:GLenum,renderbuffer:WebGLRenderbuffer|null):void;bindTexture(target:GLenum,texture:WebGLTexture|null):void;blendColor(red:GLclampf,green:GLclampf,blue:GLclampf,alpha:GLclampf):void;blendEquation(mode:GLenum):void;blendEquationSeparate(modeRGB:GLenum,modeAlpha:GLenum):void;blendFunc(sfactor:GLenum,dfactor:GLenum):void;blendFuncSeparate(srcRGB:GLenum,dstRGB:GLenum,srcAlpha:GLenum,dstAlpha:GLenum):void;checkFramebufferStatus(target:GLenum):GLenum;clear(mask:GLbitfield):void;clearColor(red:GLclampf,green:GLclampf,blue:GLclampf,alpha:GLclampf):void;clearDepth(depth:GLclampf):void;clearStencil(s:GLint):void;colorMask(red:GLboolean,green:GLboolean,blue:GLboolean,alpha:GLboolean):void;compileShader(shader:WebGLShader):void;copyTexImage2D(target:GLenum,level:GLint,internalformat:GLenum,x:GLint,y:GLint,width:GLsizei,height:GLsizei,border:GLint):void;copyTexSubImage2D(target:GLenum,level:GLint,xoffset:GLint,yoffset:GLint,x:GLint,y:GLint,width:GLsizei,height:GLsizei):void;createBuffer():WebGLBuffer|null;createFramebuffer():WebGLFramebuffer|null;createProgram():WebGLProgram|null;createRenderbuffer():WebGLRenderbuffer|null;createShader(type:GLenum):WebGLShader|null;createTexture():WebGLTexture|null;cullFace(mode:GLenum):void;deleteBuffer(buffer:WebGLBuffer|null):void;deleteFramebuffer(framebuffer:WebGLFramebuffer|null):void;deleteProgram(program:WebGLProgram|null):void;deleteRenderbuffer(renderbuffer:WebGLRenderbuffer|null):void;deleteShader(shader:WebGLShader|null):void;deleteTexture(texture:WebGLTexture|null):void;depthFunc(func:GLenum):void;depthMask(flag:GLboolean):void;depthRange(zNear:GLclampf,zFar:GLclampf):void;detachShader(program:WebGLProgram,shader:WebGLShader):void;disable(cap:GLenum):void;disableVertexAttribArray(index:GLuint):void;drawArrays(mode:GLenum,first:GLint,count:GLsizei):void;drawElements(mode:GLenum,count:GLsizei,type:GLenum,offset:GLintptr):void;enable(cap:GLenum):void;enableVertexAttribArray(index:GLuint):void;finish():void;flush():void;framebufferRenderbuffer(target:GLenum,attachment:GLenum,renderbuffertarget:GLenum,renderbuffer:WebGLRenderbuffer|null):void;framebufferTexture2D(target:GLenum,attachment:GLenum,textarget:GLenum,texture:WebGLTexture|null,level:GLint):void;frontFace(mode:GLenum):void;generateMipmap(target:GLenum):void;getActiveAttrib(program:WebGLProgram,index:GLuint):WebGLActiveInfo|null;getActiveUniform(program:WebGLProgram,index:GLuint):WebGLActiveInfo|null;getAttachedShaders(program:WebGLProgram):WebGLShader[]|null;getAttribLocation(program:WebGLProgram,name:string):GLint;getBufferParameter(target:GLenum,pname:GLenum):any;getContextAttributes():WebGLContextAttributes|null;getError():GLenum;getExtension(extensionName:"ANGLE_instanced_arrays"):ANGLE_instanced_arrays|null;getExtension(extensionName:"EXT_blend_minmax"):EXT_blend_minmax|null;getExtension(extensionName:"EXT_color_buffer_float"):EXT_color_buffer_float|null;getExtension(extensionName:"EXT_color_buffer_half_float"):EXT_color_buffer_half_float|null;getExtension(extensionName:"EXT_float_blend"):EXT_float_blend|null;getExtension(extensionName:"EXT_frag_depth"):EXT_frag_depth|null;getExtension(extensionName:"EXT_sRGB"):EXT_sRGB|null;getExtension(extensionName:"EXT_shader_texture_lod"):EXT_shader_texture_lod|null;getExtension(extensionName:"EXT_texture_compression_bptc"):EXT_texture_compression_bptc|null;getExtension(extensionName:"EXT_texture_compression_rgtc"):EXT_texture_compression_rgtc|null;getExtension(extensionName:"EXT_texture_filter_anisotropic"):EXT_texture_filter_anisotropic|null;getExtension(extensionName:"KHR_parallel_shader_compile"):KHR_parallel_shader_compile|null;getExtension(extensionName:"OES_element_index_uint"):OES_element_index_uint|null;getExtension(extensionName:"OES_fbo_render_mipmap"):OES_fbo_render_mipmap|null;getExtension(extensionName:"OES_standard_derivatives"):OES_standard_derivatives|null;getExtension(extensionName:"OES_texture_float"):OES_texture_float|null;getExtension(extensionName:"OES_texture_float_linear"):OES_texture_float_linear|null;getExtension(extensionName:"OES_texture_half_float"):OES_texture_half_float|null;getExtension(extensionName:"OES_texture_half_float_linear"):OES_texture_half_float_linear|null;getExtension(extensionName:"OES_vertex_array_object"):OES_vertex_array_object|null;getExtension(extensionName:"OVR_multiview2"):OVR_multiview2|null;getExtension(extensionName:"WEBGL_color_buffer_float"):WEBGL_color_buffer_float|null;getExtension(extensionName:"WEBGL_compressed_texture_astc"):WEBGL_compressed_texture_astc|null;getExtension(extensionName:"WEBGL_compressed_texture_etc"):WEBGL_compressed_texture_etc|null;getExtension(extensionName:"WEBGL_compressed_texture_etc1"):WEBGL_compressed_texture_etc1|null;getExtension(extensionName:"WEBGL_compressed_texture_s3tc"):WEBGL_compressed_texture_s3tc|null;getExtension(extensionName:"WEBGL_compressed_texture_s3tc_srgb"):WEBGL_compressed_texture_s3tc_srgb|null;getExtension(extensionName:"WEBGL_debug_renderer_info"):WEBGL_debug_renderer_info|null;getExtension(extensionName:"WEBGL_debug_shaders"):WEBGL_debug_shaders|null;getExtension(extensionName:"WEBGL_depth_texture"):WEBGL_depth_texture|null;getExtension(extensionName:"WEBGL_draw_buffers"):WEBGL_draw_buffers|null;getExtension(extensionName:"WEBGL_lose_context"):WEBGL_lose_context|null;getExtension(extensionName:"WEBGL_multi_draw"):WEBGL_multi_draw|null;getExtension(name:string):any;getFramebufferAttachmentParameter(target:GLenum,attachment:GLenum,pname:GLenum):any;getParameter(pname:GLenum):any;getProgramInfoLog(program:WebGLProgram):string|null;getProgramParameter(program:WebGLProgram,pname:GLenum):any;getRenderbufferParameter(target:GLenum,pname:GLenum):any;getShaderInfoLog(shader:WebGLShader):string|null;getShaderParameter(shader:WebGLShader,pname:GLenum):any;getShaderPrecisionFormat(shadertype:GLenum,precisiontype:GLenum):WebGLShaderPrecisionFormat|null;getShaderSource(shader:WebGLShader):string|null;getSupportedExtensions():string[]|null;getTexParameter(target:GLenum,pname:GLenum):any;getUniform(program:WebGLProgram,location:WebGLUniformLocation):any;getUniformLocation(program:WebGLProgram,name:string):WebGLUniformLocation|null;getVertexAttrib(index:GLuint,pname:GLenum):any;getVertexAttribOffset(index:GLuint,pname:GLenum):GLintptr;hint(target:GLenum,mode:GLenum):void;isBuffer(buffer:WebGLBuffer|null):GLboolean;isContextLost():boolean;isEnabled(cap:GLenum):GLboolean;isFramebuffer(framebuffer:WebGLFramebuffer|null):GLboolean;isProgram(program:WebGLProgram|null):GLboolean;isRenderbuffer(renderbuffer:WebGLRenderbuffer|null):GLboolean;isShader(shader:WebGLShader|null):GLboolean;isTexture(texture:WebGLTexture|null):GLboolean;lineWidth(width:GLfloat):void;linkProgram(program:WebGLProgram):void;pixelStorei(pname:GLenum,param:GLint|GLboolean):void;polygonOffset(factor:GLfloat,units:GLfloat):void;renderbufferStorage(target:GLenum,internalformat:GLenum,width:GLsizei,height:GLsizei):void;sampleCoverage(value:GLclampf,invert:GLboolean):void;scissor(x:GLint,y:GLint,width:GLsizei,height:GLsizei):void;shaderSource(shader:WebGLShader,source:string):void;stencilFunc(func:GLenum,ref:GLint,mask:GLuint):void;stencilFuncSeparate(face:GLenum,func:GLenum,ref:GLint,mask:GLuint):void;stencilMask(mask:GLuint):void;stencilMaskSeparate(face:GLenum,mask:GLuint):void;stencilOp(fail:GLenum,zfail:GLenum,zpass:GLenum):void;stencilOpSeparate(face:GLenum,fail:GLenum,zfail:GLenum,zpass:GLenum):void;texParameterf(target:GLenum,pname:GLenum,param:GLfloat):void;texParameteri(target:GLenum,pname:GLenum,param:GLint):void;uniform1f(location:WebGLUniformLocation|null,x:GLfloat):void;uniform1i(location:WebGLUniformLocation|null,x:GLint):void;uniform2f(location:WebGLUniformLocation|null,x:GLfloat,y:GLfloat):void;uniform2i(location:WebGLUniformLocation|null,x:GLint,y:GLint):void;uniform3f(location:WebGLUniformLocation|null,x:GLfloat,y:GLfloat,z:GLfloat):void;uniform3i(location:WebGLUniformLocation|null,x:GLint,y:GLint,z:GLint):void;uniform4f(location:WebGLUniformLocation|null,x:GLfloat,y:GLfloat,z:GLfloat,w:GLfloat):void;uniform4i(location:WebGLUniformLocation|null,x:GLint,y:GLint,z:GLint,w:GLint):void;useProgram(program:WebGLProgram|null):void;validateProgram(program:WebGLProgram):void;vertexAttrib1f(index:GLuint,x:GLfloat):void;vertexAttrib1fv(index:GLuint,values:Float32List):void;vertexAttrib2f(index:GLuint,x:GLfloat,y:GLfloat):void;vertexAttrib2fv(index:GLuint,values:Float32List):void;vertexAttrib3f(index:GLuint,x:GLfloat,y:GLfloat,z:GLfloat):void;vertexAttrib3fv(index:GLuint,values:Float32List):void;vertexAttrib4f(index:GLuint,x:GLfloat,y:GLfloat,z:GLfloat,w:GLfloat):void;vertexAttrib4fv(index:GLuint,values:Float32List):void;vertexAttribPointer(index:GLuint,size:GLint,type:GLenum,normalized:GLboolean,stride:GLsizei,offset:GLintptr):void;viewport(x:GLint,y:GLint,width:GLsizei,height:GLsizei):void;readonly ACTIVE_ATTRIBUTES:GLenum;readonly ACTIVE_TEXTURE:GLenum;readonly ACTIVE_UNIFORMS:GLenum;readonly ALIASED_LINE_WIDTH_RANGE:GLenum;readonly ALIASED_POINT_SIZE_RANGE:GLenum;readonly ALPHA:GLenum;readonly ALPHA_BITS:GLenum;readonly ALWAYS:GLenum;readonly ARRAY_BUFFER:GLenum;readonly ARRAY_BUFFER_BINDING:GLenum;readonly ATTACHED_SHADERS:GLenum;readonly BACK:GLenum;readonly BLEND:GLenum;readonly BLEND_COLOR:GLenum;readonly BLEND_DST_ALPHA:GLenum;readonly BLEND_DST_RGB:GLenum;readonly BLEND_EQUATION:GLenum;readonly BLEND_EQUATION_ALPHA:GLenum;readonly BLEND_EQUATION_RGB:GLenum;readonly BLEND_SRC_ALPHA:GLenum;readonly BLEND_SRC_RGB:GLenum;readonly BLUE_BITS:GLenum;readonly BOOL:GLenum;readonly BOOL_VEC2:GLenum;readonly BOOL_VEC3:GLenum;readonly BOOL_VEC4:GLenum;readonly BROWSER_DEFAULT_WEBGL:GLenum;readonly BUFFER_SIZE:GLenum;readonly BUFFER_USAGE:GLenum;readonly BYTE:GLenum;readonly CCW:GLenum;readonly CLAMP_TO_EDGE:GLenum;readonly COLOR_ATTACHMENT0:GLenum;readonly COLOR_BUFFER_BIT:GLenum;readonly COLOR_CLEAR_VALUE:GLenum;readonly COLOR_WRITEMASK:GLenum;readonly COMPILE_STATUS:GLenum;readonly COMPRESSED_TEXTURE_FORMATS:GLenum;readonly CONSTANT_ALPHA:GLenum;readonly CONSTANT_COLOR:GLenum;readonly CONTEXT_LOST_WEBGL:GLenum;readonly CULL_FACE:GLenum;readonly CULL_FACE_MODE:GLenum;readonly CURRENT_PROGRAM:GLenum;readonly CURRENT_VERTEX_ATTRIB:GLenum;readonly CW:GLenum;readonly DECR:GLenum;readonly DECR_WRAP:GLenum;readonly DELETE_STATUS:GLenum;readonly DEPTH_ATTACHMENT:GLenum;readonly DEPTH_BITS:GLenum;readonly DEPTH_BUFFER_BIT:GLenum;readonly DEPTH_CLEAR_VALUE:GLenum;readonly DEPTH_COMPONENT:GLenum;readonly DEPTH_COMPONENT16:GLenum;readonly DEPTH_FUNC:GLenum;readonly DEPTH_RANGE:GLenum;readonly DEPTH_STENCIL:GLenum;readonly DEPTH_STENCIL_ATTACHMENT:GLenum;readonly DEPTH_TEST:GLenum;readonly DEPTH_WRITEMASK:GLenum;readonly DITHER:GLenum;readonly DONT_CARE:GLenum;readonly DST_ALPHA:GLenum;readonly DST_COLOR:GLenum;readonly DYNAMIC_DRAW:GLenum;readonly ELEMENT_ARRAY_BUFFER:GLenum;readonly ELEMENT_ARRAY_BUFFER_BINDING:GLenum;readonly EQUAL:GLenum;readonly FASTEST:GLenum;readonly FLOAT:GLenum;readonly FLOAT_MAT2:GLenum;readonly FLOAT_MAT3:GLenum;readonly FLOAT_MAT4:GLenum;readonly FLOAT_VEC2:GLenum;readonly FLOAT_VEC3:GLenum;readonly FLOAT_VEC4:GLenum;readonly FRAGMENT_SHADER:GLenum;readonly FRAMEBUFFER:GLenum;readonly FRAMEBUFFER_ATTACHMENT_OBJECT_NAME:GLenum;readonly FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE:GLenum;readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE:GLenum;readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL:GLenum;readonly FRAMEBUFFER_BINDING:GLenum;readonly FRAMEBUFFER_COMPLETE:GLenum;readonly FRAMEBUFFER_INCOMPLETE_ATTACHMENT:GLenum;readonly FRAMEBUFFER_INCOMPLETE_DIMENSIONS:GLenum;readonly FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:GLenum;readonly FRAMEBUFFER_UNSUPPORTED:GLenum;readonly FRONT:GLenum;readonly FRONT_AND_BACK:GLenum;readonly FRONT_FACE:GLenum;readonly FUNC_ADD:GLenum;readonly FUNC_REVERSE_SUBTRACT:GLenum;readonly FUNC_SUBTRACT:GLenum;readonly GENERATE_MIPMAP_HINT:GLenum;readonly GEQUAL:GLenum;readonly GREATER:GLenum;readonly GREEN_BITS:GLenum;readonly HIGH_FLOAT:GLenum;readonly HIGH_INT:GLenum;readonly IMPLEMENTATION_COLOR_READ_FORMAT:GLenum;readonly IMPLEMENTATION_COLOR_READ_TYPE:GLenum;readonly INCR:GLenum;readonly INCR_WRAP:GLenum;readonly INT:GLenum;readonly INT_VEC2:GLenum;readonly INT_VEC3:GLenum;readonly INT_VEC4:GLenum;readonly INVALID_ENUM:GLenum;readonly INVALID_FRAMEBUFFER_OPERATION:GLenum;readonly INVALID_OPERATION:GLenum;readonly INVALID_VALUE:GLenum;readonly INVERT:GLenum;readonly KEEP:GLenum;readonly LEQUAL:GLenum;readonly LESS:GLenum;readonly LINEAR:GLenum;readonly LINEAR_MIPMAP_LINEAR:GLenum;readonly LINEAR_MIPMAP_NEAREST:GLenum;readonly LINES:GLenum;readonly LINE_LOOP:GLenum;readonly LINE_STRIP:GLenum;readonly LINE_WIDTH:GLenum;readonly LINK_STATUS:GLenum;readonly LOW_FLOAT:GLenum;readonly LOW_INT:GLenum;readonly LUMINANCE:GLenum;readonly LUMINANCE_ALPHA:GLenum;readonly MAX_COMBINED_TEXTURE_IMAGE_UNITS:GLenum;readonly MAX_CUBE_MAP_TEXTURE_SIZE:GLenum;readonly MAX_FRAGMENT_UNIFORM_VECTORS:GLenum;readonly MAX_RENDERBUFFER_SIZE:GLenum;readonly MAX_TEXTURE_IMAGE_UNITS:GLenum;readonly MAX_TEXTURE_SIZE:GLenum;readonly MAX_VARYING_VECTORS:GLenum;readonly MAX_VERTEX_ATTRIBS:GLenum;readonly MAX_VERTEX_TEXTURE_IMAGE_UNITS:GLenum;readonly MAX_VERTEX_UNIFORM_VECTORS:GLenum;readonly MAX_VIEWPORT_DIMS:GLenum;readonly MEDIUM_FLOAT:GLenum;readonly MEDIUM_INT:GLenum;readonly MIRRORED_REPEAT:GLenum;readonly NEAREST:GLenum;readonly NEAREST_MIPMAP_LINEAR:GLenum;readonly NEAREST_MIPMAP_NEAREST:GLenum;readonly NEVER:GLenum;readonly NICEST:GLenum;readonly NONE:GLenum;readonly NOTEQUAL:GLenum;readonly NO_ERROR:GLenum;readonly ONE:GLenum;readonly ONE_MINUS_CONSTANT_ALPHA:GLenum;readonly ONE_MINUS_CONSTANT_COLOR:GLenum;readonly ONE_MINUS_DST_ALPHA:GLenum;readonly ONE_MINUS_DST_COLOR:GLenum;readonly ONE_MINUS_SRC_ALPHA:GLenum;readonly ONE_MINUS_SRC_COLOR:GLenum;readonly OUT_OF_MEMORY:GLenum;readonly PACK_ALIGNMENT:GLenum;readonly POINTS:GLenum;readonly POLYGON_OFFSET_FACTOR:GLenum;readonly POLYGON_OFFSET_FILL:GLenum;readonly POLYGON_OFFSET_UNITS:GLenum;readonly RED_BITS:GLenum;readonly RENDERBUFFER:GLenum;readonly RENDERBUFFER_ALPHA_SIZE:GLenum;readonly RENDERBUFFER_BINDING:GLenum;readonly RENDERBUFFER_BLUE_SIZE:GLenum;readonly RENDERBUFFER_DEPTH_SIZE:GLenum;readonly RENDERBUFFER_GREEN_SIZE:GLenum;readonly RENDERBUFFER_HEIGHT:GLenum;readonly RENDERBUFFER_INTERNAL_FORMAT:GLenum;readonly RENDERBUFFER_RED_SIZE:GLenum;readonly RENDERBUFFER_STENCIL_SIZE:GLenum;readonly RENDERBUFFER_WIDTH:GLenum;readonly RENDERER:GLenum;readonly REPEAT:GLenum;readonly REPLACE:GLenum;readonly RGB:GLenum;readonly RGB565:GLenum;readonly RGB5_A1:GLenum;readonly RGBA:GLenum;readonly RGBA4:GLenum;readonly SAMPLER_2D:GLenum;readonly SAMPLER_CUBE:GLenum;readonly SAMPLES:GLenum;readonly SAMPLE_ALPHA_TO_COVERAGE:GLenum;readonly SAMPLE_BUFFERS:GLenum;readonly SAMPLE_COVERAGE:GLenum;readonly SAMPLE_COVERAGE_INVERT:GLenum;readonly SAMPLE_COVERAGE_VALUE:GLenum;readonly SCISSOR_BOX:GLenum;readonly SCISSOR_TEST:GLenum;readonly SHADER_TYPE:GLenum;readonly SHADING_LANGUAGE_VERSION:GLenum;readonly SHORT:GLenum;readonly SRC_ALPHA:GLenum;readonly SRC_ALPHA_SATURATE:GLenum;readonly SRC_COLOR:GLenum;readonly STATIC_DRAW:GLenum;readonly STENCIL_ATTACHMENT:GLenum;readonly STENCIL_BACK_FAIL:GLenum;readonly STENCIL_BACK_FUNC:GLenum;readonly STENCIL_BACK_PASS_DEPTH_FAIL:GLenum;readonly STENCIL_BACK_PASS_DEPTH_PASS:GLenum;readonly STENCIL_BACK_REF:GLenum;readonly STENCIL_BACK_VALUE_MASK:GLenum;readonly STENCIL_BACK_WRITEMASK:GLenum;readonly STENCIL_BITS:GLenum;readonly STENCIL_BUFFER_BIT:GLenum;readonly STENCIL_CLEAR_VALUE:GLenum;readonly STENCIL_FAIL:GLenum;readonly STENCIL_FUNC:GLenum;readonly STENCIL_INDEX8:GLenum;readonly STENCIL_PASS_DEPTH_FAIL:GLenum;readonly STENCIL_PASS_DEPTH_PASS:GLenum;readonly STENCIL_REF:GLenum;readonly STENCIL_TEST:GLenum;readonly STENCIL_VALUE_MASK:GLenum;readonly STENCIL_WRITEMASK:GLenum;readonly STREAM_DRAW:GLenum;readonly SUBPIXEL_BITS:GLenum;readonly TEXTURE:GLenum;readonly TEXTURE0:GLenum;readonly TEXTURE1:GLenum;readonly TEXTURE10:GLenum;readonly TEXTURE11:GLenum;readonly TEXTURE12:GLenum;readonly TEXTURE13:GLenum;readonly TEXTURE14:GLenum;readonly TEXTURE15:GLenum;readonly TEXTURE16:GLenum;readonly TEXTURE17:GLenum;readonly TEXTURE18:GLenum;readonly TEXTURE19:GLenum;readonly TEXTURE2:GLenum;readonly TEXTURE20:GLenum;readonly TEXTURE21:GLenum;readonly TEXTURE22:GLenum;readonly TEXTURE23:GLenum;readonly TEXTURE24:GLenum;readonly TEXTURE25:GLenum;readonly TEXTURE26:GLenum;readonly TEXTURE27:GLenum;readonly TEXTURE28:GLenum;readonly TEXTURE29:GLenum;readonly TEXTURE3:GLenum;readonly TEXTURE30:GLenum;readonly TEXTURE31:GLenum;readonly TEXTURE4:GLenum;readonly TEXTURE5:GLenum;readonly TEXTURE6:GLenum;readonly TEXTURE7:GLenum;readonly TEXTURE8:GLenum;readonly TEXTURE9:GLenum;readonly TEXTURE_2D:GLenum;readonly TEXTURE_BINDING_2D:GLenum;readonly TEXTURE_BINDING_CUBE_MAP:GLenum;readonly TEXTURE_CUBE_MAP:GLenum;readonly TEXTURE_CUBE_MAP_NEGATIVE_X:GLenum;readonly TEXTURE_CUBE_MAP_NEGATIVE_Y:GLenum;readonly TEXTURE_CUBE_MAP_NEGATIVE_Z:GLenum;readonly TEXTURE_CUBE_MAP_POSITIVE_X:GLenum;readonly TEXTURE_CUBE_MAP_POSITIVE_Y:GLenum;readonly TEXTURE_CUBE_MAP_POSITIVE_Z:GLenum;readonly TEXTURE_MAG_FILTER:GLenum;readonly TEXTURE_MIN_FILTER:GLenum;readonly TEXTURE_WRAP_S:GLenum;readonly TEXTURE_WRAP_T:GLenum;readonly TRIANGLES:GLenum;readonly TRIANGLE_FAN:GLenum;readonly TRIANGLE_STRIP:GLenum;readonly UNPACK_ALIGNMENT:GLenum;readonly UNPACK_COLORSPACE_CONVERSION_WEBGL:GLenum;readonly UNPACK_FLIP_Y_WEBGL:GLenum;readonly UNPACK_PREMULTIPLY_ALPHA_WEBGL:GLenum;readonly UNSIGNED_BYTE:GLenum;readonly UNSIGNED_INT:GLenum;readonly UNSIGNED_SHORT:GLenum;readonly UNSIGNED_SHORT_4_4_4_4:GLenum;readonly UNSIGNED_SHORT_5_5_5_1:GLenum;readonly UNSIGNED_SHORT_5_6_5:GLenum;readonly VALIDATE_STATUS:GLenum;readonly VENDOR:GLenum;readonly VERSION:GLenum;readonly VERTEX_ATTRIB_ARRAY_BUFFER_BINDING:GLenum;readonly VERTEX_ATTRIB_ARRAY_ENABLED:GLenum;readonly VERTEX_ATTRIB_ARRAY_NORMALIZED:GLenum;readonly VERTEX_ATTRIB_ARRAY_POINTER:GLenum;readonly VERTEX_ATTRIB_ARRAY_SIZE:GLenum;readonly VERTEX_ATTRIB_ARRAY_STRIDE:GLenum;readonly VERTEX_ATTRIB_ARRAY_TYPE:GLenum;readonly VERTEX_SHADER:GLenum;readonly VIEWPORT:GLenum;readonly ZERO:GLenum;}interface WebGLRenderingContextOverloads{bufferData(target:GLenum,size:GLsizeiptr,usage:GLenum):void;bufferData(target:GLenum,data:BufferSource|null,usage:GLenum):void;bufferSubData(target:GLenum,offset:GLintptr,data:BufferSource):void;compressedTexImage2D(target:GLenum,level:GLint,internalformat:GLenum,width:GLsizei,height:GLsizei,border:GLint,data:ArrayBufferView):void;compressedTexSubImage2D(target:GLenum,level:GLint,xoffset:GLint,yoffset:GLint,width:GLsizei,height:GLsizei,format:GLenum,data:ArrayBufferView):void;readPixels(x:GLint,y:GLint,width:GLsizei,height:GLsizei,format:GLenum,type:GLenum,pixels:ArrayBufferView|null):void;texImage2D(target:GLenum,level:GLint,internalformat:GLint,width:GLsizei,height:GLsizei,border:GLint,format:GLenum,type:GLenum,pixels:ArrayBufferView|null):void;texImage2D(target:GLenum,level:GLint,internalformat:GLint,format:GLenum,type:GLenum,source:TexImageSource):void;texSubImage2D(target:GLenum,level:GLint,xoffset:GLint,yoffset:GLint,width:GLsizei,height:GLsizei,format:GLenum,type:GLenum,pixels:ArrayBufferView|null):void;texSubImage2D(target:GLenum,level:GLint,xoffset:GLint,yoffset:GLint,format:GLenum,type:GLenum,source:TexImageSource):void;uniform1fv(location:WebGLUniformLocation|null,v:Float32List):void;uniform1iv(location:WebGLUniformLocation|null,v:Int32List):void;uniform2fv(location:WebGLUniformLocation|null,v:Float32List):void;uniform2iv(location:WebGLUniformLocation|null,v:Int32List):void;uniform3fv(location:WebGLUniformLocation|null,v:Float32List):void;uniform3iv(location:WebGLUniformLocation|null,v:Int32List):void;uniform4fv(location:WebGLUniformLocation|null,v:Float32List):void;uniform4iv(location:WebGLUniformLocation|null,v:Int32List):void;uniformMatrix2fv(location:WebGLUniformLocation|null,transpose:GLboolean,value:Float32List):void;uniformMatrix3fv(location:WebGLUniformLocation|null,transpose:GLboolean,value:Float32List):void;uniformMatrix4fv(location:WebGLUniformLocation|null,transpose:GLboolean,value:Float32List):void;}interface WebGLSampler{}declare var WebGLSampler:{prototype:WebGLSampler;new():WebGLSampler;};interface WebGLShader{}declare var WebGLShader:{prototype:WebGLShader;new():WebGLShader;};interface WebGLShaderPrecisionFormat{readonly precision:GLint;readonly rangeMax:GLint;readonly rangeMin:GLint;}declare var WebGLShaderPrecisionFormat:{prototype:WebGLShaderPrecisionFormat;new():WebGLShaderPrecisionFormat;};interface WebGLSync{}declare var WebGLSync:{prototype:WebGLSync;new():WebGLSync;};interface WebGLTexture{}declare var WebGLTexture:{prototype:WebGLTexture;new():WebGLTexture;};interface WebGLTransformFeedback{}declare var WebGLTransformFeedback:{prototype:WebGLTransformFeedback;new():WebGLTransformFeedback;};interface WebGLUniformLocation{}declare var WebGLUniformLocation:{prototype:WebGLUniformLocation;new():WebGLUniformLocation;};interface WebGLVertexArrayObject{}declare var WebGLVertexArrayObject:{prototype:WebGLVertexArrayObject;new():WebGLVertexArrayObject;};interface WebGLVertexArrayObjectOES{}interface WebSocketEventMap{"close":CloseEvent;"error":Event;"message":MessageEvent;"open":Event;}interface WebSocket extends EventTarget{binaryType:BinaryType;readonly bufferedAmount:number;readonly extensions:string;onclose:((this:WebSocket,ev:CloseEvent)=>any)|null;onerror:((this:WebSocket,ev:Event)=>any)|null;onmessage:((this:WebSocket,ev:MessageEvent)=>any)|null;onopen:((this:WebSocket,ev:Event)=>any)|null;readonly protocol:string;readonly readyState:number;readonly url:string;close(code?:number,reason?:string):void;send(data:string|ArrayBufferLike|Blob|ArrayBufferView):void;readonly CLOSED:number;readonly CLOSING:number;readonly CONNECTING:number;readonly OPEN:number;addEventListener<K extends keyof WebSocketEventMap>(type:K,listener:(this:WebSocket,ev:WebSocketEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof WebSocketEventMap>(type:K,listener:(this:WebSocket,ev:WebSocketEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var WebSocket:{prototype:WebSocket;new(url:string|URL,protocols?:string|string[]):WebSocket;readonly CLOSED:number;readonly CLOSING:number;readonly CONNECTING:number;readonly OPEN:number;};interface WindowClient extends Client{readonly focused:boolean;readonly visibilityState:DocumentVisibilityState;focus():Promise<WindowClient>;navigate(url:string|URL):Promise<WindowClient|null>;}declare var WindowClient:{prototype:WindowClient;new():WindowClient;};interface WindowOrWorkerGlobalScope{readonly caches:CacheStorage;readonly crossOriginIsolated:boolean;readonly crypto:Crypto;readonly indexedDB:IDBFactory;readonly isSecureContext:boolean;readonly origin:string;readonly performance:Performance;atob(data:string):string;btoa(data:string):string;clearInterval(id:number|undefined):void;clearTimeout(id:number|undefined):void;createImageBitmap(image:ImageBitmapSource,options?:ImageBitmapOptions):Promise<ImageBitmap>;createImageBitmap(image:ImageBitmapSource,sx:number,sy:number,sw:number,sh:number,options?:ImageBitmapOptions):Promise<ImageBitmap>;fetch(input:RequestInfo|URL,init?:RequestInit):Promise<Response>;queueMicrotask(callback:VoidFunction):void;reportError(e:any):void;setInterval(handler:TimerHandler,timeout?:number,...arguments:any[]):number;setTimeout(handler:TimerHandler,timeout?:number,...arguments:any[]):number;structuredClone(value:any,options?:StructuredSerializeOptions):any;}interface WorkerEventMap extends AbstractWorkerEventMap{"message":MessageEvent;"messageerror":MessageEvent;}interface Worker extends EventTarget,AbstractWorker{onmessage:((this:Worker,ev:MessageEvent)=>any)|null;onmessageerror:((this:Worker,ev:MessageEvent)=>any)|null;postMessage(message:any,transfer:Transferable[]):void;postMessage(message:any,options?:StructuredSerializeOptions):void;terminate():void;addEventListener<K extends keyof WorkerEventMap>(type:K,listener:(this:Worker,ev:WorkerEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof WorkerEventMap>(type:K,listener:(this:Worker,ev:WorkerEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var Worker:{prototype:Worker;new(scriptURL:string|URL,options?:WorkerOptions):Worker;};interface WorkerGlobalScopeEventMap{"error":ErrorEvent;"languagechange":Event;"offline":Event;"online":Event;"rejectionhandled":PromiseRejectionEvent;"unhandledrejection":PromiseRejectionEvent;}interface WorkerGlobalScope extends EventTarget,FontFaceSource,WindowOrWorkerGlobalScope{readonly location:WorkerLocation;readonly navigator:WorkerNavigator;onerror:((this:WorkerGlobalScope,ev:ErrorEvent)=>any)|null;onlanguagechange:((this:WorkerGlobalScope,ev:Event)=>any)|null;onoffline:((this:WorkerGlobalScope,ev:Event)=>any)|null;ononline:((this:WorkerGlobalScope,ev:Event)=>any)|null;onrejectionhandled:((this:WorkerGlobalScope,ev:PromiseRejectionEvent)=>any)|null;onunhandledrejection:((this:WorkerGlobalScope,ev:PromiseRejectionEvent)=>any)|null;readonly self:WorkerGlobalScope&typeof globalThis;importScripts(...urls:(string|URL)[]):void;addEventListener<K extends keyof WorkerGlobalScopeEventMap>(type:K,listener:(this:WorkerGlobalScope,ev:WorkerGlobalScopeEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof WorkerGlobalScopeEventMap>(type:K,listener:(this:WorkerGlobalScope,ev:WorkerGlobalScopeEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var WorkerGlobalScope:{prototype:WorkerGlobalScope;new():WorkerGlobalScope;};interface WorkerLocation{readonly hash:string;readonly host:string;readonly hostname:string;readonly href:string;toString():string;readonly origin:string;readonly pathname:string;readonly port:string;readonly protocol:string;readonly search:string;}declare var WorkerLocation:{prototype:WorkerLocation;new():WorkerLocation;};interface WorkerNavigator extends NavigatorConcurrentHardware,NavigatorID,NavigatorLanguage,NavigatorLocks,NavigatorOnLine,NavigatorStorage{readonly mediaCapabilities:MediaCapabilities;}declare var WorkerNavigator:{prototype:WorkerNavigator;new():WorkerNavigator;};interface WritableStream<W=any>{readonly locked:boolean;abort(reason?:any):Promise<void>;close():Promise<void>;getWriter():WritableStreamDefaultWriter<W>;}declare var WritableStream:{prototype:WritableStream;new<W=any>(underlyingSink?:UnderlyingSink<W>,strategy?:QueuingStrategy<W>):WritableStream<W>;};interface WritableStreamDefaultController{readonly signal:AbortSignal;error(e?:any):void;}declare var WritableStreamDefaultController:{prototype:WritableStreamDefaultController;new():WritableStreamDefaultController;};interface WritableStreamDefaultWriter<W=any>{readonly closed:Promise<undefined>;readonly desiredSize:number|null;readonly ready:Promise<undefined>;abort(reason?:any):Promise<void>;close():Promise<void>;releaseLock():void;write(chunk?:W):Promise<void>;}declare var WritableStreamDefaultWriter:{prototype:WritableStreamDefaultWriter;new<W=any>(stream:WritableStream<W>):WritableStreamDefaultWriter<W>;};interface XMLHttpRequestEventMap extends XMLHttpRequestEventTargetEventMap{"readystatechange":Event;}interface XMLHttpRequest extends XMLHttpRequestEventTarget{onreadystatechange:((this:XMLHttpRequest,ev:Event)=>any)|null;readonly readyState:number;readonly response:any;readonly responseText:string;responseType:XMLHttpRequestResponseType;readonly responseURL:string;readonly status:number;readonly statusText:string;timeout:number;readonly upload:XMLHttpRequestUpload;withCredentials:boolean;abort():void;getAllResponseHeaders():string;getResponseHeader(name:string):string|null;open(method:string,url:string|URL):void;open(method:string,url:string|URL,async:boolean,username?:string|null,password?:string|null):void;overrideMimeType(mime:string):void;send(body?:XMLHttpRequestBodyInit|null):void;setRequestHeader(name:string,value:string):void;readonly DONE:number;readonly HEADERS_RECEIVED:number;readonly LOADING:number;readonly OPENED:number;readonly UNSENT:number;addEventListener<K extends keyof XMLHttpRequestEventMap>(type:K,listener:(this:XMLHttpRequest,ev:XMLHttpRequestEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof XMLHttpRequestEventMap>(type:K,listener:(this:XMLHttpRequest,ev:XMLHttpRequestEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var XMLHttpRequest:{prototype:XMLHttpRequest;new():XMLHttpRequest;readonly DONE:number;readonly HEADERS_RECEIVED:number;readonly LOADING:number;readonly OPENED:number;readonly UNSENT:number;};interface XMLHttpRequestEventTargetEventMap{"abort":ProgressEvent<XMLHttpRequestEventTarget>;"error":ProgressEvent<XMLHttpRequestEventTarget>;"load":ProgressEvent<XMLHttpRequestEventTarget>;"loadend":ProgressEvent<XMLHttpRequestEventTarget>;"loadstart":ProgressEvent<XMLHttpRequestEventTarget>;"progress":ProgressEvent<XMLHttpRequestEventTarget>;"timeout":ProgressEvent<XMLHttpRequestEventTarget>;}interface XMLHttpRequestEventTarget extends EventTarget{onabort:((this:XMLHttpRequest,ev:ProgressEvent)=>any)|null;onerror:((this:XMLHttpRequest,ev:ProgressEvent)=>any)|null;onload:((this:XMLHttpRequest,ev:ProgressEvent)=>any)|null;onloadend:((this:XMLHttpRequest,ev:ProgressEvent)=>any)|null;onloadstart:((this:XMLHttpRequest,ev:ProgressEvent)=>any)|null;onprogress:((this:XMLHttpRequest,ev:ProgressEvent)=>any)|null;ontimeout:((this:XMLHttpRequest,ev:ProgressEvent)=>any)|null;addEventListener<K extends keyof XMLHttpRequestEventTargetEventMap>(type:K,listener:(this:XMLHttpRequestEventTarget,ev:XMLHttpRequestEventTargetEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof XMLHttpRequestEventTargetEventMap>(type:K,listener:(this:XMLHttpRequestEventTarget,ev:XMLHttpRequestEventTargetEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var XMLHttpRequestEventTarget:{prototype:XMLHttpRequestEventTarget;new():XMLHttpRequestEventTarget;};interface XMLHttpRequestUpload extends XMLHttpRequestEventTarget{addEventListener<K extends keyof XMLHttpRequestEventTargetEventMap>(type:K,listener:(this:XMLHttpRequestUpload,ev:XMLHttpRequestEventTargetEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;removeEventListener<K extends keyof XMLHttpRequestEventTargetEventMap>(type:K,listener:(this:XMLHttpRequestUpload,ev:XMLHttpRequestEventTargetEventMap[K])=>any,options?:boolean|EventListenerOptions):void;removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;}declare var XMLHttpRequestUpload:{prototype:XMLHttpRequestUpload;new():XMLHttpRequestUpload;};interface Console{assert(condition?:boolean,...data:any[]):void;clear():void;count(label?:string):void;countReset(label?:string):void;debug(...data:any[]):void;dir(item?:any,options?:any):void;dirxml(...data:any[]):void;error(...data:any[]):void;group(...data:any[]):void;groupCollapsed(...data:any[]):void;groupEnd():void;info(...data:any[]):void;log(...data:any[]):void;table(tabularData?:any,properties?:string[]):void;time(label?:string):void;timeEnd(label?:string):void;timeLog(label?:string,...data:any[]):void;timeStamp(label?:string):void;trace(...data:any[]):void;warn(...data:any[]):void;}declare var console:Console;declare namespace WebAssembly{interface CompileError extends Error{}var CompileError:{prototype:CompileError;new(message?:string):CompileError;(message?:string):CompileError;};interface Global{value:any;valueOf():any;}var Global:{prototype:Global;new(descriptor:GlobalDescriptor,v?:any):Global;};interface Instance{readonly exports:Exports;}var Instance:{prototype:Instance;new(module:Module,importObject?:Imports):Instance;};interface LinkError extends Error{}var LinkError:{prototype:LinkError;new(message?:string):LinkError;(message?:string):LinkError;};interface Memory{readonly buffer:ArrayBuffer;grow(delta:number):number;}var Memory:{prototype:Memory;new(descriptor:MemoryDescriptor):Memory;};interface Module{}var Module:{prototype:Module;new(bytes:BufferSource):Module;customSections(moduleObject:Module,sectionName:string):ArrayBuffer[];exports(moduleObject:Module):ModuleExportDescriptor[];imports(moduleObject:Module):ModuleImportDescriptor[];};interface RuntimeError extends Error{}var RuntimeError:{prototype:RuntimeError;new(message?:string):RuntimeError;(message?:string):RuntimeError;};interface Table{readonly length:number;get(index:number):any;grow(delta:number,value?:any):number;set(index:number,value?:any):void;}var Table:{prototype:Table;new(descriptor:TableDescriptor,value?:any):Table;};interface GlobalDescriptor{mutable?:boolean;value:ValueType;}interface MemoryDescriptor{initial:number;maximum?:number;shared?:boolean;}interface ModuleExportDescriptor{kind:ImportExportKind;name:string;}interface ModuleImportDescriptor{kind:ImportExportKind;module:string;name:string;}interface TableDescriptor{element:TableKind;initial:number;maximum?:number;}interface WebAssemblyInstantiatedSource{instance:Instance;module:Module;}type ImportExportKind="function"|"global"|"memory"|"table";type TableKind="anyfunc"|"externref";type ValueType="anyfunc"|"externref"|"f32"|"f64"|"i32"|"i64"|"v128";type ExportValue=Function|Global|Memory|Table;type Exports=Record<string,ExportValue>;type ImportValue=ExportValue|number;type Imports=Record<string,ModuleImports>;type ModuleImports=Record<string,ImportValue>;function compile(bytes:BufferSource):Promise<Module>;function compileStreaming(source:Response|PromiseLike<Response>):Promise<Module>;function instantiate(bytes:BufferSource,importObject?:Imports):Promise<WebAssemblyInstantiatedSource>;function instantiate(moduleObject:Module,importObject?:Imports):Promise<Instance>;function instantiateStreaming(source:Response|PromiseLike<Response>,importObject?:Imports):Promise<WebAssemblyInstantiatedSource>;function validate(bytes:BufferSource):boolean;}interface FrameRequestCallback{(time:DOMHighResTimeStamp):void;}interface LockGrantedCallback{(lock:Lock|null):any;}interface OnErrorEventHandlerNonNull{(event:Event|string,source?:string,lineno?:number,colno?:number,error?:Error):any;}interface PerformanceObserverCallback{(entries:PerformanceObserverEntryList,observer:PerformanceObserver):void;}interface QueuingStrategySize<T=any>{(chunk:T):number;}interface TransformerFlushCallback<O>{(controller:TransformStreamDefaultController<O>):void|PromiseLike<void>;}interface TransformerStartCallback<O>{(controller:TransformStreamDefaultController<O>):any;}interface TransformerTransformCallback<I,O>{(chunk:I,controller:TransformStreamDefaultController<O>):void|PromiseLike<void>;}interface UnderlyingSinkAbortCallback{(reason?:any):void|PromiseLike<void>;}interface UnderlyingSinkCloseCallback{():void|PromiseLike<void>;}interface UnderlyingSinkStartCallback{(controller:WritableStreamDefaultController):any;}interface UnderlyingSinkWriteCallback<W>{(chunk:W,controller:WritableStreamDefaultController):void|PromiseLike<void>;}interface UnderlyingSourceCancelCallback{(reason?:any):void|PromiseLike<void>;}interface UnderlyingSourcePullCallback<R>{(controller:ReadableStreamController<R>):void|PromiseLike<void>;}interface UnderlyingSourceStartCallback<R>{(controller:ReadableStreamController<R>):any;}interface VoidFunction{():void;}declare var name:string;declare var onmessage:((this:DedicatedWorkerGlobalScope,ev:MessageEvent)=>any)|null;declare var onmessageerror:((this:DedicatedWorkerGlobalScope,ev:MessageEvent)=>any)|null;declare function close():void;declare function postMessage(message:any,transfer:Transferable[]):void;declare function postMessage(message:any,options?:StructuredSerializeOptions):void;declare function dispatchEvent(event:Event):boolean;declare var location:WorkerLocation;declare var navigator:WorkerNavigator;declare var onerror:((this:DedicatedWorkerGlobalScope,ev:ErrorEvent)=>any)|null;declare var onlanguagechange:((this:DedicatedWorkerGlobalScope,ev:Event)=>any)|null;declare var onoffline:((this:DedicatedWorkerGlobalScope,ev:Event)=>any)|null;declare var ononline:((this:DedicatedWorkerGlobalScope,ev:Event)=>any)|null;declare var onrejectionhandled:((this:DedicatedWorkerGlobalScope,ev:PromiseRejectionEvent)=>any)|null;declare var onunhandledrejection:((this:DedicatedWorkerGlobalScope,ev:PromiseRejectionEvent)=>any)|null;declare var self:WorkerGlobalScope&typeof globalThis;declare function importScripts(...urls:(string|URL)[]):void;declare function dispatchEvent(event:Event):boolean;declare var fonts:FontFaceSet;declare var caches:CacheStorage;declare var crossOriginIsolated:boolean;declare var crypto:Crypto;declare var indexedDB:IDBFactory;declare var isSecureContext:boolean;declare var origin:string;declare var performance:Performance;declare function atob(data:string):string;declare function btoa(data:string):string;declare function clearInterval(id:number|undefined):void;declare function clearTimeout(id:number|undefined):void;declare function createImageBitmap(image:ImageBitmapSource,options?:ImageBitmapOptions):Promise<ImageBitmap>;declare function createImageBitmap(image:ImageBitmapSource,sx:number,sy:number,sw:number,sh:number,options?:ImageBitmapOptions):Promise<ImageBitmap>;declare function fetch(input:RequestInfo|URL,init?:RequestInit):Promise<Response>;declare function queueMicrotask(callback:VoidFunction):void;declare function reportError(e:any):void;declare function setInterval(handler:TimerHandler,timeout?:number,...arguments:any[]):number;declare function setTimeout(handler:TimerHandler,timeout?:number,...arguments:any[]):number;declare function structuredClone(value:any,options?:StructuredSerializeOptions):any;declare function cancelAnimationFrame(handle:number):void;declare function requestAnimationFrame(callback:FrameRequestCallback):number;declare function addEventListener<K extends keyof DedicatedWorkerGlobalScopeEventMap>(type:K,listener:(this:DedicatedWorkerGlobalScope,ev:DedicatedWorkerGlobalScopeEventMap[K])=>any,options?:boolean|AddEventListenerOptions):void;declare function addEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|AddEventListenerOptions):void;declare function removeEventListener<K extends keyof DedicatedWorkerGlobalScopeEventMap>(type:K,listener:(this:DedicatedWorkerGlobalScope,ev:DedicatedWorkerGlobalScopeEventMap[K])=>any,options?:boolean|EventListenerOptions):void;declare function removeEventListener(type:string,listener:EventListenerOrEventListenerObject,options?:boolean|EventListenerOptions):void;type AlgorithmIdentifier=Algorithm|string;type BigInteger=Uint8Array;type BinaryData=ArrayBuffer|ArrayBufferView;type BlobPart=BufferSource|Blob|string;type BodyInit=ReadableStream|XMLHttpRequestBodyInit;type BufferSource=ArrayBufferView|ArrayBuffer;type CanvasImageSource=ImageBitmap|OffscreenCanvas;type DOMHighResTimeStamp=number;type EpochTimeStamp=number;type EventListenerOrEventListenerObject=EventListener|EventListenerObject;type Float32List=Float32Array|GLfloat[];type FormDataEntryValue=File|string;type GLbitfield=number;type GLboolean=boolean;type GLclampf=number;type GLenum=number;type GLfloat=number;type GLint=number;type GLint64=number;type GLintptr=number;type GLsizei=number;type GLsizeiptr=number;type GLuint=number;type GLuint64=number;type HashAlgorithmIdentifier=AlgorithmIdentifier;type HeadersInit=[string,string][]|Record<string,string>|Headers;type IDBValidKey=number|string|Date|BufferSource|IDBValidKey[];type ImageBitmapSource=CanvasImageSource|Blob|ImageData;type Int32List=Int32Array|GLint[];type MessageEventSource=MessagePort|ServiceWorker;type NamedCurve=string;type OffscreenRenderingContext=OffscreenCanvasRenderingContext2D|ImageBitmapRenderingContext|WebGLRenderingContext|WebGL2RenderingContext;type OnErrorEventHandler=OnErrorEventHandlerNonNull|null;type PerformanceEntryList=PerformanceEntry[];type PushMessageDataInit=BufferSource|string;type ReadableStreamController<T>=ReadableStreamDefaultController<T>|ReadableByteStreamController;type ReadableStreamReadResult<T>=ReadableStreamReadValueResult<T>|ReadableStreamReadDoneResult<T>;type ReadableStreamReader<T>=ReadableStreamDefaultReader<T>|ReadableStreamBYOBReader;type RequestInfo=Request|string;type TexImageSource=ImageBitmap|ImageData|OffscreenCanvas;type TimerHandler=string|Function;type Transferable=OffscreenCanvas|ImageBitmap|MessagePort|ReadableStream|WritableStream|TransformStream|ArrayBuffer;type Uint32List=Uint32Array|GLuint[];type VibratePattern=number|number[];type XMLHttpRequestBodyInit=Blob|BufferSource|FormData|URLSearchParams|string;type BinaryType="arraybuffer"|"blob";type CanvasDirection="inherit"|"ltr"|"rtl";type CanvasFillRule="evenodd"|"nonzero";type CanvasFontKerning="auto"|"none"|"normal";type CanvasFontStretch="condensed"|"expanded"|"extra-condensed"|"extra-expanded"|"normal"|"semi-condensed"|"semi-expanded"|"ultra-condensed"|"ultra-expanded";type CanvasFontVariantCaps="all-petite-caps"|"all-small-caps"|"normal"|"petite-caps"|"small-caps"|"titling-caps"|"unicase";type CanvasLineCap="butt"|"round"|"square";type CanvasLineJoin="bevel"|"miter"|"round";type CanvasTextAlign="center"|"end"|"left"|"right"|"start";type CanvasTextBaseline="alphabetic"|"bottom"|"hanging"|"ideographic"|"middle"|"top";type CanvasTextRendering="auto"|"geometricPrecision"|"optimizeLegibility"|"optimizeSpeed";type ClientTypes="all"|"sharedworker"|"window"|"worker";type ColorGamut="p3"|"rec2020"|"srgb";type ColorSpaceConversion="default"|"none";type DocumentVisibilityState="hidden"|"visible";type EndingType="native"|"transparent";type FileSystemHandleKind="directory"|"file";type FontFaceLoadStatus="error"|"loaded"|"loading"|"unloaded";type FontFaceSetLoadStatus="loaded"|"loading";type FrameType="auxiliary"|"nested"|"none"|"top-level";type GlobalCompositeOperation="color"|"color-burn"|"color-dodge"|"copy"|"darken"|"destination-atop"|"destination-in"|"destination-out"|"destination-over"|"difference"|"exclusion"|"hard-light"|"hue"|"lighten"|"lighter"|"luminosity"|"multiply"|"overlay"|"saturation"|"screen"|"soft-light"|"source-atop"|"source-in"|"source-out"|"source-over"|"xor";type HdrMetadataType="smpteSt2086"|"smpteSt2094-10"|"smpteSt2094-40";type IDBCursorDirection="next"|"nextunique"|"prev"|"prevunique";type IDBRequestReadyState="done"|"pending";type IDBTransactionDurability="default"|"relaxed"|"strict";type IDBTransactionMode="readonly"|"readwrite"|"versionchange";type ImageOrientation="flipY"|"none";type ImageSmoothingQuality="high"|"low"|"medium";type KeyFormat="jwk"|"pkcs8"|"raw"|"spki";type KeyType="private"|"public"|"secret";type KeyUsage="decrypt"|"deriveBits"|"deriveKey"|"encrypt"|"sign"|"unwrapKey"|"verify"|"wrapKey";type LockMode="exclusive"|"shared";type MediaDecodingType="file"|"media-source"|"webrtc";type MediaEncodingType="record"|"webrtc";type NotificationDirection="auto"|"ltr"|"rtl";type NotificationPermission="default"|"denied"|"granted";type OffscreenRenderingContextId="2d"|"bitmaprenderer"|"webgl"|"webgl2"|"webgpu";type PermissionName="geolocation"|"notifications"|"persistent-storage"|"push"|"screen-wake-lock"|"xr-spatial-tracking";type PermissionState="denied"|"granted"|"prompt";type PredefinedColorSpace="display-p3"|"srgb";type PremultiplyAlpha="default"|"none"|"premultiply";type PushEncryptionKeyName="auth"|"p256dh";type RTCEncodedVideoFrameType="delta"|"empty"|"key";type ReadableStreamReaderMode="byob";type ReadableStreamType="bytes";type ReferrerPolicy=""|"no-referrer"|"no-referrer-when-downgrade"|"origin"|"origin-when-cross-origin"|"same-origin"|"strict-origin"|"strict-origin-when-cross-origin"|"unsafe-url";type RequestCache="default"|"force-cache"|"no-cache"|"no-store"|"only-if-cached"|"reload";type RequestCredentials="include"|"omit"|"same-origin";type RequestDestination=""|"audio"|"audioworklet"|"document"|"embed"|"font"|"frame"|"iframe"|"image"|"manifest"|"object"|"paintworklet"|"report"|"script"|"sharedworker"|"style"|"track"|"video"|"worker"|"xslt";type RequestMode="cors"|"navigate"|"no-cors"|"same-origin";type RequestRedirect="error"|"follow"|"manual";type ResizeQuality="high"|"low"|"medium"|"pixelated";type ResponseType="basic"|"cors"|"default"|"error"|"opaque"|"opaqueredirect";type SecurityPolicyViolationEventDisposition="enforce"|"report";type ServiceWorkerState="activated"|"activating"|"installed"|"installing"|"parsed"|"redundant";type ServiceWorkerUpdateViaCache="all"|"imports"|"none";type TransferFunction="hlg"|"pq"|"srgb";type VideoColorPrimaries="bt470bg"|"bt709"|"smpte170m";type VideoMatrixCoefficients="bt470bg"|"bt709"|"rgb"|"smpte170m";type VideoTransferCharacteristics="bt709"|"iec61966-2-1"|"smpte170m";type WebGLPowerPreference="default"|"high-performance"|"low-power";type WorkerType="classic"|"module";type XMLHttpRequestResponseType=""|"arraybuffer"|"blob"|"document"|"json"|"text";`
    }, {
        fileName: "lib.webworker.importscripts.d.ts",
        text: `/// <reference no-default-lib="true"/>\ndeclare function importScripts(...urls:string[]):void;`
    }, {
        fileName: "lib.webworker.iterable.d.ts",
        text: `/// <reference no-default-lib="true"/>\ninterface Cache{addAll(requests:Iterable<RequestInfo>):Promise<void>;}interface CanvasPath{roundRect(x:number,y:number,w:number,h:number,radii?:number|DOMPointInit|Iterable<number|DOMPointInit>):void;}interface CanvasPathDrawingStyles{setLineDash(segments:Iterable<number>):void;}interface DOMStringList{[Symbol.iterator]():IterableIterator<string>;}interface FileList{[Symbol.iterator]():IterableIterator<File>;}interface FontFaceSet extends Set<FontFace>{}interface FormData{[Symbol.iterator]():IterableIterator<[string,FormDataEntryValue]>;entries():IterableIterator<[string,FormDataEntryValue]>;keys():IterableIterator<string>;values():IterableIterator<FormDataEntryValue>;}interface Headers{[Symbol.iterator]():IterableIterator<[string,string]>;entries():IterableIterator<[string,string]>;keys():IterableIterator<string>;values():IterableIterator<string>;}interface IDBDatabase{transaction(storeNames:string|Iterable<string>,mode?:IDBTransactionMode,options?:IDBTransactionOptions):IDBTransaction;}interface IDBObjectStore{createIndex(name:string,keyPath:string|Iterable<string>,options?:IDBIndexParameters):IDBIndex;}interface MessageEvent<T=any>{initMessageEvent(type:string,bubbles?:boolean,cancelable?:boolean,data?:any,origin?:string,lastEventId?:string,source?:MessageEventSource|null,ports?:Iterable<MessagePort>):void;}interface SubtleCrypto{deriveKey(algorithm:AlgorithmIdentifier|EcdhKeyDeriveParams|HkdfParams|Pbkdf2Params,baseKey:CryptoKey,derivedKeyType:AlgorithmIdentifier|AesDerivedKeyParams|HmacImportParams|HkdfParams|Pbkdf2Params,extractable:boolean,keyUsages:Iterable<KeyUsage>):Promise<CryptoKey>;generateKey(algorithm:RsaHashedKeyGenParams|EcKeyGenParams,extractable:boolean,keyUsages:ReadonlyArray<KeyUsage>):Promise<CryptoKeyPair>;generateKey(algorithm:AesKeyGenParams|HmacKeyGenParams|Pbkdf2Params,extractable:boolean,keyUsages:ReadonlyArray<KeyUsage>):Promise<CryptoKey>;generateKey(algorithm:AlgorithmIdentifier,extractable:boolean,keyUsages:Iterable<KeyUsage>):Promise<CryptoKeyPair|CryptoKey>;importKey(format:"jwk",keyData:JsonWebKey,algorithm:AlgorithmIdentifier|RsaHashedImportParams|EcKeyImportParams|HmacImportParams|AesKeyAlgorithm,extractable:boolean,keyUsages:ReadonlyArray<KeyUsage>):Promise<CryptoKey>;importKey(format:Exclude<KeyFormat,"jwk">,keyData:BufferSource,algorithm:AlgorithmIdentifier|RsaHashedImportParams|EcKeyImportParams|HmacImportParams|AesKeyAlgorithm,extractable:boolean,keyUsages:Iterable<KeyUsage>):Promise<CryptoKey>;unwrapKey(format:KeyFormat,wrappedKey:BufferSource,unwrappingKey:CryptoKey,unwrapAlgorithm:AlgorithmIdentifier|RsaOaepParams|AesCtrParams|AesCbcParams|AesGcmParams,unwrappedKeyAlgorithm:AlgorithmIdentifier|RsaHashedImportParams|EcKeyImportParams|HmacImportParams|AesKeyAlgorithm,extractable:boolean,keyUsages:Iterable<KeyUsage>):Promise<CryptoKey>;}interface URLSearchParams{[Symbol.iterator]():IterableIterator<[string,string]>;entries():IterableIterator<[string,string]>;keys():IterableIterator<string>;values():IterableIterator<string>;}interface WEBGL_draw_buffers{drawBuffersWEBGL(buffers:Iterable<GLenum>):void;}interface WEBGL_multi_draw{multiDrawArraysInstancedWEBGL(mode:GLenum,firstsList:Int32Array|Iterable<GLint>,firstsOffset:GLuint,countsList:Int32Array|Iterable<GLsizei>,countsOffset:GLuint,instanceCountsList:Int32Array|Iterable<GLsizei>,instanceCountsOffset:GLuint,drawcount:GLsizei):void;multiDrawArraysWEBGL(mode:GLenum,firstsList:Int32Array|Iterable<GLint>,firstsOffset:GLuint,countsList:Int32Array|Iterable<GLsizei>,countsOffset:GLuint,drawcount:GLsizei):void;multiDrawElementsInstancedWEBGL(mode:GLenum,countsList:Int32Array|Iterable<GLsizei>,countsOffset:GLuint,type:GLenum,offsetsList:Int32Array|Iterable<GLsizei>,offsetsOffset:GLuint,instanceCountsList:Int32Array|Iterable<GLsizei>,instanceCountsOffset:GLuint,drawcount:GLsizei):void;multiDrawElementsWEBGL(mode:GLenum,countsList:Int32Array|Iterable<GLsizei>,countsOffset:GLuint,type:GLenum,offsetsList:Int32Array|Iterable<GLsizei>,offsetsOffset:GLuint,drawcount:GLsizei):void;}interface WebGL2RenderingContextBase{clearBufferfv(buffer:GLenum,drawbuffer:GLint,values:Iterable<GLfloat>,srcOffset?:GLuint):void;clearBufferiv(buffer:GLenum,drawbuffer:GLint,values:Iterable<GLint>,srcOffset?:GLuint):void;clearBufferuiv(buffer:GLenum,drawbuffer:GLint,values:Iterable<GLuint>,srcOffset?:GLuint):void;drawBuffers(buffers:Iterable<GLenum>):void;getActiveUniforms(program:WebGLProgram,uniformIndices:Iterable<GLuint>,pname:GLenum):any;getUniformIndices(program:WebGLProgram,uniformNames:Iterable<string>):Iterable<GLuint>|null;invalidateFramebuffer(target:GLenum,attachments:Iterable<GLenum>):void;invalidateSubFramebuffer(target:GLenum,attachments:Iterable<GLenum>,x:GLint,y:GLint,width:GLsizei,height:GLsizei):void;transformFeedbackVaryings(program:WebGLProgram,varyings:Iterable<string>,bufferMode:GLenum):void;uniform1uiv(location:WebGLUniformLocation|null,data:Iterable<GLuint>,srcOffset?:GLuint,srcLength?:GLuint):void;uniform2uiv(location:WebGLUniformLocation|null,data:Iterable<GLuint>,srcOffset?:GLuint,srcLength?:GLuint):void;uniform3uiv(location:WebGLUniformLocation|null,data:Iterable<GLuint>,srcOffset?:GLuint,srcLength?:GLuint):void;uniform4uiv(location:WebGLUniformLocation|null,data:Iterable<GLuint>,srcOffset?:GLuint,srcLength?:GLuint):void;uniformMatrix2x3fv(location:WebGLUniformLocation|null,transpose:GLboolean,data:Iterable<GLfloat>,srcOffset?:GLuint,srcLength?:GLuint):void;uniformMatrix2x4fv(location:WebGLUniformLocation|null,transpose:GLboolean,data:Iterable<GLfloat>,srcOffset?:GLuint,srcLength?:GLuint):void;uniformMatrix3x2fv(location:WebGLUniformLocation|null,transpose:GLboolean,data:Iterable<GLfloat>,srcOffset?:GLuint,srcLength?:GLuint):void;uniformMatrix3x4fv(location:WebGLUniformLocation|null,transpose:GLboolean,data:Iterable<GLfloat>,srcOffset?:GLuint,srcLength?:GLuint):void;uniformMatrix4x2fv(location:WebGLUniformLocation|null,transpose:GLboolean,data:Iterable<GLfloat>,srcOffset?:GLuint,srcLength?:GLuint):void;uniformMatrix4x3fv(location:WebGLUniformLocation|null,transpose:GLboolean,data:Iterable<GLfloat>,srcOffset?:GLuint,srcLength?:GLuint):void;vertexAttribI4iv(index:GLuint,values:Iterable<GLint>):void;vertexAttribI4uiv(index:GLuint,values:Iterable<GLuint>):void;}interface WebGL2RenderingContextOverloads{uniform1fv(location:WebGLUniformLocation|null,data:Iterable<GLfloat>,srcOffset?:GLuint,srcLength?:GLuint):void;uniform1iv(location:WebGLUniformLocation|null,data:Iterable<GLint>,srcOffset?:GLuint,srcLength?:GLuint):void;uniform2fv(location:WebGLUniformLocation|null,data:Iterable<GLfloat>,srcOffset?:GLuint,srcLength?:GLuint):void;uniform2iv(location:WebGLUniformLocation|null,data:Iterable<GLint>,srcOffset?:GLuint,srcLength?:GLuint):void;uniform3fv(location:WebGLUniformLocation|null,data:Iterable<GLfloat>,srcOffset?:GLuint,srcLength?:GLuint):void;uniform3iv(location:WebGLUniformLocation|null,data:Iterable<GLint>,srcOffset?:GLuint,srcLength?:GLuint):void;uniform4fv(location:WebGLUniformLocation|null,data:Iterable<GLfloat>,srcOffset?:GLuint,srcLength?:GLuint):void;uniform4iv(location:WebGLUniformLocation|null,data:Iterable<GLint>,srcOffset?:GLuint,srcLength?:GLuint):void;uniformMatrix2fv(location:WebGLUniformLocation|null,transpose:GLboolean,data:Iterable<GLfloat>,srcOffset?:GLuint,srcLength?:GLuint):void;uniformMatrix3fv(location:WebGLUniformLocation|null,transpose:GLboolean,data:Iterable<GLfloat>,srcOffset?:GLuint,srcLength?:GLuint):void;uniformMatrix4fv(location:WebGLUniformLocation|null,transpose:GLboolean,data:Iterable<GLfloat>,srcOffset?:GLuint,srcLength?:GLuint):void;}interface WebGLRenderingContextBase{vertexAttrib1fv(index:GLuint,values:Iterable<GLfloat>):void;vertexAttrib2fv(index:GLuint,values:Iterable<GLfloat>):void;vertexAttrib3fv(index:GLuint,values:Iterable<GLfloat>):void;vertexAttrib4fv(index:GLuint,values:Iterable<GLfloat>):void;}interface WebGLRenderingContextOverloads{uniform1fv(location:WebGLUniformLocation|null,v:Iterable<GLfloat>):void;uniform1iv(location:WebGLUniformLocation|null,v:Iterable<GLint>):void;uniform2fv(location:WebGLUniformLocation|null,v:Iterable<GLfloat>):void;uniform2iv(location:WebGLUniformLocation|null,v:Iterable<GLint>):void;uniform3fv(location:WebGLUniformLocation|null,v:Iterable<GLfloat>):void;uniform3iv(location:WebGLUniformLocation|null,v:Iterable<GLint>):void;uniform4fv(location:WebGLUniformLocation|null,v:Iterable<GLfloat>):void;uniform4iv(location:WebGLUniformLocation|null,v:Iterable<GLint>):void;uniformMatrix2fv(location:WebGLUniformLocation|null,transpose:GLboolean,value:Iterable<GLfloat>):void;uniformMatrix3fv(location:WebGLUniformLocation|null,transpose:GLboolean,value:Iterable<GLfloat>):void;uniformMatrix4fv(location:WebGLUniformLocation|null,transpose:GLboolean,value:Iterable<GLfloat>):void;}`
    }];

function getLibFiles() {
    return libFiles;
}
const libFolderInMemoryPath = "/node_modules/typescript/lib";
function getLibFolderPath(options) {
    if (options.libFolderPath != null) {
        if (options.skipLoadingLibFiles === true) {
            throw new exports.errors.InvalidOperationError(`Cannot set ${nameof(options, "skipLoadingLibFiles")} to true when ${nameof(options, "libFolderPath")} is provided.`);
        }
        return options.libFolderPath;
    }
    return libFolderInMemoryPath;
}

const path$1 = require("path-browserify");
class BrowserRuntime {
    constructor() {
        this.fs = new BrowserRuntimeFileSystem();
        this.path = new BrowserRuntimePath();
    }
    getEnvVar(_name) {
        return undefined;
    }
    getEndOfLine() {
        return "\n";
    }
    getPathMatchesPattern(path, pattern) {
        return minimatch__default["default"](path, pattern);
    }
}
class BrowserRuntimePath {
    join(...paths) {
        return path$1.join(...paths);
    }
    normalize(pathToNormalize) {
        return path$1.normalize(pathToNormalize);
    }
    relative(from, to) {
        return path$1.relative(from, to);
    }
}
class BrowserRuntimeFileSystem {
    constructor() {
        this._errorMessage = "Access to the file system is not supported in the browser. Please use an in-memory file system (specify `useInMemoryFileSystem: true` when creating the project).";
    }
    delete(_path) {
        return Promise.reject(new Error(this._errorMessage));
    }
    deleteSync(_path) {
        throw new Error(this._errorMessage);
    }
    readDirSync(_dirPath) {
        throw new Error(this._errorMessage);
    }
    readFile(_filePath, _encoding) {
        return Promise.reject(new Error(this._errorMessage));
    }
    readFileSync(_filePath, _encoding) {
        throw new Error(this._errorMessage);
    }
    writeFile(_filePath, _fileText) {
        return Promise.reject(new Error(this._errorMessage));
    }
    writeFileSync(_filePath, _fileText) {
        throw new Error(this._errorMessage);
    }
    mkdir(_dirPath) {
        return Promise.reject(new Error(this._errorMessage));
    }
    mkdirSync(_dirPath) {
        throw new Error(this._errorMessage);
    }
    move(_srcPath, _destPath) {
        return Promise.reject(new Error(this._errorMessage));
    }
    moveSync(_srcPath, _destPath) {
        throw new Error(this._errorMessage);
    }
    copy(_srcPath, _destPath) {
        return Promise.reject(new Error(this._errorMessage));
    }
    copySync(_srcPath, _destPath) {
        throw new Error(this._errorMessage);
    }
    stat(_path) {
        return Promise.reject(new Error(this._errorMessage));
    }
    statSync(_path) {
        throw new Error(this._errorMessage);
    }
    realpathSync(_path) {
        throw new Error(this._errorMessage);
    }
    getCurrentDirectory() {
        throw new Error(this._errorMessage);
    }
    glob(_patterns) {
        return Promise.reject(new Error(this._errorMessage));
    }
    globSync(_patterns) {
        throw new Error(this._errorMessage);
    }
    isCaseSensitive() {
        return true;
    }
}

class NodeRuntime {
    constructor() {
        this.fs = new NodeRuntimeFileSystem();
        this.path = new NodeRuntimePath();
    }
    getEnvVar(name) {
        return process === null || process === void 0 ? void 0 : process.env[name];
    }
    getEndOfLine() {
        return os__namespace.EOL;
    }
    getPathMatchesPattern(path, pattern) {
        return minimatch__default["default"](path, pattern);
    }
}
class NodeRuntimePath {
    join(...paths) {
        return path__namespace.join(...paths);
    }
    normalize(pathToNormalize) {
        return path__namespace.normalize(pathToNormalize);
    }
    relative(from, to) {
        return path__namespace.relative(from, to);
    }
}
class NodeRuntimeFileSystem {
    delete(path) {
        return new Promise((resolve, reject) => {
            fs__namespace.rm(path, { recursive: true }, err => {
                if (err)
                    reject(err);
                else
                    resolve();
            });
        });
    }
    deleteSync(path) {
        fs__namespace.rmSync(path, { recursive: true });
    }
    readDirSync(dirPath) {
        const entries = fs__namespace.readdirSync(dirPath, {
            withFileTypes: true,
        });
        return entries.map(e => ({
            name: e.name,
            isFile: e.isFile(),
            isDirectory: e.isDirectory(),
            isSymlink: e.isSymbolicLink(),
        }));
    }
    readFile(filePath, encoding = "utf-8") {
        return new Promise((resolve, reject) => {
            fs__namespace.readFile(filePath, encoding, (err, data) => {
                if (err)
                    reject(err);
                else
                    resolve(data);
            });
        });
    }
    readFileSync(filePath, encoding = "utf-8") {
        return fs__namespace.readFileSync(filePath, encoding);
    }
    async writeFile(filePath, fileText) {
        await new Promise((resolve, reject) => {
            fs__namespace.writeFile(filePath, fileText, err => {
                if (err)
                    reject(err);
                else
                    resolve();
            });
        });
    }
    writeFileSync(filePath, fileText) {
        fs__namespace.writeFileSync(filePath, fileText);
    }
    async mkdir(dirPath) {
        await mkdirp__default["default"](dirPath);
    }
    mkdirSync(dirPath) {
        mkdirp__default["default"].sync(dirPath);
    }
    move(srcPath, destPath) {
        return new Promise((resolve, reject) => {
            fs__namespace.rename(srcPath, destPath, err => {
                if (err)
                    reject(err);
                else
                    resolve();
            });
        });
    }
    moveSync(srcPath, destPath) {
        fs__namespace.renameSync(srcPath, destPath);
    }
    copy(srcPath, destPath) {
        return new Promise((resolve, reject) => {
            fs__namespace.copyFile(srcPath, destPath, err => {
                if (err)
                    reject(err);
                else
                    resolve();
            });
        });
    }
    copySync(srcPath, destPath) {
        fs__namespace.copyFileSync(srcPath, destPath);
    }
    stat(path) {
        return new Promise(resolve => {
            fs__namespace.stat(path, (err, stat) => {
                if (err)
                    throw err;
                else
                    resolve(stat);
            });
        });
    }
    statSync(path) {
        return fs__namespace.statSync(path);
    }
    realpathSync(path) {
        return fs__namespace.realpathSync(path);
    }
    getCurrentDirectory() {
        return path__namespace.resolve();
    }
    glob(patterns) {
        return fastGlob__default["default"](patterns, {
            cwd: this.getCurrentDirectory(),
            absolute: true,
        });
    }
    globSync(patterns) {
        return fastGlob__default["default"].sync(patterns, {
            cwd: this.getCurrentDirectory(),
            absolute: true,
        });
    }
    isCaseSensitive() {
        const platform = process === null || process === void 0 ? void 0 : process.platform;
        return platform !== "win32" && platform !== "darwin";
    }
}

const runtime = getRuntime();
function getRuntime() {
    if (isNodeJs())
        return new NodeRuntime();
    else
        return new BrowserRuntime();
}
function isNodeJs() {
    return typeof globalThis.process === "object"
        && typeof globalThis.process.versions === "object"
        && typeof globalThis.process.versions.node !== "undefined";
}

function createHosts(options) {
    const { transactionalFileSystem, sourceFileContainer, compilerOptions, getNewLine, resolutionHost, getProjectVersion, isKnownTypesPackageName } = options;
    let version = 0;
    const libFolderPath = transactionalFileSystem.getStandardizedAbsolutePath(getLibFolderPath(options));
    const fileExistsSync = (path) => sourceFileContainer.containsSourceFileAtPath(path)
        || transactionalFileSystem.fileExistsSync(path);
    const languageServiceHost = {
        getCompilationSettings: () => compilerOptions.get(),
        getNewLine,
        getProjectVersion,
        getScriptFileNames: () => Array.from(sourceFileContainer.getSourceFilePaths()),
        getScriptVersion: fileName => {
            const filePath = transactionalFileSystem.getStandardizedAbsolutePath(fileName);
            const sourceFile = sourceFileContainer.getSourceFileFromCacheFromFilePath(filePath);
            if (sourceFile == null)
                return (version++).toString();
            return sourceFileContainer.getSourceFileVersion(sourceFile);
        },
        getScriptSnapshot: fileName => {
            const filePath = transactionalFileSystem.getStandardizedAbsolutePath(fileName);
            const sourceFile = sourceFileContainer.addOrGetSourceFileFromFilePathSync(filePath, {
                markInProject: false,
                scriptKind: undefined,
            });
            return sourceFile ? ts__namespace.ScriptSnapshot.fromString(sourceFile.getFullText()) : undefined;
        },
        getCurrentDirectory: () => transactionalFileSystem.getCurrentDirectory(),
        getDefaultLibFileName: options => {
            return libFolderPath + "/" + ts__namespace.getDefaultLibFileName(options);
        },
        isKnownTypesPackageName,
        useCaseSensitiveFileNames: () => true,
        readFile: (path, encoding) => {
            const standardizedPath = transactionalFileSystem.getStandardizedAbsolutePath(path);
            if (sourceFileContainer.containsSourceFileAtPath(standardizedPath))
                return sourceFileContainer.getSourceFileFromCacheFromFilePath(standardizedPath).getFullText();
            return transactionalFileSystem.readFileSync(standardizedPath, encoding);
        },
        fileExists: filePath => {
            const standardizedFilePath = transactionalFileSystem.getStandardizedAbsolutePath(filePath);
            return fileExistsSync(standardizedFilePath);
        },
        directoryExists: dirName => {
            const dirPath = transactionalFileSystem.getStandardizedAbsolutePath(dirName);
            return sourceFileContainer.containsDirectoryAtPath(dirPath)
                || transactionalFileSystem.directoryExistsSync(dirPath);
        },
        resolveModuleNames: resolutionHost.resolveModuleNames,
        resolveTypeReferenceDirectives: resolutionHost.resolveTypeReferenceDirectives,
        getResolvedModuleWithFailedLookupLocationsFromCache: resolutionHost.getResolvedModuleWithFailedLookupLocationsFromCache,
        realpath: path => transactionalFileSystem.realpathSync(transactionalFileSystem.getStandardizedAbsolutePath(path)),
    };
    const compilerHost = {
        getSourceFile: (fileName, languageVersion, onError) => {
            const filePath = transactionalFileSystem.getStandardizedAbsolutePath(fileName);
            return sourceFileContainer.addOrGetSourceFileFromFilePathSync(filePath, {
                markInProject: false,
                scriptKind: undefined,
            });
        },
        getDefaultLibFileName: languageServiceHost.getDefaultLibFileName,
        writeFile: (fileName, data, writeByteOrderMark, onError, sourceFiles) => {
            const filePath = transactionalFileSystem.getStandardizedAbsolutePath(fileName);
            transactionalFileSystem.writeFileSync(filePath, writeByteOrderMark ? "\uFEFF" + data : data);
        },
        getCurrentDirectory: () => languageServiceHost.getCurrentDirectory(),
        getDirectories: (path) => transactionalFileSystem.getDirectories(transactionalFileSystem.getStandardizedAbsolutePath(path)),
        fileExists: languageServiceHost.fileExists,
        readFile: languageServiceHost.readFile,
        getCanonicalFileName: (fileName) => transactionalFileSystem.getStandardizedAbsolutePath(fileName),
        useCaseSensitiveFileNames: languageServiceHost.useCaseSensitiveFileNames,
        getNewLine: languageServiceHost.getNewLine,
        getEnvironmentVariable: (name) => runtime.getEnvVar(name),
        directoryExists: dirName => languageServiceHost.directoryExists(dirName),
        resolveModuleNames: resolutionHost.resolveModuleNames,
        resolveTypeReferenceDirectives: resolutionHost.resolveTypeReferenceDirectives,
        realpath: languageServiceHost.realpath,
    };
    return { languageServiceHost, compilerHost };
}

const isWindowsRootDirRegex = /^[a-z]+:[\\\/]$/i;
const path = runtime.path;
class FileUtils {
    constructor() {
    }
    static isNotExistsError(err) {
        var _a;
        return err != null && err.code === FileUtils.ENOENT
            || err != null && ((_a = err === null || err === void 0 ? void 0 : err.constructor) === null || _a === void 0 ? void 0 : _a.name) === "NotFound";
    }
    static pathJoin(basePath, ...paths) {
        if (FileUtils.pathIsAbsolute(basePath)) {
            return FileUtils.standardizeSlashes(path.normalize(path.join(basePath, ...paths)));
        }
        return FileUtils.standardizeSlashes(path.join(basePath, ...paths));
    }
    static pathIsAbsolute(fileOrDirPath) {
        return isAbsolutePath(fileOrDirPath);
    }
    static getStandardizedAbsolutePath(fileSystem, fileOrDirPath, relativeBase) {
        return FileUtils.standardizeSlashes(path.normalize(getAbsolutePath()));
        function getAbsolutePath() {
            if (isAbsolutePath(fileOrDirPath))
                return fileOrDirPath;
            if (!fileOrDirPath.startsWith("./") && relativeBase != null)
                return path.join(relativeBase, fileOrDirPath);
            return path.join(fileSystem.getCurrentDirectory(), fileOrDirPath);
        }
    }
    static getDirPath(fileOrDirPath) {
        fileOrDirPath = FileUtils.standardizeSlashes(fileOrDirPath);
        const lastIndexOfSlash = fileOrDirPath.lastIndexOf("/");
        if (lastIndexOfSlash === -1)
            return ".";
        return FileUtils.standardizeSlashes(fileOrDirPath.substring(0, lastIndexOfSlash + 1));
    }
    static getBaseName(fileOrDirPath) {
        const lastIndexOfSlash = fileOrDirPath.lastIndexOf("/");
        return fileOrDirPath.substring(lastIndexOfSlash + 1);
    }
    static getExtension(fileOrDirPath) {
        const baseName = FileUtils.getBaseName(fileOrDirPath);
        const lastDotIndex = baseName.lastIndexOf(".");
        if (lastDotIndex <= 0)
            return "";
        const lastExt = baseName.substring(lastDotIndex);
        const lastExtLowerCase = lastExt.toLowerCase();
        if (lastExtLowerCase === ".ts" && baseName.substring(lastDotIndex - 2, lastDotIndex).toLowerCase() === ".d")
            return baseName.substring(lastDotIndex - 2);
        if (lastExtLowerCase === ".map" && baseName.substring(lastDotIndex - 3, lastDotIndex).toLowerCase() === ".js")
            return baseName.substring(lastDotIndex - 3);
        return lastExt;
    }
    static standardizeSlashes(fileOrDirPath) {
        let result = fileOrDirPath.replace(this.standardizeSlashesRegex, "/");
        if (!FileUtils.isRootDirPath(result) && result.endsWith("/"))
            result = result.substring(0, result.length - 1);
        return result;
    }
    static pathEndsWith(fileOrDirPath, endsWithPath) {
        const pathItems = FileUtils.splitPathBySlashes(fileOrDirPath);
        const endsWithItems = FileUtils.splitPathBySlashes(endsWithPath);
        if (endsWithItems.length > pathItems.length)
            return false;
        for (let i = 0; i < endsWithItems.length; i++) {
            if (endsWithItems[endsWithItems.length - i - 1] !== pathItems[pathItems.length - i - 1])
                return false;
        }
        return endsWithItems.length > 0;
    }
    static pathStartsWith(fileOrDirPath, startsWithPath) {
        const isfileOrDirPathEmpty = StringUtils.isNullOrWhitespace(fileOrDirPath);
        const isStartsWithPathEmpty = StringUtils.isNullOrWhitespace(startsWithPath);
        const pathItems = FileUtils.splitPathBySlashes(fileOrDirPath);
        const startsWithItems = FileUtils.splitPathBySlashes(startsWithPath);
        if (isfileOrDirPathEmpty && isStartsWithPathEmpty)
            return true;
        if (isStartsWithPathEmpty || startsWithItems.length > pathItems.length)
            return false;
        if (startsWithItems.length === 1 && startsWithItems[0].length === 0)
            return true;
        for (let i = 0; i < startsWithItems.length; i++) {
            if (startsWithItems[i] !== pathItems[i])
                return false;
        }
        return startsWithItems.length > 0;
    }
    static splitPathBySlashes(fileOrDirPath) {
        fileOrDirPath = (fileOrDirPath || "").replace(FileUtils.trimSlashStartRegex, "").replace(FileUtils.trimSlashEndRegex, "");
        return FileUtils.standardizeSlashes(fileOrDirPath).replace(/^\//, "").split("/");
    }
    static getParentMostPaths(paths) {
        const finalPaths = [];
        for (const fileOrDirPath of ArrayUtils.sortByProperty(paths, p => p.length)) {
            if (finalPaths.every(p => !FileUtils.pathStartsWith(fileOrDirPath, p)))
                finalPaths.push(fileOrDirPath);
        }
        return finalPaths;
    }
    static async readFileOrNotExists(fileSystem, filePath, encoding) {
        try {
            return await fileSystem.readFile(filePath, encoding);
        }
        catch (err) {
            if (!FileUtils.isNotExistsError(err))
                throw err;
            return false;
        }
    }
    static readFileOrNotExistsSync(fileSystem, filePath, encoding) {
        try {
            return fileSystem.readFileSync(filePath, encoding);
        }
        catch (err) {
            if (!FileUtils.isNotExistsError(err))
                throw err;
            return false;
        }
    }
    static getTextWithByteOrderMark(text) {
        if (StringUtils.hasBom(text))
            return text;
        return "\uFEFF" + text;
    }
    static getRelativePathTo(absoluteDirPathFrom, absolutePathTo) {
        const relativePath = path.relative(absoluteDirPathFrom, FileUtils.getDirPath(absolutePathTo));
        return FileUtils.standardizeSlashes(path.join(relativePath, FileUtils.getBaseName(absolutePathTo)));
    }
    static isRootDirPath(dirOrFilePath) {
        return dirOrFilePath === "/" || isWindowsRootDirRegex.test(dirOrFilePath);
    }
    static *getDescendantDirectories(fileSystemWrapper, dirPath) {
        for (const entry of fileSystemWrapper.readDirSync(dirPath)) {
            if (!entry.isDirectory)
                continue;
            yield entry.path;
            yield* FileUtils.getDescendantDirectories(fileSystemWrapper, entry.path);
        }
    }
    static toAbsoluteGlob(glob, cwd) {
        if (glob.slice(0, 2) === "./")
            glob = glob.slice(2);
        if (glob.length === 1 && glob === ".")
            glob = "";
        const suffix = glob.slice(-1);
        const isNegated = FileUtils.isNegatedGlob(glob);
        if (isNegated)
            glob = glob.slice(1);
        if (!isAbsolutePath(glob) || glob.slice(0, 1) === "\\")
            glob = globJoin(cwd, glob);
        if (suffix === "/" && glob.slice(-1) !== "/")
            glob += "/";
        return isNegated ? "!" + glob : glob;
    }
    static isNegatedGlob(glob) {
        return glob[0] === "!" && glob[1] !== "(";
    }
}
FileUtils.standardizeSlashesRegex = /\\/g;
FileUtils.trimSlashStartRegex = /^\//;
FileUtils.trimSlashEndRegex = /\/$/;
FileUtils.ENOENT = "ENOENT";
function globJoin(dir, glob) {
    if (dir.charAt(dir.length - 1) === "/")
        dir = dir.slice(0, -1);
    if (glob.charAt(0) === "/")
        glob = glob.slice(1);
    if (!glob)
        return dir;
    return dir + "/" + glob;
}
function isAbsolutePath(filePath) {
    return filePath.startsWith("/") || isWindowsAbsolutePath(filePath);
}
const isWindowsAbsolutePathRegex = /^[a-z]+:[\\\/]/i;
function isWindowsAbsolutePath(filePath) {
    return isWindowsAbsolutePathRegex.test(filePath) || isAzureAbsolutePath(filePath) || isUncPath(filePath);
}
function isAzureAbsolutePath(filePath) {
    return filePath.startsWith("\\\\");
}
const uncPathRegex = /^[\\\/]{2,}[^\\\/]+[\\\/]+[^\\\/]+/;
function isUncPath(filePath) {
    return uncPathRegex.test(filePath);
}

function matchGlobs(paths, patterns, cwd) {
    if (typeof patterns === "string")
        patterns = [FileUtils.toAbsoluteGlob(patterns, cwd)];
    else
        patterns = patterns.map(p => FileUtils.toAbsoluteGlob(p, cwd));
    const result = [];
    for (const path of paths) {
        for (let pattern of patterns) {
            let process = addArray;
            if (FileUtils.isNegatedGlob(pattern)) {
                process = removeArray;
                pattern = pattern.slice(1);
            }
            if (runtime.getPathMatchesPattern(path, pattern))
                process(result, path);
        }
    }
    return result;
}
function addArray(items, newItem) {
    if (items.indexOf(newItem) === -1)
        items.push(newItem);
}
function removeArray(items, removeItem) {
    const index = items.indexOf(removeItem);
    if (index >= 0)
        items.splice(index, 1);
}

class InMemoryFileSystemHost {
    constructor() {
        this.directories = new Map();
        this.getOrCreateDir("/");
    }
    isCaseSensitive() {
        return true;
    }
    delete(path) {
        try {
            this.deleteSync(path);
            return Promise.resolve();
        }
        catch (err) {
            return Promise.reject(err);
        }
    }
    deleteSync(path) {
        const standardizedPath = FileUtils.getStandardizedAbsolutePath(this, path);
        if (this.directories.has(standardizedPath)) {
            for (const descendantDirPath of getDescendantDirectories(this.directories.keys(), standardizedPath))
                this.directories.delete(descendantDirPath);
            this.directories.delete(standardizedPath);
            return;
        }
        const parentDir = this.directories.get(FileUtils.getDirPath(standardizedPath));
        if (parentDir == null || !parentDir.files.has(standardizedPath))
            throw new exports.errors.FileNotFoundError(standardizedPath);
        parentDir.files.delete(standardizedPath);
    }
    readDirSync(dirPath) {
        const standardizedDirPath = FileUtils.getStandardizedAbsolutePath(this, dirPath);
        const dir = this.directories.get(standardizedDirPath);
        if (dir == null)
            throw new exports.errors.DirectoryNotFoundError(standardizedDirPath);
        return [
            ...getDirectories(this.directories.keys()),
            ...Array.from(dir.files.keys()).map(name => ({
                name,
                isDirectory: false,
                isFile: true,
                isSymlink: false,
            })),
        ];
        function* getDirectories(dirPaths) {
            for (const path of dirPaths) {
                const parentDir = FileUtils.getDirPath(path);
                if (parentDir === standardizedDirPath && parentDir !== path) {
                    yield {
                        name: path,
                        isDirectory: true,
                        isFile: false,
                        isSymlink: false,
                    };
                }
            }
        }
    }
    readFile(filePath, encoding = "utf-8") {
        try {
            return Promise.resolve(this.readFileSync(filePath, encoding));
        }
        catch (err) {
            return Promise.reject(err);
        }
    }
    readFileSync(filePath, encoding = "utf-8") {
        const standardizedFilePath = FileUtils.getStandardizedAbsolutePath(this, filePath);
        const parentDir = this.directories.get(FileUtils.getDirPath(standardizedFilePath));
        if (parentDir == null)
            throw new exports.errors.FileNotFoundError(standardizedFilePath);
        const fileText = parentDir.files.get(standardizedFilePath);
        if (fileText === undefined)
            throw new exports.errors.FileNotFoundError(standardizedFilePath);
        return fileText;
    }
    writeFile(filePath, fileText) {
        this.writeFileSync(filePath, fileText);
        return Promise.resolve();
    }
    writeFileSync(filePath, fileText) {
        this._writeFileSync(filePath, fileText);
    }
    _writeFileSync(filePath, fileText) {
        const standardizedFilePath = FileUtils.getStandardizedAbsolutePath(this, filePath);
        const dirPath = FileUtils.getDirPath(standardizedFilePath);
        this.getOrCreateDir(dirPath).files.set(standardizedFilePath, fileText);
    }
    mkdir(dirPath) {
        this.mkdirSync(dirPath);
        return Promise.resolve();
    }
    mkdirSync(dirPath) {
        this.getOrCreateDir(FileUtils.getStandardizedAbsolutePath(this, dirPath));
    }
    move(srcPath, destPath) {
        this.moveSync(srcPath, destPath);
        return Promise.resolve();
    }
    moveSync(srcPath, destPath) {
        const standardizedSrcPath = FileUtils.getStandardizedAbsolutePath(this, srcPath);
        const standardizedDestPath = FileUtils.getStandardizedAbsolutePath(this, destPath);
        if (this.fileExistsSync(standardizedSrcPath)) {
            const fileText = this.readFileSync(standardizedSrcPath);
            this.deleteSync(standardizedSrcPath);
            this.writeFileSync(standardizedDestPath, fileText);
        }
        else if (this.directories.has(standardizedSrcPath)) {
            const moveDirectory = (from, to) => {
                this._copyDirInternal(from, to);
                this.directories.delete(from);
            };
            moveDirectory(standardizedSrcPath, standardizedDestPath);
            for (const descendantDirPath of getDescendantDirectories(this.directories.keys(), standardizedSrcPath)) {
                const relativePath = FileUtils.getRelativePathTo(standardizedSrcPath, descendantDirPath);
                moveDirectory(descendantDirPath, FileUtils.pathJoin(standardizedDestPath, relativePath));
            }
        }
        else {
            throw new exports.errors.PathNotFoundError(standardizedSrcPath);
        }
    }
    copy(srcPath, destPath) {
        this.copySync(srcPath, destPath);
        return Promise.resolve();
    }
    copySync(srcPath, destPath) {
        const standardizedSrcPath = FileUtils.getStandardizedAbsolutePath(this, srcPath);
        const standardizedDestPath = FileUtils.getStandardizedAbsolutePath(this, destPath);
        if (this.fileExistsSync(standardizedSrcPath))
            this.writeFileSync(standardizedDestPath, this.readFileSync(standardizedSrcPath));
        else if (this.directories.has(standardizedSrcPath)) {
            this._copyDirInternal(standardizedSrcPath, standardizedDestPath);
            for (const descendantDirPath of getDescendantDirectories(this.directories.keys(), standardizedSrcPath)) {
                const relativePath = FileUtils.getRelativePathTo(standardizedSrcPath, descendantDirPath);
                this._copyDirInternal(descendantDirPath, FileUtils.pathJoin(standardizedDestPath, relativePath));
            }
        }
        else {
            throw new exports.errors.PathNotFoundError(standardizedSrcPath);
        }
    }
    _copyDirInternal(from, to) {
        const dir = this.directories.get(from);
        const newDir = this.getOrCreateDir(to);
        for (const [filePath, text] of dir.files.entries()) {
            const toDir = FileUtils.pathJoin(to, FileUtils.getBaseName(filePath));
            newDir.files.set(toDir, text);
        }
    }
    fileExists(filePath) {
        return Promise.resolve(this.fileExistsSync(filePath));
    }
    fileExistsSync(filePath) {
        const standardizedFilePath = FileUtils.getStandardizedAbsolutePath(this, filePath);
        const dirPath = FileUtils.getDirPath(standardizedFilePath);
        const dir = this.directories.get(dirPath);
        if (dir == null)
            return false;
        return dir.files.has(standardizedFilePath);
    }
    directoryExists(dirPath) {
        return Promise.resolve(this.directoryExistsSync(dirPath));
    }
    directoryExistsSync(dirPath) {
        return this.directories.has(FileUtils.getStandardizedAbsolutePath(this, dirPath));
    }
    realpathSync(path) {
        return path;
    }
    getCurrentDirectory() {
        return "/";
    }
    glob(patterns) {
        try {
            return Promise.resolve(this.globSync(patterns));
        }
        catch (err) {
            return Promise.reject(err);
        }
    }
    globSync(patterns) {
        const allFilePaths = Array.from(getAllFilePaths(this.directories.values()));
        return matchGlobs(allFilePaths, patterns, this.getCurrentDirectory());
        function* getAllFilePaths(directories) {
            for (const dir of directories)
                yield* dir.files.keys();
        }
    }
    getOrCreateDir(dirPath) {
        let dir = this.directories.get(dirPath);
        if (dir == null) {
            dir = { path: dirPath, files: new Map() };
            this.directories.set(dirPath, dir);
            const parentDirPath = FileUtils.getDirPath(dirPath);
            if (parentDirPath !== dirPath)
                this.getOrCreateDir(parentDirPath);
        }
        return dir;
    }
}
function* getDescendantDirectories(directoryPaths, dirPath) {
    for (const path of directoryPaths) {
        if (FileUtils.pathStartsWith(path, dirPath))
            yield path;
    }
}

const fs = runtime.fs;
class RealFileSystemHost {
    async delete(path) {
        try {
            await fs.delete(path);
        }
        catch (err) {
            throw this.getFileNotFoundErrorIfNecessary(err, path);
        }
    }
    deleteSync(path) {
        try {
            fs.deleteSync(path);
        }
        catch (err) {
            throw this.getFileNotFoundErrorIfNecessary(err, path);
        }
    }
    readDirSync(dirPath) {
        try {
            const entries = fs.readDirSync(dirPath);
            for (const entry of entries) {
                entry.name = FileUtils.pathJoin(dirPath, entry.name);
                if (entry.isSymlink) {
                    try {
                        const info = fs.statSync(entry.name);
                        entry.isDirectory = info.isDirectory();
                        entry.isFile = info.isFile();
                    }
                    catch (_a) {
                    }
                }
            }
            return entries;
        }
        catch (err) {
            throw this.getDirectoryNotFoundErrorIfNecessary(err, dirPath);
        }
    }
    async readFile(filePath, encoding = "utf-8") {
        try {
            return await fs.readFile(filePath, encoding);
        }
        catch (err) {
            throw this.getFileNotFoundErrorIfNecessary(err, filePath);
        }
    }
    readFileSync(filePath, encoding = "utf-8") {
        try {
            return fs.readFileSync(filePath, encoding);
        }
        catch (err) {
            throw this.getFileNotFoundErrorIfNecessary(err, filePath);
        }
    }
    async writeFile(filePath, fileText) {
        return fs.writeFile(filePath, fileText);
    }
    writeFileSync(filePath, fileText) {
        fs.writeFileSync(filePath, fileText);
    }
    mkdir(dirPath) {
        return fs.mkdir(dirPath);
    }
    mkdirSync(dirPath) {
        fs.mkdirSync(dirPath);
    }
    move(srcPath, destPath) {
        return fs.move(srcPath, destPath);
    }
    moveSync(srcPath, destPath) {
        fs.moveSync(srcPath, destPath);
    }
    copy(srcPath, destPath) {
        return fs.copy(srcPath, destPath);
    }
    copySync(srcPath, destPath) {
        fs.copySync(srcPath, destPath);
    }
    async fileExists(filePath) {
        try {
            return (await fs.stat(filePath)).isFile();
        }
        catch (_a) {
            return false;
        }
    }
    fileExistsSync(filePath) {
        try {
            return fs.statSync(filePath).isFile();
        }
        catch (_a) {
            return false;
        }
    }
    async directoryExists(dirPath) {
        try {
            return (await fs.stat(dirPath)).isDirectory();
        }
        catch (_a) {
            return false;
        }
    }
    directoryExistsSync(dirPath) {
        try {
            return fs.statSync(dirPath).isDirectory();
        }
        catch (_a) {
            return false;
        }
    }
    realpathSync(path) {
        return fs.realpathSync(path);
    }
    getCurrentDirectory() {
        return FileUtils.standardizeSlashes(fs.getCurrentDirectory());
    }
    glob(patterns) {
        return fs.glob(backSlashesToForward(patterns));
    }
    globSync(patterns) {
        return fs.globSync(backSlashesToForward(patterns));
    }
    isCaseSensitive() {
        return fs.isCaseSensitive();
    }
    getDirectoryNotFoundErrorIfNecessary(err, path) {
        return FileUtils.isNotExistsError(err) ? new exports.errors.DirectoryNotFoundError(FileUtils.getStandardizedAbsolutePath(this, path)) : err;
    }
    getFileNotFoundErrorIfNecessary(err, path) {
        return FileUtils.isNotExistsError(err) ? new exports.errors.FileNotFoundError(FileUtils.getStandardizedAbsolutePath(this, path)) : err;
    }
}
function backSlashesToForward(patterns) {
    return patterns.map(p => p.replace(/\\/g, "/"));
}

class Directory {
    constructor(path) {
        this.path = path;
        this.operations = [];
        this.inboundOperations = [];
        this.isDeleted = false;
        this.wasEverDeleted = false;
        this.childDirs = new SortedKeyValueArray(item => item.path, LocaleStringComparer.instance);
    }
    getExternalOperations() {
        return [
            ...ArrayUtils.flatten(this.getAncestors().map(a => getMoveCopyOrDeleteOperations(a))).filter(o => isAncestorAffectedOperation(this, o)),
            ...ArrayUtils.flatten([this, ...this.getDescendants()].map(d => getMoveOrCopyOperations(d))).filter(o => !isInternalOperation(this, o)),
        ];
        function isInternalOperation(thisDir, operation) {
            return operation.oldDir.isDescendantOrEqual(thisDir) && operation.newDir.isDescendantOrEqual(thisDir);
        }
        function isAncestorAffectedOperation(thisDir, operation) {
            switch (operation.kind) {
                case "move":
                case "copy":
                    return thisDir.isDescendantOrEqual(operation.oldDir) || thisDir.isDescendantOrEqual(operation.newDir);
                case "deleteDir":
                    return thisDir.isDescendantOrEqual(operation.dir);
                default:
                    return exports.errors.throwNotImplementedForNeverValueError(operation);
            }
        }
        function getMoveOrCopyOperations(dir) {
            return dir.operations.filter(o => o.kind === "move" || o.kind === "copy");
        }
        function getMoveCopyOrDeleteOperations(dir) {
            return dir.operations.filter(o => o.kind === "move" || o.kind === "deleteDir" || o.kind === "copy");
        }
    }
    isDescendantOrEqual(directory) {
        return this.isDescendant(directory) || this === directory;
    }
    isDescendant(directory) {
        return FileUtils.pathStartsWith(this.path, directory.path);
    }
    getIsDeleted() {
        return this.isDeleted;
    }
    getWasEverDeleted() {
        if (this.wasEverDeleted)
            return true;
        for (const ancestor of this.getAncestorsIterator()) {
            if (ancestor.wasEverDeleted)
                return true;
        }
        return false;
    }
    setIsDeleted(isDeleted) {
        if (this.isDeleted === isDeleted)
            return;
        if (isDeleted) {
            this.wasEverDeleted = true;
            for (const child of this.childDirs.entries())
                child.setIsDeleted(true);
        }
        else {
            if (this.parent != null)
                this.parent.setIsDeleted(false);
        }
        this.isDeleted = isDeleted;
    }
    getParent() {
        return this.parent;
    }
    setParent(parent) {
        if (this.parent != null)
            throw new exports.errors.InvalidOperationError("For some reason, a parent was being set when the directory already had a parent. Please open an issue.");
        this.parent = parent;
        parent.childDirs.set(this);
        if (parent.isDeleted && !this.isDeleted)
            parent.setIsDeleted(false);
    }
    removeParent() {
        const parent = this.parent;
        if (parent == null)
            return;
        parent.childDirs.removeByValue(this);
        this.parent = undefined;
    }
    getAncestors() {
        return Array.from(this.getAncestorsIterator());
    }
    *getAncestorsIterator() {
        let parent = this.parent;
        while (parent != null) {
            yield parent;
            parent = parent.parent;
        }
    }
    *getChildrenEntriesIterator() {
        for (const childDir of this.childDirs.entries()) {
            yield {
                path: childDir.path,
                isDirectory: true,
                isFile: false,
                isSymlink: false,
            };
        }
    }
    getDescendants() {
        const descendants = [];
        for (const child of this.childDirs.entries()) {
            descendants.push(child);
            descendants.push(...child.getDescendants());
        }
        return descendants;
    }
    isFileQueuedForDelete(filePath) {
        return this.hasOperation(operation => operation.kind === "deleteFile" && operation.filePath === filePath);
    }
    hasOperation(operationMatches) {
        for (const operation of this.operations) {
            if (operationMatches(operation))
                return true;
        }
        return false;
    }
    dequeueFileDelete(filePath) {
        this.removeMatchingOperations(operation => operation.kind === "deleteFile" && operation.filePath === filePath);
    }
    dequeueDirDelete(dirPath) {
        this.removeMatchingOperations(operation => operation.kind === "deleteDir" && operation.dir.path === dirPath);
    }
    isRootDir() {
        return FileUtils.isRootDirPath(this.path);
    }
    removeMatchingOperations(operationMatches) {
        ArrayUtils.removeAll(this.operations, operationMatches);
    }
}
class TransactionalFileSystem {
    constructor(options) {
        this.directories = new KeyValueCache();
        this.operationIndex = 0;
        this.fileSystem = options.fileSystem;
        this.pathCasingMaintainer = new PathCasingMaintainer(options.fileSystem);
        if (!options.skipLoadingLibFiles && options.libFolderPath == null) {
            const libFolderPath = getLibFolderPath(options);
            this.libFileMap = new Map();
            const libFiles = getLibFiles();
            for (const libFile of libFiles) {
                this.libFileMap.set(this.getStandardizedAbsolutePath(libFolderPath + "/" + libFile.fileName), libFile.text);
            }
        }
    }
    queueFileDelete(filePath) {
        this.throwIfLibFile(filePath);
        const parentDir = this.getOrCreateParentDirectory(filePath);
        parentDir.operations.push({
            kind: "deleteFile",
            index: this.getNextOperationIndex(),
            filePath,
        });
        this.pathCasingMaintainer.removePath(filePath);
    }
    removeFileDelete(filePath) {
        this.getOrCreateParentDirectory(filePath).dequeueFileDelete(filePath);
    }
    queueMkdir(dirPath) {
        const dir = this.getOrCreateDirectory(dirPath);
        dir.setIsDeleted(false);
        const parentDir = this.getOrCreateParentDirectory(dirPath);
        parentDir.operations.push({
            kind: "mkdir",
            index: this.getNextOperationIndex(),
            dir,
        });
    }
    queueDirectoryDelete(dirPath) {
        const dir = this.getOrCreateDirectory(dirPath);
        dir.setIsDeleted(true);
        const parentDir = this.getOrCreateParentDirectory(dirPath);
        parentDir.operations.push({
            kind: "deleteDir",
            index: this.getNextOperationIndex(),
            dir,
        });
        this.pathCasingMaintainer.removePath(dirPath);
    }
    queueMoveDirectory(srcPath, destPath) {
        const parentDir = this.getOrCreateParentDirectory(srcPath);
        const moveDir = this.getOrCreateDirectory(srcPath);
        const destinationDir = this.getOrCreateDirectory(destPath);
        const moveOperation = {
            kind: "move",
            index: this.getNextOperationIndex(),
            oldDir: moveDir,
            newDir: destinationDir,
        };
        parentDir.operations.push(moveOperation);
        (destinationDir.getParent() || destinationDir).inboundOperations.push(moveOperation);
        moveDir.setIsDeleted(true);
        this.pathCasingMaintainer.removePath(srcPath);
    }
    queueCopyDirectory(srcPath, destPath) {
        const parentDir = this.getOrCreateParentDirectory(srcPath);
        const copyDir = this.getOrCreateDirectory(srcPath);
        const destinationDir = this.getOrCreateDirectory(destPath);
        const copyOperation = {
            kind: "copy",
            index: this.getNextOperationIndex(),
            oldDir: copyDir,
            newDir: destinationDir,
        };
        parentDir.operations.push(copyOperation);
        (destinationDir.getParent() || destinationDir).inboundOperations.push(copyOperation);
    }
    async flush() {
        const operations = this.getAndClearOperations();
        for (const operation of operations)
            await this.executeOperation(operation);
    }
    flushSync() {
        for (const operation of this.getAndClearOperations())
            this.executeOperationSync(operation);
    }
    async saveForDirectory(dirPath) {
        const dir = this.getOrCreateDirectory(dirPath);
        this.throwIfHasExternalOperations(dir, "save directory");
        const operations = this.getAndClearOperationsForDir(dir);
        await this.ensureDirectoryExists(dir);
        for (const operation of operations)
            await this.executeOperation(operation);
    }
    saveForDirectorySync(dirPath) {
        const dir = this.getOrCreateDirectory(dirPath);
        this.throwIfHasExternalOperations(dir, "save directory");
        this.ensureDirectoryExistsSync(dir);
        for (const operation of this.getAndClearOperationsForDir(dir))
            this.executeOperationSync(operation);
    }
    getAndClearOperationsForDir(dir) {
        const operations = getAndClearParentMkDirOperations(dir.getParent(), dir);
        for (const currentDir of [dir, ...dir.getDescendants()])
            operations.push(...currentDir.operations);
        ArrayUtils.sortByProperty(operations, item => item.index);
        this.removeDirAndSubDirs(dir);
        return operations;
        function getAndClearParentMkDirOperations(parentDir, childDir) {
            if (parentDir == null)
                return [];
            const parentOperations = ArrayUtils.removeAll(parentDir.operations, operation => operation.kind === "mkdir" && operation.dir === childDir);
            return [...parentOperations, ...getAndClearParentMkDirOperations(parentDir.getParent(), parentDir)];
        }
    }
    async executeOperation(operation) {
        switch (operation.kind) {
            case "deleteDir":
                await this.deleteSuppressNotFound(operation.dir.path);
                break;
            case "deleteFile":
                await this.deleteSuppressNotFound(operation.filePath);
                break;
            case "move":
                await this.fileSystem.move(operation.oldDir.path, operation.newDir.path);
                break;
            case "copy":
                await this.fileSystem.copy(operation.oldDir.path, operation.newDir.path);
                break;
            case "mkdir":
                await this.fileSystem.mkdir(operation.dir.path);
                break;
            default:
                exports.errors.throwNotImplementedForNeverValueError(operation);
        }
    }
    executeOperationSync(operation) {
        switch (operation.kind) {
            case "deleteDir":
                this.deleteSuppressNotFoundSync(operation.dir.path);
                break;
            case "deleteFile":
                this.deleteSuppressNotFoundSync(operation.filePath);
                break;
            case "move":
                this.fileSystem.moveSync(operation.oldDir.path, operation.newDir.path);
                break;
            case "copy":
                this.fileSystem.copySync(operation.oldDir.path, operation.newDir.path);
                break;
            case "mkdir":
                this.fileSystem.mkdirSync(operation.dir.path);
                break;
            default:
                exports.errors.throwNotImplementedForNeverValueError(operation);
        }
    }
    getAndClearOperations() {
        const operations = [];
        for (const dir of this.directories.getValues())
            operations.push(...dir.operations);
        ArrayUtils.sortByProperty(operations, item => item.index);
        this.directories.clear();
        return operations;
    }
    async moveFileImmediately(oldFilePath, newFilePath, fileText) {
        this.throwIfLibFile(newFilePath);
        this.throwIfHasExternalOperations(this.getOrCreateParentDirectory(oldFilePath), "move file");
        this.throwIfHasExternalOperations(this.getOrCreateParentDirectory(newFilePath), "move file");
        await this.writeFile(newFilePath, fileText);
        await this.deleteFileImmediately(oldFilePath);
    }
    moveFileImmediatelySync(oldFilePath, newFilePath, fileText) {
        this.throwIfLibFile(newFilePath);
        this.throwIfHasExternalOperations(this.getOrCreateParentDirectory(oldFilePath), "move file");
        this.throwIfHasExternalOperations(this.getOrCreateParentDirectory(newFilePath), "move file");
        this.writeFileSync(newFilePath, fileText);
        this.deleteFileImmediatelySync(oldFilePath);
    }
    async deleteFileImmediately(filePath) {
        this.throwIfLibFile(filePath);
        const dir = this.getOrCreateParentDirectory(filePath);
        this.throwIfHasExternalOperations(dir, "delete file");
        dir.dequeueFileDelete(filePath);
        this.pathCasingMaintainer.removePath(filePath);
        try {
            await this.deleteSuppressNotFound(filePath);
        }
        catch (err) {
            this.queueFileDelete(filePath);
            throw err;
        }
    }
    deleteFileImmediatelySync(filePath) {
        this.throwIfLibFile(filePath);
        const dir = this.getOrCreateParentDirectory(filePath);
        this.throwIfHasExternalOperations(dir, "delete file");
        dir.dequeueFileDelete(filePath);
        this.pathCasingMaintainer.removePath(filePath);
        try {
            this.deleteSuppressNotFoundSync(filePath);
        }
        catch (err) {
            this.queueFileDelete(filePath);
            throw err;
        }
    }
    async copyDirectoryImmediately(srcDirPath, destDirPath) {
        const srcDir = this.getOrCreateDirectory(srcDirPath);
        const destDir = this.getOrCreateDirectory(destDirPath);
        this.throwIfHasExternalOperations(srcDir, "copy directory");
        this.throwIfHasExternalOperations(destDir, "copy directory");
        const saveTask = Promise.all([this.saveForDirectory(srcDirPath), this.saveForDirectory(destDirPath)]);
        this.removeDirAndSubDirs(srcDir);
        await saveTask;
        await this.fileSystem.copy(srcDirPath, destDirPath);
    }
    copyDirectoryImmediatelySync(srcDirPath, destDirPath) {
        const srcDir = this.getOrCreateDirectory(srcDirPath);
        const destDir = this.getOrCreateDirectory(destDirPath);
        this.throwIfHasExternalOperations(srcDir, "copy directory");
        this.throwIfHasExternalOperations(destDir, "copy directory");
        this.saveForDirectorySync(srcDirPath);
        this.saveForDirectorySync(destDirPath);
        this.removeDirAndSubDirs(srcDir);
        this.fileSystem.copySync(srcDirPath, destDirPath);
    }
    async moveDirectoryImmediately(srcDirPath, destDirPath) {
        const srcDir = this.getOrCreateDirectory(srcDirPath);
        const destDir = this.getOrCreateDirectory(destDirPath);
        this.throwIfHasExternalOperations(srcDir, "move directory");
        this.throwIfHasExternalOperations(destDir, "move directory");
        const saveTask = Promise.all([this.saveForDirectory(srcDirPath), this.saveForDirectory(destDirPath)]);
        this.removeDirAndSubDirs(srcDir);
        this.pathCasingMaintainer.removePath(srcDirPath);
        await saveTask;
        await this.fileSystem.move(srcDirPath, destDirPath);
    }
    moveDirectoryImmediatelySync(srcDirPath, destDirPath) {
        const srcDir = this.getOrCreateDirectory(srcDirPath);
        const destDir = this.getOrCreateDirectory(destDirPath);
        this.throwIfHasExternalOperations(srcDir, "move directory");
        this.throwIfHasExternalOperations(destDir, "move directory");
        this.saveForDirectorySync(srcDirPath);
        this.saveForDirectorySync(destDirPath);
        this.removeDirAndSubDirs(srcDir);
        this.pathCasingMaintainer.removePath(srcDirPath);
        this.fileSystem.moveSync(srcDirPath, destDirPath);
    }
    async deleteDirectoryImmediately(dirPath) {
        const dir = this.getOrCreateDirectory(dirPath);
        this.throwIfHasExternalOperations(dir, "delete");
        this.removeDirAndSubDirs(dir);
        this.pathCasingMaintainer.removePath(dirPath);
        try {
            await this.deleteSuppressNotFound(dirPath);
        }
        catch (err) {
            this.addBackDirAndSubDirs(dir);
            this.queueDirectoryDelete(dirPath);
        }
    }
    async clearDirectoryImmediately(dirPath) {
        await this.deleteDirectoryImmediately(dirPath);
        this.getOrCreateDirectory(dirPath).setIsDeleted(false);
        await this.fileSystem.mkdir(dirPath);
    }
    clearDirectoryImmediatelySync(dirPath) {
        this.deleteDirectoryImmediatelySync(dirPath);
        this.getOrCreateDirectory(dirPath).setIsDeleted(false);
        this.fileSystem.mkdirSync(dirPath);
    }
    deleteDirectoryImmediatelySync(dirPath) {
        const dir = this.getOrCreateDirectory(dirPath);
        this.throwIfHasExternalOperations(dir, "delete");
        this.removeDirAndSubDirs(dir);
        this.pathCasingMaintainer.removePath(dirPath);
        try {
            this.deleteSuppressNotFoundSync(dirPath);
        }
        catch (err) {
            this.addBackDirAndSubDirs(dir);
            this.queueDirectoryDelete(dirPath);
        }
    }
    async deleteSuppressNotFound(path) {
        this.throwIfLibFile(path);
        try {
            await this.fileSystem.delete(path);
        }
        catch (err) {
            if (!FileUtils.isNotExistsError(err))
                throw err;
        }
    }
    deleteSuppressNotFoundSync(path) {
        this.throwIfLibFile(path);
        try {
            this.fileSystem.deleteSync(path);
        }
        catch (err) {
            if (!FileUtils.isNotExistsError(err))
                throw err;
        }
    }
    fileExists(filePath) {
        if (this.libFileExists(filePath))
            return true;
        if (this._fileDeletedInMemory(filePath))
            return false;
        return this.fileSystem.fileExists(filePath);
    }
    fileExistsSync(filePath) {
        if (this.libFileExists(filePath))
            return true;
        if (this._fileDeletedInMemory(filePath))
            return false;
        return this.fileSystem.fileExistsSync(filePath);
    }
    _fileDeletedInMemory(filePath) {
        if (this.isPathQueuedForDeletion(filePath))
            return true;
        const parentDir = this.getParentDirectoryIfExists(filePath);
        if (parentDir != null && parentDir.getWasEverDeleted())
            return true;
        return false;
    }
    directoryExistsSync(dirPath) {
        if (this.isPathQueuedForDeletion(dirPath))
            return false;
        if (this.isPathDirectoryInQueueThatExists(dirPath))
            return true;
        const dir = this.getDirectoryIfExists(dirPath);
        if (dir != null && dir.getWasEverDeleted())
            return false;
        return this.fileSystem.directoryExistsSync(dirPath);
    }
    readFileIfExistsSync(filePath, encoding) {
        if (this._fileDeletedInMemory(filePath))
            return undefined;
        try {
            return this.readFileSync(filePath, encoding);
        }
        catch (err) {
            if (err instanceof exports.errors.FileNotFoundError)
                return undefined;
            else
                throw err;
        }
    }
    readFileSync(filePath, encoding) {
        const libFileText = this.readLibFile(filePath);
        if (libFileText != null)
            return libFileText;
        this._verifyCanReadFile(filePath);
        return this.fileSystem.readFileSync(filePath, encoding);
    }
    readFileIfExists(filePath, encoding) {
        if (this._fileDeletedInMemory(filePath))
            return Promise.resolve(undefined);
        return this.readFile(filePath, encoding)
            .catch(err => {
            if (err instanceof exports.errors.FileNotFoundError)
                return Promise.resolve(undefined);
            else
                return Promise.reject(err);
        });
    }
    readFile(filePath, encoding) {
        const libFileText = this.readLibFile(filePath);
        if (libFileText != null)
            return Promise.resolve(libFileText);
        this._verifyCanReadFile(filePath);
        return this.fileSystem.readFile(filePath, encoding);
    }
    _verifyCanReadFile(filePath) {
        if (this.isPathQueuedForDeletion(filePath))
            throw new exports.errors.InvalidOperationError(`Cannot read file at ${filePath} when it is queued for deletion.`);
        if (this.getOrCreateParentDirectory(filePath).getWasEverDeleted())
            throw new exports.errors.InvalidOperationError(`Cannot read file at ${filePath} because one of its ancestor directories was once deleted or moved.`);
    }
    readDirSync(dirPath) {
        const dir = this.getOrCreateDirectory(dirPath);
        if (dir.getIsDeleted())
            throw new exports.errors.InvalidOperationError(`Cannot read directory at ${dirPath} when it is queued for deletion.`);
        if (dir.getWasEverDeleted())
            throw new exports.errors.InvalidOperationError(`Cannot read directory at ${dirPath} because one of its ancestor directories was once deleted or moved.`);
        const uniqueDirPaths = new Map();
        for (const entry of dir.getChildrenEntriesIterator())
            uniqueDirPaths.set(entry.path, entry);
        for (const runtimeDirEntry of this.fileSystem.readDirSync(dirPath)) {
            const standardizedChildDirOrFilePath = this.getStandardizedAbsolutePath(runtimeDirEntry.name);
            if (!this.isPathQueuedForDeletion(standardizedChildDirOrFilePath)) {
                uniqueDirPaths.set(standardizedChildDirOrFilePath, {
                    path: standardizedChildDirOrFilePath,
                    isDirectory: runtimeDirEntry.isDirectory,
                    isFile: runtimeDirEntry.isFile,
                    isSymlink: runtimeDirEntry.isSymlink,
                });
            }
        }
        return ArrayUtils.sortByProperty(Array.from(uniqueDirPaths.values()), e => e.path);
    }
    async *glob(patterns) {
        const filePaths = await this.fileSystem.glob(patterns);
        for (const filePath of filePaths) {
            const standardizedFilePath = this.getStandardizedAbsolutePath(filePath);
            if (!this.isPathQueuedForDeletion(standardizedFilePath))
                yield standardizedFilePath;
        }
    }
    *globSync(patterns) {
        const filePaths = this.fileSystem.globSync(patterns);
        for (const filePath of filePaths) {
            const standardizedFilePath = this.getStandardizedAbsolutePath(filePath);
            if (!this.isPathQueuedForDeletion(standardizedFilePath))
                yield standardizedFilePath;
        }
    }
    getFileSystem() {
        return this.fileSystem;
    }
    getCurrentDirectory() {
        return this.getStandardizedAbsolutePath(this.fileSystem.getCurrentDirectory());
    }
    getDirectories(dirPath) {
        return this.readDirSync(dirPath).filter(entry => entry.isDirectory).map(d => d.path);
    }
    realpathSync(path) {
        if (this.libFileExists(path))
            return path;
        try {
            return this.getStandardizedAbsolutePath(this.fileSystem.realpathSync(path));
        }
        catch (_a) {
            return path;
        }
    }
    getStandardizedAbsolutePath(fileOrDirPath, relativeBase) {
        const standardizedFileOrDirPath = FileUtils.getStandardizedAbsolutePath(this.fileSystem, fileOrDirPath, relativeBase);
        return this.pathCasingMaintainer.getPath(standardizedFileOrDirPath);
    }
    readFileOrNotExists(filePath, encoding) {
        const libFileText = this.readLibFile(filePath);
        if (libFileText != null)
            return Promise.resolve(libFileText);
        if (this.isPathQueuedForDeletion(filePath))
            return false;
        return FileUtils.readFileOrNotExists(this.fileSystem, filePath, encoding);
    }
    readFileOrNotExistsSync(filePath, encoding) {
        const libFileText = this.readLibFile(filePath);
        if (libFileText != null)
            return libFileText;
        if (this.isPathQueuedForDeletion(filePath))
            return false;
        return FileUtils.readFileOrNotExistsSync(this.fileSystem, filePath, encoding);
    }
    async writeFile(filePath, fileText) {
        this.throwIfLibFile(filePath);
        const parentDir = this.getOrCreateParentDirectory(filePath);
        this.throwIfHasExternalOperations(parentDir, "write file");
        parentDir.dequeueFileDelete(filePath);
        await this.ensureDirectoryExists(parentDir);
        await this.fileSystem.writeFile(filePath, fileText);
    }
    writeFileSync(filePath, fileText) {
        this.throwIfLibFile(filePath);
        const parentDir = this.getOrCreateParentDirectory(filePath);
        this.throwIfHasExternalOperations(parentDir, "write file");
        parentDir.dequeueFileDelete(filePath);
        this.ensureDirectoryExistsSync(parentDir);
        this.fileSystem.writeFileSync(filePath, fileText);
    }
    isPathDirectoryInQueueThatExists(path) {
        const pathDir = this.getDirectoryIfExists(path);
        return pathDir == null ? false : !pathDir.getIsDeleted();
    }
    isPathQueuedForDeletion(path) {
        const pathDir = this.getDirectoryIfExists(path);
        if (pathDir != null)
            return pathDir.getIsDeleted();
        const parentDir = this.getParentDirectoryIfExists(path);
        if (parentDir == null)
            return false;
        return parentDir.isFileQueuedForDelete(path) || parentDir.getIsDeleted();
    }
    removeDirAndSubDirs(dir) {
        const originalParent = dir.getParent();
        dir.removeParent();
        for (const dirToRemove of [dir, ...dir.getDescendants()])
            this.directories.removeByKey(dirToRemove.path);
        if (originalParent != null)
            originalParent.dequeueDirDelete(dir.path);
    }
    addBackDirAndSubDirs(dir) {
        for (const dirToAdd of [dir, ...dir.getDescendants()])
            this.directories.set(dirToAdd.path, dirToAdd);
        if (!dir.isRootDir())
            dir.setParent(this.getOrCreateParentDirectory(dir.path));
    }
    getNextOperationIndex() {
        return this.operationIndex++;
    }
    getParentDirectoryIfExists(filePath) {
        return this.getDirectoryIfExists(FileUtils.getDirPath(filePath));
    }
    getOrCreateParentDirectory(filePath) {
        return this.getOrCreateDirectory(FileUtils.getDirPath(filePath));
    }
    getDirectoryIfExists(dirPath) {
        return this.directories.get(dirPath);
    }
    getOrCreateDirectory(dirPath) {
        let dir = this.directories.get(dirPath);
        if (dir != null)
            return dir;
        const getOrCreateDir = (creatingDirPath) => this.directories.getOrCreate(creatingDirPath, () => new Directory(creatingDirPath));
        dir = getOrCreateDir(dirPath);
        let currentDirPath = dirPath;
        let currentDir = dir;
        while (!FileUtils.isRootDirPath(currentDirPath)) {
            const nextDirPath = FileUtils.getDirPath(currentDirPath);
            const hadNextDir = this.directories.has(nextDirPath);
            const nextDir = getOrCreateDir(nextDirPath);
            currentDir.setParent(nextDir);
            if (hadNextDir)
                return dir;
            currentDir = nextDir;
            currentDirPath = nextDirPath;
        }
        return dir;
    }
    throwIfHasExternalOperations(dir, commandName) {
        const operations = dir.getExternalOperations();
        if (operations.length === 0)
            return;
        throw new exports.errors.InvalidOperationError(getErrorText());
        function getErrorText() {
            let hasCopy = false;
            let errorText = `Cannot execute immediate operation '${commandName}' because of the following external operations:\n`;
            for (const operation of operations) {
                if (operation.kind === "move")
                    errorText += `\n* Move: ${operation.oldDir.path} --> ${operation.newDir.path}`;
                else if (operation.kind === "copy") {
                    errorText += `\n* Copy: ${operation.oldDir.path} --> ${operation.newDir.path}`;
                    hasCopy = true;
                }
                else if (operation.kind === "deleteDir")
                    errorText += `\n* Delete: ${operation.dir.path}`;
                else {
                    errorText += `\n* Unknown operation: Please report this as a bug.`;
                }
            }
            if (hasCopy)
                errorText += "\n\nNote: Copy operations can be removed from external operations by setting `includeUntrackedFiles` to `false` when copying.";
            return errorText;
        }
    }
    async ensureDirectoryExists(dir) {
        if (dir.isRootDir())
            return;
        this.removeMkDirOperationsForDir(dir);
        await this.fileSystem.mkdir(dir.path);
    }
    ensureDirectoryExistsSync(dir) {
        if (dir.isRootDir())
            return;
        this.removeMkDirOperationsForDir(dir);
        this.fileSystem.mkdirSync(dir.path);
    }
    removeMkDirOperationsForDir(dir) {
        const parentDir = dir.getParent();
        if (parentDir != null) {
            ArrayUtils.removeAll(parentDir.operations, operation => operation.kind === "mkdir" && operation.dir === dir);
            this.removeMkDirOperationsForDir(parentDir);
        }
    }
    libFileExists(filePath) {
        return this.libFileMap != null && this.libFileMap.has(filePath);
    }
    readLibFile(filePath) {
        if (this.libFileMap != null)
            return this.libFileMap.get(filePath);
        else
            return undefined;
    }
    throwIfLibFile(filePath) {
        if (this.libFileExists(filePath))
            throw new exports.errors.InvalidOperationError(`This operation is not permitted on an in memory lib folder file.`);
    }
}
class PathCasingMaintainer {
    constructor(fileSystem) {
        if (fileSystem.isCaseSensitive != null && !fileSystem.isCaseSensitive())
            this.caseInsensitiveMappings = new Map();
    }
    getPath(fileOrDirPath) {
        if (this.caseInsensitiveMappings == null)
            return fileOrDirPath;
        const key = fileOrDirPath.toLowerCase();
        let path = this.caseInsensitiveMappings.get(key);
        if (path == null) {
            path = fileOrDirPath;
            this.caseInsensitiveMappings.set(key, path);
        }
        return path;
    }
    removePath(dirPath) {
        if (this.caseInsensitiveMappings == null)
            return;
        this.caseInsensitiveMappings.delete(dirPath.toLowerCase());
    }
}

function createModuleResolutionHost(options) {
    const { transactionalFileSystem, sourceFileContainer, getEncoding } = options;
    return {
        directoryExists: dirName => {
            const dirPath = transactionalFileSystem.getStandardizedAbsolutePath(dirName);
            if (sourceFileContainer.containsDirectoryAtPath(dirPath))
                return true;
            return transactionalFileSystem.directoryExistsSync(dirPath);
        },
        fileExists: fileName => {
            const filePath = transactionalFileSystem.getStandardizedAbsolutePath(fileName);
            if (sourceFileContainer.containsSourceFileAtPath(filePath))
                return true;
            return transactionalFileSystem.fileExistsSync(filePath);
        },
        readFile: fileName => {
            const filePath = transactionalFileSystem.getStandardizedAbsolutePath(fileName);
            const sourceFile = sourceFileContainer.getSourceFileFromCacheFromFilePath(filePath);
            if (sourceFile != null)
                return sourceFile.getFullText();
            try {
                return transactionalFileSystem.readFileSync(filePath, getEncoding());
            }
            catch (err) {
                if (FileUtils.isNotExistsError(err))
                    return undefined;
                throw err;
            }
        },
        getCurrentDirectory: () => transactionalFileSystem.getCurrentDirectory(),
        getDirectories: dirName => {
            const dirPath = transactionalFileSystem.getStandardizedAbsolutePath(dirName);
            const dirs = new Set(transactionalFileSystem.readDirSync(dirPath).map(e => e.path));
            for (const childDirPath of sourceFileContainer.getChildDirectoriesOfDirectory(dirPath))
                dirs.add(childDirPath);
            return Array.from(dirs);
        },
        realpath: path => transactionalFileSystem.realpathSync(transactionalFileSystem.getStandardizedAbsolutePath(path)),
    };
}

class DocumentRegistry {
    constructor(transactionalFileSystem) {
        this.transactionalFileSystem = transactionalFileSystem;
        this.sourceFileCacheByFilePath = new Map();
    }
    createOrUpdateSourceFile(fileName, compilationSettings, scriptSnapshot, scriptKind) {
        let sourceFile = this.sourceFileCacheByFilePath.get(fileName);
        if (sourceFile == null)
            sourceFile = this.updateSourceFile(fileName, compilationSettings, scriptSnapshot, DocumentRegistry.initialVersion, scriptKind);
        else
            sourceFile = this.updateSourceFile(fileName, compilationSettings, scriptSnapshot, this.getNextSourceFileVersion(sourceFile), scriptKind);
        return sourceFile;
    }
    removeSourceFile(fileName) {
        this.sourceFileCacheByFilePath.delete(fileName);
    }
    acquireDocument(fileName, compilationSettings, scriptSnapshot, version, scriptKind) {
        const standardizedFilePath = this.transactionalFileSystem.getStandardizedAbsolutePath(fileName);
        let sourceFile = this.sourceFileCacheByFilePath.get(standardizedFilePath);
        if (sourceFile == null || this.getSourceFileVersion(sourceFile) !== version)
            sourceFile = this.updateSourceFile(standardizedFilePath, compilationSettings, scriptSnapshot, version, scriptKind);
        return sourceFile;
    }
    acquireDocumentWithKey(fileName, path, compilationSettings, key, scriptSnapshot, version, scriptKind) {
        return this.acquireDocument(fileName, compilationSettings, scriptSnapshot, version, scriptKind);
    }
    updateDocument(fileName, compilationSettings, scriptSnapshot, version, scriptKind) {
        return this.acquireDocument(fileName, compilationSettings, scriptSnapshot, version, scriptKind);
    }
    updateDocumentWithKey(fileName, path, compilationSettings, key, scriptSnapshot, version, scriptKind) {
        return this.updateDocument(fileName, compilationSettings, scriptSnapshot, version, scriptKind);
    }
    getKeyForCompilationSettings(settings) {
        return "defaultKey";
    }
    releaseDocument(fileName, compilationSettings) {
    }
    releaseDocumentWithKey(path, key) {
    }
    reportStats() {
        throw new exports.errors.NotImplementedError();
    }
    getSourceFileVersion(sourceFile) {
        return sourceFile.version || "0";
    }
    getNextSourceFileVersion(sourceFile) {
        const currentVersion = parseInt(this.getSourceFileVersion(sourceFile), 10) || 0;
        return (currentVersion + 1).toString();
    }
    updateSourceFile(fileName, compilationSettings, scriptSnapshot, version, scriptKind) {
        const newSourceFile = createCompilerSourceFile(fileName, scriptSnapshot, compilationSettings.target, version, true, scriptKind);
        this.sourceFileCacheByFilePath.set(fileName, newSourceFile);
        return newSourceFile;
    }
}
DocumentRegistry.initialVersion = "0";

const denoResolutionHostFactory = (moduleResolutionHost, getCompilerOptions) => {
    return {
        resolveModuleNames: (moduleNames, containingFile) => {
            const compilerOptions = getCompilerOptions();
            const resolvedModules = [];
            for (const moduleName of moduleNames.map(removeTsExtension)) {
                const result = ts__namespace.resolveModuleName(moduleName, containingFile, compilerOptions, moduleResolutionHost);
                if (result.resolvedModule)
                    resolvedModules.push(result.resolvedModule);
            }
            return resolvedModules;
        },
    };
    function removeTsExtension(moduleName) {
        if (moduleName.slice(-3).toLowerCase() === ".ts")
            return moduleName.slice(0, -3);
        return moduleName;
    }
};
const ResolutionHosts = {
    deno: denoResolutionHostFactory,
};

function Memoize(target, propertyName, descriptor) {
    if (descriptor.value != null)
        descriptor.value = getNewFunction(descriptor.value);
    else if (descriptor.get != null)
        descriptor.get = getNewFunction(descriptor.get);
    else
        throw new Error("Only put a Memoize decorator on a method or get accessor.");
}
const weakMap = new WeakMap();
let counter = 0;
function getNewFunction(originalFunction) {
    const identifier = counter++;
    function decorator(...args) {
        let propertyValues = weakMap.get(this);
        if (propertyValues == null) {
            propertyValues = new Map();
            weakMap.set(this, propertyValues);
        }
        let propName = `__memoized_value_${identifier}`;
        if (arguments.length > 0)
            propName += "_" + JSON.stringify(args);
        let returnedValue;
        if (propertyValues.has(propName))
            returnedValue = propertyValues.get(propName);
        else {
            returnedValue = originalFunction.apply(this, args);
            propertyValues.set(propName, returnedValue);
        }
        return returnedValue;
    }
    return decorator;
}

class SettingsContainer {
    constructor(defaultSettings) {
        this._defaultSettings = Object.assign({}, defaultSettings);
        this._settings = defaultSettings;
    }
    reset() {
        this._settings = Object.assign({}, this._defaultSettings);
        this._fireModified();
    }
    get() {
        return Object.assign({}, this._settings);
    }
    set(settings) {
        Object.assign(this._settings, settings);
        this._fireModified();
    }
    onModified(action) {
        if (this._modifiedEventContainer == null)
            this._modifiedEventContainer = new EventContainer();
        this._modifiedEventContainer.subscribe(action);
    }
    _fireModified() {
        if (this._modifiedEventContainer != null)
            this._modifiedEventContainer.fire(undefined);
    }
}

class CompilerOptionsContainer extends SettingsContainer {
    constructor() {
        super({});
    }
    set(settings) {
        super.set(settings);
    }
    getEncoding() {
        return this._settings.charset || "utf-8";
    }
}

/******************************************************************************
Copyright (c) Microsoft Corporation.

Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.

THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */

function __decorate(decorators, target, key, desc) {
    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
    if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
    return c > 3 && r && Object.defineProperty(target, key, r), r;
}

function readDirectory(fileSystemWrapper, useCaseSensitiveFileNames, rootDir, extensions, excludes, includes, depth) {
    const currentDir = fileSystemWrapper.getCurrentDirectory();
    const directories = [];
    const regexFlag = useCaseSensitiveFileNames ? "" : "i";
    const patterns = getFileMatcherPatterns(rootDir, excludes || [], includes, useCaseSensitiveFileNames, currentDir);
    const includeDirectoryRegex = patterns.includeDirectoryPattern && new RegExp(patterns.includeDirectoryPattern, regexFlag);
    const excludeRegex = patterns.excludePattern && new RegExp(patterns.excludePattern, regexFlag);
    return {
        files: matchFiles(rootDir, extensions, excludes || [], includes, useCaseSensitiveFileNames, currentDir, depth, path => {
            const includeDir = dirPathMatches(path);
            const standardizedPath = fileSystemWrapper.getStandardizedAbsolutePath(path);
            if (includeDir)
                directories.push(standardizedPath);
            return getFileSystemEntries(standardizedPath, fileSystemWrapper);
        }, path => fileSystemWrapper.realpathSync(fileSystemWrapper.getStandardizedAbsolutePath(path)), path => fileSystemWrapper.directoryExistsSync(fileSystemWrapper.getStandardizedAbsolutePath(path))),
        directories,
    };
    function dirPathMatches(absoluteName) {
        if (absoluteName[absoluteName.length - 1] !== "/")
            absoluteName += "/";
        return (!includeDirectoryRegex || includeDirectoryRegex.test(absoluteName))
            && (!excludeRegex || !excludeRegex.test(absoluteName));
    }
}
function getFileSystemEntries(path, fileSystemWrapper) {
    const files = [];
    const directories = [];
    try {
        const entries = fileSystemWrapper.readDirSync(path);
        for (const entry of entries) {
            if (entry.isFile)
                files.push(entry.path);
            else if (entry.isDirectory)
                directories.push(entry.path);
        }
    }
    catch (err) {
        if (!FileUtils.isNotExistsError(err))
            throw err;
    }
    return { files, directories };
}

function getTsParseConfigHost(fileSystemWrapper, options) {
    const directories = [];
    const useCaseSensitiveFileNames = false;
    const host = {
        useCaseSensitiveFileNames,
        readDirectory: (rootDir, extensions, excludes, includes, depth) => {
            const result = readDirectory(fileSystemWrapper, useCaseSensitiveFileNames, rootDir, extensions, excludes, includes, depth);
            directories.push(...result.directories);
            return result.files;
        },
        fileExists: path => fileSystemWrapper.fileExistsSync(fileSystemWrapper.getStandardizedAbsolutePath(path)),
        readFile: path => fileSystemWrapper.readFileSync(fileSystemWrapper.getStandardizedAbsolutePath(path), options.encoding),
        getDirectories: () => [...directories],
        clearDirectories: () => directories.length = 0,
    };
    return host;
}

class TsConfigResolver {
    constructor(fileSystem, tsConfigFilePath, encoding) {
        this.fileSystem = fileSystem;
        this.encoding = encoding;
        this.host = getTsParseConfigHost(fileSystem, { encoding });
        this.tsConfigFilePath = fileSystem.getStandardizedAbsolutePath(tsConfigFilePath);
        this.tsConfigDirPath = FileUtils.getDirPath(this.tsConfigFilePath);
    }
    getCompilerOptions() {
        return this.parseJsonConfigFileContent().options;
    }
    getErrors() {
        return this.parseJsonConfigFileContent().errors || [];
    }
    getPaths(compilerOptions) {
        const files = new Set();
        const { fileSystem } = this;
        const directories = new Set();
        compilerOptions = compilerOptions || this.getCompilerOptions();
        const configFileContent = this.parseJsonConfigFileContent();
        for (let dirName of configFileContent.directories) {
            const dirPath = fileSystem.getStandardizedAbsolutePath(dirName);
            if (fileSystem.directoryExistsSync(dirPath))
                directories.add(dirPath);
        }
        for (let fileName of configFileContent.fileNames) {
            const filePath = fileSystem.getStandardizedAbsolutePath(fileName);
            const parentDirPath = FileUtils.getDirPath(filePath);
            if (fileSystem.fileExistsSync(filePath)) {
                directories.add(parentDirPath);
                files.add(filePath);
            }
        }
        return {
            filePaths: Array.from(files.values()),
            directoryPaths: Array.from(directories.values()),
        };
    }
    parseJsonConfigFileContent() {
        this.host.clearDirectories();
        const result = ts__namespace.parseJsonConfigFileContent(this.getTsConfigFileJson(), this.host, this.tsConfigDirPath, undefined, this.tsConfigFilePath);
        return { ...result, directories: this.host.getDirectories() };
    }
    getTsConfigFileJson() {
        const text = this.fileSystem.readFileSync(this.tsConfigFilePath, this.encoding);
        const parseResult = ts__namespace.parseConfigFileTextToJson(this.tsConfigFilePath, text);
        if (parseResult.error != null)
            throw new Error(parseResult.error.messageText.toString());
        return parseResult.config;
    }
}
__decorate([
    Memoize
], TsConfigResolver.prototype, "getCompilerOptions", null);
__decorate([
    Memoize
], TsConfigResolver.prototype, "getErrors", null);
__decorate([
    Memoize
], TsConfigResolver.prototype, "getPaths", null);
__decorate([
    Memoize
], TsConfigResolver.prototype, "parseJsonConfigFileContent", null);
__decorate([
    Memoize
], TsConfigResolver.prototype, "getTsConfigFileJson", null);

function getCompilerOptionsFromTsConfig(filePath, options = {}) {
    const fileSystemWrapper = new TransactionalFileSystem({
        fileSystem: options.fileSystem || new RealFileSystemHost(),
        skipLoadingLibFiles: false,
        libFolderPath: undefined,
    });
    const tsConfigResolver = new TsConfigResolver(fileSystemWrapper, fileSystemWrapper.getStandardizedAbsolutePath(filePath), options.encoding || "utf-8");
    return {
        options: tsConfigResolver.getCompilerOptions(),
        errors: tsConfigResolver.getErrors(),
    };
}

Object.defineProperty(exports, 'DiagnosticCategory', {
  enumerable: true,
  get: function () { return ts.DiagnosticCategory; }
});
Object.defineProperty(exports, 'EmitHint', {
  enumerable: true,
  get: function () { return ts.EmitHint; }
});
Object.defineProperty(exports, 'LanguageVariant', {
  enumerable: true,
  get: function () { return ts.LanguageVariant; }
});
Object.defineProperty(exports, 'ModuleKind', {
  enumerable: true,
  get: function () { return ts.ModuleKind; }
});
Object.defineProperty(exports, 'ModuleResolutionKind', {
  enumerable: true,
  get: function () { return ts.ModuleResolutionKind; }
});
Object.defineProperty(exports, 'NewLineKind', {
  enumerable: true,
  get: function () { return ts.NewLineKind; }
});
Object.defineProperty(exports, 'NodeFlags', {
  enumerable: true,
  get: function () { return ts.NodeFlags; }
});
Object.defineProperty(exports, 'ObjectFlags', {
  enumerable: true,
  get: function () { return ts.ObjectFlags; }
});
Object.defineProperty(exports, 'ScriptKind', {
  enumerable: true,
  get: function () { return ts.ScriptKind; }
});
Object.defineProperty(exports, 'ScriptTarget', {
  enumerable: true,
  get: function () { return ts.ScriptTarget; }
});
Object.defineProperty(exports, 'SymbolFlags', {
  enumerable: true,
  get: function () { return ts.SymbolFlags; }
});
Object.defineProperty(exports, 'SyntaxKind', {
  enumerable: true,
  get: function () { return ts.SyntaxKind; }
});
Object.defineProperty(exports, 'TypeFlags', {
  enumerable: true,
  get: function () { return ts.TypeFlags; }
});
Object.defineProperty(exports, 'TypeFormatFlags', {
  enumerable: true,
  get: function () { return ts.TypeFormatFlags; }
});
exports.ts = ts__namespace;
exports.ArrayUtils = ArrayUtils;
exports.ComparerToStoredComparer = ComparerToStoredComparer;
exports.CompilerOptionsContainer = CompilerOptionsContainer;
exports.DocumentRegistry = DocumentRegistry;
exports.EventContainer = EventContainer;
exports.FileUtils = FileUtils;
exports.InMemoryFileSystemHost = InMemoryFileSystemHost;
exports.IterableUtils = IterableUtils;
exports.KeyValueCache = KeyValueCache;
exports.LocaleStringComparer = LocaleStringComparer;
exports.Memoize = Memoize;
exports.ObjectUtils = ObjectUtils;
exports.PropertyComparer = PropertyComparer;
exports.PropertyStoredComparer = PropertyStoredComparer;
exports.RealFileSystemHost = RealFileSystemHost;
exports.ResolutionHosts = ResolutionHosts;
exports.SettingsContainer = SettingsContainer;
exports.SortedKeyValueArray = SortedKeyValueArray;
exports.StringUtils = StringUtils;
exports.TransactionalFileSystem = TransactionalFileSystem;
exports.TsConfigResolver = TsConfigResolver;
exports.WeakCache = WeakCache;
exports.createDocumentCache = createDocumentCache;
exports.createHosts = createHosts;
exports.createModuleResolutionHost = createModuleResolutionHost;
exports.deepClone = deepClone;
exports.getCompilerOptionsFromTsConfig = getCompilerOptionsFromTsConfig;
exports.getEmitModuleResolutionKind = getEmitModuleResolutionKind;
exports.getFileMatcherPatterns = getFileMatcherPatterns;
exports.getLibFiles = getLibFiles;
exports.getLibFolderPath = getLibFolderPath;
exports.getSyntaxKindName = getSyntaxKindName;
exports.libFolderInMemoryPath = libFolderInMemoryPath;
exports.matchFiles = matchFiles;
exports.matchGlobs = matchGlobs;
exports.nameof = nameof;
exports.runtime = runtime;
