×

Welcome to TagMyCode

Please login or create account to add a snippet.
0
0
 
0
Language: Javascript
Posted by: Isaac Dettman
Added: Apr 25, 2017 1:05 AM
Views: 6
Tags: no tags
  1. /*! *****************************************************************************
  2. Copyright (c) Microsoft Corporation. All rights reserved.
  3. Licensed under the Apache License, Version 2.0 (the "License"); you may not use
  4. this file except in compliance with the License. You may obtain a copy of the
  5. License at http://www.apache.org/licenses/LICENSE-2.0  
  6.  
  7. THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  8. KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
  9. WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
  10. MERCHANTABLITY OR NON-INFRINGEMENT.
  11.  
  12. See the Apache Version 2.0 License for specific language governing permissions
  13. and limitations under the License.
  14. ***************************************************************************** */
  15.  
  16.  
  17.  
  18. /// <reference no-default-lib="true"/>
  19.  
  20.  
  21.  
  22. /////////////////////////////
  23. /// IE DOM APIs
  24. /////////////////////////////
  25.  
  26. interface Account {
  27.     rpDisplayName?: string;
  28.     displayName?: string;
  29.     id?: string;
  30.     name?: string;
  31.     imageURL?: string;
  32. }
  33.  
  34. interface Algorithm {
  35.     name: string;
  36. }
  37.  
  38. interface AnimationEventInit extends EventInit {
  39.     animationName?: string;
  40.     elapsedTime?: number;
  41. }
  42.  
  43. interface AssertionOptions {
  44.     timeoutSeconds?: number;
  45.     rpId?: USVString;
  46.     allowList?: ScopedCredentialDescriptor[];
  47.     extensions?: WebAuthnExtensions;
  48. }
  49.  
  50. interface CacheQueryOptions {
  51.     ignoreSearch?: boolean;
  52.     ignoreMethod?: boolean;
  53.     ignoreVary?: boolean;
  54.     cacheName?: string;
  55. }
  56.  
  57. interface ClientData {
  58.     challenge?: string;
  59.     origin?: string;
  60.     rpId?: string;
  61.     hashAlg?: string | Algorithm;
  62.     tokenBinding?: string;
  63.     extensions?: WebAuthnExtensions;
  64. }
  65.  
  66. interface CloseEventInit extends EventInit {
  67.     wasClean?: boolean;
  68.     code?: number;
  69.     reason?: string;
  70. }
  71.  
  72. interface CompositionEventInit extends UIEventInit {
  73.     data?: string;
  74. }
  75.  
  76. interface ConfirmSiteSpecificExceptionsInformation extends ExceptionInformation {
  77.     arrayOfDomainStrings?: string[];
  78. }
  79.  
  80. interface ConstrainBooleanParameters {
  81.     exact?: boolean;
  82.     ideal?: boolean;
  83. }
  84.  
  85. interface ConstrainDOMStringParameters {
  86.     exact?: string | string[];
  87.     ideal?: string | string[];
  88. }
  89.  
  90. interface ConstrainDoubleRange extends DoubleRange {
  91.     exact?: number;
  92.     ideal?: number;
  93. }
  94.  
  95. interface ConstrainLongRange extends LongRange {
  96.     exact?: number;
  97.     ideal?: number;
  98. }
  99.  
  100. interface ConstrainVideoFacingModeParameters {
  101.     exact?: string | string[];
  102.     ideal?: string | string[];
  103. }
  104.  
  105. interface CustomEventInit extends EventInit {
  106.     detail?: any;
  107. }
  108.  
  109. interface DOMRectInit {
  110.     x?: any;
  111.     y?: any;
  112.     width?: any;
  113.     height?: any;
  114. }
  115.  
  116. interface DeviceAccelerationDict {
  117.     x?: number;
  118.     y?: number;
  119.     z?: number;
  120. }
  121.  
  122. interface DeviceLightEventInit extends EventInit {
  123.     value?: number;
  124. }
  125.  
  126. interface DeviceMotionEventInit extends EventInit {
  127.     acceleration?: DeviceAccelerationDict;
  128.     accelerationIncludingGravity?: DeviceAccelerationDict;
  129.     rotationRate?: DeviceRotationRateDict;
  130.     interval?: number;
  131. }
  132.  
  133. interface DeviceOrientationEventInit extends EventInit {
  134.     alpha?: number;
  135.     beta?: number;
  136.     gamma?: number;
  137.     absolute?: boolean;
  138. }
  139.  
  140. interface DeviceRotationRateDict {
  141.     alpha?: number;
  142.     beta?: number;
  143.     gamma?: number;
  144. }
  145.  
  146. interface DoubleRange {
  147.     max?: number;
  148.     min?: number;
  149. }
  150.  
  151. interface ErrorEventInit extends EventInit {
  152.     message?: string;
  153.     filename?: string;
  154.     lineno?: number;
  155.     colno?: number;
  156.     error?: any;
  157. }
  158.  
  159. interface EventInit {
  160.     scoped?: boolean;
  161.     bubbles?: boolean;
  162.     cancelable?: boolean;
  163. }
  164.  
  165. interface EventModifierInit extends UIEventInit {
  166.     ctrlKey?: boolean;
  167.     shiftKey?: boolean;
  168.     altKey?: boolean;
  169.     metaKey?: boolean;
  170.     modifierAltGraph?: boolean;
  171.     modifierCapsLock?: boolean;
  172.     modifierFn?: boolean;
  173.     modifierFnLock?: boolean;
  174.     modifierHyper?: boolean;
  175.     modifierNumLock?: boolean;
  176.     modifierOS?: boolean;
  177.     modifierScrollLock?: boolean;
  178.     modifierSuper?: boolean;
  179.     modifierSymbol?: boolean;
  180.     modifierSymbolLock?: boolean;
  181. }
  182.  
  183. interface ExceptionInformation {
  184.     domain?: string;
  185. }
  186.  
  187. interface FocusEventInit extends UIEventInit {
  188.     relatedTarget?: EventTarget;
  189. }
  190.  
  191. interface FocusNavigationEventInit extends EventInit {
  192.     navigationReason?: string;
  193.     originLeft?: number;
  194.     originTop?: number;
  195.     originWidth?: number;
  196.     originHeight?: number;
  197. }
  198.  
  199. interface FocusNavigationOrigin {
  200.     originLeft?: number;
  201.     originTop?: number;
  202.     originWidth?: number;
  203.     originHeight?: number;
  204. }
  205.  
  206. interface GamepadEventInit extends EventInit {
  207.     gamepad?: Gamepad;
  208. }
  209.  
  210. interface GetNotificationOptions {
  211.     tag?: string;
  212. }
  213.  
  214. interface HashChangeEventInit extends EventInit {
  215.     newURL?: string;
  216.     oldURL?: string;
  217. }
  218.  
  219. interface IDBIndexParameters {
  220.     multiEntry?: boolean;
  221.     unique?: boolean;
  222. }
  223.  
  224. interface IDBObjectStoreParameters {
  225.     autoIncrement?: boolean;
  226.     keyPath?: IDBKeyPath;
  227. }
  228.  
  229. interface IntersectionObserverEntryInit {
  230.     time?: number;
  231.     rootBounds?: DOMRectInit;
  232.     boundingClientRect?: DOMRectInit;
  233.     intersectionRect?: DOMRectInit;
  234.     target?: Element;
  235. }
  236.  
  237. interface IntersectionObserverInit {
  238.     root?: Element;
  239.     rootMargin?: string;
  240.     threshold?: number | number[];
  241. }
  242.  
  243. interface KeyAlgorithm {
  244.     name?: string;
  245. }
  246.  
  247. interface KeyboardEventInit extends EventModifierInit {
  248.     code?: string;
  249.     key?: string;
  250.     location?: number;
  251.     repeat?: boolean;
  252. }
  253.  
  254. interface LongRange {
  255.     max?: number;
  256.     min?: number;
  257. }
  258.  
  259. interface MSAccountInfo {
  260.     rpDisplayName?: string;
  261.     userDisplayName?: string;
  262.     accountName?: string;
  263.     userId?: string;
  264.     accountImageUri?: string;
  265. }
  266.  
  267. interface MSAudioLocalClientEvent extends MSLocalClientEventBase {
  268.     networkSendQualityEventRatio?: number;
  269.     networkDelayEventRatio?: number;
  270.     cpuInsufficientEventRatio?: number;
  271.     deviceHalfDuplexAECEventRatio?: number;
  272.     deviceRenderNotFunctioningEventRatio?: number;
  273.     deviceCaptureNotFunctioningEventRatio?: number;
  274.     deviceGlitchesEventRatio?: number;
  275.     deviceLowSNREventRatio?: number;
  276.     deviceLowSpeechLevelEventRatio?: number;
  277.     deviceClippingEventRatio?: number;
  278.     deviceEchoEventRatio?: number;
  279.     deviceNearEndToEchoRatioEventRatio?: number;
  280.     deviceRenderZeroVolumeEventRatio?: number;
  281.     deviceRenderMuteEventRatio?: number;
  282.     deviceMultipleEndpointsEventCount?: number;
  283.     deviceHowlingEventCount?: number;
  284. }
  285.  
  286. interface MSAudioRecvPayload extends MSPayloadBase {
  287.     samplingRate?: number;
  288.     signal?: MSAudioRecvSignal;
  289.     packetReorderRatio?: number;
  290.     packetReorderDepthAvg?: number;
  291.     packetReorderDepthMax?: number;
  292.     burstLossLength1?: number;
  293.     burstLossLength2?: number;
  294.     burstLossLength3?: number;
  295.     burstLossLength4?: number;
  296.     burstLossLength5?: number;
  297.     burstLossLength6?: number;
  298.     burstLossLength7?: number;
  299.     burstLossLength8OrHigher?: number;
  300.     fecRecvDistance1?: number;
  301.     fecRecvDistance2?: number;
  302.     fecRecvDistance3?: number;
  303.     ratioConcealedSamplesAvg?: number;
  304.     ratioStretchedSamplesAvg?: number;
  305.     ratioCompressedSamplesAvg?: number;
  306. }
  307.  
  308. interface MSAudioRecvSignal {
  309.     initialSignalLevelRMS?: number;
  310.     recvSignalLevelCh1?: number;
  311.     recvNoiseLevelCh1?: number;
  312.     renderSignalLevel?: number;
  313.     renderNoiseLevel?: number;
  314.     renderLoopbackSignalLevel?: number;
  315. }
  316.  
  317. interface MSAudioSendPayload extends MSPayloadBase {
  318.     samplingRate?: number;
  319.     signal?: MSAudioSendSignal;
  320.     audioFECUsed?: boolean;
  321.     sendMutePercent?: number;
  322. }
  323.  
  324. interface MSAudioSendSignal {
  325.     noiseLevel?: number;
  326.     sendSignalLevelCh1?: number;
  327.     sendNoiseLevelCh1?: number;
  328. }
  329.  
  330. interface MSConnectivity {
  331.     iceType?: string;
  332.     iceWarningFlags?: MSIceWarningFlags;
  333.     relayAddress?: MSRelayAddress;
  334. }
  335.  
  336. interface MSCredentialFilter {
  337.     accept?: MSCredentialSpec[];
  338. }
  339.  
  340. interface MSCredentialParameters {
  341.     type?: string;
  342. }
  343.  
  344. interface MSCredentialSpec {
  345.     type?: string;
  346.     id?: string;
  347. }
  348.  
  349. interface MSDelay {
  350.     roundTrip?: number;
  351.     roundTripMax?: number;
  352. }
  353.  
  354. interface MSDescription extends RTCStats {
  355.     connectivity?: MSConnectivity;
  356.     transport?: string;
  357.     networkconnectivity?: MSNetworkConnectivityInfo;
  358.     localAddr?: MSIPAddressInfo;
  359.     remoteAddr?: MSIPAddressInfo;
  360.     deviceDevName?: string;
  361.     reflexiveLocalIPAddr?: MSIPAddressInfo;
  362. }
  363.  
  364. interface MSFIDOCredentialParameters extends MSCredentialParameters {
  365.     algorithm?: string | Algorithm;
  366.     authenticators?: AAGUID[];
  367. }
  368.  
  369. interface MSIPAddressInfo {
  370.     ipAddr?: string;
  371.     port?: number;
  372.     manufacturerMacAddrMask?: string;
  373. }
  374.  
  375. interface MSIceWarningFlags {
  376.     turnTcpTimedOut?: boolean;
  377.     turnUdpAllocateFailed?: boolean;
  378.     turnUdpSendFailed?: boolean;
  379.     turnTcpAllocateFailed?: boolean;
  380.     turnTcpSendFailed?: boolean;
  381.     udpLocalConnectivityFailed?: boolean;
  382.     udpNatConnectivityFailed?: boolean;
  383.     udpRelayConnectivityFailed?: boolean;
  384.     tcpNatConnectivityFailed?: boolean;
  385.     tcpRelayConnectivityFailed?: boolean;
  386.     connCheckMessageIntegrityFailed?: boolean;
  387.     allocationMessageIntegrityFailed?: boolean;
  388.     connCheckOtherError?: boolean;
  389.     turnAuthUnknownUsernameError?: boolean;
  390.     noRelayServersConfigured?: boolean;
  391.     multipleRelayServersAttempted?: boolean;
  392.     portRangeExhausted?: boolean;
  393.     alternateServerReceived?: boolean;
  394.     pseudoTLSFailure?: boolean;
  395.     turnTurnTcpConnectivityFailed?: boolean;
  396.     useCandidateChecksFailed?: boolean;
  397.     fipsAllocationFailure?: boolean;
  398. }
  399.  
  400. interface MSJitter {
  401.     interArrival?: number;
  402.     interArrivalMax?: number;
  403.     interArrivalSD?: number;
  404. }
  405.  
  406. interface MSLocalClientEventBase extends RTCStats {
  407.     networkReceiveQualityEventRatio?: number;
  408.     networkBandwidthLowEventRatio?: number;
  409. }
  410.  
  411. interface MSNetwork extends RTCStats {
  412.     jitter?: MSJitter;
  413.     delay?: MSDelay;
  414.     packetLoss?: MSPacketLoss;
  415.     utilization?: MSUtilization;
  416. }
  417.  
  418. interface MSNetworkConnectivityInfo {
  419.     vpn?: boolean;
  420.     linkspeed?: number;
  421.     networkConnectionDetails?: string;
  422. }
  423.  
  424. interface MSNetworkInterfaceType {
  425.     interfaceTypeEthernet?: boolean;
  426.     interfaceTypeWireless?: boolean;
  427.     interfaceTypePPP?: boolean;
  428.     interfaceTypeTunnel?: boolean;
  429.     interfaceTypeWWAN?: boolean;
  430. }
  431.  
  432. interface MSOutboundNetwork extends MSNetwork {
  433.     appliedBandwidthLimit?: number;
  434. }
  435.  
  436. interface MSPacketLoss {
  437.     lossRate?: number;
  438.     lossRateMax?: number;
  439. }
  440.  
  441. interface MSPayloadBase extends RTCStats {
  442.     payloadDescription?: string;
  443. }
  444.  
  445. interface MSPortRange {
  446.     min?: number;
  447.     max?: number;
  448. }
  449.  
  450. interface MSRelayAddress {
  451.     relayAddress?: string;
  452.     port?: number;
  453. }
  454.  
  455. interface MSSignatureParameters {
  456.     userPrompt?: string;
  457. }
  458.  
  459. interface MSTransportDiagnosticsStats extends RTCStats {
  460.     baseAddress?: string;
  461.     localAddress?: string;
  462.     localSite?: string;
  463.     networkName?: string;
  464.     remoteAddress?: string;
  465.     remoteSite?: string;
  466.     localMR?: string;
  467.     remoteMR?: string;
  468.     iceWarningFlags?: MSIceWarningFlags;
  469.     portRangeMin?: number;
  470.     portRangeMax?: number;
  471.     localMRTCPPort?: number;
  472.     remoteMRTCPPort?: number;
  473.     stunVer?: number;
  474.     numConsentReqSent?: number;
  475.     numConsentReqReceived?: number;
  476.     numConsentRespSent?: number;
  477.     numConsentRespReceived?: number;
  478.     interfaces?: MSNetworkInterfaceType;
  479.     baseInterface?: MSNetworkInterfaceType;
  480.     protocol?: string;
  481.     localInterface?: MSNetworkInterfaceType;
  482.     localAddrType?: string;
  483.     remoteAddrType?: string;
  484.     iceRole?: string;
  485.     rtpRtcpMux?: boolean;
  486.     allocationTimeInMs?: number;
  487.     msRtcEngineVersion?: string;
  488. }
  489.  
  490. interface MSUtilization {
  491.     packets?: number;
  492.     bandwidthEstimation?: number;
  493.     bandwidthEstimationMin?: number;
  494.     bandwidthEstimationMax?: number;
  495.     bandwidthEstimationStdDev?: number;
  496.     bandwidthEstimationAvg?: number;
  497. }
  498.  
  499. interface MSVideoPayload extends MSPayloadBase {
  500.     resolution?: string;
  501.     videoBitRateAvg?: number;
  502.     videoBitRateMax?: number;
  503.     videoFrameRateAvg?: number;
  504.     videoPacketLossRate?: number;
  505.     durationSeconds?: number;
  506. }
  507.  
  508. interface MSVideoRecvPayload extends MSVideoPayload {
  509.     videoFrameLossRate?: number;
  510.     recvCodecType?: string;
  511.     recvResolutionWidth?: number;
  512.     recvResolutionHeight?: number;
  513.     videoResolutions?: MSVideoResolutionDistribution;
  514.     recvFrameRateAverage?: number;
  515.     recvBitRateMaximum?: number;
  516.     recvBitRateAverage?: number;
  517.     recvVideoStreamsMax?: number;
  518.     recvVideoStreamsMin?: number;
  519.     recvVideoStreamsMode?: number;
  520.     videoPostFECPLR?: number;
  521.     lowBitRateCallPercent?: number;
  522.     lowFrameRateCallPercent?: number;
  523.     reorderBufferTotalPackets?: number;
  524.     recvReorderBufferReorderedPackets?: number;
  525.     recvReorderBufferPacketsDroppedDueToBufferExhaustion?: number;
  526.     recvReorderBufferMaxSuccessfullyOrderedExtent?: number;
  527.     recvReorderBufferMaxSuccessfullyOrderedLateTime?: number;
  528.     recvReorderBufferPacketsDroppedDueToTimeout?: number;
  529.     recvFpsHarmonicAverage?: number;
  530.     recvNumResSwitches?: number;
  531. }
  532.  
  533. interface MSVideoResolutionDistribution {
  534.     cifQuality?: number;
  535.     vgaQuality?: number;
  536.     h720Quality?: number;
  537.     h1080Quality?: number;
  538.     h1440Quality?: number;
  539.     h2160Quality?: number;
  540. }
  541.  
  542. interface MSVideoSendPayload extends MSVideoPayload {
  543.     sendFrameRateAverage?: number;
  544.     sendBitRateMaximum?: number;
  545.     sendBitRateAverage?: number;
  546.     sendVideoStreamsMax?: number;
  547.     sendResolutionWidth?: number;
  548.     sendResolutionHeight?: number;
  549. }
  550.  
  551. interface MediaEncryptedEventInit extends EventInit {
  552.     initDataType?: string;
  553.     initData?: ArrayBuffer;
  554. }
  555.  
  556. interface MediaKeyMessageEventInit extends EventInit {
  557.     messageType?: string;
  558.     message?: ArrayBuffer;
  559. }
  560.  
  561. interface MediaKeySystemConfiguration {
  562.     initDataTypes?: string[];
  563.     audioCapabilities?: MediaKeySystemMediaCapability[];
  564.     videoCapabilities?: MediaKeySystemMediaCapability[];
  565.     distinctiveIdentifier?: string;
  566.     persistentState?: string;
  567. }
  568.  
  569. interface MediaKeySystemMediaCapability {
  570.     contentType?: string;
  571.     robustness?: string;
  572. }
  573.  
  574. interface MediaStreamConstraints {
  575.     video?: boolean | MediaTrackConstraints;
  576.     audio?: boolean | MediaTrackConstraints;
  577. }
  578.  
  579. interface MediaStreamErrorEventInit extends EventInit {
  580.     error?: MediaStreamError;
  581. }
  582.  
  583. interface MediaStreamEventInit extends EventInit {
  584.     stream?: MediaStream;
  585. }
  586.  
  587. interface MediaStreamTrackEventInit extends EventInit {
  588.     track?: MediaStreamTrack;
  589. }
  590.  
  591. interface MediaTrackCapabilities {
  592.     width?: number | LongRange;
  593.     height?: number | LongRange;
  594.     aspectRatio?: number | DoubleRange;
  595.     frameRate?: number | DoubleRange;
  596.     facingMode?: string;
  597.     volume?: number | DoubleRange;
  598.     sampleRate?: number | LongRange;
  599.     sampleSize?: number | LongRange;
  600.     echoCancellation?: boolean[];
  601.     deviceId?: string;
  602.     groupId?: string;
  603. }
  604.  
  605. interface MediaTrackConstraintSet {
  606.     width?: number | ConstrainLongRange;
  607.     height?: number | ConstrainLongRange;
  608.     aspectRatio?: number | ConstrainDoubleRange;
  609.     frameRate?: number | ConstrainDoubleRange;
  610.     facingMode?: string | string[] | ConstrainDOMStringParameters;
  611.     volume?: number | ConstrainDoubleRange;
  612.     sampleRate?: number | ConstrainLongRange;
  613.     sampleSize?: number | ConstrainLongRange;
  614.     echoCancelation?: boolean | ConstrainBooleanParameters;
  615.     deviceId?: string | string[] | ConstrainDOMStringParameters;
  616.     groupId?: string | string[] | ConstrainDOMStringParameters;
  617. }
  618.  
  619. interface MediaTrackConstraints extends MediaTrackConstraintSet {
  620.     advanced?: MediaTrackConstraintSet[];
  621. }
  622.  
  623. interface MediaTrackSettings {
  624.     width?: number;
  625.     height?: number;
  626.     aspectRatio?: number;
  627.     frameRate?: number;
  628.     facingMode?: string;
  629.     volume?: number;
  630.     sampleRate?: number;
  631.     sampleSize?: number;
  632.     echoCancellation?: boolean;
  633.     deviceId?: string;
  634.     groupId?: string;
  635. }
  636.  
  637. interface MediaTrackSupportedConstraints {
  638.     width?: boolean;
  639.     height?: boolean;
  640.     aspectRatio?: boolean;
  641.     frameRate?: boolean;
  642.     facingMode?: boolean;
  643.     volume?: boolean;
  644.     sampleRate?: boolean;
  645.     sampleSize?: boolean;
  646.     echoCancellation?: boolean;
  647.     deviceId?: boolean;
  648.     groupId?: boolean;
  649. }
  650.  
  651. interface MessageEventInit extends EventInit {
  652.     lastEventId?: string;
  653.     channel?: string;
  654.     data?: any;
  655.     origin?: string;
  656.     source?: Window;
  657.     ports?: MessagePort[];
  658. }
  659.  
  660. interface MouseEventInit extends EventModifierInit {
  661.     screenX?: number;
  662.     screenY?: number;
  663.     clientX?: number;
  664.     clientY?: number;
  665.     button?: number;
  666.     buttons?: number;
  667.     relatedTarget?: EventTarget;
  668. }
  669.  
  670. interface MsZoomToOptions {
  671.     contentX?: number;
  672.     contentY?: number;
  673.     viewportX?: string;
  674.     viewportY?: string;
  675.     scaleFactor?: number;
  676.     animate?: string;
  677. }
  678.  
  679. interface MutationObserverInit {
  680.     childList?: boolean;
  681.     attributes?: boolean;
  682.     characterData?: boolean;
  683.     subtree?: boolean;
  684.     attributeOldValue?: boolean;
  685.     characterDataOldValue?: boolean;
  686.     attributeFilter?: string[];
  687. }
  688.  
  689. interface NotificationOptions {
  690.     dir?: string;
  691.     lang?: string;
  692.     body?: string;
  693.     tag?: string;
  694.     icon?: string;
  695. }
  696.  
  697. interface ObjectURLOptions {
  698.     oneTimeOnly?: boolean;
  699. }
  700.  
  701. interface PaymentCurrencyAmount {
  702.     currency?: string;
  703.     value?: string;
  704.     currencySystem?: string;
  705. }
  706.  
  707. interface PaymentDetails {
  708.     total?: PaymentItem;
  709.     displayItems?: PaymentItem[];
  710.     shippingOptions?: PaymentShippingOption[];
  711.     modifiers?: PaymentDetailsModifier[];
  712.     error?: string;
  713. }
  714.  
  715. interface PaymentDetailsModifier {
  716.     supportedMethods?: string[];
  717.     total?: PaymentItem;
  718.     additionalDisplayItems?: PaymentItem[];
  719.     data?: any;
  720. }
  721.  
  722. interface PaymentItem {
  723.     label?: string;
  724.     amount?: PaymentCurrencyAmount;
  725.     pending?: boolean;
  726. }
  727.  
  728. interface PaymentMethodData {
  729.     supportedMethods?: string[];
  730.     data?: any;
  731. }
  732.  
  733. interface PaymentOptions {
  734.     requestPayerName?: boolean;
  735.     requestPayerEmail?: boolean;
  736.     requestPayerPhone?: boolean;
  737.     requestShipping?: boolean;
  738.     shippingType?: string;
  739. }
  740.  
  741. interface PaymentRequestUpdateEventInit extends EventInit {
  742. }
  743.  
  744. interface PaymentShippingOption {
  745.     id?: string;
  746.     label?: string;
  747.     amount?: PaymentCurrencyAmount;
  748.     selected?: boolean;
  749. }
  750.  
  751. interface PeriodicWaveConstraints {
  752.     disableNormalization?: boolean;
  753. }
  754.  
  755. interface PointerEventInit extends MouseEventInit {
  756.     pointerId?: number;
  757.     width?: number;
  758.     height?: number;
  759.     pressure?: number;
  760.     tiltX?: number;
  761.     tiltY?: number;
  762.     pointerType?: string;
  763.     isPrimary?: boolean;
  764. }
  765.  
  766. interface PopStateEventInit extends EventInit {
  767.     state?: any;
  768. }
  769.  
  770. interface PositionOptions {
  771.     enableHighAccuracy?: boolean;
  772.     timeout?: number;
  773.     maximumAge?: number;
  774. }
  775.  
  776. interface ProgressEventInit extends EventInit {
  777.     lengthComputable?: boolean;
  778.     loaded?: number;
  779.     total?: number;
  780. }
  781.  
  782. interface PushSubscriptionOptionsInit {
  783.     userVisibleOnly?: boolean;
  784.     applicationServerKey?: any;
  785. }
  786.  
  787. interface RTCConfiguration {
  788.     iceServers?: RTCIceServer[];
  789.     iceTransportPolicy?: string;
  790.     bundlePolicy?: string;
  791.     peerIdentity?: string;
  792. }
  793.  
  794. interface RTCDTMFToneChangeEventInit extends EventInit {
  795.     tone?: string;
  796. }
  797.  
  798. interface RTCDtlsFingerprint {
  799.     algorithm?: string;
  800.     value?: string;
  801. }
  802.  
  803. interface RTCDtlsParameters {
  804.     role?: string;
  805.     fingerprints?: RTCDtlsFingerprint[];
  806. }
  807.  
  808. interface RTCIceCandidateAttributes extends RTCStats {
  809.     ipAddress?: string;
  810.     portNumber?: number;
  811.     transport?: string;
  812.     candidateType?: string;
  813.     priority?: number;
  814.     addressSourceUrl?: string;
  815. }
  816.  
  817. interface RTCIceCandidateComplete {
  818. }
  819.  
  820. interface RTCIceCandidateDictionary {
  821.     foundation?: string;
  822.     priority?: number;
  823.     ip?: string;
  824.     protocol?: string;
  825.     port?: number;
  826.     type?: string;
  827.     tcpType?: string;
  828.     relatedAddress?: string;
  829.     relatedPort?: number;
  830.     msMTurnSessionId?: string;
  831. }
  832.  
  833. interface RTCIceCandidateInit {
  834.     candidate?: string;
  835.     sdpMid?: string;
  836.     sdpMLineIndex?: number;
  837. }
  838.  
  839. interface RTCIceCandidatePair {
  840.     local?: RTCIceCandidateDictionary;
  841.     remote?: RTCIceCandidateDictionary;
  842. }
  843.  
  844. interface RTCIceCandidatePairStats extends RTCStats {
  845.     transportId?: string;
  846.     localCandidateId?: string;
  847.     remoteCandidateId?: string;
  848.     state?: string;
  849.     priority?: number;
  850.     nominated?: boolean;
  851.     writable?: boolean;
  852.     readable?: boolean;
  853.     bytesSent?: number;
  854.     bytesReceived?: number;
  855.     roundTripTime?: number;
  856.     availableOutgoingBitrate?: number;
  857.     availableIncomingBitrate?: number;
  858. }
  859.  
  860. interface RTCIceGatherOptions {
  861.     gatherPolicy?: string;
  862.     iceservers?: RTCIceServer[];
  863.     portRange?: MSPortRange;
  864. }
  865.  
  866. interface RTCIceParameters {
  867.     usernameFragment?: string;
  868.     password?: string;
  869.     iceLite?: boolean;
  870. }
  871.  
  872. interface RTCIceServer {
  873.     urls?: any;
  874.     username?: string;
  875.     credential?: string;
  876. }
  877.  
  878. interface RTCInboundRTPStreamStats extends RTCRTPStreamStats {
  879.     packetsReceived?: number;
  880.     bytesReceived?: number;
  881.     packetsLost?: number;
  882.     jitter?: number;
  883.     fractionLost?: number;
  884. }
  885.  
  886. interface RTCMediaStreamTrackStats extends RTCStats {
  887.     trackIdentifier?: string;
  888.     remoteSource?: boolean;
  889.     ssrcIds?: string[];
  890.     frameWidth?: number;
  891.     frameHeight?: number;
  892.     framesPerSecond?: number;
  893.     framesSent?: number;
  894.     framesReceived?: number;
  895.     framesDecoded?: number;
  896.     framesDropped?: number;
  897.     framesCorrupted?: number;
  898.     audioLevel?: number;
  899.     echoReturnLoss?: number;
  900.     echoReturnLossEnhancement?: number;
  901. }
  902.  
  903. interface RTCOfferOptions {
  904.     offerToReceiveVideo?: number;
  905.     offerToReceiveAudio?: number;
  906.     voiceActivityDetection?: boolean;
  907.     iceRestart?: boolean;
  908. }
  909.  
  910. interface RTCOutboundRTPStreamStats extends RTCRTPStreamStats {
  911.     packetsSent?: number;
  912.     bytesSent?: number;
  913.     targetBitrate?: number;
  914.     roundTripTime?: number;
  915. }
  916.  
  917. interface RTCPeerConnectionIceEventInit extends EventInit {
  918.     candidate?: RTCIceCandidate;
  919. }
  920.  
  921. interface RTCRTPStreamStats extends RTCStats {
  922.     ssrc?: string;
  923.     associateStatsId?: string;
  924.     isRemote?: boolean;
  925.     mediaTrackId?: string;
  926.     transportId?: string;
  927.     codecId?: string;
  928.     firCount?: number;
  929.     pliCount?: number;
  930.     nackCount?: number;
  931.     sliCount?: number;
  932. }
  933.  
  934. interface RTCRtcpFeedback {
  935.     type?: string;
  936.     parameter?: string;
  937. }
  938.  
  939. interface RTCRtcpParameters {
  940.     ssrc?: number;
  941.     cname?: string;
  942.     reducedSize?: boolean;
  943.     mux?: boolean;
  944. }
  945.  
  946. interface RTCRtpCapabilities {
  947.     codecs?: RTCRtpCodecCapability[];
  948.     headerExtensions?: RTCRtpHeaderExtension[];
  949.     fecMechanisms?: string[];
  950. }
  951.  
  952. interface RTCRtpCodecCapability {
  953.     name?: string;
  954.     kind?: string;
  955.     clockRate?: number;
  956.     preferredPayloadType?: number;
  957.     maxptime?: number;
  958.     ptime?: number;
  959.     numChannels?: number;
  960.     rtcpFeedback?: RTCRtcpFeedback[];
  961.     parameters?: any;
  962.     options?: any;
  963.     maxTemporalLayers?: number;
  964.     maxSpatialLayers?: number;
  965.     svcMultiStreamSupport?: boolean;
  966. }
  967.  
  968. interface RTCRtpCodecParameters {
  969.     name?: string;
  970.     payloadType?: any;
  971.     clockRate?: number;
  972.     maxptime?: number;
  973.     ptime?: number;
  974.     numChannels?: number;
  975.     rtcpFeedback?: RTCRtcpFeedback[];
  976.     parameters?: any;
  977. }
  978.  
  979. interface RTCRtpContributingSource {
  980.     timestamp?: number;
  981.     csrc?: number;
  982.     audioLevel?: number;
  983. }
  984.  
  985. interface RTCRtpEncodingParameters {
  986.     ssrc?: number;
  987.     codecPayloadType?: number;
  988.     fec?: RTCRtpFecParameters;
  989.     rtx?: RTCRtpRtxParameters;
  990.     priority?: number;
  991.     maxBitrate?: number;
  992.     minQuality?: number;
  993.     resolutionScale?: number;
  994.     framerateScale?: number;
  995.     maxFramerate?: number;
  996.     active?: boolean;
  997.     encodingId?: string;
  998.     dependencyEncodingIds?: string[];
  999.     ssrcRange?: RTCSsrcRange;
  1000. }
  1001.  
  1002. interface RTCRtpFecParameters {
  1003.     ssrc?: number;
  1004.     mechanism?: string;
  1005. }
  1006.  
  1007. interface RTCRtpHeaderExtension {
  1008.     kind?: string;
  1009.     uri?: string;
  1010.     preferredId?: number;
  1011.     preferredEncrypt?: boolean;
  1012. }
  1013.  
  1014. interface RTCRtpHeaderExtensionParameters {
  1015.     uri?: string;
  1016.     id?: number;
  1017.     encrypt?: boolean;
  1018. }
  1019.  
  1020. interface RTCRtpParameters {
  1021.     muxId?: string;
  1022.     codecs?: RTCRtpCodecParameters[];
  1023.     headerExtensions?: RTCRtpHeaderExtensionParameters[];
  1024.     encodings?: RTCRtpEncodingParameters[];
  1025.     rtcp?: RTCRtcpParameters;
  1026.     degradationPreference?: string;
  1027. }
  1028.  
  1029. interface RTCRtpRtxParameters {
  1030.     ssrc?: number;
  1031. }
  1032.  
  1033. interface RTCRtpUnhandled {
  1034.     ssrc?: number;
  1035.     payloadType?: number;
  1036.     muxId?: string;
  1037. }
  1038.  
  1039. interface RTCSessionDescriptionInit {
  1040.     type?: string;
  1041.     sdp?: string;
  1042. }
  1043.  
  1044. interface RTCSrtpKeyParam {
  1045.     keyMethod?: string;
  1046.     keySalt?: string;
  1047.     lifetime?: string;
  1048.     mkiValue?: number;
  1049.     mkiLength?: number;
  1050. }
  1051.  
  1052. interface RTCSrtpSdesParameters {
  1053.     tag?: number;
  1054.     cryptoSuite?: string;
  1055.     keyParams?: RTCSrtpKeyParam[];
  1056.     sessionParams?: string[];
  1057. }
  1058.  
  1059. interface RTCSsrcRange {
  1060.     min?: number;
  1061.     max?: number;
  1062. }
  1063.  
  1064. interface RTCStats {
  1065.     timestamp?: number;
  1066.     type?: string;
  1067.     id?: string;
  1068.     msType?: string;
  1069. }
  1070.  
  1071. interface RTCStatsReport {
  1072. }
  1073.  
  1074. interface RTCTransportStats extends RTCStats {
  1075.     bytesSent?: number;
  1076.     bytesReceived?: number;
  1077.     rtcpTransportStatsId?: string;
  1078.     activeConnection?: boolean;
  1079.     selectedCandidatePairId?: string;
  1080.     localCertificateId?: string;
  1081.     remoteCertificateId?: string;
  1082. }
  1083.  
  1084. interface RegistrationOptions {
  1085.     scope?: string;
  1086. }
  1087.  
  1088. interface RequestInit {
  1089.     method?: string;
  1090.     headers?: any;
  1091.     body?: any;
  1092.     referrer?: string;
  1093.     referrerPolicy?: string;
  1094.     mode?: string;
  1095.     credentials?: string;
  1096.     cache?: string;
  1097.     redirect?: string;
  1098.     integrity?: string;
  1099.     keepalive?: boolean;
  1100.     window?: any;
  1101. }
  1102.  
  1103. interface ResponseInit {
  1104.     status?: number;
  1105.     statusText?: string;
  1106.     headers?: any;
  1107. }
  1108.  
  1109. interface ScopedCredentialDescriptor {
  1110.     type?: string;
  1111.     id?: any;
  1112.     transports?: string[];
  1113. }
  1114.  
  1115. interface ScopedCredentialOptions {
  1116.     timeoutSeconds?: number;
  1117.     rpId?: USVString;
  1118.     excludeList?: ScopedCredentialDescriptor[];
  1119.     extensions?: WebAuthnExtensions;
  1120. }
  1121.  
  1122. interface ScopedCredentialParameters {
  1123.     type?: string;
  1124.     algorithm?: string | Algorithm;
  1125. }
  1126.  
  1127. interface ServiceWorkerMessageEventInit extends EventInit {
  1128.     data?: any;
  1129.     origin?: string;
  1130.     lastEventId?: string;
  1131.     source?: ServiceWorker | MessagePort;
  1132.     ports?: MessagePort[];
  1133. }
  1134.  
  1135. interface SpeechSynthesisEventInit extends EventInit {
  1136.     utterance?: SpeechSynthesisUtterance;
  1137.     charIndex?: number;
  1138.     elapsedTime?: number;
  1139.     name?: string;
  1140. }
  1141.  
  1142. interface StoreExceptionsInformation extends ExceptionInformation {
  1143.     siteName?: string;
  1144.     explanationString?: string;
  1145.     detailURI?: string;
  1146. }
  1147.  
  1148. interface StoreSiteSpecificExceptionsInformation extends StoreExceptionsInformation {
  1149.     arrayOfDomainStrings?: string[];
  1150. }
  1151.  
  1152. interface TrackEventInit extends EventInit {
  1153.     track?: VideoTrack | AudioTrack | TextTrack;
  1154. }
  1155.  
  1156. interface TransitionEventInit extends EventInit {
  1157.     propertyName?: string;
  1158.     elapsedTime?: number;
  1159. }
  1160.  
  1161. interface UIEventInit extends EventInit {
  1162.     view?: Window;
  1163.     detail?: number;
  1164. }
  1165.  
  1166. interface WebAuthnExtensions {
  1167. }
  1168.  
  1169. interface WebGLContextAttributes {
  1170.     failIfMajorPerformanceCaveat?: boolean;
  1171.     alpha?: boolean;
  1172.     depth?: boolean;
  1173.     stencil?: boolean;
  1174.     antialias?: boolean;
  1175.     premultipliedAlpha?: boolean;
  1176.     preserveDrawingBuffer?: boolean;
  1177. }
  1178.  
  1179. interface WebGLContextEventInit extends EventInit {
  1180.     statusMessage?: string;
  1181. }
  1182.  
  1183. interface WheelEventInit extends MouseEventInit {
  1184.     deltaX?: number;
  1185.     deltaY?: number;
  1186.     deltaZ?: number;
  1187.     deltaMode?: number;
  1188. }
  1189.  
  1190. interface EventListener {
  1191.     (evt: Event): void;
  1192. }
  1193.  
  1194. interface WebKitEntriesCallback {
  1195.     (evt: Event): void;
  1196. }
  1197.  
  1198. interface WebKitErrorCallback {
  1199.     (evt: Event): void;
  1200. }
  1201.  
  1202. interface WebKitFileCallback {
  1203.     (evt: Event): void;
  1204. }
  1205.  
  1206. interface ANGLE_instanced_arrays {
  1207.     drawArraysInstancedANGLE(mode: number, first: number, count: number, primcount: number): void;
  1208.     drawElementsInstancedANGLE(mode: number, count: number, type: number, offset: number, primcount: number): void;
  1209.     vertexAttribDivisorANGLE(index: number, divisor: number): void;
  1210.     readonly VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE: number;
  1211. }
  1212.  
  1213. declare var ANGLE_instanced_arrays: {
  1214.     prototype: ANGLE_instanced_arrays;
  1215.     new(): ANGLE_instanced_arrays;
  1216.     readonly VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE: number;
  1217. }
  1218.  
  1219. interface AnalyserNode extends AudioNode {
  1220.     fftSize: number;
  1221.     readonly frequencyBinCount: number;
  1222.     maxDecibels: number;
  1223.     minDecibels: number;
  1224.     smoothingTimeConstant: number;
  1225.     getByteFrequencyData(array: Uint8Array): void;
  1226.     getByteTimeDomainData(array: Uint8Array): void;
  1227.     getFloatFrequencyData(array: Float32Array): void;
  1228.     getFloatTimeDomainData(array: Float32Array): void;
  1229. }
  1230.  
  1231. declare var AnalyserNode: {
  1232.     prototype: AnalyserNode;
  1233.     new(): AnalyserNode;
  1234. }
  1235.  
  1236. interface AnimationEvent extends Event {
  1237.     readonly animationName: string;
  1238.     readonly elapsedTime: number;
  1239.     initAnimationEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, animationNameArg: string, elapsedTimeArg: number): void;
  1240. }
  1241.  
  1242. declare var AnimationEvent: {
  1243.     prototype: AnimationEvent;
  1244.     new(typeArg: string, eventInitDict?: AnimationEventInit): AnimationEvent;
  1245. }
  1246.  
  1247. interface ApplicationCacheEventMap {
  1248.     "cached": Event;
  1249.     "checking": Event;
  1250.     "downloading": Event;
  1251.     "error": Event;
  1252.     "noupdate": Event;
  1253.     "obsolete": Event;
  1254.     "progress": ProgressEvent;
  1255.     "updateready": Event;
  1256. }
  1257.  
  1258. interface ApplicationCache extends EventTarget {
  1259.     oncached: (this: ApplicationCache, ev: Event) => any;
  1260.     onchecking: (this: ApplicationCache, ev: Event) => any;
  1261.     ondownloading: (this: ApplicationCache, ev: Event) => any;
  1262.     onerror: (this: ApplicationCache, ev: Event) => any;
  1263.     onnoupdate: (this: ApplicationCache, ev: Event) => any;
  1264.     onobsolete: (this: ApplicationCache, ev: Event) => any;
  1265.     onprogress: (this: ApplicationCache, ev: ProgressEvent) => any;
  1266.     onupdateready: (this: ApplicationCache, ev: Event) => any;
  1267.     readonly status: number;
  1268.     abort(): void;
  1269.     swapCache(): void;
  1270.     update(): void;
  1271.     readonly CHECKING: number;
  1272.     readonly DOWNLOADING: number;
  1273.     readonly IDLE: number;
  1274.     readonly OBSOLETE: number;
  1275.     readonly UNCACHED: number;
  1276.     readonly UPDATEREADY: number;
  1277.     addEventListener<K extends keyof ApplicationCacheEventMap>(type: K, listener: (this: ApplicationCache, ev: ApplicationCacheEventMap[K]) => any, useCapture?: boolean): void;
  1278.     addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void;
  1279. }
  1280.  
  1281. declare var ApplicationCache: {
  1282.     prototype: ApplicationCache;
  1283.     new(): ApplicationCache;
  1284.     readonly CHECKING: number;
  1285.     readonly DOWNLOADING: number;
  1286.     readonly IDLE: number;
  1287.     readonly OBSOLETE: number;
  1288.     readonly UNCACHED: number;
  1289.     readonly UPDATEREADY: number;
  1290. }
  1291.  
  1292. interface Attr extends Node {
  1293.     readonly name: string;
  1294.     readonly ownerElement: Element;
  1295.     readonly prefix: string | null;
  1296.     readonly specified: boolean;
  1297.     value: string;
  1298. }
  1299.  
  1300. declare var Attr: {
  1301.     prototype: Attr;
  1302.     new(): Attr;
  1303. }
  1304.  
  1305. interface AudioBuffer {
  1306.     readonly duration: number;
  1307.     readonly length: number;
  1308.     readonly numberOfChannels: number;
  1309.     readonly sampleRate: number;
  1310.     copyFromChannel(destination: Float32Array, channelNumber: number, startInChannel?: number): void;
  1311.     copyToChannel(source: Float32Array, channelNumber: number, startInChannel?: number): void;
  1312.     getChannelData(channel: number): Float32Array;
  1313. }
  1314.  
  1315. declare var AudioBuffer: {
  1316.     prototype: AudioBuffer;
  1317.     new(): AudioBuffer;
  1318. }
  1319.  
  1320. interface AudioBufferSourceNodeEventMap {
  1321.     "ended": MediaStreamErrorEvent;
  1322. }
  1323.  
  1324. interface AudioBufferSourceNode extends AudioNode {
  1325.     buffer: AudioBuffer | null;
  1326.     readonly detune: AudioParam;
  1327.     loop: boolean;
  1328.     loopEnd: number;
  1329.     loopStart: number;
  1330.     onended: (this: AudioBufferSourceNode, ev: MediaStreamErrorEvent) => any;
  1331.     readonly playbackRate: AudioParam;
  1332.     start(when?: number, offset?: number, duration?: number): void;
  1333.     stop(when?: number): void;
  1334.     addEventListener<K extends keyof AudioBufferSourceNodeEventMap>(type: K, listener: (this: AudioBufferSourceNode, ev: AudioBufferSourceNodeEventMap[K]) => any, useCapture?: boolean): void;
  1335.     addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void;
  1336. }
  1337.  
  1338. declare var AudioBufferSourceNode: {
  1339.     prototype: AudioBufferSourceNode;
  1340.     new(): AudioBufferSourceNode;
  1341. }
  1342.  
  1343. interface AudioContextEventMap {
  1344.     "statechange": Event;
  1345. }
  1346.  
  1347. interface AudioContextBase extends EventTarget {
  1348.     readonly currentTime: number;
  1349.     readonly destination: AudioDestinationNode;
  1350.     readonly listener: AudioListener;
  1351.     onstatechange: (this: AudioContext, ev: Event) => any;
  1352.     readonly sampleRate: number;
  1353.     readonly state: string;
  1354.     close(): Promise<void>;
  1355.     createAnalyser(): AnalyserNode;
  1356.     createBiquadFilter(): BiquadFilterNode;
  1357.     createBuffer(numberOfChannels: number, length: number, sampleRate: number): AudioBuffer;
  1358.     createBufferSource(): AudioBufferSourceNode;
  1359.     createChannelMerger(numberOfInputs?: number): ChannelMergerNode;
  1360.     createChannelSplitter(numberOfOutputs?: number): ChannelSplitterNode;
  1361.     createConvolver(): ConvolverNode;
  1362.     createDelay(maxDelayTime?: number): DelayNode;
  1363.     createDynamicsCompressor(): DynamicsCompressorNode;
  1364.     createGain(): GainNode;
  1365.     createIIRFilter(feedforward: number[], feedback: number[]): IIRFilterNode;
  1366.     createMediaElementSource(mediaElement: HTMLMediaElement): MediaElementAudioSourceNode;
  1367.     createMediaStreamSource(mediaStream: MediaStream): MediaStreamAudioSourceNode;
  1368.     createOscillator(): OscillatorNode;
  1369.     createPanner(): PannerNode;
  1370.     createPeriodicWave(real: Float32Array, imag: Float32Array, constraints?: PeriodicWaveConstraints): PeriodicWave;
  1371.     createScriptProcessor(bufferSize?: number, numberOfInputChannels?: number, numberOfOutputChannels?: number): ScriptProcessorNode;
  1372.     createStereoPanner(): StereoPannerNode;
  1373.     createWaveShaper(): WaveShaperNode;
  1374.     decodeAudioData(audioData: ArrayBuffer, successCallback?: DecodeSuccessCallback, errorCallback?: DecodeErrorCallback): Promise<AudioBuffer>;
  1375.     resume(): Promise<void>;
  1376.     addEventListener<K extends keyof AudioContextEventMap>(type: K, listener: (this: AudioContext, ev: AudioContextEventMap[K]) => any, useCapture?: boolean): void;
  1377.     addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void;
  1378. }
  1379.  
  1380. interface AudioContext extends AudioContextBase {
  1381.     suspend(): Promise<void>;
  1382. }
  1383.  
  1384. declare var AudioContext: {
  1385.     prototype: AudioContext;
  1386.     new(): AudioContext;
  1387. }
  1388.  
  1389. interface AudioDestinationNode extends AudioNode {
  1390.     readonly maxChannelCount: number;
  1391. }
  1392.  
  1393. declare var AudioDestinationNode: {
  1394.     prototype: AudioDestinationNode;
  1395.     new(): AudioDestinationNode;
  1396. }
  1397.  
  1398. interface AudioListener {
  1399.     dopplerFactor: number;
  1400.     speedOfSound: number;
  1401.     setOrientation(x: number, y: number, z: number, xUp: number, yUp: number, zUp: number): void;
  1402.     setPosition(x: number, y: number, z: number): void;
  1403.     setVelocity(x: number, y: number, z: number): void;
  1404. }
  1405.  
  1406. declare var AudioListener: {
  1407.     prototype: AudioListener;
  1408.     new(): AudioListener;
  1409. }
  1410.  
  1411. interface AudioNode extends EventTarget {
  1412.     channelCount: number;
  1413.     channelCountMode: string;
  1414.     channelInterpretation: string;
  1415.     readonly context: AudioContext;
  1416.     readonly numberOfInputs: number;
  1417.     readonly numberOfOutputs: number;
  1418.     connect(destination: AudioNode, output?: number, input?: number): AudioNode;
  1419.     disconnect(output?: number): void;
  1420.     disconnect(destination: AudioNode, output?: number, input?: number): void;
  1421.     disconnect(destination: AudioParam, output?: number): void;
  1422. }
  1423.  
  1424. declare var AudioNode: {
  1425.     prototype: AudioNode;
  1426.     new(): AudioNode;
  1427. }
  1428.  
  1429. interface AudioParam {
  1430.     readonly defaultValue: number;
  1431.     value: number;
  1432.     cancelScheduledValues(startTime: number): AudioParam;
  1433.     exponentialRampToValueAtTime(value: number, endTime: number): AudioParam;
  1434.     linearRampToValueAtTime(value: number, endTime: number): AudioParam;
  1435.     setTargetAtTime(target: number, startTime: number, timeConstant: number): AudioParam;
  1436.     setValueAtTime(value: number, startTime: number): AudioParam;
  1437.     setValueCurveAtTime(values: Float32Array, startTime: number, duration: number): AudioParam;
  1438. }
  1439.  
  1440. declare var AudioParam: {
  1441.     prototype: AudioParam;
  1442.     new(): AudioParam;
  1443. }
  1444.  
  1445. interface AudioProcessingEvent extends Event {
  1446.     readonly inputBuffer: AudioBuffer;
  1447.     readonly outputBuffer: AudioBuffer;
  1448.     readonly playbackTime: number;
  1449. }
  1450.  
  1451. declare var AudioProcessingEvent: {
  1452.     prototype: AudioProcessingEvent;
  1453.     new(): AudioProcessingEvent;
  1454. }
  1455.  
  1456. interface AudioTrack {
  1457.     enabled: boolean;
  1458.     readonly id: string;
  1459.     kind: string;
  1460.     readonly label: string;
  1461.     language: string;
  1462.     readonly sourceBuffer: SourceBuffer;
  1463. }
  1464.  
  1465. declare var AudioTrack: {
  1466.     prototype: AudioTrack;
  1467.     new(): AudioTrack;
  1468. }
  1469.  
  1470. interface AudioTrackListEventMap {
  1471.     "addtrack": TrackEvent;
  1472.     "change": Event;
  1473.     "removetrack": TrackEvent;
  1474. }
  1475.  
  1476. interface AudioTrackList extends EventTarget {
  1477.     readonly length: number;
  1478.     onaddtrack: (this: AudioTrackList, ev: TrackEvent) => any;
  1479.     onchange: (this: AudioTrackList, ev: Event) => any;
  1480.     onremovetrack: (this: AudioTrackList, ev: TrackEvent) => any;
  1481.     getTrackById(id: string): AudioTrack | null;
  1482.     item(index: number): AudioTrack;
  1483.     addEventListener<K extends keyof AudioTrackListEventMap>(type: K, listener: (this: AudioTrackList, ev: AudioTrackListEventMap[K]) => any, useCapture?: boolean): void;
  1484.     addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void;
  1485.     [index: number]: AudioTrack;
  1486. }
  1487.  
  1488. declare var AudioTrackList: {
  1489.     prototype: AudioTrackList;
  1490.     new(): AudioTrackList;
  1491. }
  1492.  
  1493. interface BarProp {
  1494.     readonly visible: boolean;
  1495. }
  1496.  
  1497. declare var BarProp: {
  1498.     prototype: BarProp;
  1499.     new(): BarProp;
  1500. }
  1501.  
  1502. interface BeforeUnloadEvent extends Event {
  1503.     returnValue: any;
  1504. }
  1505.  
  1506. declare var BeforeUnloadEvent: {
  1507.     prototype: BeforeUnloadEvent;
  1508.     new(): BeforeUnloadEvent;
  1509. }
  1510.  
  1511. interface BiquadFilterNode extends AudioNode {
  1512.     readonly Q: AudioParam;
  1513.     readonly detune: AudioParam;
  1514.     readonly frequency: AudioParam;
  1515.     readonly gain: AudioParam;
  1516.     type: string;
  1517.     getFrequencyResponse(frequencyHz: Float32Array, magResponse: Float32Array, phaseResponse: Float32Array): void;
  1518. }
  1519.  
  1520. declare var BiquadFilterNode: {
  1521.     prototype: BiquadFilterNode;
  1522.     new(): BiquadFilterNode;
  1523. }
  1524.  
  1525. interface Blob {
  1526.     readonly size: number;
  1527.     readonly type: string;
  1528.     msClose(): void;
  1529.     msDetachStream(): any;
  1530.     slice(start?: number, end?: number, contentType?: string): Blob;
  1531. }
  1532.  
  1533. declare var Blob: {
  1534.     prototype: Blob;
  1535.     new (blobParts?: any[], options?: BlobPropertyBag): Blob;
  1536. }
  1537.  
  1538. interface CDATASection extends Text {
  1539. }
  1540.  
  1541. declare var CDATASection: {
  1542.     prototype: CDATASection;
  1543.     new(): CDATASection;
  1544. }
  1545.  
  1546. interface CSS {
  1547.     supports(property: string, value?: string): boolean;
  1548. }
  1549. declare var CSS: CSS;
  1550.  
  1551. interface CSSConditionRule extends CSSGroupingRule {
  1552.     conditionText: string;
  1553. }
  1554.  
  1555. declare var CSSConditionRule: {
  1556.     prototype: CSSConditionRule;
  1557.     new(): CSSConditionRule;
  1558. }
  1559.  
  1560. interface CSSFontFaceRule extends CSSRule {
  1561.     readonly style: CSSStyleDeclaration;
  1562. }
  1563.  
  1564. declare var CSSFontFaceRule: {
  1565.     prototype: CSSFontFaceRule;
  1566.     new(): CSSFontFaceRule;
  1567. }
  1568.  
  1569. interface CSSGroupingRule extends CSSRule {
  1570.     readonly cssRules: CSSRuleList;
  1571.     deleteRule(index: number): void;
  1572.     insertRule(rule: string, index: number): number;
  1573. }
  1574.  
  1575. declare var CSSGroupingRule: {
  1576.     prototype: CSSGroupingRule;
  1577.     new(): CSSGroupingRule;
  1578. }
  1579.  
  1580. interface CSSImportRule extends CSSRule {
  1581.     readonly href: string;
  1582.     readonly media: MediaList;
  1583.     readonly styleSheet: CSSStyleSheet;
  1584. }
  1585.  
  1586. declare var CSSImportRule: {
  1587.     prototype: CSSImportRule;
  1588.     new(): CSSImportRule;
  1589. }
  1590.  
  1591. interface CSSKeyframeRule extends CSSRule {
  1592.     keyText: string;
  1593.     readonly style: CSSStyleDeclaration;
  1594. }
  1595.  
  1596. declare var CSSKeyframeRule: {
  1597.     prototype: CSSKeyframeRule;
  1598.     new(): CSSKeyframeRule;
  1599. }
  1600.  
  1601. interface CSSKeyframesRule extends CSSRule {
  1602.     readonly cssRules: CSSRuleList;
  1603.     name: string;
  1604.     appendRule(rule: string): void;
  1605.     deleteRule(rule: string): void;
  1606.     findRule(rule: string): CSSKeyframeRule;
  1607. }
  1608.  
  1609. declare var CSSKeyframesRule: {
  1610.     prototype: CSSKeyframesRule;
  1611.     new(): CSSKeyframesRule;
  1612. }
  1613.  
  1614. interface CSSMediaRule extends CSSConditionRule {
  1615.     readonly media: MediaList;
  1616. }
  1617.  
  1618. declare var CSSMediaRule: {
  1619.     prototype: CSSMediaRule;
  1620.     new(): CSSMediaRule;
  1621. }
  1622.  
  1623. interface CSSNamespaceRule extends CSSRule {
  1624.     readonly namespaceURI: string;
  1625.     readonly prefix: string;
  1626. }
  1627.  
  1628. declare var CSSNamespaceRule: {
  1629.     prototype: CSSNamespaceRule;
  1630.     new(): CSSNamespaceRule;
  1631. }
  1632.  
  1633. interface CSSPageRule extends CSSRule {
  1634.     readonly pseudoClass: string;
  1635.     readonly selector: string;
  1636.     selectorText: string;
  1637.     readonly style: CSSStyleDeclaration;
  1638. }
  1639.  
  1640. declare var CSSPageRule: {
  1641.     prototype: CSSPageRule;
  1642.     new(): CSSPageRule;
  1643. }
  1644.  
  1645. interface CSSRule {
  1646.     cssText: string;
  1647.     readonly parentRule: CSSRule;
  1648.     readonly parentStyleSheet: CSSStyleSheet;
  1649.     readonly type: number;
  1650.     readonly CHARSET_RULE: number;
  1651.     readonly FONT_FACE_RULE: number;
  1652.     readonly IMPORT_RULE: number;
  1653.     readonly KEYFRAMES_RULE: number;
  1654.     readonly KEYFRAME_RULE: number;
  1655.     readonly MEDIA_RULE: number;
  1656.     readonly NAMESPACE_RULE: number;
  1657.     readonly PAGE_RULE: number;
  1658.     readonly STYLE_RULE: number;
  1659.     readonly SUPPORTS_RULE: number;
  1660.     readonly UNKNOWN_RULE: number;
  1661.     readonly VIEWPORT_RULE: number;
  1662. }
  1663.  
  1664. declare var CSSRule: {
  1665.     prototype: CSSRule;
  1666.     new(): CSSRule;
  1667.     readonly CHARSET_RULE: number;
  1668.     readonly FONT_FACE_RULE: number;
  1669.     readonly IMPORT_RULE: number;
  1670.     readonly KEYFRAMES_RULE: number;
  1671.     readonly KEYFRAME_RULE: number;
  1672.     readonly MEDIA_RULE: number;
  1673.     readonly NAMESPACE_RULE: number;
  1674.     readonly PAGE_RULE: number;
  1675.     readonly STYLE_RULE: number;
  1676.     readonly SUPPORTS_RULE: number;
  1677.     readonly UNKNOWN_RULE: number;
  1678.     readonly VIEWPORT_RULE: number;
  1679. }
  1680.  
  1681. interface CSSRuleList {
  1682.     readonly length: number;
  1683.     item(index: number): CSSRule;
  1684.     [index: number]: CSSRule;
  1685. }
  1686.  
  1687. declare var CSSRuleList: {
  1688.     prototype: CSSRuleList;
  1689.     new(): CSSRuleList;
  1690. }
  1691.  
  1692. interface CSSStyleDeclaration {
  1693.     alignContent: string | null;
  1694.     alignItems: string | null;
  1695.     alignSelf: string | null;
  1696.     alignmentBaseline: string | null;
  1697.     animation: string | null;
  1698.     animationDelay: string | null;
  1699.     animationDirection: string | null;
  1700.     animationDuration: string | null;
  1701.     animationFillMode: string | null;
  1702.     animationIterationCount: string | null;
  1703.     animationName: string | null;
  1704.     animationPlayState: string | null;
  1705.     animationTimingFunction: string | null;
  1706.     backfaceVisibility: string | null;
  1707.     background: string | null;
  1708.     backgroundAttachment: string | null;
  1709.     backgroundClip: string | null;
  1710.     backgroundColor: string | null;
  1711.     backgroundImage: string | null;
  1712.     backgroundOrigin: string | null;
  1713.     backgroundPosition: string | null;
  1714.     backgroundPositionX: string | null;
  1715.     backgroundPositionY: string | null;
  1716.     backgroundRepeat: string | null;
  1717.     backgroundSize: string | null;
  1718.     baselineShift: string | null;
  1719.     border: string | null;
  1720.     borderBottom: string | null;
  1721.     borderBottomColor: string | null;
  1722.     borderBottomLeftRadius: string | null;
  1723.     borderBottomRightRadius: string | null;
  1724.     borderBottomStyle: string | null;
  1725.     borderBottomWidth: string | null;
  1726.     borderCollapse: string | null;
  1727.     borderColor: string | null;
  1728.     borderImage: string | null;
  1729.     borderImageOutset: string | null;
  1730.     borderImageRepeat: string | null;
  1731.     borderImageSlice: string | null;
  1732.     borderImageSource: string | null;
  1733.     borderImageWidth: string | null;
  1734.     borderLeft: string | null;
  1735.     borderLeftColor: string | null;
  1736.     borderLeftStyle: string | null;
  1737.     borderLeftWidth: string | null;
  1738.     borderRadius: string | null;
  1739.     borderRight: string | null;
  1740.     borderRightColor: string | null;
  1741.     borderRightStyle: string | null;
  1742.     borderRightWidth: string | null;
  1743.     borderSpacing: string | null;
  1744.     borderStyle: string | null;
  1745.     borderTop: string | null;
  1746.     borderTopColor: string | null;
  1747.     borderTopLeftRadius: string | null;
  1748.     borderTopRightRadius: string | null;
  1749.     borderTopStyle: string | null;
  1750.     borderTopWidth: string | null;
  1751.     borderWidth: string | null;
  1752.     bottom: string | null;
  1753.     boxShadow: string | null;
  1754.     boxSizing: string | null;
  1755.     breakAfter: string | null;
  1756.     breakBefore: string | null;
  1757.     breakInside: string | null;
  1758.     captionSide: string | null;
  1759.     clear: string | null;
  1760.     clip: string | null;
  1761.     clipPath: string | null;
  1762.     clipRule: string | null;
  1763.     color: string | null;
  1764.     colorInterpolationFilters: string | null;
  1765.     columnCount: any;
  1766.     columnFill: string | null;
  1767.     columnGap: any;
  1768.     columnRule: string | null;
  1769.     columnRuleColor: any;
  1770.     columnRuleStyle: string | null;
  1771.     columnRuleWidth: any;
  1772.     columnSpan: string | null;
  1773.     columnWidth: any;
  1774.     columns: string | null;
  1775.     content: string | null;
  1776.     counterIncrement: string | null;
  1777.     counterReset: string | null;
  1778.     cssFloat: string | null;
  1779.     cssText: string;
  1780.     cursor: string | null;
  1781.     direction: string | null;
  1782.     display: string | null;
  1783.     dominantBaseline: string | null;
  1784.     emptyCells: string | null;
  1785.     enableBackground: string | null;
  1786.     fill: string | null;
  1787.     fillOpacity: string | null;
  1788.     fillRule: string | null;
  1789.     filter: string | null;
  1790.     flex: string | null;
  1791.     flexBasis: string | null;
  1792.     flexDirection: string | null;
  1793.     flexFlow: string | null;
  1794.     flexGrow: string | null;
  1795.     flexShrink: string | null;
  1796.     flexWrap: string | null;
  1797.     floodColor: string | null;
  1798.     floodOpacity: string | null;
  1799.     font: string | null;
  1800.     fontFamily: string | null;
  1801.     fontFeatureSettings: string | null;
  1802.     fontSize: string | null;
  1803.     fontSizeAdjust: string | null;
  1804.     fontStretch: string | null;
  1805.     fontStyle: string | null;
  1806.     fontVariant: string | null;
  1807.     fontWeight: string | null;
  1808.     glyphOrientationHorizontal: string | null;
  1809.     glyphOrientationVertical: string | null;
  1810.     height: string | null;
  1811.     imeMode: string | null;
  1812.     justifyContent: string | null;
  1813.     kerning: string | null;
  1814.     layoutGrid: string | null;
  1815.     layoutGridChar: string | null;
  1816.     layoutGridLine: string | null;
  1817.     layoutGridMode: string | null;
  1818.     layoutGridType: string | null;
  1819.     left: string | null;
  1820.     readonly length: number;
  1821.     letterSpacing: string | null;
  1822.     lightingColor: string | null;
  1823.     lineBreak: string | null;
  1824.     lineHeight: string | null;
  1825.     listStyle: string | null;
  1826.     listStyleImage: string | null;
  1827.     listStylePosition: string | null;
  1828.     listStyleType: string | null;
  1829.     margin: string | null;
  1830.     marginBottom: string | null;
  1831.     marginLeft: string | null;
  1832.     marginRight: string | null;
  1833.     marginTop: string | null;
  1834.     marker: string | null;
  1835.     markerEnd: string | null;
  1836.     markerMid: string | null;
  1837.     markerStart: string | null;
  1838.     mask: string | null;
  1839.     maxHeight: string | null;
  1840.     maxWidth: string | null;
  1841.     minHeight: string | null;
  1842.     minWidth: string | null;
  1843.     msContentZoomChaining: string | null;
  1844.     msContentZoomLimit: string | null;
  1845.     msContentZoomLimitMax: any;
  1846.     msContentZoomLimitMin: any;
  1847.     msContentZoomSnap: string | null;
  1848.     msContentZoomSnapPoints: string | null;
  1849.     msContentZoomSnapType: string | null;
  1850.     msContentZooming: string | null;
  1851.     msFlowFrom: string | null;
  1852.     msFlowInto: string | null;
  1853.     msFontFeatureSettings: string | null;
  1854.     msGridColumn: any;
  1855.     msGridColumnAlign: string | null;
  1856.     msGridColumnSpan: any;
  1857.     msGridColumns: string | null;
  1858.     msGridRow: any;
  1859.     msGridRowAlign: string | null;
  1860.     msGridRowSpan: any;
  1861.     msGridRows: string | null;
  1862.     msHighContrastAdjust: string | null;
  1863.     msHyphenateLimitChars: string | null;
  1864.     msHyphenateLimitLines: any;
  1865.     msHyphenateLimitZone: any;
  1866.     msHyphens: string | null;
  1867.     msImeAlign: string | null;
  1868.     msOverflowStyle: string | null;
  1869.     msScrollChaining: string | null;
  1870.     msScrollLimit: string | null;
  1871.     msScrollLimitXMax: any;
  1872.     msScrollLimitXMin: any;
  1873.     msScrollLimitYMax: any;
  1874.     msScrollLimitYMin: any;
  1875.     msScrollRails: string | null;
  1876.     msScrollSnapPointsX: string | null;
  1877.     msScrollSnapPointsY: string | null;
  1878.     msScrollSnapType: string | null;
  1879.     msScrollSnapX: string | null;
  1880.     msScrollSnapY: string | null;
  1881.     msScrollTranslation: string | null;
  1882.     msTextCombineHorizontal: string | null;
  1883.     msTextSizeAdjust: any;
  1884.     msTouchAction: string | null;
  1885.     msTouchSelect: string | null;
  1886.     msUserSelect: string | null;
  1887.     msWrapFlow: string;
  1888.     msWrapMargin: any;
  1889.     msWrapThrough: string;
  1890.     opacity: string | null;
  1891.     order: string | null;
  1892.     orphans: string | null;
  1893.     outline: string | null;
  1894.     outlineColor: string | null;
  1895.     outlineOffset: string | null;
  1896.     outlineStyle: string | null;
  1897.     outlineWidth: string | null;
  1898.     overflow: string | null;
  1899.     overflowX: string | null;
  1900.     overflowY: string | null;
  1901.     padding: string | null;
  1902.     paddingBottom: string | null;
  1903.     paddingLeft: string | null;
  1904.     paddingRight: string | null;
  1905.     paddingTop: string | null;
  1906.     pageBreakAfter: string | null;
  1907.     pageBreakBefore: string | null;
  1908.     pageBreakInside: string | null;
  1909.     readonly parentRule: CSSRule;
  1910.     perspective: string | null;
  1911.     perspectiveOrigin: string | null;
  1912.     pointerEvents: string | null;
  1913.     position: string | null;
  1914.     quotes: string | null;
  1915.     right: string | null;
  1916.     rotate: string | null;
  1917.     rubyAlign: string | null;
  1918.     rubyOverhang: string | null;
  1919.     rubyPosition: string | null;
  1920.     scale: string | null;
  1921.     stopColor: string | null;
  1922.     stopOpacity: string | null;
  1923.     stroke: string | null;
  1924.     strokeDasharray: string | null;
  1925.     strokeDashoffset: string | null;
  1926.     strokeLinecap: string | null;
  1927.     strokeLinejoin: string | null;
  1928.     strokeMiterlimit: string | null;
  1929.     strokeOpacity: string | null;
  1930.     strokeWidth: string | null;
  1931.     tableLayout: string | null;
  1932.     textAlign: string | null;
  1933.     textAlignLast: string | null;
  1934.     textAnchor: string | null;
  1935.     textDecoration: string | null;
  1936.     textIndent: string | null;
  1937.     textJustify: string | null;
  1938.     textKashida: string | null;
  1939.     textKashidaSpace: string | null;
  1940.     textOverflow: string | null;
  1941.     textShadow: string | null;
  1942.     textTransform: string | null;
  1943.     textUnderlinePosition: string | null;
  1944.     top: string | null;
  1945.     touchAction: string | null;
  1946.     transform: string | null;
  1947.     transformOrigin: string | null;
  1948.     transformStyle: string | null;
  1949.     transition: string | null;
  1950.     transitionDelay: string | null;
  1951.     transitionDuration: string | null;
  1952.     transitionProperty: string | null;
  1953.     transitionTimingFunction: string | null;
  1954.     translate: string | null;
  1955.     unicodeBidi: string | null;
  1956.     verticalAlign: string | null;
  1957.     visibility: string | null;
  1958.     webkitAlignContent: string | null;
  1959.     webkitAlignItems: string | null;
  1960.     webkitAlignSelf: string | null;
  1961.     webkitAnimation: string | null;
  1962.     webkitAnimationDelay: string | null;
  1963.     webkitAnimationDirection: string | null;
  1964.     webkitAnimationDuration: string | null;
  1965.     webkitAnimationFillMode: string | null;
  1966.     webkitAnimationIterationCount: string | null;
  1967.     webkitAnimationName: string | null;
  1968.     webkitAnimationPlayState: string | null;
  1969.     webkitAnimationTimingFunction: string | null;
  1970.     webkitAppearance: string | null;
  1971.     webkitBackfaceVisibility: string | null;
  1972.     webkitBackgroundClip: string | null;
  1973.     webkitBackgroundOrigin: string | null;
  1974.     webkitBackgroundSize: string | null;
  1975.     webkitBorderBottomLeftRadius: string | null;
  1976.     webkitBorderBottomRightRadius: string | null;
  1977.     webkitBorderImage: string | null;
  1978.     webkitBorderRadius: string | null;
  1979.     webkitBorderTopLeftRadius: string | null;
  1980.     webkitBorderTopRightRadius: string | null;
  1981.     webkitBoxAlign: string | null;
  1982.     webkitBoxDirection: string | null;
  1983.     webkitBoxFlex: string | null;
  1984.     webkitBoxOrdinalGroup: string | null;
  1985.     webkitBoxOrient: string | null;
  1986.     webkitBoxPack: string | null;
  1987.     webkitBoxSizing: string | null;
  1988.     webkitColumnBreakAfter: string | null;
  1989.     webkitColumnBreakBefore: string | null;
  1990.     webkitColumnBreakInside: string | null;
  1991.     webkitColumnCount: any;
  1992.     webkitColumnGap: any;
  1993.     webkitColumnRule: string | null;
  1994.     webkitColumnRuleColor: any;
  1995.     webkitColumnRuleStyle: string | null;
  1996.     webkitColumnRuleWidth: any;
  1997.     webkitColumnSpan: string | null;
  1998.     webkitColumnWidth: any;
  1999.     webkitColumns: string | null;
  2000.     webkitFilter: string | null;
  2001.     webkitFlex: string | null;
  2002.     webkitFlexBasis: string | null;
  2003.     webkitFlexDirection: string | null;
  2004.     webkitFlexFlow: string | null;
  2005.     webkitFlexGrow: string | null;
  2006.     webkitFlexShrink: string | null;
  2007.     webkitFlexWrap: string | null;
  2008.     webkitJustifyContent: string | null;
  2009.     webkitOrder: string | null;
  2010.     webkitPerspective: string | null;
  2011.     webkitPerspectiveOrigin: string | null;
  2012.     webkitTapHighlightColor: string | null;
  2013.     webkitTextFillColor: string | null;
  2014.     webkitTextSizeAdjust: any;
  2015.     webkitTextStroke: string | null;
  2016.     webkitTextStrokeColor: string | null;
  2017.     webkitTextStrokeWidth: string | null;
  2018.     webkitTransform: string | null;
  2019.     webkitTransformOrigin: string | null;
  2020.     webkitTransformStyle: string | null;
  2021.     webkitTransition: string | null;
  2022.     webkitTransitionDelay: string | null;
  2023.     webkitTransitionDuration: string | null;
  2024.     webkitTransitionProperty: string | null;
  2025.     webkitTransitionTimingFunction: string | null;
  2026.     webkitUserModify: string | null;
  2027.     webkitUserSelect: string | null;
  2028.     webkitWritingMode: string | null;
  2029.     whiteSpace: string | null;
  2030.     widows: string | null;
  2031.     width: string | null;
  2032.     wordBreak: string | null;
  2033.     wordSpacing: string | null;
  2034.     wordWrap: string | null;
  2035.     writingMode: string | null;
  2036.     zIndex: string | null;
  2037.     zoom: string | null;
  2038.     resize: string | null;
  2039.     userSelect: string | null;
  2040.     getPropertyPriority(propertyName: string): string;
  2041.     getPropertyValue(propertyName: string): string;
  2042.     item(index: number): string;
  2043.     removeProperty(propertyName: string): string;
  2044.     setProperty(propertyName: string, value: string | null, priority?: string): void;
  2045.     [index: number]: string;
  2046. }
  2047.  
  2048. declare var CSSStyleDeclaration: {
  2049.     prototype: CSSStyleDeclaration;
  2050.     new(): CSSStyleDeclaration;
  2051. }
  2052.  
  2053. interface CSSStyleRule extends CSSRule {
  2054.     readonly readOnly: boolean;
  2055.     selectorText: string;
  2056.     readonly style: CSSStyleDeclaration;
  2057. }
  2058.  
  2059. declare var CSSStyleRule: {
  2060.     prototype: CSSStyleRule;
  2061.     new(): CSSStyleRule;
  2062. }
  2063.  
  2064. interface CSSStyleSheet extends StyleSheet {
  2065.     readonly cssRules: CSSRuleList;
  2066.     cssText: string;
  2067.     readonly id: string;
  2068.     readonly imports: StyleSheetList;
  2069.     readonly isAlternate: boolean;
  2070.     readonly isPrefAlternate: boolean;
  2071.     readonly ownerRule: CSSRule;
  2072.     readonly owningElement: Element;
  2073.     readonly pages: StyleSheetPageList;
  2074.     readonly readOnly: boolean;
  2075.     readonly rules: CSSRuleList;
  2076.     addImport(bstrURL: string, lIndex?: number): number;
  2077.     addPageRule(bstrSelector: string, bstrStyle: string, lIndex?: number): number;
  2078.     addRule(bstrSelector: string, bstrStyle?: string, lIndex?: number): number;
  2079.     deleteRule(index?: number): void;
  2080.     insertRule(rule: string, index?: number): number;
  2081.     removeImport(lIndex: number): void;
  2082.     removeRule(lIndex: number): void;
  2083. }
  2084.  
  2085. declare var CSSStyleSheet: {
  2086.     prototype: CSSStyleSheet;
  2087.     new(): CSSStyleSheet;
  2088. }
  2089.  
  2090. interface CSSSupportsRule extends CSSConditionRule {
  2091. }
  2092.  
  2093. declare var CSSSupportsRule: {
  2094.     prototype: CSSSupportsRule;
  2095.     new(): CSSSupportsRule;
  2096. }
  2097.  
  2098. interface Cache {
  2099.     add(request: RequestInfo): Promise<void>;
  2100.     addAll(requests: RequestInfo[]): Promise<void>;
  2101.     delete(request: RequestInfo, options?: CacheQueryOptions): Promise<boolean>;
  2102.     keys(request?: RequestInfo, options?: CacheQueryOptions): any;
  2103.     match(request: RequestInfo, options?: CacheQueryOptions): Promise<Response>;
  2104.     matchAll(request?: RequestInfo, options?: CacheQueryOptions): any;
  2105.     put(request: RequestInfo, response: Response): Promise<void>;
  2106. }
  2107.  
  2108. declare var Cache: {
  2109.     prototype: Cache;
  2110.     new(): Cache;
  2111. }
  2112.  
  2113. interface CacheStorage {
  2114.     delete(cacheName: string): Promise<boolean>;
  2115.     has(cacheName: string): Promise<boolean>;
  2116.     keys(): any;
  2117.     match(request: RequestInfo, options?: CacheQueryOptions): Promise<any>;
  2118.     open(cacheName: string): Promise<Cache>;
  2119. }
  2120.  
  2121. declare var CacheStorage: {
  2122.     prototype: CacheStorage;
  2123.     new(): CacheStorage;
  2124. }
  2125.  
  2126. interface CanvasGradient {
  2127.     addColorStop(offset: number, color: string): void;
  2128. }
  2129.  
  2130. declare var CanvasGradient: {
  2131.     prototype: CanvasGradient;
  2132.     new(): CanvasGradient;
  2133. }
  2134.  
  2135. interface CanvasPattern {
  2136.     setTransform(matrix: SVGMatrix): void;
  2137. }
  2138.  
  2139. declare var CanvasPattern: {
  2140.     prototype: CanvasPattern;
  2141.     new(): CanvasPattern;
  2142. }
  2143.  
  2144. interface CanvasRenderingContext2D extends Object, CanvasPathMethods {
  2145.     readonly canvas: HTMLCanvasElement;
  2146.     fillStyle: string | CanvasGradient | CanvasPattern;
  2147.     font: string;
  2148.     globalAlpha: number;
  2149.     globalCompositeOperation: string;
  2150.     imageSmoothingEnabled: boolean;
  2151.     lineCap: string;
  2152.     lineDashOffset: number;
  2153.     lineJoin: string;
  2154.     lineWidth: number;
  2155.     miterLimit: number;
  2156.     msFillRule: string;
  2157.     shadowBlur: number;
  2158.     shadowColor: string;
  2159.     shadowOffsetX: number;
  2160.     shadowOffsetY: number;
  2161.     strokeStyle: string | CanvasGradient | CanvasPattern;
  2162.     textAlign: string;
  2163.     textBaseline: string;
  2164.     mozImageSmoothingEnabled: boolean;
  2165.     webkitImageSmoothingEnabled: boolean;
  2166.     oImageSmoothingEnabled: boolean;
  2167.     beginPath(): void;
  2168.     clearRect(x: number, y: number, w: number, h: number): void;
  2169.     clip(fillRule?: string): void;
  2170.     createImageData(imageDataOrSw: number | ImageData, sh?: number): ImageData;
  2171.     createLinearGradient(x0: number, y0: number, x1: number, y1: number): CanvasGradient;
  2172.     createPattern(image: HTMLImageElement | HTMLCanvasElement | HTMLVideoElement, repetition: string): CanvasPattern;
  2173.     createRadialGradient(x0: number, y0: number, r0: number, x1: number, y1: number, r1: number): CanvasGradient;
  2174.     drawFocusIfNeeded(element: Element): void;
  2175.     drawImage(image: HTMLImageElement | HTMLCanvasElement | HTMLVideoElement, offsetX: number, offsetY: number, width?: number, height?: number, canvasOffsetX?: number, canvasOffsetY?: number, canvasImageWidth?: number, canvasImageHeight?: number): void;
  2176.     fill(fillRule?: string): void;
  2177.     fillRect(x: number, y: number, w: number, h: number): void;
  2178.     fillText(text: string, x: number, y: number, maxWidth?: number): void;
  2179.     getImageData(sx: number, sy: number, sw: number, sh: number): ImageData;
  2180.     getLineDash(): number[];
  2181.     isPointInPath(x: number, y: number, fillRule?: string): boolean;
  2182.     measureText(text: string): TextMetrics;
  2183.     putImageData(imagedata: ImageData, dx: number, dy: number, dirtyX?: number, dirtyY?: number, dirtyWidth?: number, dirtyHeight?: number): void;
  2184.     restore(): void;
  2185.     rotate(angle: number): void;
  2186.     save(): void;
  2187.     scale(x: number, y: number): void;
  2188.     setLineDash(segments: number[]): void;
  2189.     setTransform(m11: number, m12: number, m21: number, m22: number, dx: number, dy: number): void;
  2190.     stroke(path?: Path2D): void;
  2191.     strokeRect(x: number, y: number, w: number, h: number): void;
  2192.     strokeText(text: string, x: number, y: number, maxWidth?: number): void;
  2193.     transform(m11: number, m12: number, m21: number, m22: number, dx: number, dy: number): void;
  2194.     translate(x: number, y: number): void;
  2195. }
  2196.  
  2197. declare var CanvasRenderingContext2D: {
  2198.     prototype: CanvasRenderingContext2D;
  2199.     new(): CanvasRenderingContext2D;
  2200. }
  2201.  
  2202. interface ChannelMergerNode extends AudioNode {
  2203. }
  2204.  
  2205. declare var ChannelMergerNode: {
  2206.     prototype: ChannelMergerNode;
  2207.     new(): ChannelMergerNode;
  2208. }
  2209.  
  2210. interface ChannelSplitterNode extends AudioNode {
  2211. }
  2212.  
  2213. declare var ChannelSplitterNode: {
  2214.     prototype: ChannelSplitterNode;
  2215.     new(): ChannelSplitterNode;
  2216. }
  2217.  
  2218. interface CharacterData extends Node, ChildNode {
  2219.     data: string;
  2220.     readonly length: number;
  2221.     appendData(arg: string): void;
  2222.     deleteData(offset: number, count: number): void;
  2223.     insertData(offset: number, arg: string): void;
  2224.     replaceData(offset: number, count: number, arg: string): void;
  2225.     substringData(offset: number, count: number): string;
  2226. }
  2227.  
  2228. declare var CharacterData: {
  2229.     prototype: CharacterData;
  2230.     new(): CharacterData;
  2231. }
  2232.  
  2233. interface ClientRect {
  2234.     bottom: number;
  2235.     readonly height: number;
  2236.     left: number;
  2237.     right: number;
  2238.     top: number;
  2239.     readonly width: number;
  2240. }
  2241.  
  2242. declare var ClientRect: {
  2243.     prototype: ClientRect;
  2244.     new(): ClientRect;
  2245. }
  2246.  
  2247. interface ClientRectList {
  2248.     readonly length: number;
  2249.     item(index: number): ClientRect;
  2250.     [index: number]: ClientRect;
  2251. }
  2252.  
  2253. declare var ClientRectList: {
  2254.     prototype: ClientRectList;
  2255.     new(): ClientRectList;
  2256. }
  2257.  
  2258. interface ClipboardEvent extends Event {
  2259.     readonly clipboardData: DataTransfer;
  2260. }
  2261.  
  2262. declare var ClipboardEvent: {
  2263.     prototype: ClipboardEvent;
  2264.     new(type: string, eventInitDict?: ClipboardEventInit): ClipboardEvent;
  2265. }
  2266.  
  2267. interface CloseEvent extends Event {
  2268.     readonly code: number;
  2269.     readonly reason: string;
  2270.     readonly wasClean: boolean;
  2271.     initCloseEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, wasCleanArg: boolean, codeArg: number, reasonArg: string): void;
  2272. }
  2273.  
  2274. declare var CloseEvent: {
  2275.     prototype: CloseEvent;
  2276.     new(typeArg: string, eventInitDict?: CloseEventInit): CloseEvent;
  2277. }
  2278.  
  2279. interface Comment extends CharacterData {
  2280.     text: string;
  2281. }
  2282.  
  2283. declare var Comment: {
  2284.     prototype: Comment;
  2285.     new(): Comment;
  2286. }
  2287.  
  2288. interface CompositionEvent extends UIEvent {
  2289.     readonly data: string;
  2290.     readonly locale: string;
  2291.     initCompositionEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, dataArg: string, locale: string): void;
  2292. }
  2293.  
  2294. declare var CompositionEvent: {
  2295.     prototype: CompositionEvent;
  2296.     new(typeArg: string, eventInitDict?: CompositionEventInit): CompositionEvent;
  2297. }
  2298.  
  2299. interface Console {
  2300.     assert(test?: boolean, message?: string, ...optionalParams: any[]): void;
  2301.     clear(): void;
  2302.     count(countTitle?: string): void;
  2303.     debug(message?: any, ...optionalParams: any[]): void;
  2304.     dir(value?: any, ...optionalParams: any[]): void;
  2305.     dirxml(value: any): void;
  2306.     error(message?: any, ...optionalParams: any[]): void;
  2307.     exception(message?: string, ...optionalParams: any[]): void;
  2308.     group(groupTitle?: string): void;
  2309.     groupCollapsed(groupTitle?: string): void;
  2310.     groupEnd(): void;
  2311.     info(message?: any, ...optionalParams: any[]): void;
  2312.     log(message?: any, ...optionalParams: any[]): void;
  2313.     msIsIndependentlyComposed(element: Element): boolean;
  2314.     profile(reportName?: string): void;
  2315.     profileEnd(): void;
  2316.     select(element: Element): void;
  2317.     table(...data: any[]): void;
  2318.     time(timerName?: string): void;
  2319.     timeEnd(timerName?: string): void;
  2320.     trace(message?: any, ...optionalParams: any[]): void;
  2321.     warn(message?: any, ...optionalParams: any[]): void;
  2322. }
  2323.  
  2324. declare var Console: {
  2325.     prototype: Console;
  2326.     new(): Console;
  2327. }
  2328.  
  2329. interface ConvolverNode extends AudioNode {
  2330.     buffer: AudioBuffer | null;
  2331.     normalize: boolean;
  2332. }
  2333.  
  2334. declare var ConvolverNode: {
  2335.     prototype: ConvolverNode;
  2336.     new(): ConvolverNode;
  2337. }
  2338.  
  2339. interface Coordinates {
  2340.     readonly accuracy: number;
  2341.     readonly altitude: number | null;
  2342.     readonly altitudeAccuracy: number | null;
  2343.     readonly heading: number | null;
  2344.     readonly latitude: number;
  2345.     readonly longitude: number;
  2346.     readonly speed: number | null;
  2347. }
  2348.  
  2349. declare var Coordinates: {
  2350.     prototype: Coordinates;
  2351.     new(): Coordinates;
  2352. }
  2353.  
  2354. interface Crypto extends Object, RandomSource {
  2355.     readonly subtle: SubtleCrypto;
  2356. }
  2357.  
  2358. declare var Crypto: {
  2359.     prototype: Crypto;
  2360.     new(): Crypto;
  2361. }
  2362.  
  2363. interface CryptoKey {
  2364.     readonly algorithm: KeyAlgorithm;
  2365.     readonly extractable: boolean;
  2366.     readonly type: string;
  2367.     readonly usages: string[];
  2368. }
  2369.  
  2370. declare var CryptoKey: {
  2371.     prototype: CryptoKey;
  2372.     new(): CryptoKey;
  2373. }
  2374.  
  2375. interface CryptoKeyPair {
  2376.     privateKey: CryptoKey;
  2377.     publicKey: CryptoKey;
  2378. }
  2379.  
  2380. declare var CryptoKeyPair: {
  2381.     prototype: CryptoKeyPair;
  2382.     new(): CryptoKeyPair;
  2383. }
  2384.  
  2385. interface CustomEvent extends Event {
  2386.     readonly detail: any;
  2387.     initCustomEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, detailArg: any): void;
  2388. }
  2389.  
  2390. declare var CustomEvent: {
  2391.     prototype: CustomEvent;
  2392.     new(typeArg: string, eventInitDict?: CustomEventInit): CustomEvent;
  2393. }
  2394.  
  2395. interface DOMError {
  2396.     readonly name: string;
  2397.     toString(): string;
  2398. }
  2399.  
  2400. declare var DOMError: {
  2401.     prototype: DOMError;
  2402.     new(): DOMError;
  2403. }
  2404.  
  2405. interface DOMException {
  2406.     readonly code: number;
  2407.     readonly message: string;
  2408.     readonly name: string;
  2409.     toString(): string;
  2410.     readonly ABORT_ERR: number;
  2411.     readonly DATA_CLONE_ERR: number;
  2412.     readonly DOMSTRING_SIZE_ERR: number;
  2413.     readonly HIERARCHY_REQUEST_ERR: number;
  2414.     readonly INDEX_SIZE_ERR: number;
  2415.     readonly INUSE_ATTRIBUTE_ERR: number;
  2416.     readonly INVALID_ACCESS_ERR: number;
  2417.     readonly INVALID_CHARACTER_ERR: number;
  2418.     readonly INVALID_MODIFICATION_ERR: number;
  2419.     readonly INVALID_NODE_TYPE_ERR: number;
  2420.     readonly INVALID_STATE_ERR: number;
  2421.     readonly NAMESPACE_ERR: number;
  2422.     readonly NETWORK_ERR: n