@stencil/core 2.17.2 → 2.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/cli/index.cjs +32 -16
  2. package/cli/index.js +32 -16
  3. package/cli/package.json +1 -1
  4. package/compiler/lib.dom.d.ts +620 -89
  5. package/compiler/lib.dom.iterable.d.ts +27 -3
  6. package/compiler/lib.es2015.core.d.ts +3 -3
  7. package/compiler/lib.es2015.iterable.d.ts +2 -1
  8. package/compiler/lib.es2015.reflect.d.ts +1 -1
  9. package/compiler/lib.es2020.bigint.d.ts +7 -5
  10. package/compiler/lib.es2020.d.ts +2 -0
  11. package/compiler/lib.es2020.date.d.ts +44 -0
  12. package/compiler/lib.es2020.intl.d.ts +51 -11
  13. package/compiler/lib.es2020.number.d.ts +30 -0
  14. package/compiler/lib.es2021.intl.d.ts +106 -4
  15. package/compiler/lib.es2022.array.d.ts +123 -0
  16. package/compiler/lib.es2022.d.ts +26 -0
  17. package/compiler/lib.es2022.error.d.ts +75 -0
  18. package/compiler/lib.es2022.full.d.ts +25 -0
  19. package/compiler/lib.es2022.intl.d.ts +111 -0
  20. package/compiler/lib.es2022.object.d.ts +28 -0
  21. package/compiler/lib.es2022.string.d.ts +27 -0
  22. package/compiler/lib.es5.d.ts +25 -19
  23. package/compiler/lib.esnext.d.ts +1 -1
  24. package/compiler/lib.esnext.intl.d.ts +4 -1
  25. package/compiler/lib.webworker.d.ts +236 -40
  26. package/compiler/lib.webworker.iterable.d.ts +10 -3
  27. package/compiler/package.json +1 -1
  28. package/compiler/stencil.js +689 -232
  29. package/compiler/stencil.min.js +2 -2
  30. package/compiler/sys/in-memory-fs.d.ts +218 -0
  31. package/dependencies.json +10 -1
  32. package/dev-server/client/index.js +1 -1
  33. package/dev-server/client/package.json +1 -1
  34. package/dev-server/connector.html +2 -2
  35. package/dev-server/index.js +1 -1
  36. package/dev-server/package.json +1 -1
  37. package/dev-server/server-process.js +13 -13
  38. package/internal/app-data/package.json +1 -1
  39. package/internal/client/css-shim.js +1 -1
  40. package/internal/client/dom.js +1 -1
  41. package/internal/client/index.js +337 -157
  42. package/internal/client/package.json +1 -1
  43. package/internal/client/patch-browser.js +1 -1
  44. package/internal/client/patch-esm.js +1 -1
  45. package/internal/client/shadow-css.js +1 -1
  46. package/internal/hydrate/package.json +1 -1
  47. package/internal/hydrate/runner.d.ts +1 -1
  48. package/internal/package.json +1 -1
  49. package/internal/stencil-private.d.ts +2 -106
  50. package/internal/stencil-public-compiler.d.ts +42 -8
  51. package/internal/testing/package.json +1 -1
  52. package/mock-doc/index.cjs +77 -61
  53. package/mock-doc/index.d.ts +13 -12
  54. package/mock-doc/index.js +77 -61
  55. package/mock-doc/package.json +1 -1
  56. package/package.json +5 -7
  57. package/screenshot/index.js +10 -10
  58. package/screenshot/package.json +1 -1
  59. package/sys/node/index.js +1 -1
  60. package/sys/node/package.json +1 -1
  61. package/sys/node/worker.js +1 -1
  62. package/testing/index.js +96 -106
  63. package/testing/jest/jest-config.d.ts +1 -1
  64. package/testing/package.json +1 -1
  65. package/testing/testing-utils.d.ts +5 -4
@@ -227,7 +227,7 @@ interface ComputedEffectTiming extends EffectTiming {
227
227
  currentIteration?: number | null;
228
228
  endTime?: CSSNumberish;
229
229
  localTime?: CSSNumberish | null;
230
- progress?: CSSNumberish | null;
230
+ progress?: number | null;
231
231
  startTime?: CSSNumberish;
232
232
  }
233
233
 
@@ -284,8 +284,8 @@ interface CredentialRequestOptions {
284
284
  }
285
285
 
286
286
  interface CryptoKeyPair {
287
- privateKey?: CryptoKey;
288
- publicKey?: CryptoKey;
287
+ privateKey: CryptoKey;
288
+ publicKey: CryptoKey;
289
289
  }
290
290
 
291
291
  interface CustomEventInit<T = any> extends EventInit {
@@ -487,6 +487,18 @@ interface FileSystemFlags {
487
487
  exclusive?: boolean;
488
488
  }
489
489
 
490
+ interface FileSystemGetDirectoryOptions {
491
+ create?: boolean;
492
+ }
493
+
494
+ interface FileSystemGetFileOptions {
495
+ create?: boolean;
496
+ }
497
+
498
+ interface FileSystemRemoveOptions {
499
+ recursive?: boolean;
500
+ }
501
+
490
502
  interface FocusEventInit extends UIEventInit {
491
503
  relatedTarget?: EventTarget | null;
492
504
  }
@@ -691,6 +703,37 @@ interface KeyframeEffectOptions extends EffectTiming {
691
703
  pseudoElement?: string | null;
692
704
  }
693
705
 
706
+ interface LockInfo {
707
+ clientId?: string;
708
+ mode?: LockMode;
709
+ name?: string;
710
+ }
711
+
712
+ interface LockManagerSnapshot {
713
+ held?: LockInfo[];
714
+ pending?: LockInfo[];
715
+ }
716
+
717
+ interface LockOptions {
718
+ ifAvailable?: boolean;
719
+ mode?: LockMode;
720
+ signal?: AbortSignal;
721
+ steal?: boolean;
722
+ }
723
+
724
+ interface MIDIConnectionEventInit extends EventInit {
725
+ port?: MIDIPort;
726
+ }
727
+
728
+ interface MIDIMessageEventInit extends EventInit {
729
+ data?: Uint8Array;
730
+ }
731
+
732
+ interface MIDIOptions {
733
+ software?: boolean;
734
+ sysex?: boolean;
735
+ }
736
+
694
737
  interface MediaCapabilitiesDecodingInfo extends MediaCapabilitiesInfo {
695
738
  configuration?: MediaDecodingConfiguration;
696
739
  }
@@ -921,6 +964,11 @@ interface MutationObserverInit {
921
964
  subtree?: boolean;
922
965
  }
923
966
 
967
+ interface NavigationPreloadState {
968
+ enabled?: boolean;
969
+ headerValue?: string;
970
+ }
971
+
924
972
  interface NotificationAction {
925
973
  action: string;
926
974
  icon?: string;
@@ -940,7 +988,7 @@ interface NotificationOptions {
940
988
  requireInteraction?: boolean;
941
989
  silent?: boolean;
942
990
  tag?: string;
943
- timestamp?: DOMTimeStamp;
991
+ timestamp?: EpochTimeStamp;
944
992
  vibrate?: VibratePattern;
945
993
  }
946
994
 
@@ -1172,7 +1220,7 @@ interface PublicKeyCredentialUserEntity extends PublicKeyCredentialEntity {
1172
1220
 
1173
1221
  interface PushSubscriptionJSON {
1174
1222
  endpoint?: string;
1175
- expirationTime?: DOMTimeStamp | null;
1223
+ expirationTime?: EpochTimeStamp | null;
1176
1224
  keys?: Record<string, string>;
1177
1225
  }
1178
1226
 
@@ -1199,7 +1247,7 @@ interface RTCAnswerOptions extends RTCOfferAnswerOptions {
1199
1247
  }
1200
1248
 
1201
1249
  interface RTCCertificateExpiration {
1202
- expires?: DOMTimeStamp;
1250
+ expires?: number;
1203
1251
  }
1204
1252
 
1205
1253
  interface RTCConfiguration {
@@ -1233,6 +1281,35 @@ interface RTCDtlsFingerprint {
1233
1281
  value?: string;
1234
1282
  }
1235
1283
 
1284
+ interface RTCEncodedAudioFrameMetadata {
1285
+ contributingSources?: number[];
1286
+ synchronizationSource?: number;
1287
+ }
1288
+
1289
+ interface RTCEncodedVideoFrameMetadata {
1290
+ contributingSources?: number[];
1291
+ dependencies?: number[];
1292
+ frameId?: number;
1293
+ height?: number;
1294
+ spatialIndex?: number;
1295
+ synchronizationSource?: number;
1296
+ temporalIndex?: number;
1297
+ width?: number;
1298
+ }
1299
+
1300
+ interface RTCErrorEventInit extends EventInit {
1301
+ error: RTCError;
1302
+ }
1303
+
1304
+ interface RTCErrorInit {
1305
+ errorDetail: RTCErrorDetailType;
1306
+ httpRequestStatusCode?: number;
1307
+ receivedAlert?: number;
1308
+ sctpCauseCode?: number;
1309
+ sdpLineNumber?: number;
1310
+ sentAlert?: number;
1311
+ }
1312
+
1236
1313
  interface RTCIceCandidateInit {
1237
1314
  candidate?: string;
1238
1315
  sdpMLineIndex?: number | null;
@@ -1648,7 +1725,7 @@ interface StreamPipeOptions {
1648
1725
  }
1649
1726
 
1650
1727
  interface StructuredSerializeOptions {
1651
- transfer?: any[];
1728
+ transfer?: Transferable[];
1652
1729
  }
1653
1730
 
1654
1731
  interface SubmitEventInit extends EventInit {
@@ -1738,6 +1815,13 @@ interface UnderlyingSource<R = any> {
1738
1815
  type?: undefined;
1739
1816
  }
1740
1817
 
1818
+ interface VideoColorSpaceInit {
1819
+ fullRange?: boolean;
1820
+ matrix?: VideoMatrixCoefficients;
1821
+ primaries?: VideoColorPrimaries;
1822
+ transfer?: VideoTransferCharacteristics;
1823
+ }
1824
+
1741
1825
  interface VideoConfiguration {
1742
1826
  bitrate: number;
1743
1827
  colorGamut?: ColorGamut;
@@ -1750,6 +1834,19 @@ interface VideoConfiguration {
1750
1834
  width: number;
1751
1835
  }
1752
1836
 
1837
+ interface VideoFrameMetadata {
1838
+ captureTime?: DOMHighResTimeStamp;
1839
+ expectedDisplayTime: DOMHighResTimeStamp;
1840
+ height: number;
1841
+ mediaTime: number;
1842
+ presentationTime: DOMHighResTimeStamp;
1843
+ presentedFrames: number;
1844
+ processingDuration?: number;
1845
+ receiveTime?: DOMHighResTimeStamp;
1846
+ rtpTimestamp?: number;
1847
+ width: number;
1848
+ }
1849
+
1753
1850
  interface WaveShaperOptions extends AudioNodeOptions {
1754
1851
  curve?: number[] | Float32Array;
1755
1852
  oversample?: OverSampleType;
@@ -1824,42 +1921,42 @@ interface ANGLE_instanced_arrays {
1824
1921
  }
1825
1922
 
1826
1923
  interface ARIAMixin {
1827
- ariaAtomic: string;
1828
- ariaAutoComplete: string;
1829
- ariaBusy: string;
1830
- ariaChecked: string;
1831
- ariaColCount: string;
1832
- ariaColIndex: string;
1833
- ariaColSpan: string;
1834
- ariaCurrent: string;
1835
- ariaDisabled: string;
1836
- ariaExpanded: string;
1837
- ariaHasPopup: string;
1838
- ariaHidden: string;
1839
- ariaKeyShortcuts: string;
1840
- ariaLabel: string;
1841
- ariaLevel: string;
1842
- ariaLive: string;
1843
- ariaModal: string;
1844
- ariaMultiLine: string;
1845
- ariaMultiSelectable: string;
1846
- ariaOrientation: string;
1847
- ariaPlaceholder: string;
1848
- ariaPosInSet: string;
1849
- ariaPressed: string;
1850
- ariaReadOnly: string;
1851
- ariaRequired: string;
1852
- ariaRoleDescription: string;
1853
- ariaRowCount: string;
1854
- ariaRowIndex: string;
1855
- ariaRowSpan: string;
1856
- ariaSelected: string;
1857
- ariaSetSize: string;
1858
- ariaSort: string;
1859
- ariaValueMax: string;
1860
- ariaValueMin: string;
1861
- ariaValueNow: string;
1862
- ariaValueText: string;
1924
+ ariaAtomic: string | null;
1925
+ ariaAutoComplete: string | null;
1926
+ ariaBusy: string | null;
1927
+ ariaChecked: string | null;
1928
+ ariaColCount: string | null;
1929
+ ariaColIndex: string | null;
1930
+ ariaColSpan: string | null;
1931
+ ariaCurrent: string | null;
1932
+ ariaDisabled: string | null;
1933
+ ariaExpanded: string | null;
1934
+ ariaHasPopup: string | null;
1935
+ ariaHidden: string | null;
1936
+ ariaKeyShortcuts: string | null;
1937
+ ariaLabel: string | null;
1938
+ ariaLevel: string | null;
1939
+ ariaLive: string | null;
1940
+ ariaModal: string | null;
1941
+ ariaMultiLine: string | null;
1942
+ ariaMultiSelectable: string | null;
1943
+ ariaOrientation: string | null;
1944
+ ariaPlaceholder: string | null;
1945
+ ariaPosInSet: string | null;
1946
+ ariaPressed: string | null;
1947
+ ariaReadOnly: string | null;
1948
+ ariaRequired: string | null;
1949
+ ariaRoleDescription: string | null;
1950
+ ariaRowCount: string | null;
1951
+ ariaRowIndex: string | null;
1952
+ ariaRowSpan: string | null;
1953
+ ariaSelected: string | null;
1954
+ ariaSetSize: string | null;
1955
+ ariaSort: string | null;
1956
+ ariaValueMax: string | null;
1957
+ ariaValueMin: string | null;
1958
+ ariaValueNow: string | null;
1959
+ ariaValueText: string | null;
1863
1960
  }
1864
1961
 
1865
1962
  /** A controller object that allows you to abort one or more DOM requests as and when desired. */
@@ -1867,7 +1964,7 @@ interface AbortController {
1867
1964
  /** Returns the AbortSignal object associated with this object. */
1868
1965
  readonly signal: AbortSignal;
1869
1966
  /** Invoking this method will set this object's AbortSignal's aborted flag and signal to any observers that the associated activity is to be aborted. */
1870
- abort(): void;
1967
+ abort(reason?: any): void;
1871
1968
  }
1872
1969
 
1873
1970
  declare var AbortController: {
@@ -1884,6 +1981,8 @@ interface AbortSignal extends EventTarget {
1884
1981
  /** Returns true if this AbortSignal's AbortController has signaled to abort, and false otherwise. */
1885
1982
  readonly aborted: boolean;
1886
1983
  onabort: ((this: AbortSignal, ev: Event) => any) | null;
1984
+ readonly reason: any;
1985
+ throwIfAborted(): void;
1887
1986
  addEventListener<K extends keyof AbortSignalEventMap>(type: K, listener: (this: AbortSignal, ev: AbortSignalEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1888
1987
  addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1889
1988
  removeEventListener<K extends keyof AbortSignalEventMap>(type: K, listener: (this: AbortSignal, ev: AbortSignalEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
@@ -2379,7 +2478,7 @@ interface Blob {
2379
2478
  readonly type: string;
2380
2479
  arrayBuffer(): Promise<ArrayBuffer>;
2381
2480
  slice(start?: number, end?: number, contentType?: string): Blob;
2382
- stream(): ReadableStream;
2481
+ stream(): ReadableStream<Uint8Array>;
2383
2482
  text(): Promise<string>;
2384
2483
  }
2385
2484
 
@@ -2754,6 +2853,7 @@ interface CSSStyleDeclaration {
2754
2853
  columns: string;
2755
2854
  contain: string;
2756
2855
  content: string;
2856
+ contentVisibility: string;
2757
2857
  counterIncrement: string;
2758
2858
  counterReset: string;
2759
2859
  counterSet: string;
@@ -2789,7 +2889,6 @@ interface CSSStyleDeclaration {
2789
2889
  fontStyle: string;
2790
2890
  fontSynthesis: string;
2791
2891
  fontVariant: string;
2792
- /** @deprecated */
2793
2892
  fontVariantAlternates: string;
2794
2893
  fontVariantCaps: string;
2795
2894
  fontVariantEastAsian: string;
@@ -2863,6 +2962,14 @@ interface CSSStyleDeclaration {
2863
2962
  markerMid: string;
2864
2963
  markerStart: string;
2865
2964
  mask: string;
2965
+ maskClip: string;
2966
+ maskComposite: string;
2967
+ maskImage: string;
2968
+ maskMode: string;
2969
+ maskOrigin: string;
2970
+ maskPosition: string;
2971
+ maskRepeat: string;
2972
+ maskSize: string;
2866
2973
  maskType: string;
2867
2974
  maxBlockSize: string;
2868
2975
  maxHeight: string;
@@ -2876,7 +2983,6 @@ interface CSSStyleDeclaration {
2876
2983
  objectFit: string;
2877
2984
  objectPosition: string;
2878
2985
  offset: string;
2879
- offsetAnchor: string;
2880
2986
  offsetDistance: string;
2881
2987
  offsetPath: string;
2882
2988
  offsetRotate: string;
@@ -2921,6 +3027,7 @@ interface CSSStyleDeclaration {
2921
3027
  placeSelf: string;
2922
3028
  pointerEvents: string;
2923
3029
  position: string;
3030
+ printColorAdjust: string;
2924
3031
  quotes: string;
2925
3032
  resize: string;
2926
3033
  right: string;
@@ -2954,6 +3061,7 @@ interface CSSStyleDeclaration {
2954
3061
  scrollSnapAlign: string;
2955
3062
  scrollSnapStop: string;
2956
3063
  scrollSnapType: string;
3064
+ scrollbarGutter: string;
2957
3065
  shapeImageThreshold: string;
2958
3066
  shapeMargin: string;
2959
3067
  shapeOutside: string;
@@ -3220,13 +3328,13 @@ declare var CSSTransition: {
3220
3328
  * Available only in secure contexts.
3221
3329
  */
3222
3330
  interface Cache {
3223
- add(request: RequestInfo): Promise<void>;
3331
+ add(request: RequestInfo | URL): Promise<void>;
3224
3332
  addAll(requests: RequestInfo[]): Promise<void>;
3225
- delete(request: RequestInfo, options?: CacheQueryOptions): Promise<boolean>;
3226
- keys(request?: RequestInfo, options?: CacheQueryOptions): Promise<ReadonlyArray<Request>>;
3227
- match(request: RequestInfo, options?: CacheQueryOptions): Promise<Response | undefined>;
3228
- matchAll(request?: RequestInfo, options?: CacheQueryOptions): Promise<ReadonlyArray<Response>>;
3229
- put(request: RequestInfo, response: Response): Promise<void>;
3333
+ delete(request: RequestInfo | URL, options?: CacheQueryOptions): Promise<boolean>;
3334
+ keys(request?: RequestInfo | URL, options?: CacheQueryOptions): Promise<ReadonlyArray<Request>>;
3335
+ match(request: RequestInfo | URL, options?: CacheQueryOptions): Promise<Response | undefined>;
3336
+ matchAll(request?: RequestInfo | URL, options?: CacheQueryOptions): Promise<ReadonlyArray<Response>>;
3337
+ put(request: RequestInfo | URL, response: Response): Promise<void>;
3230
3338
  }
3231
3339
 
3232
3340
  declare var Cache: {
@@ -3242,7 +3350,7 @@ interface CacheStorage {
3242
3350
  delete(cacheName: string): Promise<boolean>;
3243
3351
  has(cacheName: string): Promise<boolean>;
3244
3352
  keys(): Promise<string[]>;
3245
- match(request: RequestInfo, options?: MultiCacheQueryOptions): Promise<Response | undefined>;
3353
+ match(request: RequestInfo | URL, options?: MultiCacheQueryOptions): Promise<Response | undefined>;
3246
3354
  open(cacheName: string): Promise<Cache>;
3247
3355
  }
3248
3356
 
@@ -3251,9 +3359,23 @@ declare var CacheStorage: {
3251
3359
  new(): CacheStorage;
3252
3360
  };
3253
3361
 
3362
+ interface CanvasCaptureMediaStreamTrack extends MediaStreamTrack {
3363
+ readonly canvas: HTMLCanvasElement;
3364
+ requestFrame(): void;
3365
+ addEventListener<K extends keyof MediaStreamTrackEventMap>(type: K, listener: (this: CanvasCaptureMediaStreamTrack, ev: MediaStreamTrackEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
3366
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
3367
+ removeEventListener<K extends keyof MediaStreamTrackEventMap>(type: K, listener: (this: CanvasCaptureMediaStreamTrack, ev: MediaStreamTrackEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
3368
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
3369
+ }
3370
+
3371
+ declare var CanvasCaptureMediaStreamTrack: {
3372
+ prototype: CanvasCaptureMediaStreamTrack;
3373
+ new(): CanvasCaptureMediaStreamTrack;
3374
+ };
3375
+
3254
3376
  interface CanvasCompositing {
3255
3377
  globalAlpha: number;
3256
- globalCompositeOperation: string;
3378
+ globalCompositeOperation: GlobalCompositeOperation;
3257
3379
  }
3258
3380
 
3259
3381
  interface CanvasDrawImage {
@@ -3279,6 +3401,7 @@ interface CanvasDrawPath {
3279
3401
  interface CanvasFillStrokeStyles {
3280
3402
  fillStyle: string | CanvasGradient | CanvasPattern;
3281
3403
  strokeStyle: string | CanvasGradient | CanvasPattern;
3404
+ createConicGradient(startAngle: number, x: number, y: number): CanvasGradient;
3282
3405
  createLinearGradient(x0: number, y0: number, x1: number, y1: number): CanvasGradient;
3283
3406
  createPattern(image: CanvasImageSource, repetition: string | null): CanvasPattern | null;
3284
3407
  createRadialGradient(x0: number, y0: number, r0: number, x1: number, y1: number, r1: number): CanvasGradient;
@@ -3492,6 +3615,7 @@ declare var ClipboardEvent: {
3492
3615
  new(type: string, eventInitDict?: ClipboardEventInit): ClipboardEvent;
3493
3616
  };
3494
3617
 
3618
+ /** Available only in secure contexts. */
3495
3619
  interface ClipboardItem {
3496
3620
  readonly types: ReadonlyArray<string>;
3497
3621
  getType(type: string): Promise<Blob>;
@@ -3499,7 +3623,7 @@ interface ClipboardItem {
3499
3623
 
3500
3624
  declare var ClipboardItem: {
3501
3625
  prototype: ClipboardItem;
3502
- new(items: Record<string, ClipboardItemDataType | PromiseLike<ClipboardItemDataType>>, options?: ClipboardItemOptions): ClipboardItem;
3626
+ new(items: Record<string, string | Blob | PromiseLike<string | Blob>>, options?: ClipboardItemOptions): ClipboardItem;
3503
3627
  };
3504
3628
 
3505
3629
  /** A CloseEvent is sent to clients using WebSockets when the connection is closed. This is delivered to the listener indicated by the WebSocket object's onclose attribute. */
@@ -3602,6 +3726,8 @@ interface Crypto {
3602
3726
  /** Available only in secure contexts. */
3603
3727
  readonly subtle: SubtleCrypto;
3604
3728
  getRandomValues<T extends ArrayBufferView | null>(array: T): T;
3729
+ /** Available only in secure contexts. */
3730
+ randomUUID(): string;
3605
3731
  }
3606
3732
 
3607
3733
  declare var Crypto: {
@@ -4167,6 +4293,7 @@ declare var DeviceOrientationEvent: {
4167
4293
  };
4168
4294
 
4169
4295
  interface DocumentEventMap extends DocumentAndElementEventHandlersEventMap, GlobalEventHandlersEventMap {
4296
+ "DOMContentLoaded": Event;
4170
4297
  "fullscreenchange": Event;
4171
4298
  "fullscreenerror": Event;
4172
4299
  "pointerlockchange": Event;
@@ -4308,7 +4435,7 @@ interface Document extends Node, DocumentAndElementEventHandlers, DocumentOrShad
4308
4435
  readonly timeline: DocumentTimeline;
4309
4436
  /** Contains the title of the document. */
4310
4437
  title: string;
4311
- readonly visibilityState: VisibilityState;
4438
+ readonly visibilityState: DocumentVisibilityState;
4312
4439
  /**
4313
4440
  * Sets or gets the color of the links that the user has visited.
4314
4441
  * @deprecated
@@ -4384,6 +4511,8 @@ interface Document extends Node, DocumentAndElementEventHandlers, DocumentOrShad
4384
4511
  createEvent(eventInterface: "DeviceOrientationEvent"): DeviceOrientationEvent;
4385
4512
  createEvent(eventInterface: "DragEvent"): DragEvent;
4386
4513
  createEvent(eventInterface: "ErrorEvent"): ErrorEvent;
4514
+ createEvent(eventInterface: "Event"): Event;
4515
+ createEvent(eventInterface: "Events"): Event;
4387
4516
  createEvent(eventInterface: "FocusEvent"): FocusEvent;
4388
4517
  createEvent(eventInterface: "FontFaceSetLoadEvent"): FontFaceSetLoadEvent;
4389
4518
  createEvent(eventInterface: "FormDataEvent"): FormDataEvent;
@@ -4392,6 +4521,8 @@ interface Document extends Node, DocumentAndElementEventHandlers, DocumentOrShad
4392
4521
  createEvent(eventInterface: "IDBVersionChangeEvent"): IDBVersionChangeEvent;
4393
4522
  createEvent(eventInterface: "InputEvent"): InputEvent;
4394
4523
  createEvent(eventInterface: "KeyboardEvent"): KeyboardEvent;
4524
+ createEvent(eventInterface: "MIDIConnectionEvent"): MIDIConnectionEvent;
4525
+ createEvent(eventInterface: "MIDIMessageEvent"): MIDIMessageEvent;
4395
4526
  createEvent(eventInterface: "MediaEncryptedEvent"): MediaEncryptedEvent;
4396
4527
  createEvent(eventInterface: "MediaKeyMessageEvent"): MediaKeyMessageEvent;
4397
4528
  createEvent(eventInterface: "MediaQueryListEvent"): MediaQueryListEvent;
@@ -4412,6 +4543,7 @@ interface Document extends Node, DocumentAndElementEventHandlers, DocumentOrShad
4412
4543
  createEvent(eventInterface: "PromiseRejectionEvent"): PromiseRejectionEvent;
4413
4544
  createEvent(eventInterface: "RTCDTMFToneChangeEvent"): RTCDTMFToneChangeEvent;
4414
4545
  createEvent(eventInterface: "RTCDataChannelEvent"): RTCDataChannelEvent;
4546
+ createEvent(eventInterface: "RTCErrorEvent"): RTCErrorEvent;
4415
4547
  createEvent(eventInterface: "RTCPeerConnectionIceErrorEvent"): RTCPeerConnectionIceErrorEvent;
4416
4548
  createEvent(eventInterface: "RTCPeerConnectionIceEvent"): RTCPeerConnectionIceEvent;
4417
4549
  createEvent(eventInterface: "RTCTrackEvent"): RTCTrackEvent;
@@ -4843,8 +4975,20 @@ interface ElementContentEditable {
4843
4975
  }
4844
4976
 
4845
4977
  interface ElementInternals extends ARIAMixin {
4978
+ /** Returns the form owner of internals's target element. */
4979
+ readonly form: HTMLFormElement | null;
4980
+ /** Returns a NodeList of all the label elements that internals's target element is associated with. */
4981
+ readonly labels: NodeList;
4846
4982
  /** Returns the ShadowRoot for internals's target element, if the target element is a shadow host, or null otherwise. */
4847
4983
  readonly shadowRoot: ShadowRoot | null;
4984
+ /** Returns true if internals's target element will be validated when the form is submitted; false otherwise. */
4985
+ readonly willValidate: boolean;
4986
+ /**
4987
+ * Sets both the state and submission value of internals's target element to value.
4988
+ *
4989
+ * If value is null, the element won't participate in form submission.
4990
+ */
4991
+ setFormValue(value: File | string | FormData | null, state?: File | string | FormData | null): void;
4848
4992
  }
4849
4993
 
4850
4994
  declare var ElementInternals: {
@@ -4918,6 +5062,15 @@ declare var Event: {
4918
5062
  readonly NONE: number;
4919
5063
  };
4920
5064
 
5065
+ interface EventCounts {
5066
+ forEach(callbackfn: (value: number, key: string, parent: EventCounts) => void, thisArg?: any): void;
5067
+ }
5068
+
5069
+ declare var EventCounts: {
5070
+ prototype: EventCounts;
5071
+ new(): EventCounts;
5072
+ };
5073
+
4921
5074
  interface EventListener {
4922
5075
  (evt: Event): void;
4923
5076
  }
@@ -4948,8 +5101,10 @@ interface EventSource extends EventTarget {
4948
5101
  readonly CONNECTING: number;
4949
5102
  readonly OPEN: number;
4950
5103
  addEventListener<K extends keyof EventSourceEventMap>(type: K, listener: (this: EventSource, ev: EventSourceEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
5104
+ addEventListener(type: string, listener: (this: EventSource, event: MessageEvent) => any, options?: boolean | AddEventListenerOptions): void;
4951
5105
  addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
4952
5106
  removeEventListener<K extends keyof EventSourceEventMap>(type: K, listener: (this: EventSource, ev: EventSourceEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
5107
+ removeEventListener(type: string, listener: (this: EventSource, event: MessageEvent) => any, options?: boolean | EventListenerOptions): void;
4953
5108
  removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
4954
5109
  }
4955
5110
 
@@ -5091,6 +5246,20 @@ declare var FileSystemDirectoryEntry: {
5091
5246
  new(): FileSystemDirectoryEntry;
5092
5247
  };
5093
5248
 
5249
+ /** Available only in secure contexts. */
5250
+ interface FileSystemDirectoryHandle extends FileSystemHandle {
5251
+ readonly kind: "directory";
5252
+ getDirectoryHandle(name: string, options?: FileSystemGetDirectoryOptions): Promise<FileSystemDirectoryHandle>;
5253
+ getFileHandle(name: string, options?: FileSystemGetFileOptions): Promise<FileSystemFileHandle>;
5254
+ removeEntry(name: string, options?: FileSystemRemoveOptions): Promise<void>;
5255
+ resolve(possibleDescendant: FileSystemHandle): Promise<string[] | null>;
5256
+ }
5257
+
5258
+ declare var FileSystemDirectoryHandle: {
5259
+ prototype: FileSystemDirectoryHandle;
5260
+ new(): FileSystemDirectoryHandle;
5261
+ };
5262
+
5094
5263
  interface FileSystemDirectoryReader {
5095
5264
  readEntries(successCallback: FileSystemEntriesCallback, errorCallback?: ErrorCallback): void;
5096
5265
  }
@@ -5123,6 +5292,29 @@ declare var FileSystemFileEntry: {
5123
5292
  new(): FileSystemFileEntry;
5124
5293
  };
5125
5294
 
5295
+ /** Available only in secure contexts. */
5296
+ interface FileSystemFileHandle extends FileSystemHandle {
5297
+ readonly kind: "file";
5298
+ getFile(): Promise<File>;
5299
+ }
5300
+
5301
+ declare var FileSystemFileHandle: {
5302
+ prototype: FileSystemFileHandle;
5303
+ new(): FileSystemFileHandle;
5304
+ };
5305
+
5306
+ /** Available only in secure contexts. */
5307
+ interface FileSystemHandle {
5308
+ readonly kind: FileSystemHandleKind;
5309
+ readonly name: string;
5310
+ isSameEntry(other: FileSystemHandle): Promise<boolean>;
5311
+ }
5312
+
5313
+ declare var FileSystemHandle: {
5314
+ prototype: FileSystemHandle;
5315
+ new(): FileSystemHandle;
5316
+ };
5317
+
5126
5318
  /** Focus-related events like focus, blur, focusin, or focusout. */
5127
5319
  interface FocusEvent extends UIEvent {
5128
5320
  readonly relatedTarget: EventTarget | null;
@@ -5325,7 +5517,7 @@ declare var GeolocationCoordinates: {
5325
5517
  /** Available only in secure contexts. */
5326
5518
  interface GeolocationPosition {
5327
5519
  readonly coords: GeolocationCoordinates;
5328
- readonly timestamp: DOMTimeStamp;
5520
+ readonly timestamp: EpochTimeStamp;
5329
5521
  }
5330
5522
 
5331
5523
  declare var GeolocationPosition: {
@@ -5424,6 +5616,7 @@ interface GlobalEventHandlersEventMap {
5424
5616
  "select": Event;
5425
5617
  "selectionchange": Event;
5426
5618
  "selectstart": Event;
5619
+ "slotchange": Event;
5427
5620
  "stalled": Event;
5428
5621
  "submit": SubmitEvent;
5429
5622
  "suspend": Event;
@@ -5658,6 +5851,7 @@ interface GlobalEventHandlers {
5658
5851
  * @param ev The event.
5659
5852
  */
5660
5853
  onscroll: ((this: GlobalEventHandlers, ev: Event) => any) | null;
5854
+ onsecuritypolicyviolation: ((this: GlobalEventHandlers, ev: SecurityPolicyViolationEvent) => any) | null;
5661
5855
  /**
5662
5856
  * Occurs when the seek operation ends.
5663
5857
  * @param ev The event.
@@ -5675,6 +5869,7 @@ interface GlobalEventHandlers {
5675
5869
  onselect: ((this: GlobalEventHandlers, ev: Event) => any) | null;
5676
5870
  onselectionchange: ((this: GlobalEventHandlers, ev: Event) => any) | null;
5677
5871
  onselectstart: ((this: GlobalEventHandlers, ev: Event) => any) | null;
5872
+ onslotchange: ((this: GlobalEventHandlers, ev: Event) => any) | null;
5678
5873
  /**
5679
5874
  * Occurs when the download has stopped.
5680
5875
  * @param ev The event.
@@ -6069,14 +6264,29 @@ declare var HTMLDetailsElement: {
6069
6264
  new(): HTMLDetailsElement;
6070
6265
  };
6071
6266
 
6072
- /** @deprecated this is not available in most browsers */
6073
6267
  interface HTMLDialogElement extends HTMLElement {
6268
+ open: boolean;
6269
+ returnValue: string;
6270
+ /**
6271
+ * Closes the dialog element.
6272
+ *
6273
+ * The argument, if provided, provides a return value.
6274
+ */
6275
+ close(returnValue?: string): void;
6276
+ /** Displays the dialog element. */
6277
+ show(): void;
6278
+ showModal(): void;
6074
6279
  addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLDialogElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
6075
6280
  addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
6076
6281
  removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLDialogElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
6077
6282
  removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
6078
6283
  }
6079
6284
 
6285
+ declare var HTMLDialogElement: {
6286
+ prototype: HTMLDialogElement;
6287
+ new(): HTMLDialogElement;
6288
+ };
6289
+
6080
6290
  /** @deprecated */
6081
6291
  interface HTMLDirectoryElement extends HTMLElement {
6082
6292
  /** @deprecated */
@@ -6640,7 +6850,8 @@ interface HTMLImageElement extends HTMLElement {
6640
6850
  hspace: number;
6641
6851
  /** Sets or retrieves whether the image is a server-side image map. */
6642
6852
  isMap: boolean;
6643
- loading: string;
6853
+ /** Sets or retrieves the policy for loading image elements that are outside the viewport. */
6854
+ loading: "eager" | "lazy";
6644
6855
  /**
6645
6856
  * Sets or retrieves a Uniform Resource Identifier (URI) to a long description of the object.
6646
6857
  * @deprecated
@@ -7098,6 +7309,7 @@ interface HTMLMetaElement extends HTMLElement {
7098
7309
  content: string;
7099
7310
  /** Gets or sets information used to bind the value of a content attribute of a meta element to an HTTP response header. */
7100
7311
  httpEquiv: string;
7312
+ media: string;
7101
7313
  /** Sets or retrieves the value specified in the content attribute of the meta object. */
7102
7314
  name: string;
7103
7315
  /**
@@ -7522,6 +7734,7 @@ interface HTMLScriptElement extends HTMLElement {
7522
7734
  declare var HTMLScriptElement: {
7523
7735
  prototype: HTMLScriptElement;
7524
7736
  new(): HTMLScriptElement;
7737
+ supports(type: string): boolean;
7525
7738
  };
7526
7739
 
7527
7740
  /** A <select> HTML Element. These elements also share all of the properties and methods of other HTML elements via the HTMLElement interface. */
@@ -7617,6 +7830,7 @@ declare var HTMLSlotElement: {
7617
7830
 
7618
7831
  /** Provides special properties (beyond the regular HTMLElement object interface it also has available to it by inheritance) for manipulating <source> elements. */
7619
7832
  interface HTMLSourceElement extends HTMLElement {
7833
+ height: number;
7620
7834
  /** Gets or sets the intended media type of the media source. */
7621
7835
  media: string;
7622
7836
  sizes: string;
@@ -7625,6 +7839,7 @@ interface HTMLSourceElement extends HTMLElement {
7625
7839
  srcset: string;
7626
7840
  /** Gets or sets the MIME type of a media resource. */
7627
7841
  type: string;
7842
+ width: number;
7628
7843
  addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLSourceElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
7629
7844
  addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
7630
7845
  removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLSourceElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
@@ -7651,6 +7866,8 @@ declare var HTMLSpanElement: {
7651
7866
 
7652
7867
  /** A <style> element. It inherits properties and methods from its parent, HTMLElement, and from LinkStyle. */
7653
7868
  interface HTMLStyleElement extends HTMLElement, LinkStyle {
7869
+ /** Enables or disables the style sheet. */
7870
+ disabled: boolean;
7654
7871
  /** Sets or retrieves the media type. */
7655
7872
  media: string;
7656
7873
  /**
@@ -8157,8 +8374,10 @@ interface HTMLVideoElement extends HTMLMediaElement {
8157
8374
  readonly videoWidth: number;
8158
8375
  /** Gets or sets the width of the video element. */
8159
8376
  width: number;
8377
+ cancelVideoFrameCallback(handle: number): void;
8160
8378
  getVideoPlaybackQuality(): VideoPlaybackQuality;
8161
8379
  requestPictureInPicture(): Promise<PictureInPictureWindow>;
8380
+ requestVideoFrameCallback(callback: VideoFrameRequestCallback): number;
8162
8381
  addEventListener<K extends keyof HTMLVideoElementEventMap>(type: K, listener: (this: HTMLVideoElement, ev: HTMLVideoElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
8163
8382
  addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
8164
8383
  removeEventListener<K extends keyof HTMLVideoElementEventMap>(type: K, listener: (this: HTMLVideoElement, ev: HTMLVideoElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
@@ -8580,6 +8799,7 @@ interface IDBTransactionEventMap {
8580
8799
  interface IDBTransaction extends EventTarget {
8581
8800
  /** Returns the transaction's connection. */
8582
8801
  readonly db: IDBDatabase;
8802
+ readonly durability: IDBTransactionDurability;
8583
8803
  /** If the transaction was aborted, returns the error (a DOMException) providing the reason. */
8584
8804
  readonly error: DOMException | null;
8585
8805
  /** Returns the mode the transaction was created with ("readonly" or "readwrite"), or "versionchange" for an upgrade transaction. */
@@ -8664,6 +8884,7 @@ declare var ImageBitmapRenderingContext: {
8664
8884
 
8665
8885
  /** The underlying pixel data of an area of a <canvas> element. It is created using the ImageData() constructor or creator methods on the CanvasRenderingContext2D object associated with a canvas: createImageData() and getImageData(). It can also be used to set a part of the canvas by using putImageData(). */
8666
8886
  interface ImageData {
8887
+ readonly colorSpace: PredefinedColorSpace;
8667
8888
  /** Returns the one-dimensional array containing the data in RGBA order, as integers in the range 0 to 255. */
8668
8889
  readonly data: Uint8ClampedArray;
8669
8890
  /** Returns the actual dimensions of the data in the ImageData object, in pixels. */
@@ -8682,6 +8903,14 @@ interface InnerHTML {
8682
8903
  innerHTML: string;
8683
8904
  }
8684
8905
 
8906
+ interface InputDeviceInfo extends MediaDeviceInfo {
8907
+ }
8908
+
8909
+ declare var InputDeviceInfo: {
8910
+ prototype: InputDeviceInfo;
8911
+ new(): InputDeviceInfo;
8912
+ };
8913
+
8685
8914
  interface InputEvent extends UIEvent {
8686
8915
  readonly data: string | null;
8687
8916
  readonly dataTransfer: DataTransfer | null;
@@ -8851,6 +9080,149 @@ declare var Location: {
8851
9080
  new(): Location;
8852
9081
  };
8853
9082
 
9083
+ /** Available only in secure contexts. */
9084
+ interface Lock {
9085
+ readonly mode: LockMode;
9086
+ readonly name: string;
9087
+ }
9088
+
9089
+ declare var Lock: {
9090
+ prototype: Lock;
9091
+ new(): Lock;
9092
+ };
9093
+
9094
+ /** Available only in secure contexts. */
9095
+ interface LockManager {
9096
+ query(): Promise<LockManagerSnapshot>;
9097
+ request(name: string, callback: LockGrantedCallback): Promise<any>;
9098
+ request(name: string, options: LockOptions, callback: LockGrantedCallback): Promise<any>;
9099
+ }
9100
+
9101
+ declare var LockManager: {
9102
+ prototype: LockManager;
9103
+ new(): LockManager;
9104
+ };
9105
+
9106
+ interface MIDIAccessEventMap {
9107
+ "statechange": Event;
9108
+ }
9109
+
9110
+ /** Available only in secure contexts. */
9111
+ interface MIDIAccess extends EventTarget {
9112
+ readonly inputs: MIDIInputMap;
9113
+ onstatechange: ((this: MIDIAccess, ev: Event) => any) | null;
9114
+ readonly outputs: MIDIOutputMap;
9115
+ readonly sysexEnabled: boolean;
9116
+ addEventListener<K extends keyof MIDIAccessEventMap>(type: K, listener: (this: MIDIAccess, ev: MIDIAccessEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
9117
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
9118
+ removeEventListener<K extends keyof MIDIAccessEventMap>(type: K, listener: (this: MIDIAccess, ev: MIDIAccessEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
9119
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
9120
+ }
9121
+
9122
+ declare var MIDIAccess: {
9123
+ prototype: MIDIAccess;
9124
+ new(): MIDIAccess;
9125
+ };
9126
+
9127
+ /** Available only in secure contexts. */
9128
+ interface MIDIConnectionEvent extends Event {
9129
+ readonly port: MIDIPort;
9130
+ }
9131
+
9132
+ declare var MIDIConnectionEvent: {
9133
+ prototype: MIDIConnectionEvent;
9134
+ new(type: string, eventInitDict?: MIDIConnectionEventInit): MIDIConnectionEvent;
9135
+ };
9136
+
9137
+ interface MIDIInputEventMap extends MIDIPortEventMap {
9138
+ "midimessage": Event;
9139
+ }
9140
+
9141
+ /** Available only in secure contexts. */
9142
+ interface MIDIInput extends MIDIPort {
9143
+ onmidimessage: ((this: MIDIInput, ev: Event) => any) | null;
9144
+ addEventListener<K extends keyof MIDIInputEventMap>(type: K, listener: (this: MIDIInput, ev: MIDIInputEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
9145
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
9146
+ removeEventListener<K extends keyof MIDIInputEventMap>(type: K, listener: (this: MIDIInput, ev: MIDIInputEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
9147
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
9148
+ }
9149
+
9150
+ declare var MIDIInput: {
9151
+ prototype: MIDIInput;
9152
+ new(): MIDIInput;
9153
+ };
9154
+
9155
+ /** Available only in secure contexts. */
9156
+ interface MIDIInputMap {
9157
+ forEach(callbackfn: (value: MIDIInput, key: string, parent: MIDIInputMap) => void, thisArg?: any): void;
9158
+ }
9159
+
9160
+ declare var MIDIInputMap: {
9161
+ prototype: MIDIInputMap;
9162
+ new(): MIDIInputMap;
9163
+ };
9164
+
9165
+ /** Available only in secure contexts. */
9166
+ interface MIDIMessageEvent extends Event {
9167
+ readonly data: Uint8Array;
9168
+ }
9169
+
9170
+ declare var MIDIMessageEvent: {
9171
+ prototype: MIDIMessageEvent;
9172
+ new(type: string, eventInitDict?: MIDIMessageEventInit): MIDIMessageEvent;
9173
+ };
9174
+
9175
+ /** Available only in secure contexts. */
9176
+ interface MIDIOutput extends MIDIPort {
9177
+ send(data: number[], timestamp?: DOMHighResTimeStamp): void;
9178
+ addEventListener<K extends keyof MIDIPortEventMap>(type: K, listener: (this: MIDIOutput, ev: MIDIPortEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
9179
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
9180
+ removeEventListener<K extends keyof MIDIPortEventMap>(type: K, listener: (this: MIDIOutput, ev: MIDIPortEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
9181
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
9182
+ }
9183
+
9184
+ declare var MIDIOutput: {
9185
+ prototype: MIDIOutput;
9186
+ new(): MIDIOutput;
9187
+ };
9188
+
9189
+ /** Available only in secure contexts. */
9190
+ interface MIDIOutputMap {
9191
+ forEach(callbackfn: (value: MIDIOutput, key: string, parent: MIDIOutputMap) => void, thisArg?: any): void;
9192
+ }
9193
+
9194
+ declare var MIDIOutputMap: {
9195
+ prototype: MIDIOutputMap;
9196
+ new(): MIDIOutputMap;
9197
+ };
9198
+
9199
+ interface MIDIPortEventMap {
9200
+ "statechange": Event;
9201
+ }
9202
+
9203
+ /** Available only in secure contexts. */
9204
+ interface MIDIPort extends EventTarget {
9205
+ readonly connection: MIDIPortConnectionState;
9206
+ readonly id: string;
9207
+ readonly manufacturer: string | null;
9208
+ readonly name: string | null;
9209
+ onstatechange: ((this: MIDIPort, ev: Event) => any) | null;
9210
+ readonly state: MIDIPortDeviceState;
9211
+ readonly type: MIDIPortType;
9212
+ readonly version: string | null;
9213
+ close(): Promise<MIDIPort>;
9214
+ open(): Promise<MIDIPort>;
9215
+ addEventListener<K extends keyof MIDIPortEventMap>(type: K, listener: (this: MIDIPort, ev: MIDIPortEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
9216
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
9217
+ removeEventListener<K extends keyof MIDIPortEventMap>(type: K, listener: (this: MIDIPort, ev: MIDIPortEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
9218
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
9219
+ }
9220
+
9221
+ declare var MIDIPort: {
9222
+ prototype: MIDIPort;
9223
+ new(): MIDIPort;
9224
+ };
9225
+
8854
9226
  interface MathMLElementEventMap extends ElementEventMap, DocumentAndElementEventHandlersEventMap, GlobalEventHandlersEventMap {
8855
9227
  }
8856
9228
 
@@ -9539,8 +9911,21 @@ declare var NamedNodeMap: {
9539
9911
  new(): NamedNodeMap;
9540
9912
  };
9541
9913
 
9914
+ /** Available only in secure contexts. */
9915
+ interface NavigationPreloadManager {
9916
+ disable(): Promise<void>;
9917
+ enable(): Promise<void>;
9918
+ getState(): Promise<NavigationPreloadState>;
9919
+ setHeaderValue(value: string): Promise<void>;
9920
+ }
9921
+
9922
+ declare var NavigationPreloadManager: {
9923
+ prototype: NavigationPreloadManager;
9924
+ new(): NavigationPreloadManager;
9925
+ };
9926
+
9542
9927
  /** The state and the identity of the user agent. It allows scripts to query it and to register themselves to carry on some activities. */
9543
- interface Navigator extends NavigatorAutomationInformation, NavigatorConcurrentHardware, NavigatorContentUtils, NavigatorCookies, NavigatorID, NavigatorLanguage, NavigatorNetworkInformation, NavigatorOnLine, NavigatorPlugins, NavigatorStorage {
9928
+ interface Navigator extends NavigatorAutomationInformation, NavigatorConcurrentHardware, NavigatorContentUtils, NavigatorCookies, NavigatorID, NavigatorLanguage, NavigatorLocks, NavigatorNetworkInformation, NavigatorOnLine, NavigatorPlugins, NavigatorStorage {
9544
9929
  /** Available only in secure contexts. */
9545
9930
  readonly clipboard: Clipboard;
9546
9931
  /** Available only in secure contexts. */
@@ -9559,6 +9944,8 @@ interface Navigator extends NavigatorAutomationInformation, NavigatorConcurrentH
9559
9944
  canShare(data?: ShareData): boolean;
9560
9945
  getGamepads(): (Gamepad | null)[];
9561
9946
  /** Available only in secure contexts. */
9947
+ requestMIDIAccess(options?: MIDIOptions): Promise<MIDIAccess>;
9948
+ /** Available only in secure contexts. */
9562
9949
  requestMediaKeySystemAccess(keySystem: string, supportedConfigurations: MediaKeySystemConfiguration[]): Promise<MediaKeySystemAccess>;
9563
9950
  sendBeacon(url: string | URL, data?: BodyInit | null): boolean;
9564
9951
  /** Available only in secure contexts. */
@@ -9612,6 +9999,11 @@ interface NavigatorLanguage {
9612
9999
  readonly languages: ReadonlyArray<string>;
9613
10000
  }
9614
10001
 
10002
+ /** Available only in secure contexts. */
10003
+ interface NavigatorLocks {
10004
+ readonly locks: LockManager;
10005
+ }
10006
+
9615
10007
  interface NavigatorNetworkInformation {
9616
10008
  readonly connection: NetworkInformation;
9617
10009
  }
@@ -9623,6 +10015,7 @@ interface NavigatorOnLine {
9623
10015
  interface NavigatorPlugins {
9624
10016
  /** @deprecated */
9625
10017
  readonly mimeTypes: MimeTypeArray;
10018
+ readonly pdfViewerEnabled: boolean;
9626
10019
  /** @deprecated */
9627
10020
  readonly plugins: PluginArray;
9628
10021
  /** @deprecated */
@@ -10130,6 +10523,7 @@ interface PerformanceEventMap {
10130
10523
 
10131
10524
  /** Provides access to performance-related information for the current page. It's part of the High Resolution Time API, but is enhanced by the Performance Timeline API, the Navigation Timing API, the User Timing API, and the Resource Timing API. */
10132
10525
  interface Performance extends EventTarget {
10526
+ readonly eventCounts: EventCounts;
10133
10527
  /** @deprecated */
10134
10528
  readonly navigation: PerformanceNavigation;
10135
10529
  onresourcetimingbufferfull: ((this: Performance, ev: Event) => any) | null;
@@ -10177,6 +10571,7 @@ interface PerformanceEventTiming extends PerformanceEntry {
10177
10571
  readonly processingEnd: DOMHighResTimeStamp;
10178
10572
  readonly processingStart: DOMHighResTimeStamp;
10179
10573
  readonly target: Node | null;
10574
+ toJSON(): any;
10180
10575
  }
10181
10576
 
10182
10577
  declare var PerformanceEventTiming: {
@@ -10240,7 +10635,7 @@ interface PerformanceNavigationTiming extends PerformanceResourceTiming {
10240
10635
  readonly loadEventEnd: DOMHighResTimeStamp;
10241
10636
  readonly loadEventStart: DOMHighResTimeStamp;
10242
10637
  readonly redirectCount: number;
10243
- readonly type: NavigationType;
10638
+ readonly type: NavigationTimingType;
10244
10639
  readonly unloadEventEnd: DOMHighResTimeStamp;
10245
10640
  readonly unloadEventStart: DOMHighResTimeStamp;
10246
10641
  toJSON(): any;
@@ -10583,7 +10978,7 @@ declare var PublicKeyCredential: {
10583
10978
  */
10584
10979
  interface PushManager {
10585
10980
  getSubscription(): Promise<PushSubscription | null>;
10586
- permissionState(options?: PushSubscriptionOptionsInit): Promise<PushPermissionState>;
10981
+ permissionState(options?: PushSubscriptionOptionsInit): Promise<PermissionState>;
10587
10982
  subscribe(options?: PushSubscriptionOptionsInit): Promise<PushSubscription>;
10588
10983
  }
10589
10984
 
@@ -10621,7 +11016,7 @@ declare var PushSubscriptionOptions: {
10621
11016
  };
10622
11017
 
10623
11018
  interface RTCCertificate {
10624
- readonly expires: DOMTimeStamp;
11019
+ readonly expires: EpochTimeStamp;
10625
11020
  getFingerprints(): RTCDtlsFingerprint[];
10626
11021
  }
10627
11022
 
@@ -10663,6 +11058,7 @@ declare var RTCDTMFToneChangeEvent: {
10663
11058
  interface RTCDataChannelEventMap {
10664
11059
  "bufferedamountlow": Event;
10665
11060
  "close": Event;
11061
+ "closing": Event;
10666
11062
  "error": Event;
10667
11063
  "message": MessageEvent;
10668
11064
  "open": Event;
@@ -10679,6 +11075,7 @@ interface RTCDataChannel extends EventTarget {
10679
11075
  readonly negotiated: boolean;
10680
11076
  onbufferedamountlow: ((this: RTCDataChannel, ev: Event) => any) | null;
10681
11077
  onclose: ((this: RTCDataChannel, ev: Event) => any) | null;
11078
+ onclosing: ((this: RTCDataChannel, ev: Event) => any) | null;
10682
11079
  onerror: ((this: RTCDataChannel, ev: Event) => any) | null;
10683
11080
  onmessage: ((this: RTCDataChannel, ev: MessageEvent) => any) | null;
10684
11081
  onopen: ((this: RTCDataChannel, ev: Event) => any) | null;
@@ -10711,12 +11108,16 @@ declare var RTCDataChannelEvent: {
10711
11108
  };
10712
11109
 
10713
11110
  interface RTCDtlsTransportEventMap {
11111
+ "error": Event;
10714
11112
  "statechange": Event;
10715
11113
  }
10716
11114
 
10717
11115
  interface RTCDtlsTransport extends EventTarget {
11116
+ readonly iceTransport: RTCIceTransport;
11117
+ onerror: ((this: RTCDtlsTransport, ev: Event) => any) | null;
10718
11118
  onstatechange: ((this: RTCDtlsTransport, ev: Event) => any) | null;
10719
11119
  readonly state: RTCDtlsTransportState;
11120
+ getRemoteCertificates(): ArrayBuffer[];
10720
11121
  addEventListener<K extends keyof RTCDtlsTransportEventMap>(type: K, listener: (this: RTCDtlsTransport, ev: RTCDtlsTransportEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
10721
11122
  addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
10722
11123
  removeEventListener<K extends keyof RTCDtlsTransportEventMap>(type: K, listener: (this: RTCDtlsTransport, ev: RTCDtlsTransportEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
@@ -10728,6 +11129,51 @@ declare var RTCDtlsTransport: {
10728
11129
  new(): RTCDtlsTransport;
10729
11130
  };
10730
11131
 
11132
+ interface RTCEncodedAudioFrame {
11133
+ data: ArrayBuffer;
11134
+ readonly timestamp: number;
11135
+ getMetadata(): RTCEncodedAudioFrameMetadata;
11136
+ }
11137
+
11138
+ declare var RTCEncodedAudioFrame: {
11139
+ prototype: RTCEncodedAudioFrame;
11140
+ new(): RTCEncodedAudioFrame;
11141
+ };
11142
+
11143
+ interface RTCEncodedVideoFrame {
11144
+ data: ArrayBuffer;
11145
+ readonly timestamp: number;
11146
+ readonly type: RTCEncodedVideoFrameType;
11147
+ getMetadata(): RTCEncodedVideoFrameMetadata;
11148
+ }
11149
+
11150
+ declare var RTCEncodedVideoFrame: {
11151
+ prototype: RTCEncodedVideoFrame;
11152
+ new(): RTCEncodedVideoFrame;
11153
+ };
11154
+
11155
+ interface RTCError extends DOMException {
11156
+ readonly errorDetail: RTCErrorDetailType;
11157
+ readonly receivedAlert: number | null;
11158
+ readonly sctpCauseCode: number | null;
11159
+ readonly sdpLineNumber: number | null;
11160
+ readonly sentAlert: number | null;
11161
+ }
11162
+
11163
+ declare var RTCError: {
11164
+ prototype: RTCError;
11165
+ new(init: RTCErrorInit, message?: string): RTCError;
11166
+ };
11167
+
11168
+ interface RTCErrorEvent extends Event {
11169
+ readonly error: RTCError;
11170
+ }
11171
+
11172
+ declare var RTCErrorEvent: {
11173
+ prototype: RTCErrorEvent;
11174
+ new(type: string, eventInitDict: RTCErrorEventInit): RTCErrorEvent;
11175
+ };
11176
+
10731
11177
  /** The RTCIceCandidate interface—part of the WebRTC API—represents a candidate Internet Connectivity Establishment (ICE) configuration which may be used to establish an RTCPeerConnection. */
10732
11178
  interface RTCIceCandidate {
10733
11179
  readonly address: string | null;
@@ -10752,10 +11198,21 @@ declare var RTCIceCandidate: {
10752
11198
  new(candidateInitDict?: RTCIceCandidateInit): RTCIceCandidate;
10753
11199
  };
10754
11200
 
11201
+ interface RTCIceTransportEventMap {
11202
+ "gatheringstatechange": Event;
11203
+ "statechange": Event;
11204
+ }
11205
+
10755
11206
  /** Provides access to information about the ICE transport layer over which the data is being sent and received. */
10756
11207
  interface RTCIceTransport extends EventTarget {
10757
11208
  readonly gatheringState: RTCIceGathererState;
11209
+ ongatheringstatechange: ((this: RTCIceTransport, ev: Event) => any) | null;
11210
+ onstatechange: ((this: RTCIceTransport, ev: Event) => any) | null;
10758
11211
  readonly state: RTCIceTransportState;
11212
+ addEventListener<K extends keyof RTCIceTransportEventMap>(type: K, listener: (this: RTCIceTransport, ev: RTCIceTransportEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
11213
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
11214
+ removeEventListener<K extends keyof RTCIceTransportEventMap>(type: K, listener: (this: RTCIceTransport, ev: RTCIceTransportEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
11215
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
10759
11216
  }
10760
11217
 
10761
11218
  declare var RTCIceTransport: {
@@ -10796,6 +11253,7 @@ interface RTCPeerConnection extends EventTarget {
10796
11253
  readonly pendingLocalDescription: RTCSessionDescription | null;
10797
11254
  readonly pendingRemoteDescription: RTCSessionDescription | null;
10798
11255
  readonly remoteDescription: RTCSessionDescription | null;
11256
+ readonly sctp: RTCSctpTransport | null;
10799
11257
  readonly signalingState: RTCSignalingState;
10800
11258
  addIceCandidate(candidate?: RTCIceCandidateInit): Promise<void>;
10801
11259
  /** @deprecated */
@@ -10899,6 +11357,7 @@ interface RTCRtpTransceiver {
10899
11357
  readonly mid: string | null;
10900
11358
  readonly receiver: RTCRtpReceiver;
10901
11359
  readonly sender: RTCRtpSender;
11360
+ setCodecPreferences(codecs: RTCRtpCodecCapability[]): void;
10902
11361
  stop(): void;
10903
11362
  }
10904
11363
 
@@ -10907,6 +11366,27 @@ declare var RTCRtpTransceiver: {
10907
11366
  new(): RTCRtpTransceiver;
10908
11367
  };
10909
11368
 
11369
+ interface RTCSctpTransportEventMap {
11370
+ "statechange": Event;
11371
+ }
11372
+
11373
+ interface RTCSctpTransport extends EventTarget {
11374
+ readonly maxChannels: number | null;
11375
+ readonly maxMessageSize: number;
11376
+ onstatechange: ((this: RTCSctpTransport, ev: Event) => any) | null;
11377
+ readonly state: RTCSctpTransportState;
11378
+ readonly transport: RTCDtlsTransport;
11379
+ addEventListener<K extends keyof RTCSctpTransportEventMap>(type: K, listener: (this: RTCSctpTransport, ev: RTCSctpTransportEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
11380
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
11381
+ removeEventListener<K extends keyof RTCSctpTransportEventMap>(type: K, listener: (this: RTCSctpTransport, ev: RTCSctpTransportEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
11382
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
11383
+ }
11384
+
11385
+ declare var RTCSctpTransport: {
11386
+ prototype: RTCSctpTransport;
11387
+ new(): RTCSctpTransport;
11388
+ };
11389
+
10910
11390
  /** One end of a connection—or potential connection—and how it's configured. Each RTCSessionDescription consists of a description type indicating which part of the offer/answer negotiation process it describes and of the SDP descriptor of the session. */
10911
11391
  interface RTCSessionDescription {
10912
11392
  readonly sdp: string;
@@ -11095,7 +11575,7 @@ interface Request extends Body {
11095
11575
 
11096
11576
  declare var Request: {
11097
11577
  prototype: Request;
11098
- new(input: RequestInfo, init?: RequestInit): Request;
11578
+ new(input: RequestInfo | URL, init?: RequestInit): Request;
11099
11579
  };
11100
11580
 
11101
11581
  interface ResizeObserver {
@@ -11113,6 +11593,7 @@ interface ResizeObserverEntry {
11113
11593
  readonly borderBoxSize: ReadonlyArray<ResizeObserverSize>;
11114
11594
  readonly contentBoxSize: ReadonlyArray<ResizeObserverSize>;
11115
11595
  readonly contentRect: DOMRectReadOnly;
11596
+ readonly devicePixelContentBoxSize: ReadonlyArray<ResizeObserverSize>;
11116
11597
  readonly target: Element;
11117
11598
  }
11118
11599
 
@@ -13053,6 +13534,7 @@ interface ServiceWorkerRegistrationEventMap {
13053
13534
  interface ServiceWorkerRegistration extends EventTarget {
13054
13535
  readonly active: ServiceWorker | null;
13055
13536
  readonly installing: ServiceWorker | null;
13537
+ readonly navigationPreload: NavigationPreloadManager;
13056
13538
  onupdatefound: ((this: ServiceWorkerRegistration, ev: Event) => any) | null;
13057
13539
  readonly pushManager: PushManager;
13058
13540
  readonly scope: string;
@@ -13073,11 +13555,21 @@ declare var ServiceWorkerRegistration: {
13073
13555
  new(): ServiceWorkerRegistration;
13074
13556
  };
13075
13557
 
13558
+ interface ShadowRootEventMap {
13559
+ "slotchange": Event;
13560
+ }
13561
+
13076
13562
  interface ShadowRoot extends DocumentFragment, DocumentOrShadowRoot, InnerHTML {
13077
13563
  readonly delegatesFocus: boolean;
13078
13564
  readonly host: Element;
13079
13565
  readonly mode: ShadowRootMode;
13566
+ onslotchange: ((this: ShadowRoot, ev: Event) => any) | null;
13567
+ readonly slotAssignment: SlotAssignmentMode;
13080
13568
  /** Throws a "NotSupportedError" DOMException if context object is a shadow root. */
13569
+ addEventListener<K extends keyof ShadowRootEventMap>(type: K, listener: (this: ShadowRoot, ev: ShadowRootEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
13570
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
13571
+ removeEventListener<K extends keyof ShadowRootEventMap>(type: K, listener: (this: ShadowRoot, ev: ShadowRootEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
13572
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
13081
13573
  }
13082
13574
 
13083
13575
  declare var ShadowRoot: {
@@ -13370,6 +13862,7 @@ declare var StorageEvent: {
13370
13862
  /** Available only in secure contexts. */
13371
13863
  interface StorageManager {
13372
13864
  estimate(): Promise<StorageEstimate>;
13865
+ getDirectory(): Promise<FileSystemDirectoryHandle>;
13373
13866
  persist(): Promise<boolean>;
13374
13867
  persisted(): Promise<boolean>;
13375
13868
  }
@@ -13435,10 +13928,10 @@ interface SubtleCrypto {
13435
13928
  encrypt(algorithm: AlgorithmIdentifier | RsaOaepParams | AesCtrParams | AesCbcParams | AesGcmParams, key: CryptoKey, data: BufferSource): Promise<any>;
13436
13929
  exportKey(format: "jwk", key: CryptoKey): Promise<JsonWebKey>;
13437
13930
  exportKey(format: Exclude<KeyFormat, "jwk">, key: CryptoKey): Promise<ArrayBuffer>;
13438
- generateKey(algorithm: RsaHashedKeyGenParams | EcKeyGenParams, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKeyPair>;
13439
- generateKey(algorithm: AesKeyGenParams | HmacKeyGenParams | Pbkdf2Params, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKey>;
13931
+ generateKey(algorithm: RsaHashedKeyGenParams | EcKeyGenParams, extractable: boolean, keyUsages: ReadonlyArray<KeyUsage>): Promise<CryptoKeyPair>;
13932
+ generateKey(algorithm: AesKeyGenParams | HmacKeyGenParams | Pbkdf2Params, extractable: boolean, keyUsages: ReadonlyArray<KeyUsage>): Promise<CryptoKey>;
13440
13933
  generateKey(algorithm: AlgorithmIdentifier, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKeyPair | CryptoKey>;
13441
- importKey(format: "jwk", keyData: JsonWebKey, algorithm: AlgorithmIdentifier | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | AesKeyAlgorithm, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKey>;
13934
+ importKey(format: "jwk", keyData: JsonWebKey, algorithm: AlgorithmIdentifier | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | AesKeyAlgorithm, extractable: boolean, keyUsages: ReadonlyArray<KeyUsage>): Promise<CryptoKey>;
13442
13935
  importKey(format: Exclude<KeyFormat, "jwk">, keyData: BufferSource, algorithm: AlgorithmIdentifier | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | AesKeyAlgorithm, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKey>;
13443
13936
  sign(algorithm: AlgorithmIdentifier | RsaPssParams | EcdsaParams, key: CryptoKey, data: BufferSource): Promise<ArrayBuffer>;
13444
13937
  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>;
@@ -13956,6 +14449,19 @@ declare var ValidityState: {
13956
14449
  new(): ValidityState;
13957
14450
  };
13958
14451
 
14452
+ interface VideoColorSpace {
14453
+ readonly fullRange: boolean | null;
14454
+ readonly matrix: VideoMatrixCoefficients | null;
14455
+ readonly primaries: VideoColorPrimaries | null;
14456
+ readonly transfer: VideoTransferCharacteristics | null;
14457
+ toJSON(): VideoColorSpaceInit;
14458
+ }
14459
+
14460
+ declare var VideoColorSpace: {
14461
+ prototype: VideoColorSpace;
14462
+ new(init?: VideoColorSpaceInit): VideoColorSpace;
14463
+ };
14464
+
13959
14465
  /** Returned by the HTMLVideoElement.getVideoPlaybackQuality() method and contains metrics that can be used to determine the playback quality of a video. */
13960
14466
  interface VideoPlaybackQuality {
13961
14467
  /** @deprecated */
@@ -14051,13 +14557,6 @@ interface WEBGL_compressed_texture_etc1 {
14051
14557
  readonly COMPRESSED_RGB_ETC1_WEBGL: GLenum;
14052
14558
  }
14053
14559
 
14054
- interface WEBGL_compressed_texture_pvrtc {
14055
- readonly COMPRESSED_RGBA_PVRTC_2BPPV1_IMG: GLenum;
14056
- readonly COMPRESSED_RGBA_PVRTC_4BPPV1_IMG: GLenum;
14057
- readonly COMPRESSED_RGB_PVRTC_2BPPV1_IMG: GLenum;
14058
- readonly COMPRESSED_RGB_PVRTC_4BPPV1_IMG: GLenum;
14059
- }
14060
-
14061
14560
  /** The WEBGL_compressed_texture_s3tc extension is part of the WebGL API and exposes four S3TC compressed texture formats. */
14062
14561
  interface WEBGL_compressed_texture_s3tc {
14063
14562
  readonly COMPRESSED_RGBA_S3TC_DXT1_EXT: GLenum;
@@ -14131,6 +14630,13 @@ interface WEBGL_lose_context {
14131
14630
  restoreContext(): void;
14132
14631
  }
14133
14632
 
14633
+ interface WEBGL_multi_draw {
14634
+ multiDrawArraysInstancedWEBGL(mode: GLenum, firstsList: Int32Array | GLint[], firstsOffset: GLuint, countsList: Int32Array | GLsizei[], countsOffset: GLuint, instanceCountsList: Int32Array | GLsizei[], instanceCountsOffset: GLuint, drawcount: GLsizei): void;
14635
+ multiDrawArraysWEBGL(mode: GLenum, firstsList: Int32Array | GLint[], firstsOffset: GLuint, countsList: Int32Array | GLsizei[], countsOffset: GLuint, drawcount: GLsizei): void;
14636
+ multiDrawElementsInstancedWEBGL(mode: GLenum, countsList: Int32Array | GLint[], countsOffset: GLuint, type: GLenum, offsetsList: Int32Array | GLsizei[], offsetsOffset: GLuint, instanceCountsList: Int32Array | GLsizei[], instanceCountsOffset: GLuint, drawcount: GLsizei): void;
14637
+ multiDrawElementsWEBGL(mode: GLenum, countsList: Int32Array | GLint[], countsOffset: GLuint, type: GLenum, offsetsList: Int32Array | GLsizei[], offsetsOffset: GLuint, drawcount: GLsizei): void;
14638
+ }
14639
+
14134
14640
  /** A WaveShaperNode always has exactly one input and one output. */
14135
14641
  interface WaveShaperNode extends AudioNode {
14136
14642
  curve: Float32Array | null;
@@ -15553,7 +16059,6 @@ interface WebGLRenderingContextBase {
15553
16059
  getExtension(extensionName: "WEBGL_compressed_texture_astc"): WEBGL_compressed_texture_astc | null;
15554
16060
  getExtension(extensionName: "WEBGL_compressed_texture_etc"): WEBGL_compressed_texture_etc | null;
15555
16061
  getExtension(extensionName: "WEBGL_compressed_texture_etc1"): WEBGL_compressed_texture_etc1 | null;
15556
- getExtension(extensionName: "WEBGL_compressed_texture_pvrtc"): WEBGL_compressed_texture_pvrtc | null;
15557
16062
  getExtension(extensionName: "WEBGL_compressed_texture_s3tc_srgb"): WEBGL_compressed_texture_s3tc_srgb | null;
15558
16063
  getExtension(extensionName: "WEBGL_debug_shaders"): WEBGL_debug_shaders | null;
15559
16064
  getExtension(extensionName: "WEBGL_draw_buffers"): WEBGL_draw_buffers | null;
@@ -16101,6 +16606,7 @@ declare var WheelEvent: {
16101
16606
  };
16102
16607
 
16103
16608
  interface WindowEventMap extends GlobalEventHandlersEventMap, WindowEventHandlersEventMap {
16609
+ "DOMContentLoaded": Event;
16104
16610
  "devicemotion": DeviceMotionEvent;
16105
16611
  "deviceorientation": DeviceOrientationEvent;
16106
16612
  "gamepadconnected": GamepadEvent;
@@ -16296,14 +16802,16 @@ interface WindowOrWorkerGlobalScope {
16296
16802
  readonly performance: Performance;
16297
16803
  atob(data: string): string;
16298
16804
  btoa(data: string): string;
16299
- clearInterval(handle?: number): void;
16300
- clearTimeout(handle?: number): void;
16805
+ clearInterval(id?: number): void;
16806
+ clearTimeout(id?: number): void;
16301
16807
  createImageBitmap(image: ImageBitmapSource, options?: ImageBitmapOptions): Promise<ImageBitmap>;
16302
16808
  createImageBitmap(image: ImageBitmapSource, sx: number, sy: number, sw: number, sh: number, options?: ImageBitmapOptions): Promise<ImageBitmap>;
16303
- fetch(input: RequestInfo, init?: RequestInit): Promise<Response>;
16809
+ fetch(input: RequestInfo | URL, init?: RequestInit): Promise<Response>;
16304
16810
  queueMicrotask(callback: VoidFunction): void;
16811
+ reportError(e: any): void;
16305
16812
  setInterval(handler: TimerHandler, timeout?: number, ...arguments: any[]): number;
16306
16813
  setTimeout(handler: TimerHandler, timeout?: number, ...arguments: any[]): number;
16814
+ structuredClone(value: any, options?: StructuredSerializeOptions): any;
16307
16815
  }
16308
16816
 
16309
16817
  interface WindowSessionStorage {
@@ -16790,7 +17298,7 @@ declare namespace WebAssembly {
16790
17298
 
16791
17299
  type ImportExportKind = "function" | "global" | "memory" | "table";
16792
17300
  type TableKind = "anyfunc" | "externref";
16793
- type ValueType = "anyfunc" | "externref" | "f32" | "f64" | "i32" | "i64";
17301
+ type ValueType = "anyfunc" | "externref" | "f32" | "f64" | "i32" | "i64" | "v128";
16794
17302
  type ExportValue = Function | Global | Memory | Table;
16795
17303
  type Exports = Record<string, ExportValue>;
16796
17304
  type ImportValue = ExportValue | number;
@@ -16852,6 +17360,10 @@ interface IntersectionObserverCallback {
16852
17360
  (entries: IntersectionObserverEntry[], observer: IntersectionObserver): void;
16853
17361
  }
16854
17362
 
17363
+ interface LockGrantedCallback {
17364
+ (lock: Lock | null): any;
17365
+ }
17366
+
16855
17367
  interface MediaSessionActionHandler {
16856
17368
  (details: MediaSessionActionDetails): void;
16857
17369
  }
@@ -16944,6 +17456,10 @@ interface UnderlyingSourceStartCallback<R> {
16944
17456
  (controller: ReadableStreamController<R>): any;
16945
17457
  }
16946
17458
 
17459
+ interface VideoFrameRequestCallback {
17460
+ (now: DOMHighResTimeStamp, metadata: VideoFrameMetadata): void;
17461
+ }
17462
+
16947
17463
  interface VoidFunction {
16948
17464
  (): void;
16949
17465
  }
@@ -17480,6 +17996,7 @@ declare var onresize: ((this: Window, ev: UIEvent) => any) | null;
17480
17996
  * @param ev The event.
17481
17997
  */
17482
17998
  declare var onscroll: ((this: Window, ev: Event) => any) | null;
17999
+ declare var onsecuritypolicyviolation: ((this: Window, ev: SecurityPolicyViolationEvent) => any) | null;
17483
18000
  /**
17484
18001
  * Occurs when the seek operation ends.
17485
18002
  * @param ev The event.
@@ -17497,6 +18014,7 @@ declare var onseeking: ((this: Window, ev: Event) => any) | null;
17497
18014
  declare var onselect: ((this: Window, ev: Event) => any) | null;
17498
18015
  declare var onselectionchange: ((this: Window, ev: Event) => any) | null;
17499
18016
  declare var onselectstart: ((this: Window, ev: Event) => any) | null;
18017
+ declare var onslotchange: ((this: Window, ev: Event) => any) | null;
17500
18018
  /**
17501
18019
  * Occurs when the download has stopped.
17502
18020
  * @param ev The event.
@@ -17570,14 +18088,16 @@ declare var origin: string;
17570
18088
  declare var performance: Performance;
17571
18089
  declare function atob(data: string): string;
17572
18090
  declare function btoa(data: string): string;
17573
- declare function clearInterval(handle?: number): void;
17574
- declare function clearTimeout(handle?: number): void;
18091
+ declare function clearInterval(id?: number): void;
18092
+ declare function clearTimeout(id?: number): void;
17575
18093
  declare function createImageBitmap(image: ImageBitmapSource, options?: ImageBitmapOptions): Promise<ImageBitmap>;
17576
18094
  declare function createImageBitmap(image: ImageBitmapSource, sx: number, sy: number, sw: number, sh: number, options?: ImageBitmapOptions): Promise<ImageBitmap>;
17577
- declare function fetch(input: RequestInfo, init?: RequestInit): Promise<Response>;
18095
+ declare function fetch(input: RequestInfo | URL, init?: RequestInit): Promise<Response>;
17578
18096
  declare function queueMicrotask(callback: VoidFunction): void;
18097
+ declare function reportError(e: any): void;
17579
18098
  declare function setInterval(handler: TimerHandler, timeout?: number, ...arguments: any[]): number;
17580
18099
  declare function setTimeout(handler: TimerHandler, timeout?: number, ...arguments: any[]): number;
18100
+ declare function structuredClone(value: any, options?: StructuredSerializeOptions): any;
17581
18101
  declare var sessionStorage: Storage;
17582
18102
  declare function addEventListener<K extends keyof WindowEventMap>(type: K, listener: (this: Window, ev: WindowEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
17583
18103
  declare function addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
@@ -17592,15 +18112,14 @@ type BufferSource = ArrayBufferView | ArrayBuffer;
17592
18112
  type COSEAlgorithmIdentifier = number;
17593
18113
  type CSSNumberish = number;
17594
18114
  type CanvasImageSource = HTMLOrSVGImageElement | HTMLVideoElement | HTMLCanvasElement | ImageBitmap;
17595
- type ClipboardItemData = Promise<ClipboardItemDataType>;
17596
- type ClipboardItemDataType = string | Blob;
18115
+ type ClipboardItemData = Promise<string | Blob>;
17597
18116
  type ClipboardItems = ClipboardItem[];
17598
18117
  type ConstrainBoolean = boolean | ConstrainBooleanParameters;
17599
18118
  type ConstrainDOMString = string | string[] | ConstrainDOMStringParameters;
17600
18119
  type ConstrainDouble = number | ConstrainDoubleRange;
17601
18120
  type ConstrainULong = number | ConstrainULongRange;
17602
18121
  type DOMHighResTimeStamp = number;
17603
- type DOMTimeStamp = number;
18122
+ type EpochTimeStamp = number;
17604
18123
  type EventListenerOrEventListenerObject = EventListener | EventListenerObject;
17605
18124
  type Float32List = Float32Array | GLfloat[];
17606
18125
  type FormDataEntryValue = File | string;
@@ -17684,17 +18203,21 @@ type DirectionSetting = "" | "lr" | "rl";
17684
18203
  type DisplayCaptureSurfaceType = "application" | "browser" | "monitor" | "window";
17685
18204
  type DistanceModelType = "exponential" | "inverse" | "linear";
17686
18205
  type DocumentReadyState = "complete" | "interactive" | "loading";
18206
+ type DocumentVisibilityState = "hidden" | "visible";
17687
18207
  type EndOfStreamError = "decode" | "network";
17688
18208
  type EndingType = "native" | "transparent";
18209
+ type FileSystemHandleKind = "directory" | "file";
17689
18210
  type FillMode = "auto" | "backwards" | "both" | "forwards" | "none";
17690
18211
  type FontFaceLoadStatus = "error" | "loaded" | "loading" | "unloaded";
17691
18212
  type FontFaceSetLoadStatus = "loaded" | "loading";
17692
18213
  type FullscreenNavigationUI = "auto" | "hide" | "show";
17693
18214
  type GamepadHapticActuatorType = "vibration";
17694
18215
  type GamepadMappingType = "" | "standard" | "xr-standard";
18216
+ 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";
17695
18217
  type HdrMetadataType = "smpteSt2086" | "smpteSt2094-10" | "smpteSt2094-40";
17696
18218
  type IDBCursorDirection = "next" | "nextunique" | "prev" | "prevunique";
17697
18219
  type IDBRequestReadyState = "done" | "pending";
18220
+ type IDBTransactionDurability = "default" | "relaxed" | "strict";
17698
18221
  type IDBTransactionMode = "readonly" | "readwrite" | "versionchange";
17699
18222
  type ImageOrientation = "flipY" | "none";
17700
18223
  type ImageSmoothingQuality = "high" | "low" | "medium";
@@ -17703,6 +18226,10 @@ type KeyFormat = "jwk" | "pkcs8" | "raw" | "spki";
17703
18226
  type KeyType = "private" | "public" | "secret";
17704
18227
  type KeyUsage = "decrypt" | "deriveBits" | "deriveKey" | "encrypt" | "sign" | "unwrapKey" | "verify" | "wrapKey";
17705
18228
  type LineAlignSetting = "center" | "end" | "start";
18229
+ type LockMode = "exclusive" | "shared";
18230
+ type MIDIPortConnectionState = "closed" | "open" | "pending";
18231
+ type MIDIPortDeviceState = "connected" | "disconnected";
18232
+ type MIDIPortType = "input" | "output";
17706
18233
  type MediaDecodingType = "file" | "media-source" | "webrtc";
17707
18234
  type MediaDeviceKind = "audioinput" | "audiooutput" | "videoinput";
17708
18235
  type MediaEncodingType = "record" | "webrtc";
@@ -17714,7 +18241,7 @@ type MediaKeysRequirement = "not-allowed" | "optional" | "required";
17714
18241
  type MediaSessionAction = "hangup" | "nexttrack" | "pause" | "play" | "previoustrack" | "seekbackward" | "seekforward" | "seekto" | "skipad" | "stop" | "togglecamera" | "togglemicrophone";
17715
18242
  type MediaSessionPlaybackState = "none" | "paused" | "playing";
17716
18243
  type MediaStreamTrackState = "ended" | "live";
17717
- type NavigationType = "back_forward" | "navigate" | "prerender" | "reload";
18244
+ type NavigationTimingType = "back_forward" | "navigate" | "prerender" | "reload";
17718
18245
  type NotificationDirection = "auto" | "ltr" | "rtl";
17719
18246
  type NotificationPermission = "default" | "denied" | "granted";
17720
18247
  type OrientationLockType = "any" | "landscape" | "landscape-primary" | "landscape-secondary" | "natural" | "portrait" | "portrait-primary" | "portrait-secondary";
@@ -17732,11 +18259,12 @@ type PremultiplyAlpha = "default" | "none" | "premultiply";
17732
18259
  type PresentationStyle = "attachment" | "inline" | "unspecified";
17733
18260
  type PublicKeyCredentialType = "public-key";
17734
18261
  type PushEncryptionKeyName = "auth" | "p256dh";
17735
- type PushPermissionState = "denied" | "granted" | "prompt";
17736
18262
  type RTCBundlePolicy = "balanced" | "max-bundle" | "max-compat";
17737
18263
  type RTCDataChannelState = "closed" | "closing" | "connecting" | "open";
17738
18264
  type RTCDegradationPreference = "balanced" | "maintain-framerate" | "maintain-resolution";
17739
18265
  type RTCDtlsTransportState = "closed" | "connected" | "connecting" | "failed" | "new";
18266
+ type RTCEncodedVideoFrameType = "delta" | "empty" | "key";
18267
+ type RTCErrorDetailType = "data-channel-failure" | "dtls-failure" | "fingerprint-failure" | "hardware-encoder-error" | "hardware-encoder-not-available" | "sctp-failure" | "sdp-syntax-error";
17740
18268
  type RTCIceCandidateType = "host" | "prflx" | "relay" | "srflx";
17741
18269
  type RTCIceComponent = "rtcp" | "rtp";
17742
18270
  type RTCIceConnectionState = "checking" | "closed" | "completed" | "connected" | "disconnected" | "failed" | "new";
@@ -17751,6 +18279,7 @@ type RTCPeerConnectionState = "closed" | "connected" | "connecting" | "disconnec
17751
18279
  type RTCPriorityType = "high" | "low" | "medium" | "very-low";
17752
18280
  type RTCRtcpMuxPolicy = "require";
17753
18281
  type RTCRtpTransceiverDirection = "inactive" | "recvonly" | "sendonly" | "sendrecv" | "stopped";
18282
+ type RTCSctpTransportState = "closed" | "connected" | "connecting";
17754
18283
  type RTCSdpType = "answer" | "offer" | "pranswer" | "rollback";
17755
18284
  type RTCSignalingState = "closed" | "have-local-offer" | "have-local-pranswer" | "have-remote-offer" | "have-remote-pranswer" | "stable";
17756
18285
  type RTCStatsIceCandidatePairState = "failed" | "frozen" | "in-progress" | "inprogress" | "succeeded" | "waiting";
@@ -17784,8 +18313,10 @@ type TextTrackMode = "disabled" | "hidden" | "showing";
17784
18313
  type TouchType = "direct" | "stylus";
17785
18314
  type TransferFunction = "hlg" | "pq" | "srgb";
17786
18315
  type UserVerificationRequirement = "discouraged" | "preferred" | "required";
18316
+ type VideoColorPrimaries = "bt470bg" | "bt709" | "smpte170m";
17787
18317
  type VideoFacingModeEnum = "environment" | "left" | "right" | "user";
17788
- type VisibilityState = "hidden" | "visible";
18318
+ type VideoMatrixCoefficients = "bt470bg" | "bt709" | "rgb" | "smpte170m";
18319
+ type VideoTransferCharacteristics = "bt709" | "iec61966-2-1" | "smpte170m";
17789
18320
  type WebGLPowerPreference = "default" | "high-performance" | "low-power";
17790
18321
  type WorkerType = "classic" | "module";
17791
18322
  type XMLHttpRequestResponseType = "" | "arraybuffer" | "blob" | "document" | "json" | "text";