UNPKG

838 kBTypeScriptView Raw
1/*! *****************************************************************************
2Copyright (c) Microsoft Corporation. All rights reserved.
3Licensed under the Apache License, Version 2.0 (the "License"); you may not use
4this file except in compliance with the License. You may obtain a copy of the
5License at http://www.apache.org/licenses/LICENSE-2.0
6
7THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
8KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
9WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
10MERCHANTABLITY OR NON-INFRINGEMENT.
11
12See the Apache Version 2.0 License for specific language governing permissions
13and limitations under the License.
14***************************************************************************** */
15
16
17
18/// <reference no-default-lib="true"/>
19
20
21/////////////////////////////
22/// DOM APIs
23/////////////////////////////
24
25interface Account {
26 displayName: string;
27 id: string;
28 imageURL?: string;
29 name?: string;
30 rpDisplayName: string;
31}
32
33interface AddEventListenerOptions extends EventListenerOptions {
34 once?: boolean;
35 passive?: boolean;
36}
37
38interface AesCbcParams extends Algorithm {
39 iv: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer;
40}
41
42interface AesCtrParams extends Algorithm {
43 counter: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer;
44 length: number;
45}
46
47interface AesDerivedKeyParams extends Algorithm {
48 length: number;
49}
50
51interface AesGcmParams extends Algorithm {
52 additionalData?: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer;
53 iv: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer;
54 tagLength?: number;
55}
56
57interface AesKeyAlgorithm extends KeyAlgorithm {
58 length: number;
59}
60
61interface AesKeyGenParams extends Algorithm {
62 length: number;
63}
64
65interface Algorithm {
66 name: string;
67}
68
69interface AnalyserOptions extends AudioNodeOptions {
70 fftSize?: number;
71 maxDecibels?: number;
72 minDecibels?: number;
73 smoothingTimeConstant?: number;
74}
75
76interface AnimationEventInit extends EventInit {
77 animationName?: string;
78 elapsedTime?: number;
79 pseudoElement?: string;
80}
81
82interface AnimationPlaybackEventInit extends EventInit {
83 currentTime?: number | null;
84 timelineTime?: number | null;
85}
86
87interface AssertionOptions {
88 allowList?: ScopedCredentialDescriptor[];
89 extensions?: WebAuthnExtensions;
90 rpId?: string;
91 timeoutSeconds?: number;
92}
93
94interface AssignedNodesOptions {
95 flatten?: boolean;
96}
97
98interface AudioBufferOptions {
99 length: number;
100 numberOfChannels?: number;
101 sampleRate: number;
102}
103
104interface AudioBufferSourceOptions {
105 buffer?: AudioBuffer | null;
106 detune?: number;
107 loop?: boolean;
108 loopEnd?: number;
109 loopStart?: number;
110 playbackRate?: number;
111}
112
113interface AudioContextInfo {
114 currentTime?: number;
115 sampleRate?: number;
116}
117
118interface AudioContextOptions {
119 latencyHint?: AudioContextLatencyCategory | number;
120 sampleRate?: number;
121}
122
123interface AudioNodeOptions {
124 channelCount?: number;
125 channelCountMode?: ChannelCountMode;
126 channelInterpretation?: ChannelInterpretation;
127}
128
129interface AudioParamDescriptor {
130 automationRate?: AutomationRate;
131 defaultValue?: number;
132 maxValue?: number;
133 minValue?: number;
134 name: string;
135}
136
137interface AudioProcessingEventInit extends EventInit {
138 inputBuffer: AudioBuffer;
139 outputBuffer: AudioBuffer;
140 playbackTime: number;
141}
142
143interface AudioTimestamp {
144 contextTime?: number;
145 performanceTime?: number;
146}
147
148interface AudioWorkletNodeOptions extends AudioNodeOptions {
149 numberOfInputs?: number;
150 numberOfOutputs?: number;
151 outputChannelCount?: number[];
152 parameterData?: Record<string, number>;
153 processorOptions?: any;
154}
155
156interface AuthenticationExtensionsClientInputs {
157 appid?: string;
158 authnSel?: AuthenticatorSelectionList;
159 exts?: boolean;
160 loc?: boolean;
161 txAuthGeneric?: txAuthGenericArg;
162 txAuthSimple?: string;
163 uvi?: boolean;
164 uvm?: boolean;
165}
166
167interface AuthenticationExtensionsClientOutputs {
168 appid?: boolean;
169 authnSel?: boolean;
170 exts?: AuthenticationExtensionsSupported;
171 loc?: Coordinates;
172 txAuthGeneric?: ArrayBuffer;
173 txAuthSimple?: string;
174 uvi?: ArrayBuffer;
175 uvm?: UvmEntries;
176}
177
178interface AuthenticatorSelectionCriteria {
179 authenticatorAttachment?: AuthenticatorAttachment;
180 requireResidentKey?: boolean;
181 userVerification?: UserVerificationRequirement;
182}
183
184interface BiquadFilterOptions extends AudioNodeOptions {
185 Q?: number;
186 detune?: number;
187 frequency?: number;
188 gain?: number;
189 type?: BiquadFilterType;
190}
191
192interface BlobPropertyBag {
193 endings?: EndingType;
194 type?: string;
195}
196
197interface ByteLengthChunk {
198 byteLength?: number;
199}
200
201interface CacheQueryOptions {
202 ignoreMethod?: boolean;
203 ignoreSearch?: boolean;
204 ignoreVary?: boolean;
205}
206
207interface CanvasRenderingContext2DSettings {
208 alpha?: boolean;
209 desynchronized?: boolean;
210}
211
212interface ChannelMergerOptions extends AudioNodeOptions {
213 numberOfInputs?: number;
214}
215
216interface ChannelSplitterOptions extends AudioNodeOptions {
217 numberOfOutputs?: number;
218}
219
220interface ClientData {
221 challenge: string;
222 extensions?: WebAuthnExtensions;
223 hashAlg: string | Algorithm;
224 origin: string;
225 rpId: string;
226 tokenBinding?: string;
227}
228
229interface ClientQueryOptions {
230 includeUncontrolled?: boolean;
231 type?: ClientTypes;
232}
233
234interface ClipboardEventInit extends EventInit {
235 clipboardData?: DataTransfer | null;
236}
237
238interface CloseEventInit extends EventInit {
239 code?: number;
240 reason?: string;
241 wasClean?: boolean;
242}
243
244interface CompositionEventInit extends UIEventInit {
245 data?: string;
246}
247
248interface ComputedEffectTiming extends EffectTiming {
249 activeDuration?: number;
250 currentIteration?: number | null;
251 endTime?: number;
252 localTime?: number | null;
253 progress?: number | null;
254}
255
256interface ComputedKeyframe {
257 composite: CompositeOperationOrAuto;
258 computedOffset: number;
259 easing: string;
260 offset: number | null;
261 [property: string]: string | number | null | undefined;
262}
263
264interface ConfirmSiteSpecificExceptionsInformation extends ExceptionInformation {
265 arrayOfDomainStrings?: string[];
266}
267
268interface ConstantSourceOptions {
269 offset?: number;
270}
271
272interface ConstrainBooleanParameters {
273 exact?: boolean;
274 ideal?: boolean;
275}
276
277interface ConstrainDOMStringParameters {
278 exact?: string | string[];
279 ideal?: string | string[];
280}
281
282interface ConstrainDoubleRange extends DoubleRange {
283 exact?: number;
284 ideal?: number;
285}
286
287interface ConstrainULongRange extends ULongRange {
288 exact?: number;
289 ideal?: number;
290}
291
292interface ConstrainVideoFacingModeParameters {
293 exact?: VideoFacingModeEnum | VideoFacingModeEnum[];
294 ideal?: VideoFacingModeEnum | VideoFacingModeEnum[];
295}
296
297interface ConvolverOptions extends AudioNodeOptions {
298 buffer?: AudioBuffer | null;
299 disableNormalization?: boolean;
300}
301
302interface CredentialCreationOptions {
303 publicKey?: PublicKeyCredentialCreationOptions;
304 signal?: AbortSignal;
305}
306
307interface CredentialRequestOptions {
308 mediation?: CredentialMediationRequirement;
309 publicKey?: PublicKeyCredentialRequestOptions;
310 signal?: AbortSignal;
311}
312
313interface CustomEventInit<T = any> extends EventInit {
314 detail?: T;
315}
316
317interface DOMMatrix2DInit {
318 a?: number;
319 b?: number;
320 c?: number;
321 d?: number;
322 e?: number;
323 f?: number;
324 m11?: number;
325 m12?: number;
326 m21?: number;
327 m22?: number;
328 m41?: number;
329 m42?: number;
330}
331
332interface DOMMatrixInit extends DOMMatrix2DInit {
333 is2D?: boolean;
334 m13?: number;
335 m14?: number;
336 m23?: number;
337 m24?: number;
338 m31?: number;
339 m32?: number;
340 m33?: number;
341 m34?: number;
342 m43?: number;
343 m44?: number;
344}
345
346interface DOMPointInit {
347 w?: number;
348 x?: number;
349 y?: number;
350 z?: number;
351}
352
353interface DOMQuadInit {
354 p1?: DOMPointInit;
355 p2?: DOMPointInit;
356 p3?: DOMPointInit;
357 p4?: DOMPointInit;
358}
359
360interface DOMRectInit {
361 height?: number;
362 width?: number;
363 x?: number;
364 y?: number;
365}
366
367interface DelayOptions extends AudioNodeOptions {
368 delayTime?: number;
369 maxDelayTime?: number;
370}
371
372interface DeviceLightEventInit extends EventInit {
373 value?: number;
374}
375
376interface DeviceMotionEventAccelerationInit {
377 x?: number | null;
378 y?: number | null;
379 z?: number | null;
380}
381
382interface DeviceMotionEventInit extends EventInit {
383 acceleration?: DeviceMotionEventAccelerationInit;
384 accelerationIncludingGravity?: DeviceMotionEventAccelerationInit;
385 interval?: number;
386 rotationRate?: DeviceMotionEventRotationRateInit;
387}
388
389interface DeviceMotionEventRotationRateInit {
390 alpha?: number | null;
391 beta?: number | null;
392 gamma?: number | null;
393}
394
395interface DeviceOrientationEventInit extends EventInit {
396 absolute?: boolean;
397 alpha?: number | null;
398 beta?: number | null;
399 gamma?: number | null;
400}
401
402interface DevicePermissionDescriptor extends PermissionDescriptor {
403 deviceId?: string;
404 name: "camera" | "microphone" | "speaker";
405}
406
407interface DocumentTimelineOptions {
408 originTime?: number;
409}
410
411interface DoubleRange {
412 max?: number;
413 min?: number;
414}
415
416interface DragEventInit extends MouseEventInit {
417 dataTransfer?: DataTransfer | null;
418}
419
420interface DynamicsCompressorOptions extends AudioNodeOptions {
421 attack?: number;
422 knee?: number;
423 ratio?: number;
424 release?: number;
425 threshold?: number;
426}
427
428interface EcKeyAlgorithm extends KeyAlgorithm {
429 namedCurve: NamedCurve;
430}
431
432interface EcKeyGenParams extends Algorithm {
433 namedCurve: NamedCurve;
434}
435
436interface EcKeyImportParams extends Algorithm {
437 namedCurve: NamedCurve;
438}
439
440interface EcdhKeyDeriveParams extends Algorithm {
441 public: CryptoKey;
442}
443
444interface EcdsaParams extends Algorithm {
445 hash: HashAlgorithmIdentifier;
446}
447
448interface EffectTiming {
449 delay?: number;
450 direction?: PlaybackDirection;
451 duration?: number | string;
452 easing?: string;
453 endDelay?: number;
454 fill?: FillMode;
455 iterationStart?: number;
456 iterations?: number;
457}
458
459interface ElementCreationOptions {
460 is?: string;
461}
462
463interface ElementDefinitionOptions {
464 extends?: string;
465}
466
467interface ErrorEventInit extends EventInit {
468 colno?: number;
469 error?: any;
470 filename?: string;
471 lineno?: number;
472 message?: string;
473}
474
475interface EventInit {
476 bubbles?: boolean;
477 cancelable?: boolean;
478 composed?: boolean;
479}
480
481interface EventListenerOptions {
482 capture?: boolean;
483}
484
485interface EventModifierInit extends UIEventInit {
486 altKey?: boolean;
487 ctrlKey?: boolean;
488 metaKey?: boolean;
489 modifierAltGraph?: boolean;
490 modifierCapsLock?: boolean;
491 modifierFn?: boolean;
492 modifierFnLock?: boolean;
493 modifierHyper?: boolean;
494 modifierNumLock?: boolean;
495 modifierScrollLock?: boolean;
496 modifierSuper?: boolean;
497 modifierSymbol?: boolean;
498 modifierSymbolLock?: boolean;
499 shiftKey?: boolean;
500}
501
502interface EventSourceInit {
503 withCredentials?: boolean;
504}
505
506interface ExceptionInformation {
507 domain?: string | null;
508}
509
510interface FilePropertyBag extends BlobPropertyBag {
511 lastModified?: number;
512}
513
514interface FocusEventInit extends UIEventInit {
515 relatedTarget?: EventTarget | null;
516}
517
518interface FocusNavigationEventInit extends EventInit {
519 navigationReason?: string | null;
520 originHeight?: number;
521 originLeft?: number;
522 originTop?: number;
523 originWidth?: number;
524}
525
526interface FocusNavigationOrigin {
527 originHeight?: number;
528 originLeft?: number;
529 originTop?: number;
530 originWidth?: number;
531}
532
533interface FocusOptions {
534 preventScroll?: boolean;
535}
536
537interface FullscreenOptions {
538 navigationUI?: FullscreenNavigationUI;
539}
540
541interface GainOptions extends AudioNodeOptions {
542 gain?: number;
543}
544
545interface GamepadEventInit extends EventInit {
546 gamepad: Gamepad;
547}
548
549interface GetNotificationOptions {
550 tag?: string;
551}
552
553interface GetRootNodeOptions {
554 composed?: boolean;
555}
556
557interface HashChangeEventInit extends EventInit {
558 newURL?: string;
559 oldURL?: string;
560}
561
562interface HkdfParams extends Algorithm {
563 hash: HashAlgorithmIdentifier;
564 info: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer;
565 salt: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer;
566}
567
568interface HmacImportParams extends Algorithm {
569 hash: HashAlgorithmIdentifier;
570 length?: number;
571}
572
573interface HmacKeyAlgorithm extends KeyAlgorithm {
574 hash: KeyAlgorithm;
575 length: number;
576}
577
578interface HmacKeyGenParams extends Algorithm {
579 hash: HashAlgorithmIdentifier;
580 length?: number;
581}
582
583interface IDBIndexParameters {
584 multiEntry?: boolean;
585 unique?: boolean;
586}
587
588interface IDBObjectStoreParameters {
589 autoIncrement?: boolean;
590 keyPath?: string | string[] | null;
591}
592
593interface IDBVersionChangeEventInit extends EventInit {
594 newVersion?: number | null;
595 oldVersion?: number;
596}
597
598interface IIRFilterOptions extends AudioNodeOptions {
599 feedback: number[];
600 feedforward: number[];
601}
602
603interface ImageBitmapRenderingContextSettings {
604 alpha?: boolean;
605}
606
607interface ImageEncodeOptions {
608 quality?: number;
609 type?: string;
610}
611
612interface InputEventInit extends UIEventInit {
613 data?: string | null;
614 inputType?: string;
615 isComposing?: boolean;
616}
617
618interface IntersectionObserverEntryInit {
619 boundingClientRect: DOMRectInit;
620 intersectionRatio: number;
621 intersectionRect: DOMRectInit;
622 isIntersecting: boolean;
623 rootBounds: DOMRectInit | null;
624 target: Element;
625 time: number;
626}
627
628interface IntersectionObserverInit {
629 root?: Element | null;
630 rootMargin?: string;
631 threshold?: number | number[];
632}
633
634interface JsonWebKey {
635 alg?: string;
636 crv?: string;
637 d?: string;
638 dp?: string;
639 dq?: string;
640 e?: string;
641 ext?: boolean;
642 k?: string;
643 key_ops?: string[];
644 kty?: string;
645 n?: string;
646 oth?: RsaOtherPrimesInfo[];
647 p?: string;
648 q?: string;
649 qi?: string;
650 use?: string;
651 x?: string;
652 y?: string;
653}
654
655interface KeyAlgorithm {
656 name: string;
657}
658
659interface KeyboardEventInit extends EventModifierInit {
660 code?: string;
661 isComposing?: boolean;
662 key?: string;
663 location?: number;
664 repeat?: boolean;
665}
666
667interface Keyframe {
668 composite?: CompositeOperationOrAuto;
669 easing?: string;
670 offset?: number | null;
671 [property: string]: string | number | null | undefined;
672}
673
674interface KeyframeAnimationOptions extends KeyframeEffectOptions {
675 id?: string;
676}
677
678interface KeyframeEffectOptions extends EffectTiming {
679 composite?: CompositeOperation;
680 iterationComposite?: IterationCompositeOperation;
681}
682
683interface MediaElementAudioSourceOptions {
684 mediaElement: HTMLMediaElement;
685}
686
687interface MediaEncryptedEventInit extends EventInit {
688 initData?: ArrayBuffer | null;
689 initDataType?: string;
690}
691
692interface MediaKeyMessageEventInit extends EventInit {
693 message: ArrayBuffer;
694 messageType: MediaKeyMessageType;
695}
696
697interface MediaKeySystemConfiguration {
698 audioCapabilities?: MediaKeySystemMediaCapability[];
699 distinctiveIdentifier?: MediaKeysRequirement;
700 initDataTypes?: string[];
701 label?: string;
702 persistentState?: MediaKeysRequirement;
703 sessionTypes?: string[];
704 videoCapabilities?: MediaKeySystemMediaCapability[];
705}
706
707interface MediaKeySystemMediaCapability {
708 contentType?: string;
709 robustness?: string;
710}
711
712interface MediaQueryListEventInit extends EventInit {
713 matches?: boolean;
714 media?: string;
715}
716
717interface MediaStreamAudioSourceOptions {
718 mediaStream: MediaStream;
719}
720
721interface MediaStreamConstraints {
722 audio?: boolean | MediaTrackConstraints;
723 peerIdentity?: string;
724 video?: boolean | MediaTrackConstraints;
725}
726
727interface MediaStreamErrorEventInit extends EventInit {
728 error?: MediaStreamError | null;
729}
730
731interface MediaStreamEventInit extends EventInit {
732 stream?: MediaStream;
733}
734
735interface MediaStreamTrackAudioSourceOptions {
736 mediaStreamTrack: MediaStreamTrack;
737}
738
739interface MediaStreamTrackEventInit extends EventInit {
740 track: MediaStreamTrack;
741}
742
743interface MediaTrackCapabilities {
744 aspectRatio?: DoubleRange;
745 autoGainControl?: boolean[];
746 channelCount?: ULongRange;
747 deviceId?: string;
748 echoCancellation?: boolean[];
749 facingMode?: string[];
750 frameRate?: DoubleRange;
751 groupId?: string;
752 height?: ULongRange;
753 latency?: DoubleRange;
754 noiseSuppression?: boolean[];
755 resizeMode?: string[];
756 sampleRate?: ULongRange;
757 sampleSize?: ULongRange;
758 width?: ULongRange;
759}
760
761interface MediaTrackConstraintSet {
762 aspectRatio?: ConstrainDouble;
763 autoGainControl?: ConstrainBoolean;
764 channelCount?: ConstrainULong;
765 deviceId?: ConstrainDOMString;
766 echoCancellation?: ConstrainBoolean;
767 facingMode?: ConstrainDOMString;
768 frameRate?: ConstrainDouble;
769 groupId?: ConstrainDOMString;
770 height?: ConstrainULong;
771 latency?: ConstrainDouble;
772 noiseSuppression?: ConstrainBoolean;
773 resizeMode?: ConstrainDOMString;
774 sampleRate?: ConstrainULong;
775 sampleSize?: ConstrainULong;
776 width?: ConstrainULong;
777}
778
779interface MediaTrackConstraints extends MediaTrackConstraintSet {
780 advanced?: MediaTrackConstraintSet[];
781}
782
783interface MediaTrackSettings {
784 aspectRatio?: number;
785 autoGainControl?: boolean;
786 channelCount?: number;
787 deviceId?: string;
788 echoCancellation?: boolean;
789 facingMode?: string;
790 frameRate?: number;
791 groupId?: string;
792 height?: number;
793 latency?: number;
794 noiseSuppression?: boolean;
795 resizeMode?: string;
796 sampleRate?: number;
797 sampleSize?: number;
798 width?: number;
799}
800
801interface MediaTrackSupportedConstraints {
802 aspectRatio?: boolean;
803 autoGainControl?: boolean;
804 channelCount?: boolean;
805 deviceId?: boolean;
806 echoCancellation?: boolean;
807 facingMode?: boolean;
808 frameRate?: boolean;
809 groupId?: boolean;
810 height?: boolean;
811 latency?: boolean;
812 noiseSuppression?: boolean;
813 resizeMode?: boolean;
814 sampleRate?: boolean;
815 sampleSize?: boolean;
816 width?: boolean;
817}
818
819interface MessageEventInit extends EventInit {
820 data?: any;
821 lastEventId?: string;
822 origin?: string;
823 ports?: MessagePort[];
824 source?: MessageEventSource | null;
825}
826
827interface MidiPermissionDescriptor extends PermissionDescriptor {
828 name: "midi";
829 sysex?: boolean;
830}
831
832interface MouseEventInit extends EventModifierInit {
833 button?: number;
834 buttons?: number;
835 clientX?: number;
836 clientY?: number;
837 movementX?: number;
838 movementY?: number;
839 relatedTarget?: EventTarget | null;
840 screenX?: number;
841 screenY?: number;
842}
843
844interface MultiCacheQueryOptions extends CacheQueryOptions {
845 cacheName?: string;
846}
847
848interface MutationObserverInit {
849 /**
850 * Set to a list of attribute local names (without namespace) if not all attribute mutations need to be observed and attributes is true or omitted.
851 */
852 attributeFilter?: string[];
853 /**
854 * Set to true if attributes is true or omitted and target's attribute value before the mutation needs to be recorded.
855 */
856 attributeOldValue?: boolean;
857 /**
858 * Set to true if mutations to target's attributes are to be observed. Can be omitted if attributeOldValue or attributeFilter is specified.
859 */
860 attributes?: boolean;
861 /**
862 * Set to true if mutations to target's data are to be observed. Can be omitted if characterDataOldValue is specified.
863 */
864 characterData?: boolean;
865 /**
866 * Set to true if characterData is set to true or omitted and target's data before the mutation needs to be recorded.
867 */
868 characterDataOldValue?: boolean;
869 /**
870 * Set to true if mutations to target's children are to be observed.
871 */
872 childList?: boolean;
873 /**
874 * Set to true if mutations to not just target, but also target's descendants are to be observed.
875 */
876 subtree?: boolean;
877}
878
879interface NavigationPreloadState {
880 enabled?: boolean;
881 headerValue?: string;
882}
883
884interface NotificationAction {
885 action: string;
886 icon?: string;
887 title: string;
888}
889
890interface NotificationOptions {
891 actions?: NotificationAction[];
892 badge?: string;
893 body?: string;
894 data?: any;
895 dir?: NotificationDirection;
896 icon?: string;
897 image?: string;
898 lang?: string;
899 renotify?: boolean;
900 requireInteraction?: boolean;
901 silent?: boolean;
902 tag?: string;
903 timestamp?: number;
904 vibrate?: VibratePattern;
905}
906
907interface OfflineAudioCompletionEventInit extends EventInit {
908 renderedBuffer: AudioBuffer;
909}
910
911interface OfflineAudioContextOptions {
912 length: number;
913 numberOfChannels?: number;
914 sampleRate: number;
915}
916
917interface OptionalEffectTiming {
918 delay?: number;
919 direction?: PlaybackDirection;
920 duration?: number | string;
921 easing?: string;
922 endDelay?: number;
923 fill?: FillMode;
924 iterationStart?: number;
925 iterations?: number;
926}
927
928interface OscillatorOptions extends AudioNodeOptions {
929 detune?: number;
930 frequency?: number;
931 periodicWave?: PeriodicWave;
932 type?: OscillatorType;
933}
934
935interface PannerOptions extends AudioNodeOptions {
936 coneInnerAngle?: number;
937 coneOuterAngle?: number;
938 coneOuterGain?: number;
939 distanceModel?: DistanceModelType;
940 maxDistance?: number;
941 orientationX?: number;
942 orientationY?: number;
943 orientationZ?: number;
944 panningModel?: PanningModelType;
945 positionX?: number;
946 positionY?: number;
947 positionZ?: number;
948 refDistance?: number;
949 rolloffFactor?: number;
950}
951
952interface PaymentCurrencyAmount {
953 currency: string;
954 currencySystem?: string;
955 value: string;
956}
957
958interface PaymentDetailsBase {
959 displayItems?: PaymentItem[];
960 modifiers?: PaymentDetailsModifier[];
961 shippingOptions?: PaymentShippingOption[];
962}
963
964interface PaymentDetailsInit extends PaymentDetailsBase {
965 id?: string;
966 total: PaymentItem;
967}
968
969interface PaymentDetailsModifier {
970 additionalDisplayItems?: PaymentItem[];
971 data?: any;
972 supportedMethods: string | string[];
973 total?: PaymentItem;
974}
975
976interface PaymentDetailsUpdate extends PaymentDetailsBase {
977 error?: string;
978 total?: PaymentItem;
979}
980
981interface PaymentItem {
982 amount: PaymentCurrencyAmount;
983 label: string;
984 pending?: boolean;
985}
986
987interface PaymentMethodData {
988 data?: any;
989 supportedMethods: string | string[];
990}
991
992interface PaymentOptions {
993 requestPayerEmail?: boolean;
994 requestPayerName?: boolean;
995 requestPayerPhone?: boolean;
996 requestShipping?: boolean;
997 shippingType?: string;
998}
999
1000interface PaymentRequestUpdateEventInit extends EventInit {
1001}
1002
1003interface PaymentShippingOption {
1004 amount: PaymentCurrencyAmount;
1005 id: string;
1006 label: string;
1007 selected?: boolean;
1008}
1009
1010interface Pbkdf2Params extends Algorithm {
1011 hash: HashAlgorithmIdentifier;
1012 iterations: number;
1013 salt: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer;
1014}
1015
1016interface PerformanceObserverInit {
1017 buffered?: boolean;
1018 entryTypes?: string[];
1019 type?: string;
1020}
1021
1022interface PeriodicWaveConstraints {
1023 disableNormalization?: boolean;
1024}
1025
1026interface PeriodicWaveOptions extends PeriodicWaveConstraints {
1027 imag?: number[] | Float32Array;
1028 real?: number[] | Float32Array;
1029}
1030
1031interface PermissionDescriptor {
1032 name: PermissionName;
1033}
1034
1035interface PipeOptions {
1036 preventAbort?: boolean;
1037 preventCancel?: boolean;
1038 preventClose?: boolean;
1039 signal?: AbortSignal;
1040}
1041
1042interface PointerEventInit extends MouseEventInit {
1043 height?: number;
1044 isPrimary?: boolean;
1045 pointerId?: number;
1046 pointerType?: string;
1047 pressure?: number;
1048 tangentialPressure?: number;
1049 tiltX?: number;
1050 tiltY?: number;
1051 twist?: number;
1052 width?: number;
1053}
1054
1055interface PopStateEventInit extends EventInit {
1056 state?: any;
1057}
1058
1059interface PositionOptions {
1060 enableHighAccuracy?: boolean;
1061 maximumAge?: number;
1062 timeout?: number;
1063}
1064
1065interface PostMessageOptions {
1066 transfer?: any[];
1067}
1068
1069interface ProgressEventInit extends EventInit {
1070 lengthComputable?: boolean;
1071 loaded?: number;
1072 total?: number;
1073}
1074
1075interface PromiseRejectionEventInit extends EventInit {
1076 promise: Promise<any>;
1077 reason?: any;
1078}
1079
1080interface PropertyIndexedKeyframes {
1081 composite?: CompositeOperationOrAuto | CompositeOperationOrAuto[];
1082 easing?: string | string[];
1083 offset?: number | (number | null)[];
1084 [property: string]: string | string[] | number | null | (number | null)[] | undefined;
1085}
1086
1087interface PublicKeyCredentialCreationOptions {
1088 attestation?: AttestationConveyancePreference;
1089 authenticatorSelection?: AuthenticatorSelectionCriteria;
1090 challenge: BufferSource;
1091 excludeCredentials?: PublicKeyCredentialDescriptor[];
1092 extensions?: AuthenticationExtensionsClientInputs;
1093 pubKeyCredParams: PublicKeyCredentialParameters[];
1094 rp: PublicKeyCredentialRpEntity;
1095 timeout?: number;
1096 user: PublicKeyCredentialUserEntity;
1097}
1098
1099interface PublicKeyCredentialDescriptor {
1100 id: BufferSource;
1101 transports?: AuthenticatorTransport[];
1102 type: PublicKeyCredentialType;
1103}
1104
1105interface PublicKeyCredentialEntity {
1106 icon?: string;
1107 name: string;
1108}
1109
1110interface PublicKeyCredentialParameters {
1111 alg: COSEAlgorithmIdentifier;
1112 type: PublicKeyCredentialType;
1113}
1114
1115interface PublicKeyCredentialRequestOptions {
1116 allowCredentials?: PublicKeyCredentialDescriptor[];
1117 challenge: BufferSource;
1118 extensions?: AuthenticationExtensionsClientInputs;
1119 rpId?: string;
1120 timeout?: number;
1121 userVerification?: UserVerificationRequirement;
1122}
1123
1124interface PublicKeyCredentialRpEntity extends PublicKeyCredentialEntity {
1125 id?: string;
1126}
1127
1128interface PublicKeyCredentialUserEntity extends PublicKeyCredentialEntity {
1129 displayName: string;
1130 id: BufferSource;
1131}
1132
1133interface PushPermissionDescriptor extends PermissionDescriptor {
1134 name: "push";
1135 userVisibleOnly?: boolean;
1136}
1137
1138interface PushSubscriptionJSON {
1139 endpoint?: string;
1140 expirationTime?: number | null;
1141 keys?: Record<string, string>;
1142}
1143
1144interface PushSubscriptionOptionsInit {
1145 applicationServerKey?: BufferSource | string | null;
1146 userVisibleOnly?: boolean;
1147}
1148
1149interface QueuingStrategy<T = any> {
1150 highWaterMark?: number;
1151 size?: QueuingStrategySizeCallback<T>;
1152}
1153
1154interface RTCAnswerOptions extends RTCOfferAnswerOptions {
1155}
1156
1157interface RTCCertificateExpiration {
1158 expires?: number;
1159}
1160
1161interface RTCConfiguration {
1162 bundlePolicy?: RTCBundlePolicy;
1163 certificates?: RTCCertificate[];
1164 iceCandidatePoolSize?: number;
1165 iceServers?: RTCIceServer[];
1166 iceTransportPolicy?: RTCIceTransportPolicy;
1167 peerIdentity?: string;
1168 rtcpMuxPolicy?: RTCRtcpMuxPolicy;
1169}
1170
1171interface RTCDTMFToneChangeEventInit extends EventInit {
1172 tone: string;
1173}
1174
1175interface RTCDataChannelEventInit extends EventInit {
1176 channel: RTCDataChannel;
1177}
1178
1179interface RTCDataChannelInit {
1180 id?: number;
1181 maxPacketLifeTime?: number;
1182 maxRetransmits?: number;
1183 negotiated?: boolean;
1184 ordered?: boolean;
1185 priority?: RTCPriorityType;
1186 protocol?: string;
1187}
1188
1189interface RTCDtlsFingerprint {
1190 algorithm?: string;
1191 value?: string;
1192}
1193
1194interface RTCDtlsParameters {
1195 fingerprints?: RTCDtlsFingerprint[];
1196 role?: RTCDtlsRole;
1197}
1198
1199interface RTCErrorEventInit extends EventInit {
1200 error?: RTCError | null;
1201}
1202
1203interface RTCIceCandidateAttributes extends RTCStats {
1204 addressSourceUrl?: string;
1205 candidateType?: RTCStatsIceCandidateType;
1206 ipAddress?: string;
1207 portNumber?: number;
1208 priority?: number;
1209 transport?: string;
1210}
1211
1212interface RTCIceCandidateComplete {
1213}
1214
1215interface RTCIceCandidateDictionary {
1216 foundation?: string;
1217 ip?: string;
1218 msMTurnSessionId?: string;
1219 port?: number;
1220 priority?: number;
1221 protocol?: RTCIceProtocol;
1222 relatedAddress?: string;
1223 relatedPort?: number;
1224 tcpType?: RTCIceTcpCandidateType;
1225 type?: RTCIceCandidateType;
1226}
1227
1228interface RTCIceCandidateInit {
1229 candidate?: string;
1230 sdpMLineIndex?: number | null;
1231 sdpMid?: string | null;
1232 usernameFragment?: string;
1233}
1234
1235interface RTCIceCandidatePair {
1236 local?: RTCIceCandidate;
1237 remote?: RTCIceCandidate;
1238}
1239
1240interface RTCIceCandidatePairStats extends RTCStats {
1241 availableIncomingBitrate?: number;
1242 availableOutgoingBitrate?: number;
1243 bytesReceived?: number;
1244 bytesSent?: number;
1245 localCandidateId?: string;
1246 nominated?: boolean;
1247 priority?: number;
1248 readable?: boolean;
1249 remoteCandidateId?: string;
1250 roundTripTime?: number;
1251 state?: RTCStatsIceCandidatePairState;
1252 transportId?: string;
1253 writable?: boolean;
1254}
1255
1256interface RTCIceGatherOptions {
1257 gatherPolicy?: RTCIceGatherPolicy;
1258 iceservers?: RTCIceServer[];
1259}
1260
1261interface RTCIceParameters {
1262 password?: string;
1263 usernameFragment?: string;
1264}
1265
1266interface RTCIceServer {
1267 credential?: string | RTCOAuthCredential;
1268 credentialType?: RTCIceCredentialType;
1269 urls: string | string[];
1270 username?: string;
1271}
1272
1273interface RTCIdentityProviderOptions {
1274 peerIdentity?: string;
1275 protocol?: string;
1276 usernameHint?: string;
1277}
1278
1279interface RTCInboundRTPStreamStats extends RTCRTPStreamStats {
1280 bytesReceived?: number;
1281 fractionLost?: number;
1282 jitter?: number;
1283 packetsLost?: number;
1284 packetsReceived?: number;
1285}
1286
1287interface RTCMediaStreamTrackStats extends RTCStats {
1288 audioLevel?: number;
1289 echoReturnLoss?: number;
1290 echoReturnLossEnhancement?: number;
1291 frameHeight?: number;
1292 frameWidth?: number;
1293 framesCorrupted?: number;
1294 framesDecoded?: number;
1295 framesDropped?: number;
1296 framesPerSecond?: number;
1297 framesReceived?: number;
1298 framesSent?: number;
1299 remoteSource?: boolean;
1300 ssrcIds?: string[];
1301 trackIdentifier?: string;
1302}
1303
1304interface RTCOAuthCredential {
1305 accessToken: string;
1306 macKey: string;
1307}
1308
1309interface RTCOfferAnswerOptions {
1310 voiceActivityDetection?: boolean;
1311}
1312
1313interface RTCOfferOptions extends RTCOfferAnswerOptions {
1314 iceRestart?: boolean;
1315 offerToReceiveAudio?: boolean;
1316 offerToReceiveVideo?: boolean;
1317}
1318
1319interface RTCOutboundRTPStreamStats extends RTCRTPStreamStats {
1320 bytesSent?: number;
1321 packetsSent?: number;
1322 roundTripTime?: number;
1323 targetBitrate?: number;
1324}
1325
1326interface RTCPeerConnectionIceErrorEventInit extends EventInit {
1327 errorCode: number;
1328 hostCandidate?: string;
1329 statusText?: string;
1330 url?: string;
1331}
1332
1333interface RTCPeerConnectionIceEventInit extends EventInit {
1334 candidate?: RTCIceCandidate | null;
1335 url?: string | null;
1336}
1337
1338interface RTCRTPStreamStats extends RTCStats {
1339 associateStatsId?: string;
1340 codecId?: string;
1341 firCount?: number;
1342 isRemote?: boolean;
1343 mediaTrackId?: string;
1344 mediaType?: string;
1345 nackCount?: number;
1346 pliCount?: number;
1347 sliCount?: number;
1348 ssrc?: string;
1349 transportId?: string;
1350}
1351
1352interface RTCRtcpFeedback {
1353 parameter?: string;
1354 type?: string;
1355}
1356
1357interface RTCRtcpParameters {
1358 cname?: string;
1359 reducedSize?: boolean;
1360}
1361
1362interface RTCRtpCapabilities {
1363 codecs: RTCRtpCodecCapability[];
1364 headerExtensions: RTCRtpHeaderExtensionCapability[];
1365}
1366
1367interface RTCRtpCodecCapability {
1368 channels?: number;
1369 clockRate: number;
1370 mimeType: string;
1371 sdpFmtpLine?: string;
1372}
1373
1374interface RTCRtpCodecParameters {
1375 channels?: number;
1376 clockRate: number;
1377 mimeType: string;
1378 payloadType: number;
1379 sdpFmtpLine?: string;
1380}
1381
1382interface RTCRtpCodingParameters {
1383 rid?: string;
1384}
1385
1386interface RTCRtpContributingSource {
1387 audioLevel?: number;
1388 source: number;
1389 timestamp: number;
1390}
1391
1392interface RTCRtpDecodingParameters extends RTCRtpCodingParameters {
1393}
1394
1395interface RTCRtpEncodingParameters extends RTCRtpCodingParameters {
1396 active?: boolean;
1397 codecPayloadType?: number;
1398 dtx?: RTCDtxStatus;
1399 maxBitrate?: number;
1400 maxFramerate?: number;
1401 priority?: RTCPriorityType;
1402 ptime?: number;
1403 scaleResolutionDownBy?: number;
1404}
1405
1406interface RTCRtpFecParameters {
1407 mechanism?: string;
1408 ssrc?: number;
1409}
1410
1411interface RTCRtpHeaderExtension {
1412 kind?: string;
1413 preferredEncrypt?: boolean;
1414 preferredId?: number;
1415 uri?: string;
1416}
1417
1418interface RTCRtpHeaderExtensionCapability {
1419 uri?: string;
1420}
1421
1422interface RTCRtpHeaderExtensionParameters {
1423 encrypted?: boolean;
1424 id: number;
1425 uri: string;
1426}
1427
1428interface RTCRtpParameters {
1429 codecs: RTCRtpCodecParameters[];
1430 headerExtensions: RTCRtpHeaderExtensionParameters[];
1431 rtcp: RTCRtcpParameters;
1432}
1433
1434interface RTCRtpReceiveParameters extends RTCRtpParameters {
1435 encodings: RTCRtpDecodingParameters[];
1436}
1437
1438interface RTCRtpRtxParameters {
1439 ssrc?: number;
1440}
1441
1442interface RTCRtpSendParameters extends RTCRtpParameters {
1443 degradationPreference?: RTCDegradationPreference;
1444 encodings: RTCRtpEncodingParameters[];
1445 transactionId: string;
1446}
1447
1448interface RTCRtpSynchronizationSource extends RTCRtpContributingSource {
1449 voiceActivityFlag?: boolean;
1450}
1451
1452interface RTCRtpTransceiverInit {
1453 direction?: RTCRtpTransceiverDirection;
1454 sendEncodings?: RTCRtpEncodingParameters[];
1455 streams?: MediaStream[];
1456}
1457
1458interface RTCRtpUnhandled {
1459 muxId?: string;
1460 payloadType?: number;
1461 ssrc?: number;
1462}
1463
1464interface RTCSessionDescriptionInit {
1465 sdp?: string;
1466 type: RTCSdpType;
1467}
1468
1469interface RTCSrtpKeyParam {
1470 keyMethod?: string;
1471 keySalt?: string;
1472 lifetime?: string;
1473 mkiLength?: number;
1474 mkiValue?: number;
1475}
1476
1477interface RTCSrtpSdesParameters {
1478 cryptoSuite?: string;
1479 keyParams?: RTCSrtpKeyParam[];
1480 sessionParams?: string[];
1481 tag?: number;
1482}
1483
1484interface RTCSsrcRange {
1485 max?: number;
1486 min?: number;
1487}
1488
1489interface RTCStats {
1490 id: string;
1491 timestamp: number;
1492 type: RTCStatsType;
1493}
1494
1495interface RTCStatsEventInit extends EventInit {
1496 report: RTCStatsReport;
1497}
1498
1499interface RTCStatsReport {
1500}
1501
1502interface RTCTrackEventInit extends EventInit {
1503 receiver: RTCRtpReceiver;
1504 streams?: MediaStream[];
1505 track: MediaStreamTrack;
1506 transceiver: RTCRtpTransceiver;
1507}
1508
1509interface RTCTransportStats extends RTCStats {
1510 activeConnection?: boolean;
1511 bytesReceived?: number;
1512 bytesSent?: number;
1513 localCertificateId?: string;
1514 remoteCertificateId?: string;
1515 rtcpTransportStatsId?: string;
1516 selectedCandidatePairId?: string;
1517}
1518
1519interface RegistrationOptions {
1520 scope?: string;
1521 type?: WorkerType;
1522 updateViaCache?: ServiceWorkerUpdateViaCache;
1523}
1524
1525interface RequestInit {
1526 /**
1527 * A BodyInit object or null to set request's body.
1528 */
1529 body?: BodyInit | null;
1530 /**
1531 * A string indicating how the request will interact with the browser's cache to set request's cache.
1532 */
1533 cache?: RequestCache;
1534 /**
1535 * A string indicating whether credentials will be sent with the request always, never, or only when sent to a same-origin URL. Sets request's credentials.
1536 */
1537 credentials?: RequestCredentials;
1538 /**
1539 * A Headers object, an object literal, or an array of two-item arrays to set request's headers.
1540 */
1541 headers?: HeadersInit;
1542 /**
1543 * A cryptographic hash of the resource to be fetched by request. Sets request's integrity.
1544 */
1545 integrity?: string;
1546 /**
1547 * A boolean to set request's keepalive.
1548 */
1549 keepalive?: boolean;
1550 /**
1551 * A string to set request's method.
1552 */
1553 method?: string;
1554 /**
1555 * A string to indicate whether the request will use CORS, or will be restricted to same-origin URLs. Sets request's mode.
1556 */
1557 mode?: RequestMode;
1558 /**
1559 * A string indicating whether request follows redirects, results in an error upon encountering a redirect, or returns the redirect (in an opaque fashion). Sets request's redirect.
1560 */
1561 redirect?: RequestRedirect;
1562 /**
1563 * A string whose value is a same-origin URL, "about:client", or the empty string, to set request's referrer.
1564 */
1565 referrer?: string;
1566 /**
1567 * A referrer policy to set request's referrerPolicy.
1568 */
1569 referrerPolicy?: ReferrerPolicy;
1570 /**
1571 * An AbortSignal to set request's signal.
1572 */
1573 signal?: AbortSignal | null;
1574 /**
1575 * Can only be null. Used to disassociate request from any Window.
1576 */
1577 window?: any;
1578}
1579
1580interface ResponseInit {
1581 headers?: HeadersInit;
1582 status?: number;
1583 statusText?: string;
1584}
1585
1586interface RsaHashedImportParams extends Algorithm {
1587 hash: HashAlgorithmIdentifier;
1588}
1589
1590interface RsaHashedKeyAlgorithm extends RsaKeyAlgorithm {
1591 hash: KeyAlgorithm;
1592}
1593
1594interface RsaHashedKeyGenParams extends RsaKeyGenParams {
1595 hash: HashAlgorithmIdentifier;
1596}
1597
1598interface RsaKeyAlgorithm extends KeyAlgorithm {
1599 modulusLength: number;
1600 publicExponent: BigInteger;
1601}
1602
1603interface RsaKeyGenParams extends Algorithm {
1604 modulusLength: number;
1605 publicExponent: BigInteger;
1606}
1607
1608interface RsaOaepParams extends Algorithm {
1609 label?: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer;
1610}
1611
1612interface RsaOtherPrimesInfo {
1613 d?: string;
1614 r?: string;
1615 t?: string;
1616}
1617
1618interface RsaPssParams extends Algorithm {
1619 saltLength: number;
1620}
1621
1622interface SVGBoundingBoxOptions {
1623 clipped?: boolean;
1624 fill?: boolean;
1625 markers?: boolean;
1626 stroke?: boolean;
1627}
1628
1629interface ScopedCredentialDescriptor {
1630 id: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer | null;
1631 transports?: Transport[];
1632 type: ScopedCredentialType;
1633}
1634
1635interface ScopedCredentialOptions {
1636 excludeList?: ScopedCredentialDescriptor[];
1637 extensions?: WebAuthnExtensions;
1638 rpId?: string;
1639 timeoutSeconds?: number;
1640}
1641
1642interface ScopedCredentialParameters {
1643 algorithm: string | Algorithm;
1644 type: ScopedCredentialType;
1645}
1646
1647interface ScrollIntoViewOptions extends ScrollOptions {
1648 block?: ScrollLogicalPosition;
1649 inline?: ScrollLogicalPosition;
1650}
1651
1652interface ScrollOptions {
1653 behavior?: ScrollBehavior;
1654}
1655
1656interface ScrollToOptions extends ScrollOptions {
1657 left?: number;
1658 top?: number;
1659}
1660
1661interface SecurityPolicyViolationEventInit extends EventInit {
1662 blockedURI?: string;
1663 columnNumber?: number;
1664 documentURI?: string;
1665 effectiveDirective?: string;
1666 lineNumber?: number;
1667 originalPolicy?: string;
1668 referrer?: string;
1669 sourceFile?: string;
1670 statusCode?: number;
1671 violatedDirective?: string;
1672}
1673
1674interface ServiceWorkerMessageEventInit extends EventInit {
1675 data?: any;
1676 lastEventId?: string;
1677 origin?: string;
1678 ports?: MessagePort[] | null;
1679 source?: ServiceWorker | MessagePort | null;
1680}
1681
1682interface ShadowRootInit {
1683 delegatesFocus?: boolean;
1684 mode: ShadowRootMode;
1685}
1686
1687interface StereoPannerOptions extends AudioNodeOptions {
1688 pan?: number;
1689}
1690
1691interface StorageEstimate {
1692 quota?: number;
1693 usage?: number;
1694}
1695
1696interface StorageEventInit extends EventInit {
1697 key?: string | null;
1698 newValue?: string | null;
1699 oldValue?: string | null;
1700 storageArea?: Storage | null;
1701 url?: string;
1702}
1703
1704interface StoreExceptionsInformation extends ExceptionInformation {
1705 detailURI?: string | null;
1706 explanationString?: string | null;
1707 siteName?: string | null;
1708}
1709
1710interface StoreSiteSpecificExceptionsInformation extends StoreExceptionsInformation {
1711 arrayOfDomainStrings?: string[];
1712}
1713
1714interface TextDecodeOptions {
1715 stream?: boolean;
1716}
1717
1718interface TextDecoderOptions {
1719 fatal?: boolean;
1720 ignoreBOM?: boolean;
1721}
1722
1723interface TextEncoderEncodeIntoResult {
1724 read?: number;
1725 written?: number;
1726}
1727
1728interface TouchEventInit extends EventModifierInit {
1729 changedTouches?: Touch[];
1730 targetTouches?: Touch[];
1731 touches?: Touch[];
1732}
1733
1734interface TouchInit {
1735 altitudeAngle?: number;
1736 azimuthAngle?: number;
1737 clientX?: number;
1738 clientY?: number;
1739 force?: number;
1740 identifier: number;
1741 pageX?: number;
1742 pageY?: number;
1743 radiusX?: number;
1744 radiusY?: number;
1745 rotationAngle?: number;
1746 screenX?: number;
1747 screenY?: number;
1748 target: EventTarget;
1749 touchType?: TouchType;
1750}
1751
1752interface TrackEventInit extends EventInit {
1753 track?: VideoTrack | AudioTrack | TextTrack | null;
1754}
1755
1756interface Transformer<I = any, O = any> {
1757 flush?: TransformStreamDefaultControllerCallback<O>;
1758 readableType?: undefined;
1759 start?: TransformStreamDefaultControllerCallback<O>;
1760 transform?: TransformStreamDefaultControllerTransformCallback<I, O>;
1761 writableType?: undefined;
1762}
1763
1764interface TransitionEventInit extends EventInit {
1765 elapsedTime?: number;
1766 propertyName?: string;
1767 pseudoElement?: string;
1768}
1769
1770interface UIEventInit extends EventInit {
1771 detail?: number;
1772 view?: Window | null;
1773}
1774
1775interface ULongRange {
1776 max?: number;
1777 min?: number;
1778}
1779
1780interface UnderlyingByteSource {
1781 autoAllocateChunkSize?: number;
1782 cancel?: ReadableStreamErrorCallback;
1783 pull?: ReadableByteStreamControllerCallback;
1784 start?: ReadableByteStreamControllerCallback;
1785 type: "bytes";
1786}
1787
1788interface UnderlyingSink<W = any> {
1789 abort?: WritableStreamErrorCallback;
1790 close?: WritableStreamDefaultControllerCloseCallback;
1791 start?: WritableStreamDefaultControllerStartCallback;
1792 type?: undefined;
1793 write?: WritableStreamDefaultControllerWriteCallback<W>;
1794}
1795
1796interface UnderlyingSource<R = any> {
1797 cancel?: ReadableStreamErrorCallback;
1798 pull?: ReadableStreamDefaultControllerCallback<R>;
1799 start?: ReadableStreamDefaultControllerCallback<R>;
1800 type?: undefined;
1801}
1802
1803interface VRDisplayEventInit extends EventInit {
1804 display: VRDisplay;
1805 reason?: VRDisplayEventReason;
1806}
1807
1808interface VRLayer {
1809 leftBounds?: number[] | Float32Array | null;
1810 rightBounds?: number[] | Float32Array | null;
1811 source?: HTMLCanvasElement | null;
1812}
1813
1814interface VRStageParameters {
1815 sittingToStandingTransform?: Float32Array;
1816 sizeX?: number;
1817 sizeY?: number;
1818}
1819
1820interface WaveShaperOptions extends AudioNodeOptions {
1821 curve?: number[] | Float32Array;
1822 oversample?: OverSampleType;
1823}
1824
1825interface WebAuthnExtensions {
1826}
1827
1828interface WebGLContextAttributes {
1829 alpha?: boolean;
1830 antialias?: boolean;
1831 depth?: boolean;
1832 desynchronized?: boolean;
1833 failIfMajorPerformanceCaveat?: boolean;
1834 powerPreference?: WebGLPowerPreference;
1835 premultipliedAlpha?: boolean;
1836 preserveDrawingBuffer?: boolean;
1837 stencil?: boolean;
1838}
1839
1840interface WebGLContextEventInit extends EventInit {
1841 statusMessage?: string;
1842}
1843
1844interface WheelEventInit extends MouseEventInit {
1845 deltaMode?: number;
1846 deltaX?: number;
1847 deltaY?: number;
1848 deltaZ?: number;
1849}
1850
1851interface WorkerOptions {
1852 credentials?: RequestCredentials;
1853 name?: string;
1854 type?: WorkerType;
1855}
1856
1857interface WorkletOptions {
1858 credentials?: RequestCredentials;
1859}
1860
1861interface txAuthGenericArg {
1862 content: ArrayBuffer;
1863 contentType: string;
1864}
1865
1866interface EventListener {
1867 (evt: Event): void;
1868}
1869
1870type XPathNSResolver = ((prefix: string | null) => string | null) | { lookupNamespaceURI(prefix: string | null): string | null; };
1871
1872/** The ANGLE_instanced_arrays extension is part of the WebGL API and allows to draw the same object, or groups of similar objects multiple times, if they share the same vertex data, primitive count and type. */
1873interface ANGLE_instanced_arrays {
1874 drawArraysInstancedANGLE(mode: GLenum, first: GLint, count: GLsizei, primcount: GLsizei): void;
1875 drawElementsInstancedANGLE(mode: GLenum, count: GLsizei, type: GLenum, offset: GLintptr, primcount: GLsizei): void;
1876 vertexAttribDivisorANGLE(index: GLuint, divisor: GLuint): void;
1877 readonly VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE: GLenum;
1878}
1879
1880/** A controller object that allows you to abort one or more DOM requests as and when desired. */
1881interface AbortController {
1882 /**
1883 * Returns the AbortSignal object associated with this object.
1884 */
1885 readonly signal: AbortSignal;
1886 /**
1887 * 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.
1888 */
1889 abort(): void;
1890}
1891
1892declare var AbortController: {
1893 prototype: AbortController;
1894 new(): AbortController;
1895};
1896
1897interface AbortSignalEventMap {
1898 "abort": Event;
1899}
1900
1901/** A signal object that allows you to communicate with a DOM request (such as a Fetch) and abort it if required via an AbortController object. */
1902interface AbortSignal extends EventTarget {
1903 /**
1904 * Returns true if this AbortSignal's AbortController has signaled to abort, and false otherwise.
1905 */
1906 readonly aborted: boolean;
1907 onabort: ((this: AbortSignal, ev: Event) => any) | null;
1908 addEventListener<K extends keyof AbortSignalEventMap>(type: K, listener: (this: AbortSignal, ev: AbortSignalEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1909 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1910 removeEventListener<K extends keyof AbortSignalEventMap>(type: K, listener: (this: AbortSignal, ev: AbortSignalEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1911 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1912}
1913
1914declare var AbortSignal: {
1915 prototype: AbortSignal;
1916 new(): AbortSignal;
1917};
1918
1919interface AbstractRange {
1920 /**
1921 * Returns true if range is collapsed, and false otherwise.
1922 */
1923 readonly collapsed: boolean;
1924 /**
1925 * Returns range's end node.
1926 */
1927 readonly endContainer: Node;
1928 /**
1929 * Returns range's end offset.
1930 */
1931 readonly endOffset: number;
1932 /**
1933 * Returns range's start node.
1934 */
1935 readonly startContainer: Node;
1936 /**
1937 * Returns range's start offset.
1938 */
1939 readonly startOffset: number;
1940}
1941
1942declare var AbstractRange: {
1943 prototype: AbstractRange;
1944 new(): AbstractRange;
1945};
1946
1947interface AbstractWorkerEventMap {
1948 "error": ErrorEvent;
1949}
1950
1951interface AbstractWorker {
1952 onerror: ((this: AbstractWorker, ev: ErrorEvent) => any) | null;
1953 addEventListener<K extends keyof AbstractWorkerEventMap>(type: K, listener: (this: AbstractWorker, ev: AbstractWorkerEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1954 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1955 removeEventListener<K extends keyof AbstractWorkerEventMap>(type: K, listener: (this: AbstractWorker, ev: AbstractWorkerEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1956 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1957}
1958
1959interface AesCfbParams extends Algorithm {
1960 iv: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer;
1961}
1962
1963interface AesCmacParams extends Algorithm {
1964 length: number;
1965}
1966
1967/** A node able to provide real-time frequency and time-domain analysis information. It is an AudioNode that passes the audio stream unchanged from the input to the output, but allows you to take the generated data, process it, and create audio visualizations. */
1968interface AnalyserNode extends AudioNode {
1969 fftSize: number;
1970 readonly frequencyBinCount: number;
1971 maxDecibels: number;
1972 minDecibels: number;
1973 smoothingTimeConstant: number;
1974 getByteFrequencyData(array: Uint8Array): void;
1975 getByteTimeDomainData(array: Uint8Array): void;
1976 getFloatFrequencyData(array: Float32Array): void;
1977 getFloatTimeDomainData(array: Float32Array): void;
1978}
1979
1980declare var AnalyserNode: {
1981 prototype: AnalyserNode;
1982 new(context: BaseAudioContext, options?: AnalyserOptions): AnalyserNode;
1983};
1984
1985interface Animatable {
1986 animate(keyframes: Keyframe[] | PropertyIndexedKeyframes | null, options?: number | KeyframeAnimationOptions): Animation;
1987 getAnimations(): Animation[];
1988}
1989
1990interface AnimationEventMap {
1991 "cancel": AnimationPlaybackEvent;
1992 "finish": AnimationPlaybackEvent;
1993}
1994
1995interface Animation extends EventTarget {
1996 currentTime: number | null;
1997 effect: AnimationEffect | null;
1998 readonly finished: Promise<Animation>;
1999 id: string;
2000 oncancel: ((this: Animation, ev: AnimationPlaybackEvent) => any) | null;
2001 onfinish: ((this: Animation, ev: AnimationPlaybackEvent) => any) | null;
2002 readonly pending: boolean;
2003 readonly playState: AnimationPlayState;
2004 playbackRate: number;
2005 readonly ready: Promise<Animation>;
2006 startTime: number | null;
2007 timeline: AnimationTimeline | null;
2008 cancel(): void;
2009 finish(): void;
2010 pause(): void;
2011 play(): void;
2012 reverse(): void;
2013 updatePlaybackRate(playbackRate: number): void;
2014 addEventListener<K extends keyof AnimationEventMap>(type: K, listener: (this: Animation, ev: AnimationEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2015 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
2016 removeEventListener<K extends keyof AnimationEventMap>(type: K, listener: (this: Animation, ev: AnimationEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2017 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
2018}
2019
2020declare var Animation: {
2021 prototype: Animation;
2022 new(effect?: AnimationEffect | null, timeline?: AnimationTimeline | null): Animation;
2023};
2024
2025interface AnimationEffect {
2026 getComputedTiming(): ComputedEffectTiming;
2027 getTiming(): EffectTiming;
2028 updateTiming(timing?: OptionalEffectTiming): void;
2029}
2030
2031declare var AnimationEffect: {
2032 prototype: AnimationEffect;
2033 new(): AnimationEffect;
2034};
2035
2036/** Events providing information related to animations. */
2037interface AnimationEvent extends Event {
2038 readonly animationName: string;
2039 readonly elapsedTime: number;
2040 readonly pseudoElement: string;
2041}
2042
2043declare var AnimationEvent: {
2044 prototype: AnimationEvent;
2045 new(type: string, animationEventInitDict?: AnimationEventInit): AnimationEvent;
2046};
2047
2048interface AnimationFrameProvider {
2049 cancelAnimationFrame(handle: number): void;
2050 requestAnimationFrame(callback: FrameRequestCallback): number;
2051}
2052
2053interface AnimationPlaybackEvent extends Event {
2054 readonly currentTime: number | null;
2055 readonly timelineTime: number | null;
2056}
2057
2058declare var AnimationPlaybackEvent: {
2059 prototype: AnimationPlaybackEvent;
2060 new(type: string, eventInitDict?: AnimationPlaybackEventInit): AnimationPlaybackEvent;
2061};
2062
2063interface AnimationTimeline {
2064 readonly currentTime: number | null;
2065}
2066
2067declare var AnimationTimeline: {
2068 prototype: AnimationTimeline;
2069 new(): AnimationTimeline;
2070};
2071
2072interface ApplicationCacheEventMap {
2073 "cached": Event;
2074 "checking": Event;
2075 "downloading": Event;
2076 "error": Event;
2077 "noupdate": Event;
2078 "obsolete": Event;
2079 "progress": ProgressEvent<ApplicationCache>;
2080 "updateready": Event;
2081}
2082
2083interface ApplicationCache extends EventTarget {
2084 /** @deprecated */
2085 oncached: ((this: ApplicationCache, ev: Event) => any) | null;
2086 /** @deprecated */
2087 onchecking: ((this: ApplicationCache, ev: Event) => any) | null;
2088 /** @deprecated */
2089 ondownloading: ((this: ApplicationCache, ev: Event) => any) | null;
2090 /** @deprecated */
2091 onerror: ((this: ApplicationCache, ev: Event) => any) | null;
2092 /** @deprecated */
2093 onnoupdate: ((this: ApplicationCache, ev: Event) => any) | null;
2094 /** @deprecated */
2095 onobsolete: ((this: ApplicationCache, ev: Event) => any) | null;
2096 /** @deprecated */
2097 onprogress: ((this: ApplicationCache, ev: ProgressEvent<ApplicationCache>) => any) | null;
2098 /** @deprecated */
2099 onupdateready: ((this: ApplicationCache, ev: Event) => any) | null;
2100 /** @deprecated */
2101 readonly status: number;
2102 /** @deprecated */
2103 abort(): void;
2104 /** @deprecated */
2105 swapCache(): void;
2106 /** @deprecated */
2107 update(): void;
2108 readonly CHECKING: number;
2109 readonly DOWNLOADING: number;
2110 readonly IDLE: number;
2111 readonly OBSOLETE: number;
2112 readonly UNCACHED: number;
2113 readonly UPDATEREADY: number;
2114 addEventListener<K extends keyof ApplicationCacheEventMap>(type: K, listener: (this: ApplicationCache, ev: ApplicationCacheEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2115 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
2116 removeEventListener<K extends keyof ApplicationCacheEventMap>(type: K, listener: (this: ApplicationCache, ev: ApplicationCacheEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2117 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
2118}
2119
2120declare var ApplicationCache: {
2121 prototype: ApplicationCache;
2122 new(): ApplicationCache;
2123 readonly CHECKING: number;
2124 readonly DOWNLOADING: number;
2125 readonly IDLE: number;
2126 readonly OBSOLETE: number;
2127 readonly UNCACHED: number;
2128 readonly UPDATEREADY: number;
2129};
2130
2131/** A DOM element's attribute as an object. In most DOM methods, you will probably directly retrieve the attribute as a string (e.g., Element.getAttribute(), but certain functions (e.g., Element.getAttributeNode()) or means of iterating give Attr types. */
2132interface Attr extends Node {
2133 readonly localName: string;
2134 readonly name: string;
2135 readonly namespaceURI: string | null;
2136 readonly ownerElement: Element | null;
2137 readonly prefix: string | null;
2138 readonly specified: boolean;
2139 value: string;
2140}
2141
2142declare var Attr: {
2143 prototype: Attr;
2144 new(): Attr;
2145};
2146
2147/** A short audio asset residing in memory, created from an audio file using the AudioContext.decodeAudioData() method, or from raw data using AudioContext.createBuffer(). Once put into an AudioBuffer, the audio can then be played by being passed into an AudioBufferSourceNode. */
2148interface AudioBuffer {
2149 readonly duration: number;
2150 readonly length: number;
2151 readonly numberOfChannels: number;
2152 readonly sampleRate: number;
2153 copyFromChannel(destination: Float32Array, channelNumber: number, startInChannel?: number): void;
2154 copyToChannel(source: Float32Array, channelNumber: number, startInChannel?: number): void;
2155 getChannelData(channel: number): Float32Array;
2156}
2157
2158declare var AudioBuffer: {
2159 prototype: AudioBuffer;
2160 new(options: AudioBufferOptions): AudioBuffer;
2161};
2162
2163/** An AudioScheduledSourceNode which represents an audio source consisting of in-memory audio data, stored in an AudioBuffer. It's especially useful for playing back audio which has particularly stringent timing accuracy requirements, such as for sounds that must match a specific rhythm and can be kept in memory rather than being played from disk or the network. */
2164interface AudioBufferSourceNode extends AudioScheduledSourceNode {
2165 buffer: AudioBuffer | null;
2166 readonly detune: AudioParam;
2167 loop: boolean;
2168 loopEnd: number;
2169 loopStart: number;
2170 readonly playbackRate: AudioParam;
2171 start(when?: number, offset?: number, duration?: number): void;
2172 addEventListener<K extends keyof AudioScheduledSourceNodeEventMap>(type: K, listener: (this: AudioBufferSourceNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2173 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
2174 removeEventListener<K extends keyof AudioScheduledSourceNodeEventMap>(type: K, listener: (this: AudioBufferSourceNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2175 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
2176}
2177
2178declare var AudioBufferSourceNode: {
2179 prototype: AudioBufferSourceNode;
2180 new(context: BaseAudioContext, options?: AudioBufferSourceOptions): AudioBufferSourceNode;
2181};
2182
2183/** An audio-processing graph built from audio modules linked together, each represented by an AudioNode. */
2184interface AudioContext extends BaseAudioContext {
2185 readonly baseLatency: number;
2186 readonly outputLatency: number;
2187 close(): Promise<void>;
2188 createMediaElementSource(mediaElement: HTMLMediaElement): MediaElementAudioSourceNode;
2189 createMediaStreamDestination(): MediaStreamAudioDestinationNode;
2190 createMediaStreamSource(mediaStream: MediaStream): MediaStreamAudioSourceNode;
2191 createMediaStreamTrackSource(mediaStreamTrack: MediaStreamTrack): MediaStreamTrackAudioSourceNode;
2192 getOutputTimestamp(): AudioTimestamp;
2193 resume(): Promise<void>;
2194 suspend(): Promise<void>;
2195 addEventListener<K extends keyof BaseAudioContextEventMap>(type: K, listener: (this: AudioContext, ev: BaseAudioContextEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2196 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
2197 removeEventListener<K extends keyof BaseAudioContextEventMap>(type: K, listener: (this: AudioContext, ev: BaseAudioContextEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2198 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
2199}
2200
2201declare var AudioContext: {
2202 prototype: AudioContext;
2203 new(contextOptions?: AudioContextOptions): AudioContext;
2204};
2205
2206/** AudioDestinationNode has no output (as it is the output, no more AudioNode can be linked after it in the audio graph) and one input. The number of channels in the input must be between 0 and the maxChannelCount value or an exception is raised. */
2207interface AudioDestinationNode extends AudioNode {
2208 readonly maxChannelCount: number;
2209}
2210
2211declare var AudioDestinationNode: {
2212 prototype: AudioDestinationNode;
2213 new(): AudioDestinationNode;
2214};
2215
2216/** The position and orientation of the unique person listening to the audio scene, and is used in audio spatialization. All PannerNodes spatialize in relation to the AudioListener stored in the BaseAudioContext.listener attribute. */
2217interface AudioListener {
2218 readonly forwardX: AudioParam;
2219 readonly forwardY: AudioParam;
2220 readonly forwardZ: AudioParam;
2221 readonly positionX: AudioParam;
2222 readonly positionY: AudioParam;
2223 readonly positionZ: AudioParam;
2224 readonly upX: AudioParam;
2225 readonly upY: AudioParam;
2226 readonly upZ: AudioParam;
2227 /** @deprecated */
2228 setOrientation(x: number, y: number, z: number, xUp: number, yUp: number, zUp: number): void;
2229 /** @deprecated */
2230 setPosition(x: number, y: number, z: number): void;
2231}
2232
2233declare var AudioListener: {
2234 prototype: AudioListener;
2235 new(): AudioListener;
2236};
2237
2238/** A generic interface for representing an audio processing module. Examples include: */
2239interface AudioNode extends EventTarget {
2240 channelCount: number;
2241 channelCountMode: ChannelCountMode;
2242 channelInterpretation: ChannelInterpretation;
2243 readonly context: BaseAudioContext;
2244 readonly numberOfInputs: number;
2245 readonly numberOfOutputs: number;
2246 connect(destinationNode: AudioNode, output?: number, input?: number): AudioNode;
2247 connect(destinationParam: AudioParam, output?: number): void;
2248 disconnect(): void;
2249 disconnect(output: number): void;
2250 disconnect(destinationNode: AudioNode): void;
2251 disconnect(destinationNode: AudioNode, output: number): void;
2252 disconnect(destinationNode: AudioNode, output: number, input: number): void;
2253 disconnect(destinationParam: AudioParam): void;
2254 disconnect(destinationParam: AudioParam, output: number): void;
2255}
2256
2257declare var AudioNode: {
2258 prototype: AudioNode;
2259 new(): AudioNode;
2260};
2261
2262/** The Web Audio API's AudioParam interface represents an audio-related parameter, usually a parameter of an AudioNode (such as GainNode.gain). */
2263interface AudioParam {
2264 automationRate: AutomationRate;
2265 readonly defaultValue: number;
2266 readonly maxValue: number;
2267 readonly minValue: number;
2268 value: number;
2269 cancelAndHoldAtTime(cancelTime: number): AudioParam;
2270 cancelScheduledValues(cancelTime: number): AudioParam;
2271 exponentialRampToValueAtTime(value: number, endTime: number): AudioParam;
2272 linearRampToValueAtTime(value: number, endTime: number): AudioParam;
2273 setTargetAtTime(target: number, startTime: number, timeConstant: number): AudioParam;
2274 setValueAtTime(value: number, startTime: number): AudioParam;
2275 setValueCurveAtTime(values: number[] | Float32Array, startTime: number, duration: number): AudioParam;
2276}
2277
2278declare var AudioParam: {
2279 prototype: AudioParam;
2280 new(): AudioParam;
2281};
2282
2283interface AudioParamMap {
2284 forEach(callbackfn: (value: AudioParam, key: string, parent: AudioParamMap) => void, thisArg?: any): void;
2285}
2286
2287declare var AudioParamMap: {
2288 prototype: AudioParamMap;
2289 new(): AudioParamMap;
2290};
2291
2292/** The Web Audio API events that occur when a ScriptProcessorNode input buffer is ready to be processed. */
2293interface AudioProcessingEvent extends Event {
2294 readonly inputBuffer: AudioBuffer;
2295 readonly outputBuffer: AudioBuffer;
2296 readonly playbackTime: number;
2297}
2298
2299declare var AudioProcessingEvent: {
2300 prototype: AudioProcessingEvent;
2301 new(type: string, eventInitDict: AudioProcessingEventInit): AudioProcessingEvent;
2302};
2303
2304interface AudioScheduledSourceNodeEventMap {
2305 "ended": Event;
2306}
2307
2308interface AudioScheduledSourceNode extends AudioNode {
2309 onended: ((this: AudioScheduledSourceNode, ev: Event) => any) | null;
2310 start(when?: number): void;
2311 stop(when?: number): void;
2312 addEventListener<K extends keyof AudioScheduledSourceNodeEventMap>(type: K, listener: (this: AudioScheduledSourceNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2313 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
2314 removeEventListener<K extends keyof AudioScheduledSourceNodeEventMap>(type: K, listener: (this: AudioScheduledSourceNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2315 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
2316}
2317
2318declare var AudioScheduledSourceNode: {
2319 prototype: AudioScheduledSourceNode;
2320 new(): AudioScheduledSourceNode;
2321};
2322
2323/** A single audio track from one of the HTML media elements, <audio> or <video>. */
2324interface AudioTrack {
2325 enabled: boolean;
2326 readonly id: string;
2327 kind: string;
2328 readonly label: string;
2329 language: string;
2330 readonly sourceBuffer: SourceBuffer | null;
2331}
2332
2333declare var AudioTrack: {
2334 prototype: AudioTrack;
2335 new(): AudioTrack;
2336};
2337
2338interface AudioTrackListEventMap {
2339 "addtrack": TrackEvent;
2340 "change": Event;
2341 "removetrack": TrackEvent;
2342}
2343
2344/** Used to represent a list of the audio tracks contained within a given HTML media element, with each track represented by a separate AudioTrack object in the list. */
2345interface AudioTrackList extends EventTarget {
2346 readonly length: number;
2347 onaddtrack: ((this: AudioTrackList, ev: TrackEvent) => any) | null;
2348 onchange: ((this: AudioTrackList, ev: Event) => any) | null;
2349 onremovetrack: ((this: AudioTrackList, ev: TrackEvent) => any) | null;
2350 getTrackById(id: string): AudioTrack | null;
2351 item(index: number): AudioTrack;
2352 addEventListener<K extends keyof AudioTrackListEventMap>(type: K, listener: (this: AudioTrackList, ev: AudioTrackListEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2353 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
2354 removeEventListener<K extends keyof AudioTrackListEventMap>(type: K, listener: (this: AudioTrackList, ev: AudioTrackListEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2355 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
2356 [index: number]: AudioTrack;
2357}
2358
2359declare var AudioTrackList: {
2360 prototype: AudioTrackList;
2361 new(): AudioTrackList;
2362};
2363
2364interface AudioWorklet extends Worklet {
2365}
2366
2367declare var AudioWorklet: {
2368 prototype: AudioWorklet;
2369 new(): AudioWorklet;
2370};
2371
2372interface AudioWorkletNodeEventMap {
2373 "processorerror": Event;
2374}
2375
2376interface AudioWorkletNode extends AudioNode {
2377 onprocessorerror: ((this: AudioWorkletNode, ev: Event) => any) | null;
2378 readonly parameters: AudioParamMap;
2379 readonly port: MessagePort;
2380 addEventListener<K extends keyof AudioWorkletNodeEventMap>(type: K, listener: (this: AudioWorkletNode, ev: AudioWorkletNodeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2381 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
2382 removeEventListener<K extends keyof AudioWorkletNodeEventMap>(type: K, listener: (this: AudioWorkletNode, ev: AudioWorkletNodeEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2383 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
2384}
2385
2386declare var AudioWorkletNode: {
2387 prototype: AudioWorkletNode;
2388 new(context: BaseAudioContext, name: string, options?: AudioWorkletNodeOptions): AudioWorkletNode;
2389};
2390
2391interface AuthenticatorAssertionResponse extends AuthenticatorResponse {
2392 readonly authenticatorData: ArrayBuffer;
2393 readonly signature: ArrayBuffer;
2394 readonly userHandle: ArrayBuffer | null;
2395}
2396
2397declare var AuthenticatorAssertionResponse: {
2398 prototype: AuthenticatorAssertionResponse;
2399 new(): AuthenticatorAssertionResponse;
2400};
2401
2402interface AuthenticatorAttestationResponse extends AuthenticatorResponse {
2403 readonly attestationObject: ArrayBuffer;
2404}
2405
2406declare var AuthenticatorAttestationResponse: {
2407 prototype: AuthenticatorAttestationResponse;
2408 new(): AuthenticatorAttestationResponse;
2409};
2410
2411interface AuthenticatorResponse {
2412 readonly clientDataJSON: ArrayBuffer;
2413}
2414
2415declare var AuthenticatorResponse: {
2416 prototype: AuthenticatorResponse;
2417 new(): AuthenticatorResponse;
2418};
2419
2420interface BarProp {
2421 readonly visible: boolean;
2422}
2423
2424declare var BarProp: {
2425 prototype: BarProp;
2426 new(): BarProp;
2427};
2428
2429interface BaseAudioContextEventMap {
2430 "statechange": Event;
2431}
2432
2433interface BaseAudioContext extends EventTarget {
2434 readonly audioWorklet: AudioWorklet;
2435 readonly currentTime: number;
2436 readonly destination: AudioDestinationNode;
2437 readonly listener: AudioListener;
2438 onstatechange: ((this: BaseAudioContext, ev: Event) => any) | null;
2439 readonly sampleRate: number;
2440 readonly state: AudioContextState;
2441 createAnalyser(): AnalyserNode;
2442 createBiquadFilter(): BiquadFilterNode;
2443 createBuffer(numberOfChannels: number, length: number, sampleRate: number): AudioBuffer;
2444 createBufferSource(): AudioBufferSourceNode;
2445 createChannelMerger(numberOfInputs?: number): ChannelMergerNode;
2446 createChannelSplitter(numberOfOutputs?: number): ChannelSplitterNode;
2447 createConstantSource(): ConstantSourceNode;
2448 createConvolver(): ConvolverNode;
2449 createDelay(maxDelayTime?: number): DelayNode;
2450 createDynamicsCompressor(): DynamicsCompressorNode;
2451 createGain(): GainNode;
2452 createIIRFilter(feedforward: number[], feedback: number[]): IIRFilterNode;
2453 createOscillator(): OscillatorNode;
2454 createPanner(): PannerNode;
2455 createPeriodicWave(real: number[] | Float32Array, imag: number[] | Float32Array, constraints?: PeriodicWaveConstraints): PeriodicWave;
2456 createScriptProcessor(bufferSize?: number, numberOfInputChannels?: number, numberOfOutputChannels?: number): ScriptProcessorNode;
2457 createStereoPanner(): StereoPannerNode;
2458 createWaveShaper(): WaveShaperNode;
2459 decodeAudioData(audioData: ArrayBuffer, successCallback?: DecodeSuccessCallback | null, errorCallback?: DecodeErrorCallback | null): Promise<AudioBuffer>;
2460 addEventListener<K extends keyof BaseAudioContextEventMap>(type: K, listener: (this: BaseAudioContext, ev: BaseAudioContextEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2461 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
2462 removeEventListener<K extends keyof BaseAudioContextEventMap>(type: K, listener: (this: BaseAudioContext, ev: BaseAudioContextEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2463 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
2464}
2465
2466declare var BaseAudioContext: {
2467 prototype: BaseAudioContext;
2468 new(): BaseAudioContext;
2469};
2470
2471/** The beforeunload event is fired when the window, the document and its resources are about to be unloaded. */
2472interface BeforeUnloadEvent extends Event {
2473 returnValue: any;
2474}
2475
2476declare var BeforeUnloadEvent: {
2477 prototype: BeforeUnloadEvent;
2478 new(): BeforeUnloadEvent;
2479};
2480
2481interface BhxBrowser {
2482 readonly lastError: DOMException;
2483 checkMatchesGlobExpression(pattern: string, value: string): boolean;
2484 checkMatchesUriExpression(pattern: string, value: string): boolean;
2485 clearLastError(): void;
2486 currentWindowId(): number;
2487 fireExtensionApiTelemetry(functionName: string, isSucceeded: boolean, isSupported: boolean, errorString: string): void;
2488 genericFunction(functionId: number, destination: any, parameters?: string, callbackId?: number): void;
2489 genericSynchronousFunction(functionId: number, parameters?: string): string;
2490 getExtensionId(): string;
2491 getThisAddress(): any;
2492 registerGenericFunctionCallbackHandler(callbackHandler: Function): void;
2493 registerGenericListenerHandler(eventHandler: Function): void;
2494 setLastError(parameters: string): void;
2495 webPlatformGenericFunction(destination: any, parameters?: string, callbackId?: number): void;
2496}
2497
2498declare var BhxBrowser: {
2499 prototype: BhxBrowser;
2500 new(): BhxBrowser;
2501};
2502
2503/** A simple low-order filter, and is created using the AudioContext.createBiquadFilter() method. It is an AudioNode that can represent different kinds of filters, tone control devices, and graphic equalizers. */
2504interface BiquadFilterNode extends AudioNode {
2505 readonly Q: AudioParam;
2506 readonly detune: AudioParam;
2507 readonly frequency: AudioParam;
2508 readonly gain: AudioParam;
2509 type: BiquadFilterType;
2510 getFrequencyResponse(frequencyHz: Float32Array, magResponse: Float32Array, phaseResponse: Float32Array): void;
2511}
2512
2513declare var BiquadFilterNode: {
2514 prototype: BiquadFilterNode;
2515 new(context: BaseAudioContext, options?: BiquadFilterOptions): BiquadFilterNode;
2516};
2517
2518/** A file-like object of immutable, raw data. Blobs represent data that isn't necessarily in a JavaScript-native format. The File interface is based on Blob, inheriting blob functionality and expanding it to support files on the user's system. */
2519interface Blob {
2520 readonly size: number;
2521 readonly type: string;
2522 slice(start?: number, end?: number, contentType?: string): Blob;
2523}
2524
2525declare var Blob: {
2526 prototype: Blob;
2527 new(blobParts?: BlobPart[], options?: BlobPropertyBag): Blob;
2528};
2529
2530interface Body {
2531 readonly body: ReadableStream<Uint8Array> | null;
2532 readonly bodyUsed: boolean;
2533 arrayBuffer(): Promise<ArrayBuffer>;
2534 blob(): Promise<Blob>;
2535 formData(): Promise<FormData>;
2536 json(): Promise<any>;
2537 text(): Promise<string>;
2538}
2539
2540interface BroadcastChannelEventMap {
2541 "message": MessageEvent;
2542 "messageerror": MessageEvent;
2543}
2544
2545interface BroadcastChannel extends EventTarget {
2546 /**
2547 * Returns the channel name (as passed to the constructor).
2548 */
2549 readonly name: string;
2550 onmessage: ((this: BroadcastChannel, ev: MessageEvent) => any) | null;
2551 onmessageerror: ((this: BroadcastChannel, ev: MessageEvent) => any) | null;
2552 /**
2553 * Closes the BroadcastChannel object, opening it up to garbage collection.
2554 */
2555 close(): void;
2556 /**
2557 * Sends the given message to other BroadcastChannel objects set up for this channel. Messages can be structured objects, e.g. nested objects and arrays.
2558 */
2559 postMessage(message: any): void;
2560 addEventListener<K extends keyof BroadcastChannelEventMap>(type: K, listener: (this: BroadcastChannel, ev: BroadcastChannelEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2561 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
2562 removeEventListener<K extends keyof BroadcastChannelEventMap>(type: K, listener: (this: BroadcastChannel, ev: BroadcastChannelEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2563 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
2564}
2565
2566declare var BroadcastChannel: {
2567 prototype: BroadcastChannel;
2568 new(name: string): BroadcastChannel;
2569};
2570
2571/** This Streams API interface provides a built-in byte length queuing strategy that can be used when constructing streams. */
2572interface ByteLengthQueuingStrategy extends QueuingStrategy<ArrayBufferView> {
2573 highWaterMark: number;
2574 size(chunk: ArrayBufferView): number;
2575}
2576
2577declare var ByteLengthQueuingStrategy: {
2578 prototype: ByteLengthQueuingStrategy;
2579 new(options: { highWaterMark: number }): ByteLengthQueuingStrategy;
2580};
2581
2582/** A CDATA section that can be used within XML to include extended portions of unescaped text. The symbols < and & don’t need escaping as they normally do when inside a CDATA section. */
2583interface CDATASection extends Text {
2584}
2585
2586declare var CDATASection: {
2587 prototype: CDATASection;
2588 new(): CDATASection;
2589};
2590
2591/** Holds useful CSS-related methods. No object with this interface are implemented: it contains only static methods and therefore is a utilitarian interface. */
2592interface CSS {
2593 escape(value: string): string;
2594 supports(property: string, value?: string): boolean;
2595}
2596declare var CSS: CSS;
2597
2598/** A single condition CSS at-rule, which consists of a condition and a statement block. It is a child of CSSGroupingRule. */
2599interface CSSConditionRule extends CSSGroupingRule {
2600 conditionText: string;
2601}
2602
2603declare var CSSConditionRule: {
2604 prototype: CSSConditionRule;
2605 new(): CSSConditionRule;
2606};
2607
2608interface CSSFontFaceRule extends CSSRule {
2609 readonly style: CSSStyleDeclaration;
2610}
2611
2612declare var CSSFontFaceRule: {
2613 prototype: CSSFontFaceRule;
2614 new(): CSSFontFaceRule;
2615};
2616
2617/** Any CSS at-rule that contains other rules nested within it. */
2618interface CSSGroupingRule extends CSSRule {
2619 readonly cssRules: CSSRuleList;
2620 deleteRule(index: number): void;
2621 insertRule(rule: string, index: number): number;
2622}
2623
2624declare var CSSGroupingRule: {
2625 prototype: CSSGroupingRule;
2626 new(): CSSGroupingRule;
2627};
2628
2629interface CSSImportRule extends CSSRule {
2630 readonly href: string;
2631 readonly media: MediaList;
2632 readonly styleSheet: CSSStyleSheet;
2633}
2634
2635declare var CSSImportRule: {
2636 prototype: CSSImportRule;
2637 new(): CSSImportRule;
2638};
2639
2640/** An object representing a set of style for a given keyframe. It corresponds to the contains of a single keyframe of a @keyframes at-rule. It implements the CSSRule interface with a type value of 8 (CSSRule.KEYFRAME_RULE). */
2641interface CSSKeyframeRule extends CSSRule {
2642 keyText: string;
2643 readonly style: CSSStyleDeclaration;
2644}
2645
2646declare var CSSKeyframeRule: {
2647 prototype: CSSKeyframeRule;
2648 new(): CSSKeyframeRule;
2649};
2650
2651/** An object representing a complete set of keyframes for a CSS animation. It corresponds to the contains of a whole @keyframes at-rule. It implements the CSSRule interface with a type value of 7 (CSSRule.KEYFRAMES_RULE). */
2652interface CSSKeyframesRule extends CSSRule {
2653 readonly cssRules: CSSRuleList;
2654 name: string;
2655 appendRule(rule: string): void;
2656 deleteRule(select: string): void;
2657 findRule(select: string): CSSKeyframeRule | null;
2658}
2659
2660declare var CSSKeyframesRule: {
2661 prototype: CSSKeyframesRule;
2662 new(): CSSKeyframesRule;
2663};
2664
2665/** A single CSS @media rule. It implements the CSSConditionRule interface, and therefore the CSSGroupingRule and the CSSRule interface with a type value of 4 (CSSRule.MEDIA_RULE). */
2666interface CSSMediaRule extends CSSConditionRule {
2667 readonly media: MediaList;
2668}
2669
2670declare var CSSMediaRule: {
2671 prototype: CSSMediaRule;
2672 new(): CSSMediaRule;
2673};
2674
2675/** An object representing a single CSS @namespace at-rule. It implements the CSSRule interface, with a type value of 10 (CSSRule.NAMESPACE_RULE). */
2676interface CSSNamespaceRule extends CSSRule {
2677 readonly namespaceURI: string;
2678 readonly prefix: string;
2679}
2680
2681declare var CSSNamespaceRule: {
2682 prototype: CSSNamespaceRule;
2683 new(): CSSNamespaceRule;
2684};
2685
2686/** CSSPageRule is an interface representing a single CSS @page rule. It implements the CSSRule interface with a type value of 6 (CSSRule.PAGE_RULE). */
2687interface CSSPageRule extends CSSRule {
2688 readonly pseudoClass: string;
2689 readonly selector: string;
2690 selectorText: string;
2691 readonly style: CSSStyleDeclaration;
2692}
2693
2694declare var CSSPageRule: {
2695 prototype: CSSPageRule;
2696 new(): CSSPageRule;
2697};
2698
2699/** A single CSS rule. There are several types of rules, listed in the Type constants section below. */
2700interface CSSRule {
2701 cssText: string;
2702 readonly parentRule: CSSRule | null;
2703 readonly parentStyleSheet: CSSStyleSheet | null;
2704 readonly type: number;
2705 readonly CHARSET_RULE: number;
2706 readonly FONT_FACE_RULE: number;
2707 readonly IMPORT_RULE: number;
2708 readonly KEYFRAMES_RULE: number;
2709 readonly KEYFRAME_RULE: number;
2710 readonly MEDIA_RULE: number;
2711 readonly NAMESPACE_RULE: number;
2712 readonly PAGE_RULE: number;
2713 readonly STYLE_RULE: number;
2714 readonly SUPPORTS_RULE: number;
2715 readonly UNKNOWN_RULE: number;
2716 readonly VIEWPORT_RULE: number;
2717}
2718
2719declare var CSSRule: {
2720 prototype: CSSRule;
2721 new(): CSSRule;
2722 readonly CHARSET_RULE: number;
2723 readonly FONT_FACE_RULE: number;
2724 readonly IMPORT_RULE: number;
2725 readonly KEYFRAMES_RULE: number;
2726 readonly KEYFRAME_RULE: number;
2727 readonly MEDIA_RULE: number;
2728 readonly NAMESPACE_RULE: number;
2729 readonly PAGE_RULE: number;
2730 readonly STYLE_RULE: number;
2731 readonly SUPPORTS_RULE: number;
2732 readonly UNKNOWN_RULE: number;
2733 readonly VIEWPORT_RULE: number;
2734};
2735
2736/** A CSSRuleList is an (indirect-modify only) array-like object containing an ordered collection of CSSRule objects. */
2737interface CSSRuleList {
2738 readonly length: number;
2739 item(index: number): CSSRule | null;
2740 [index: number]: CSSRule;
2741}
2742
2743declare var CSSRuleList: {
2744 prototype: CSSRuleList;
2745 new(): CSSRuleList;
2746};
2747
2748/** An object that is a CSS declaration block, and exposes style information and various style-related methods and properties. */
2749interface CSSStyleDeclaration {
2750 alignContent: string;
2751 alignItems: string;
2752 alignSelf: string;
2753 alignmentBaseline: string;
2754 animation: string;
2755 animationDelay: string;
2756 animationDirection: string;
2757 animationDuration: string;
2758 animationFillMode: string;
2759 animationIterationCount: string;
2760 animationName: string;
2761 animationPlayState: string;
2762 animationTimingFunction: string;
2763 backfaceVisibility: string;
2764 background: string;
2765 backgroundAttachment: string;
2766 backgroundClip: string;
2767 backgroundColor: string;
2768 backgroundImage: string;
2769 backgroundOrigin: string;
2770 backgroundPosition: string;
2771 backgroundPositionX: string;
2772 backgroundPositionY: string;
2773 backgroundRepeat: string;
2774 backgroundSize: string;
2775 baselineShift: string;
2776 blockSize: string;
2777 border: string;
2778 borderBlockEnd: string;
2779 borderBlockEndColor: string;
2780 borderBlockEndStyle: string;
2781 borderBlockEndWidth: string;
2782 borderBlockStart: string;
2783 borderBlockStartColor: string;
2784 borderBlockStartStyle: string;
2785 borderBlockStartWidth: string;
2786 borderBottom: string;
2787 borderBottomColor: string;
2788 borderBottomLeftRadius: string;
2789 borderBottomRightRadius: string;
2790 borderBottomStyle: string;
2791 borderBottomWidth: string;
2792 borderCollapse: string;
2793 borderColor: string;
2794 borderImage: string;
2795 borderImageOutset: string;
2796 borderImageRepeat: string;
2797 borderImageSlice: string;
2798 borderImageSource: string;
2799 borderImageWidth: string;
2800 borderInlineEnd: string;
2801 borderInlineEndColor: string;
2802 borderInlineEndStyle: string;
2803 borderInlineEndWidth: string;
2804 borderInlineStart: string;
2805 borderInlineStartColor: string;
2806 borderInlineStartStyle: string;
2807 borderInlineStartWidth: string;
2808 borderLeft: string;
2809 borderLeftColor: string;
2810 borderLeftStyle: string;
2811 borderLeftWidth: string;
2812 borderRadius: string;
2813 borderRight: string;
2814 borderRightColor: string;
2815 borderRightStyle: string;
2816 borderRightWidth: string;
2817 borderSpacing: string;
2818 borderStyle: string;
2819 borderTop: string;
2820 borderTopColor: string;
2821 borderTopLeftRadius: string;
2822 borderTopRightRadius: string;
2823 borderTopStyle: string;
2824 borderTopWidth: string;
2825 borderWidth: string;
2826 bottom: string;
2827 boxShadow: string;
2828 boxSizing: string;
2829 breakAfter: string;
2830 breakBefore: string;
2831 breakInside: string;
2832 captionSide: string;
2833 caretColor: string;
2834 clear: string;
2835 clip: string;
2836 clipPath: string;
2837 clipRule: string;
2838 color: string | null;
2839 colorInterpolation: string;
2840 colorInterpolationFilters: string;
2841 columnCount: string;
2842 columnFill: string;
2843 columnGap: string;
2844 columnRule: string;
2845 columnRuleColor: string;
2846 columnRuleStyle: string;
2847 columnRuleWidth: string;
2848 columnSpan: string;
2849 columnWidth: string;
2850 columns: string;
2851 content: string;
2852 counterIncrement: string;
2853 counterReset: string;
2854 cssFloat: string | null;
2855 cssText: string;
2856 cursor: string;
2857 direction: string;
2858 display: string;
2859 dominantBaseline: string;
2860 emptyCells: string;
2861 enableBackground: string | null;
2862 fill: string;
2863 fillOpacity: string;
2864 fillRule: string;
2865 filter: string;
2866 flex: string;
2867 flexBasis: string;
2868 flexDirection: string;
2869 flexFlow: string;
2870 flexGrow: string;
2871 flexShrink: string;
2872 flexWrap: string;
2873 float: string;
2874 floodColor: string;
2875 floodOpacity: string;
2876 font: string;
2877 fontFamily: string;
2878 fontFeatureSettings: string;
2879 fontKerning: string;
2880 fontSize: string;
2881 fontSizeAdjust: string;
2882 fontStretch: string;
2883 fontStyle: string;
2884 fontSynthesis: string;
2885 fontVariant: string;
2886 fontVariantCaps: string;
2887 fontVariantEastAsian: string;
2888 fontVariantLigatures: string;
2889 fontVariantNumeric: string;
2890 fontVariantPosition: string;
2891 fontWeight: string;
2892 gap: string;
2893 glyphOrientationHorizontal: string | null;
2894 glyphOrientationVertical: string;
2895 grid: string;
2896 gridArea: string;
2897 gridAutoColumns: string;
2898 gridAutoFlow: string;
2899 gridAutoRows: string;
2900 gridColumn: string;
2901 gridColumnEnd: string;
2902 gridColumnGap: string;
2903 gridColumnStart: string;
2904 gridGap: string;
2905 gridRow: string;
2906 gridRowEnd: string;
2907 gridRowGap: string;
2908 gridRowStart: string;
2909 gridTemplate: string;
2910 gridTemplateAreas: string;
2911 gridTemplateColumns: string;
2912 gridTemplateRows: string;
2913 height: string;
2914 hyphens: string;
2915 imageOrientation: string;
2916 imageRendering: string;
2917 imeMode: string | null;
2918 inlineSize: string;
2919 justifyContent: string;
2920 justifyItems: string;
2921 justifySelf: string;
2922 kerning: string | null;
2923 layoutGrid: string | null;
2924 layoutGridChar: string | null;
2925 layoutGridLine: string | null;
2926 layoutGridMode: string | null;
2927 layoutGridType: string | null;
2928 left: string;
2929 readonly length: number;
2930 letterSpacing: string;
2931 lightingColor: string;
2932 lineBreak: string;
2933 lineHeight: string;
2934 listStyle: string;
2935 listStyleImage: string;
2936 listStylePosition: string;
2937 listStyleType: string;
2938 margin: string;
2939 marginBlockEnd: string;
2940 marginBlockStart: string;
2941 marginBottom: string;
2942 marginInlineEnd: string;
2943 marginInlineStart: string;
2944 marginLeft: string;
2945 marginRight: string;
2946 marginTop: string;
2947 marker: string;
2948 markerEnd: string;
2949 markerMid: string;
2950 markerStart: string;
2951 mask: string;
2952 maskComposite: string;
2953 maskImage: string;
2954 maskPosition: string;
2955 maskRepeat: string;
2956 maskSize: string;
2957 maskType: string;
2958 maxBlockSize: string;
2959 maxHeight: string;
2960 maxInlineSize: string;
2961 maxWidth: string;
2962 minBlockSize: string;
2963 minHeight: string;
2964 minInlineSize: string;
2965 minWidth: string;
2966 msContentZoomChaining: string | null;
2967 msContentZoomLimit: string | null;
2968 msContentZoomLimitMax: any;
2969 msContentZoomLimitMin: any;
2970 msContentZoomSnap: string | null;
2971 msContentZoomSnapPoints: string | null;
2972 msContentZoomSnapType: string | null;
2973 msContentZooming: string | null;
2974 msFlowFrom: string | null;
2975 msFlowInto: string | null;
2976 msFontFeatureSettings: string | null;
2977 msGridColumn: any;
2978 msGridColumnAlign: string | null;
2979 msGridColumnSpan: any;
2980 msGridColumns: string | null;
2981 msGridRow: any;
2982 msGridRowAlign: string | null;
2983 msGridRowSpan: any;
2984 msGridRows: string | null;
2985 msHighContrastAdjust: string | null;
2986 msHyphenateLimitChars: string | null;
2987 msHyphenateLimitLines: any;
2988 msHyphenateLimitZone: any;
2989 msHyphens: string | null;
2990 msImeAlign: string | null;
2991 msOverflowStyle: string | null;
2992 msScrollChaining: string | null;
2993 msScrollLimit: string | null;
2994 msScrollLimitXMax: any;
2995 msScrollLimitXMin: any;
2996 msScrollLimitYMax: any;
2997 msScrollLimitYMin: any;
2998 msScrollRails: string | null;
2999 msScrollSnapPointsX: string | null;
3000 msScrollSnapPointsY: string | null;
3001 msScrollSnapType: string | null;
3002 msScrollSnapX: string | null;
3003 msScrollSnapY: string | null;
3004 msScrollTranslation: string | null;
3005 msTextCombineHorizontal: string | null;
3006 msTextSizeAdjust: any;
3007 msTouchAction: string | null;
3008 msTouchSelect: string | null;
3009 msUserSelect: string | null;
3010 msWrapFlow: string;
3011 msWrapMargin: any;
3012 msWrapThrough: string;
3013 objectFit: string;
3014 objectPosition: string;
3015 opacity: string | null;
3016 order: string;
3017 orphans: string;
3018 outline: string;
3019 outlineColor: string;
3020 outlineOffset: string;
3021 outlineStyle: string;
3022 outlineWidth: string;
3023 overflow: string;
3024 overflowAnchor: string;
3025 overflowWrap: string;
3026 overflowX: string;
3027 overflowY: string;
3028 padding: string;
3029 paddingBlockEnd: string;
3030 paddingBlockStart: string;
3031 paddingBottom: string;
3032 paddingInlineEnd: string;
3033 paddingInlineStart: string;
3034 paddingLeft: string;
3035 paddingRight: string;
3036 paddingTop: string;
3037 pageBreakAfter: string;
3038 pageBreakBefore: string;
3039 pageBreakInside: string;
3040 paintOrder: string;
3041 readonly parentRule: CSSRule;
3042 penAction: string | null;
3043 perspective: string;
3044 perspectiveOrigin: string;
3045 placeContent: string;
3046 placeItems: string;
3047 placeSelf: string;
3048 pointerEvents: string | null;
3049 position: string;
3050 quotes: string;
3051 resize: string;
3052 right: string;
3053 rotate: string;
3054 rowGap: string;
3055 rubyAlign: string | null;
3056 rubyOverhang: string | null;
3057 rubyPosition: string | null;
3058 scale: string;
3059 scrollBehavior: string;
3060 shapeRendering: string;
3061 stopColor: string | null;
3062 stopOpacity: string | null;
3063 stroke: string;
3064 strokeDasharray: string;
3065 strokeDashoffset: string;
3066 strokeLinecap: string;
3067 strokeLinejoin: string;
3068 strokeMiterlimit: string;
3069 strokeOpacity: string;
3070 strokeWidth: string;
3071 tabSize: string;
3072 tableLayout: string;
3073 textAlign: string;
3074 textAlignLast: string;
3075 textAnchor: string | null;
3076 textCombineUpright: string;
3077 textDecoration: string;
3078 textDecorationColor: string;
3079 textDecorationLine: string;
3080 textDecorationStyle: string;
3081 textEmphasis: string;
3082 textEmphasisColor: string;
3083 textEmphasisPosition: string;
3084 textEmphasisStyle: string;
3085 textIndent: string;
3086 textJustify: string;
3087 textKashida: string | null;
3088 textKashidaSpace: string | null;
3089 textOrientation: string;
3090 textOverflow: string;
3091 textRendering: string;
3092 textShadow: string;
3093 textTransform: string;
3094 textUnderlinePosition: string;
3095 top: string;
3096 touchAction: string;
3097 transform: string;
3098 transformBox: string;
3099 transformOrigin: string;
3100 transformStyle: string;
3101 transition: string;
3102 transitionDelay: string;
3103 transitionDuration: string;
3104 transitionProperty: string;
3105 transitionTimingFunction: string;
3106 translate: string;
3107 unicodeBidi: string;
3108 userSelect: string;
3109 verticalAlign: string;
3110 visibility: string;
3111 /** @deprecated */
3112 webkitAlignContent: string;
3113 /** @deprecated */
3114 webkitAlignItems: string;
3115 /** @deprecated */
3116 webkitAlignSelf: string;
3117 /** @deprecated */
3118 webkitAnimation: string;
3119 /** @deprecated */
3120 webkitAnimationDelay: string;
3121 /** @deprecated */
3122 webkitAnimationDirection: string;
3123 /** @deprecated */
3124 webkitAnimationDuration: string;
3125 /** @deprecated */
3126 webkitAnimationFillMode: string;
3127 /** @deprecated */
3128 webkitAnimationIterationCount: string;
3129 /** @deprecated */
3130 webkitAnimationName: string;
3131 /** @deprecated */
3132 webkitAnimationPlayState: string;
3133 /** @deprecated */
3134 webkitAnimationTimingFunction: string;
3135 /** @deprecated */
3136 webkitAppearance: string;
3137 /** @deprecated */
3138 webkitBackfaceVisibility: string;
3139 /** @deprecated */
3140 webkitBackgroundClip: string;
3141 /** @deprecated */
3142 webkitBackgroundOrigin: string;
3143 /** @deprecated */
3144 webkitBackgroundSize: string;
3145 /** @deprecated */
3146 webkitBorderBottomLeftRadius: string;
3147 /** @deprecated */
3148 webkitBorderBottomRightRadius: string;
3149 webkitBorderImage: string | null;
3150 /** @deprecated */
3151 webkitBorderRadius: string;
3152 /** @deprecated */
3153 webkitBorderTopLeftRadius: string;
3154 /** @deprecated */
3155 webkitBorderTopRightRadius: string;
3156 /** @deprecated */
3157 webkitBoxAlign: string;
3158 webkitBoxDirection: string | null;
3159 /** @deprecated */
3160 webkitBoxFlex: string;
3161 /** @deprecated */
3162 webkitBoxOrdinalGroup: string;
3163 webkitBoxOrient: string | null;
3164 /** @deprecated */
3165 webkitBoxPack: string;
3166 /** @deprecated */
3167 webkitBoxShadow: string;
3168 /** @deprecated */
3169 webkitBoxSizing: string;
3170 webkitColumnBreakAfter: string | null;
3171 webkitColumnBreakBefore: string | null;
3172 webkitColumnBreakInside: string | null;
3173 webkitColumnCount: any;
3174 webkitColumnGap: any;
3175 webkitColumnRule: string | null;
3176 webkitColumnRuleColor: any;
3177 webkitColumnRuleStyle: string | null;
3178 webkitColumnRuleWidth: any;
3179 webkitColumnSpan: string | null;
3180 webkitColumnWidth: any;
3181 webkitColumns: string | null;
3182 /** @deprecated */
3183 webkitFilter: string;
3184 /** @deprecated */
3185 webkitFlex: string;
3186 /** @deprecated */
3187 webkitFlexBasis: string;
3188 /** @deprecated */
3189 webkitFlexDirection: string;
3190 /** @deprecated */
3191 webkitFlexFlow: string;
3192 /** @deprecated */
3193 webkitFlexGrow: string;
3194 /** @deprecated */
3195 webkitFlexShrink: string;
3196 /** @deprecated */
3197 webkitFlexWrap: string;
3198 /** @deprecated */
3199 webkitJustifyContent: string;
3200 webkitLineClamp: string;
3201 /** @deprecated */
3202 webkitMask: string;
3203 /** @deprecated */
3204 webkitMaskBoxImage: string;
3205 /** @deprecated */
3206 webkitMaskBoxImageOutset: string;
3207 /** @deprecated */
3208 webkitMaskBoxImageRepeat: string;
3209 /** @deprecated */
3210 webkitMaskBoxImageSlice: string;
3211 /** @deprecated */
3212 webkitMaskBoxImageSource: string;
3213 /** @deprecated */
3214 webkitMaskBoxImageWidth: string;
3215 /** @deprecated */
3216 webkitMaskClip: string;
3217 /** @deprecated */
3218 webkitMaskComposite: string;
3219 /** @deprecated */
3220 webkitMaskImage: string;
3221 /** @deprecated */
3222 webkitMaskOrigin: string;
3223 /** @deprecated */
3224 webkitMaskPosition: string;
3225 /** @deprecated */
3226 webkitMaskRepeat: string;
3227 /** @deprecated */
3228 webkitMaskSize: string;
3229 /** @deprecated */
3230 webkitOrder: string;
3231 /** @deprecated */
3232 webkitPerspective: string;
3233 /** @deprecated */
3234 webkitPerspectiveOrigin: string;
3235 webkitTapHighlightColor: string | null;
3236 /** @deprecated */
3237 webkitTextFillColor: string;
3238 /** @deprecated */
3239 webkitTextSizeAdjust: string;
3240 /** @deprecated */
3241 webkitTextStroke: string;
3242 /** @deprecated */
3243 webkitTextStrokeColor: string;
3244 /** @deprecated */
3245 webkitTextStrokeWidth: string;
3246 /** @deprecated */
3247 webkitTransform: string;
3248 /** @deprecated */
3249 webkitTransformOrigin: string;
3250 /** @deprecated */
3251 webkitTransformStyle: string;
3252 /** @deprecated */
3253 webkitTransition: string;
3254 /** @deprecated */
3255 webkitTransitionDelay: string;
3256 /** @deprecated */
3257 webkitTransitionDuration: string;
3258 /** @deprecated */
3259 webkitTransitionProperty: string;
3260 /** @deprecated */
3261 webkitTransitionTimingFunction: string;
3262 webkitUserModify: string | null;
3263 webkitUserSelect: string | null;
3264 webkitWritingMode: string | null;
3265 whiteSpace: string;
3266 widows: string;
3267 width: string;
3268 willChange: string;
3269 wordBreak: string;
3270 wordSpacing: string;
3271 wordWrap: string;
3272 writingMode: string;
3273 zIndex: string;
3274 zoom: string | null;
3275 getPropertyPriority(propertyName: string): string;
3276 getPropertyValue(propertyName: string): string;
3277 item(index: number): string;
3278 removeProperty(propertyName: string): string;
3279 setProperty(propertyName: string, value: string | null, priority?: string | null): void;
3280 [index: number]: string;
3281}
3282
3283declare var CSSStyleDeclaration: {
3284 prototype: CSSStyleDeclaration;
3285 new(): CSSStyleDeclaration;
3286};
3287
3288/** CSSStyleRule represents a single CSS style rule. It implements the CSSRule interface with a type value of 1 (CSSRule.STYLE_RULE). */
3289interface CSSStyleRule extends CSSRule {
3290 selectorText: string;
3291 readonly style: CSSStyleDeclaration;
3292}
3293
3294declare var CSSStyleRule: {
3295 prototype: CSSStyleRule;
3296 new(): CSSStyleRule;
3297};
3298
3299/** A single CSS style sheet. It inherits properties and methods from its parent, StyleSheet. */
3300interface CSSStyleSheet extends StyleSheet {
3301 readonly cssRules: CSSRuleList;
3302 /** @deprecated */
3303 cssText: string;
3304 /** @deprecated */
3305 readonly id: string;
3306 /** @deprecated */
3307 readonly imports: StyleSheetList;
3308 /** @deprecated */
3309 readonly isAlternate: boolean;
3310 /** @deprecated */
3311 readonly isPrefAlternate: boolean;
3312 readonly ownerRule: CSSRule | null;
3313 /** @deprecated */
3314 readonly owningElement: Element;
3315 /** @deprecated */
3316 readonly pages: any;
3317 /** @deprecated */
3318 readonly readOnly: boolean;
3319 readonly rules: CSSRuleList;
3320 /** @deprecated */
3321 addImport(bstrURL: string, lIndex?: number): number;
3322 /** @deprecated */
3323 addPageRule(bstrSelector: string, bstrStyle: string, lIndex?: number): number;
3324 addRule(bstrSelector: string, bstrStyle?: string, lIndex?: number): number;
3325 deleteRule(index?: number): void;
3326 insertRule(rule: string, index?: number): number;
3327 /** @deprecated */
3328 removeImport(lIndex: number): void;
3329 removeRule(lIndex: number): void;
3330}
3331
3332declare var CSSStyleSheet: {
3333 prototype: CSSStyleSheet;
3334 new(): CSSStyleSheet;
3335};
3336
3337/** An object representing a single CSS @supports at-rule. It implements the CSSConditionRule interface, and therefore the CSSRule and CSSGroupingRule interfaces with a type value of 12 (CSSRule.SUPPORTS_RULE). */
3338interface CSSSupportsRule extends CSSConditionRule {
3339}
3340
3341declare var CSSSupportsRule: {
3342 prototype: CSSSupportsRule;
3343 new(): CSSSupportsRule;
3344};
3345
3346/** Provides a storage mechanism for Request / Response object pairs that are cached, for example as part of the ServiceWorker life cycle. Note that the Cache interface is exposed to windowed scopes as well as workers. You don't have to use it in conjunction with service workers, even though it is defined in the service worker spec. */
3347interface Cache {
3348 add(request: RequestInfo): Promise<void>;
3349 addAll(requests: RequestInfo[]): Promise<void>;
3350 delete(request: RequestInfo, options?: CacheQueryOptions): Promise<boolean>;
3351 keys(request?: RequestInfo, options?: CacheQueryOptions): Promise<ReadonlyArray<Request>>;
3352 match(request: RequestInfo, options?: CacheQueryOptions): Promise<Response | undefined>;
3353 matchAll(request?: RequestInfo, options?: CacheQueryOptions): Promise<ReadonlyArray<Response>>;
3354 put(request: RequestInfo, response: Response): Promise<void>;
3355}
3356
3357declare var Cache: {
3358 prototype: Cache;
3359 new(): Cache;
3360};
3361
3362/** The storage for Cache objects. */
3363interface CacheStorage {
3364 delete(cacheName: string): Promise<boolean>;
3365 has(cacheName: string): Promise<boolean>;
3366 keys(): Promise<string[]>;
3367 match(request: RequestInfo, options?: CacheQueryOptions): Promise<Response | undefined>;
3368 open(cacheName: string): Promise<Cache>;
3369}
3370
3371declare var CacheStorage: {
3372 prototype: CacheStorage;
3373 new(): CacheStorage;
3374};
3375
3376interface CanvasCompositing {
3377 globalAlpha: number;
3378 globalCompositeOperation: string;
3379}
3380
3381interface CanvasDrawImage {
3382 drawImage(image: CanvasImageSource, dx: number, dy: number): void;
3383 drawImage(image: CanvasImageSource, dx: number, dy: number, dw: number, dh: number): void;
3384 drawImage(image: CanvasImageSource, sx: number, sy: number, sw: number, sh: number, dx: number, dy: number, dw: number, dh: number): void;
3385}
3386
3387interface CanvasDrawPath {
3388 beginPath(): void;
3389 clip(fillRule?: CanvasFillRule): void;
3390 clip(path: Path2D, fillRule?: CanvasFillRule): void;
3391 fill(fillRule?: CanvasFillRule): void;
3392 fill(path: Path2D, fillRule?: CanvasFillRule): void;
3393 isPointInPath(x: number, y: number, fillRule?: CanvasFillRule): boolean;
3394 isPointInPath(path: Path2D, x: number, y: number, fillRule?: CanvasFillRule): boolean;
3395 isPointInStroke(x: number, y: number): boolean;
3396 isPointInStroke(path: Path2D, x: number, y: number): boolean;
3397 stroke(): void;
3398 stroke(path: Path2D): void;
3399}
3400
3401interface CanvasFillStrokeStyles {
3402 fillStyle: string | CanvasGradient | CanvasPattern;
3403 strokeStyle: string | CanvasGradient | CanvasPattern;
3404 createLinearGradient(x0: number, y0: number, x1: number, y1: number): CanvasGradient;
3405 createPattern(image: CanvasImageSource, repetition: string): CanvasPattern | null;
3406 createRadialGradient(x0: number, y0: number, r0: number, x1: number, y1: number, r1: number): CanvasGradient;
3407}
3408
3409interface CanvasFilters {
3410 filter: string;
3411}
3412
3413/** An opaque object describing a gradient. It is returned by the methods CanvasRenderingContext2D.createLinearGradient() or CanvasRenderingContext2D.createRadialGradient(). */
3414interface CanvasGradient {
3415 /**
3416 * Adds a color stop with the given color to the gradient at the given offset. 0.0 is the offset at one end of the gradient, 1.0 is the offset at the other end.
3417 *
3418 * Throws an "IndexSizeError" DOMException if the offset is out of range. Throws a "SyntaxError" DOMException if the color cannot be parsed.
3419 */
3420 addColorStop(offset: number, color: string): void;
3421}
3422
3423declare var CanvasGradient: {
3424 prototype: CanvasGradient;
3425 new(): CanvasGradient;
3426};
3427
3428interface CanvasImageData {
3429 createImageData(sw: number, sh: number): ImageData;
3430 createImageData(imagedata: ImageData): ImageData;
3431 getImageData(sx: number, sy: number, sw: number, sh: number): ImageData;
3432 putImageData(imagedata: ImageData, dx: number, dy: number): void;
3433 putImageData(imagedata: ImageData, dx: number, dy: number, dirtyX: number, dirtyY: number, dirtyWidth: number, dirtyHeight: number): void;
3434}
3435
3436interface CanvasImageSmoothing {
3437 imageSmoothingEnabled: boolean;
3438 imageSmoothingQuality: ImageSmoothingQuality;
3439}
3440
3441interface CanvasPath {
3442 arc(x: number, y: number, radius: number, startAngle: number, endAngle: number, anticlockwise?: boolean): void;
3443 arcTo(x1: number, y1: number, x2: number, y2: number, radius: number): void;
3444 bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number): void;
3445 closePath(): void;
3446 ellipse(x: number, y: number, radiusX: number, radiusY: number, rotation: number, startAngle: number, endAngle: number, anticlockwise?: boolean): void;
3447 lineTo(x: number, y: number): void;
3448 moveTo(x: number, y: number): void;
3449 quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): void;
3450 rect(x: number, y: number, w: number, h: number): void;
3451}
3452
3453interface CanvasPathDrawingStyles {
3454 lineCap: CanvasLineCap;
3455 lineDashOffset: number;
3456 lineJoin: CanvasLineJoin;
3457 lineWidth: number;
3458 miterLimit: number;
3459 getLineDash(): number[];
3460 setLineDash(segments: number[]): void;
3461}
3462
3463/** An opaque object describing a pattern, based on an image, a canvas, or a video, created by the CanvasRenderingContext2D.createPattern() method. */
3464interface CanvasPattern {
3465 /**
3466 * Sets the transformation matrix that will be used when rendering the pattern during a fill or stroke painting operation.
3467 */
3468 setTransform(transform?: DOMMatrix2DInit): void;
3469}
3470
3471declare var CanvasPattern: {
3472 prototype: CanvasPattern;
3473 new(): CanvasPattern;
3474};
3475
3476interface CanvasRect {
3477 clearRect(x: number, y: number, w: number, h: number): void;
3478 fillRect(x: number, y: number, w: number, h: number): void;
3479 strokeRect(x: number, y: number, w: number, h: number): void;
3480}
3481
3482/** The CanvasRenderingContext2D interface, part of the Canvas API, provides the 2D rendering context for the drawing surface of a <canvas> element. It is used for drawing shapes, text, images, and other objects. */
3483interface CanvasRenderingContext2D extends CanvasCompositing, CanvasDrawImage, CanvasDrawPath, CanvasFillStrokeStyles, CanvasFilters, CanvasImageData, CanvasImageSmoothing, CanvasPath, CanvasPathDrawingStyles, CanvasRect, CanvasShadowStyles, CanvasState, CanvasText, CanvasTextDrawingStyles, CanvasTransform, CanvasUserInterface {
3484 readonly canvas: HTMLCanvasElement;
3485}
3486
3487declare var CanvasRenderingContext2D: {
3488 prototype: CanvasRenderingContext2D;
3489 new(): CanvasRenderingContext2D;
3490};
3491
3492interface CanvasShadowStyles {
3493 shadowBlur: number;
3494 shadowColor: string;
3495 shadowOffsetX: number;
3496 shadowOffsetY: number;
3497}
3498
3499interface CanvasState {
3500 restore(): void;
3501 save(): void;
3502}
3503
3504interface CanvasText {
3505 fillText(text: string, x: number, y: number, maxWidth?: number): void;
3506 measureText(text: string): TextMetrics;
3507 strokeText(text: string, x: number, y: number, maxWidth?: number): void;
3508}
3509
3510interface CanvasTextDrawingStyles {
3511 direction: CanvasDirection;
3512 font: string;
3513 textAlign: CanvasTextAlign;
3514 textBaseline: CanvasTextBaseline;
3515}
3516
3517interface CanvasTransform {
3518 getTransform(): DOMMatrix;
3519 resetTransform(): void;
3520 rotate(angle: number): void;
3521 scale(x: number, y: number): void;
3522 setTransform(a: number, b: number, c: number, d: number, e: number, f: number): void;
3523 setTransform(transform?: DOMMatrix2DInit): void;
3524 transform(a: number, b: number, c: number, d: number, e: number, f: number): void;
3525 translate(x: number, y: number): void;
3526}
3527
3528interface CanvasUserInterface {
3529 drawFocusIfNeeded(element: Element): void;
3530 drawFocusIfNeeded(path: Path2D, element: Element): void;
3531 scrollPathIntoView(): void;
3532 scrollPathIntoView(path: Path2D): void;
3533}
3534
3535interface CaretPosition {
3536 readonly offset: number;
3537 readonly offsetNode: Node;
3538 getClientRect(): DOMRect | null;
3539}
3540
3541declare var CaretPosition: {
3542 prototype: CaretPosition;
3543 new(): CaretPosition;
3544};
3545
3546/** The ChannelMergerNode interface, often used in conjunction with its opposite, ChannelSplitterNode, reunites different mono inputs into a single output. Each input is used to fill a channel of the output. This is useful for accessing each channels separately, e.g. for performing channel mixing where gain must be separately controlled on each channel. */
3547interface ChannelMergerNode extends AudioNode {
3548}
3549
3550declare var ChannelMergerNode: {
3551 prototype: ChannelMergerNode;
3552 new(context: BaseAudioContext, options?: ChannelMergerOptions): ChannelMergerNode;
3553};
3554
3555/** The ChannelSplitterNode interface, often used in conjunction with its opposite, ChannelMergerNode, separates the different channels of an audio source into a set of mono outputs. This is useful for accessing each channel separately, e.g. for performing channel mixing where gain must be separately controlled on each channel. */
3556interface ChannelSplitterNode extends AudioNode {
3557}
3558
3559declare var ChannelSplitterNode: {
3560 prototype: ChannelSplitterNode;
3561 new(context: BaseAudioContext, options?: ChannelSplitterOptions): ChannelSplitterNode;
3562};
3563
3564/** The CharacterData abstract interface represents a Node object that contains characters. This is an abstract interface, meaning there aren't any object of type CharacterData: it is implemented by other interfaces, like Text, Comment, or ProcessingInstruction which aren't abstract. */
3565interface CharacterData extends Node, ChildNode, NonDocumentTypeChildNode {
3566 data: string;
3567 readonly length: number;
3568 appendData(data: string): void;
3569 deleteData(offset: number, count: number): void;
3570 insertData(offset: number, data: string): void;
3571 replaceData(offset: number, count: number, data: string): void;
3572 substringData(offset: number, count: number): string;
3573}
3574
3575declare var CharacterData: {
3576 prototype: CharacterData;
3577 new(): CharacterData;
3578};
3579
3580interface ChildNode extends Node {
3581 /**
3582 * Inserts nodes just after node, while replacing strings in nodes with equivalent Text nodes.
3583 *
3584 * Throws a "HierarchyRequestError" DOMException if the constraints of the node tree are violated.
3585 */
3586 after(...nodes: (Node | string)[]): void;
3587 /**
3588 * Inserts nodes just before node, while replacing strings in nodes with equivalent Text nodes.
3589 *
3590 * Throws a "HierarchyRequestError" DOMException if the constraints of the node tree are violated.
3591 */
3592 before(...nodes: (Node | string)[]): void;
3593 /**
3594 * Removes node.
3595 */
3596 remove(): void;
3597 /**
3598 * Replaces node with nodes, while replacing strings in nodes with equivalent Text nodes.
3599 *
3600 * Throws a "HierarchyRequestError" DOMException if the constraints of the node tree are violated.
3601 */
3602 replaceWith(...nodes: (Node | string)[]): void;
3603}
3604
3605interface ClientRect {
3606 bottom: number;
3607 readonly height: number;
3608 left: number;
3609 right: number;
3610 top: number;
3611 readonly width: number;
3612}
3613
3614declare var ClientRect: {
3615 prototype: ClientRect;
3616 new(): ClientRect;
3617};
3618
3619interface ClientRectList {
3620 readonly length: number;
3621 item(index: number): ClientRect;
3622 [index: number]: ClientRect;
3623}
3624
3625declare var ClientRectList: {
3626 prototype: ClientRectList;
3627 new(): ClientRectList;
3628};
3629
3630interface Clipboard extends EventTarget {
3631 readText(): Promise<string>;
3632 writeText(data: string): Promise<void>;
3633}
3634
3635declare var Clipboard: {
3636 prototype: Clipboard;
3637 new(): Clipboard;
3638};
3639
3640/** Events providing information related to modification of the clipboard, that is cut, copy, and paste events. */
3641interface ClipboardEvent extends Event {
3642 readonly clipboardData: DataTransfer | null;
3643}
3644
3645declare var ClipboardEvent: {
3646 prototype: ClipboardEvent;
3647 new(type: string, eventInitDict?: ClipboardEventInit): ClipboardEvent;
3648};
3649
3650/** 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. */
3651interface CloseEvent extends Event {
3652 readonly code: number;
3653 readonly reason: string;
3654 readonly wasClean: boolean;
3655 /** @deprecated */
3656 initCloseEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, wasCleanArg: boolean, codeArg: number, reasonArg: string): void;
3657}
3658
3659declare var CloseEvent: {
3660 prototype: CloseEvent;
3661 new(type: string, eventInitDict?: CloseEventInit): CloseEvent;
3662};
3663
3664/** Textual notations within markup; although it is generally not visually shown, such comments are available to be read in the source view. */
3665interface Comment extends CharacterData {
3666}
3667
3668declare var Comment: {
3669 prototype: Comment;
3670 new(data?: string): Comment;
3671};
3672
3673/** The DOM CompositionEvent represents events that occur due to the user indirectly entering text. */
3674interface CompositionEvent extends UIEvent {
3675 readonly data: string;
3676}
3677
3678declare var CompositionEvent: {
3679 prototype: CompositionEvent;
3680 new(type: string, eventInitDict?: CompositionEventInit): CompositionEvent;
3681};
3682
3683interface ConcatParams extends Algorithm {
3684 algorithmId: Uint8Array;
3685 hash?: string | Algorithm;
3686 partyUInfo: Uint8Array;
3687 partyVInfo: Uint8Array;
3688 privateInfo?: Uint8Array;
3689 publicInfo?: Uint8Array;
3690}
3691
3692/** Provides access to the browser's debugging console (e.g. the Web Console in Firefox). The specifics of how it works varies from browser to browser, but there is a de facto set of features that are typically provided. */
3693interface Console {
3694 memory: any;
3695 assert(condition?: boolean, message?: string, ...data: any[]): void;
3696 clear(): void;
3697 count(label?: string): void;
3698 debug(message?: any, ...optionalParams: any[]): void;
3699 dir(value?: any, ...optionalParams: any[]): void;
3700 dirxml(value: any): void;
3701 error(message?: any, ...optionalParams: any[]): void;
3702 exception(message?: string, ...optionalParams: any[]): void;
3703 group(groupTitle?: string, ...optionalParams: any[]): void;
3704 groupCollapsed(groupTitle?: string, ...optionalParams: any[]): void;
3705 groupEnd(): void;
3706 info(message?: any, ...optionalParams: any[]): void;
3707 log(message?: any, ...optionalParams: any[]): void;
3708 markTimeline(label?: string): void;
3709 profile(reportName?: string): void;
3710 profileEnd(reportName?: string): void;
3711 table(...tabularData: any[]): void;
3712 time(label?: string): void;
3713 timeEnd(label?: string): void;
3714 timeStamp(label?: string): void;
3715 timeline(label?: string): void;
3716 timelineEnd(label?: string): void;
3717 trace(message?: any, ...optionalParams: any[]): void;
3718 warn(message?: any, ...optionalParams: any[]): void;
3719}
3720
3721declare var Console: {
3722 prototype: Console;
3723 new(): Console;
3724};
3725
3726interface ConstantSourceNode extends AudioScheduledSourceNode {
3727 readonly offset: AudioParam;
3728 addEventListener<K extends keyof AudioScheduledSourceNodeEventMap>(type: K, listener: (this: ConstantSourceNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
3729 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
3730 removeEventListener<K extends keyof AudioScheduledSourceNodeEventMap>(type: K, listener: (this: ConstantSourceNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
3731 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
3732}
3733
3734declare var ConstantSourceNode: {
3735 prototype: ConstantSourceNode;
3736 new(context: BaseAudioContext, options?: ConstantSourceOptions): ConstantSourceNode;
3737};
3738
3739/** An AudioNode that performs a Linear Convolution on a given AudioBuffer, often used to achieve a reverb effect. A ConvolverNode always has exactly one input and one output. */
3740interface ConvolverNode extends AudioNode {
3741 buffer: AudioBuffer | null;
3742 normalize: boolean;
3743}
3744
3745declare var ConvolverNode: {
3746 prototype: ConvolverNode;
3747 new(context: BaseAudioContext, options?: ConvolverOptions): ConvolverNode;
3748};
3749
3750/** The position and altitude of the device on Earth, as well as the accuracy with which these properties are calculated. */
3751interface Coordinates {
3752 readonly accuracy: number;
3753 readonly altitude: number | null;
3754 readonly altitudeAccuracy: number | null;
3755 readonly heading: number | null;
3756 readonly latitude: number;
3757 readonly longitude: number;
3758 readonly speed: number | null;
3759}
3760
3761/** This Streams API interface provides a built-in byte length queuing strategy that can be used when constructing streams. */
3762interface CountQueuingStrategy extends QueuingStrategy {
3763 highWaterMark: number;
3764 size(chunk: any): 1;
3765}
3766
3767declare var CountQueuingStrategy: {
3768 prototype: CountQueuingStrategy;
3769 new(options: { highWaterMark: number }): CountQueuingStrategy;
3770};
3771
3772interface Credential {
3773 readonly id: string;
3774 readonly type: string;
3775}
3776
3777declare var Credential: {
3778 prototype: Credential;
3779 new(): Credential;
3780};
3781
3782interface CredentialsContainer {
3783 create(options?: CredentialCreationOptions): Promise<Credential | null>;
3784 get(options?: CredentialRequestOptions): Promise<Credential | null>;
3785 preventSilentAccess(): Promise<void>;
3786 store(credential: Credential): Promise<Credential>;
3787}
3788
3789declare var CredentialsContainer: {
3790 prototype: CredentialsContainer;
3791 new(): CredentialsContainer;
3792};
3793
3794/** Basic cryptography features available in the current context. It allows access to a cryptographically strong random number generator and to cryptographic primitives. */
3795interface Crypto {
3796 readonly subtle: SubtleCrypto;
3797 getRandomValues<T extends Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | null>(array: T): T;
3798}
3799
3800declare var Crypto: {
3801 prototype: Crypto;
3802 new(): Crypto;
3803};
3804
3805/** The CryptoKey dictionary of the Web Crypto API represents a cryptographic key. */
3806interface CryptoKey {
3807 readonly algorithm: KeyAlgorithm;
3808 readonly extractable: boolean;
3809 readonly type: KeyType;
3810 readonly usages: KeyUsage[];
3811}
3812
3813declare var CryptoKey: {
3814 prototype: CryptoKey;
3815 new(): CryptoKey;
3816};
3817
3818/** The CryptoKeyPair dictionary of the Web Crypto API represents a key pair for an asymmetric cryptography algorithm, also known as a public-key algorithm. */
3819interface CryptoKeyPair {
3820 privateKey: CryptoKey;
3821 publicKey: CryptoKey;
3822}
3823
3824declare var CryptoKeyPair: {
3825 prototype: CryptoKeyPair;
3826 new(): CryptoKeyPair;
3827};
3828
3829interface CustomElementRegistry {
3830 define(name: string, constructor: Function, options?: ElementDefinitionOptions): void;
3831 get(name: string): any;
3832 upgrade(root: Node): void;
3833 whenDefined(name: string): Promise<void>;
3834}
3835
3836declare var CustomElementRegistry: {
3837 prototype: CustomElementRegistry;
3838 new(): CustomElementRegistry;
3839};
3840
3841interface CustomEvent<T = any> extends Event {
3842 /**
3843 * Returns any custom data event was created with. Typically used for synthetic events.
3844 */
3845 readonly detail: T;
3846 initCustomEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, detailArg: T): void;
3847}
3848
3849declare var CustomEvent: {
3850 prototype: CustomEvent;
3851 new<T>(typeArg: string, eventInitDict?: CustomEventInit<T>): CustomEvent<T>;
3852};
3853
3854/** An error object that contains an error name. */
3855interface DOMError {
3856 readonly name: string;
3857 toString(): string;
3858}
3859
3860declare var DOMError: {
3861 prototype: DOMError;
3862 new(): DOMError;
3863};
3864
3865/** An abnormal event (called an exception) which occurs as a result of calling a method or accessing a property of a web API. */
3866interface DOMException {
3867 readonly code: number;
3868 readonly message: string;
3869 readonly name: string;
3870 readonly ABORT_ERR: number;
3871 readonly DATA_CLONE_ERR: number;
3872 readonly DOMSTRING_SIZE_ERR: number;
3873 readonly HIERARCHY_REQUEST_ERR: number;
3874 readonly INDEX_SIZE_ERR: number;
3875 readonly INUSE_ATTRIBUTE_ERR: number;
3876 readonly INVALID_ACCESS_ERR: number;
3877 readonly INVALID_CHARACTER_ERR: number;
3878 readonly INVALID_MODIFICATION_ERR: number;
3879 readonly INVALID_NODE_TYPE_ERR: number;
3880 readonly INVALID_STATE_ERR: number;
3881 readonly NAMESPACE_ERR: number;
3882 readonly NETWORK_ERR: number;
3883 readonly NOT_FOUND_ERR: number;
3884 readonly NOT_SUPPORTED_ERR: number;
3885 readonly NO_DATA_ALLOWED_ERR: number;
3886 readonly NO_MODIFICATION_ALLOWED_ERR: number;
3887 readonly QUOTA_EXCEEDED_ERR: number;
3888 readonly SECURITY_ERR: number;
3889 readonly SYNTAX_ERR: number;
3890 readonly TIMEOUT_ERR: number;
3891 readonly TYPE_MISMATCH_ERR: number;
3892 readonly URL_MISMATCH_ERR: number;
3893 readonly VALIDATION_ERR: number;
3894 readonly WRONG_DOCUMENT_ERR: number;
3895}
3896
3897declare var DOMException: {
3898 prototype: DOMException;
3899 new(message?: string, name?: string): DOMException;
3900 readonly ABORT_ERR: number;
3901 readonly DATA_CLONE_ERR: number;
3902 readonly DOMSTRING_SIZE_ERR: number;
3903 readonly HIERARCHY_REQUEST_ERR: number;
3904 readonly INDEX_SIZE_ERR: number;
3905 readonly INUSE_ATTRIBUTE_ERR: number;
3906 readonly INVALID_ACCESS_ERR: number;
3907 readonly INVALID_CHARACTER_ERR: number;
3908 readonly INVALID_MODIFICATION_ERR: number;
3909 readonly INVALID_NODE_TYPE_ERR: number;
3910 readonly INVALID_STATE_ERR: number;
3911 readonly NAMESPACE_ERR: number;
3912 readonly NETWORK_ERR: number;
3913 readonly NOT_FOUND_ERR: number;
3914 readonly NOT_SUPPORTED_ERR: number;
3915 readonly NO_DATA_ALLOWED_ERR: number;
3916 readonly NO_MODIFICATION_ALLOWED_ERR: number;
3917 readonly QUOTA_EXCEEDED_ERR: number;
3918 readonly SECURITY_ERR: number;
3919 readonly SYNTAX_ERR: number;
3920 readonly TIMEOUT_ERR: number;
3921 readonly TYPE_MISMATCH_ERR: number;
3922 readonly URL_MISMATCH_ERR: number;
3923 readonly VALIDATION_ERR: number;
3924 readonly WRONG_DOCUMENT_ERR: number;
3925};
3926
3927/** An object providing methods which are not dependent on any particular document. Such an object is returned by the Document.implementation property. */
3928interface DOMImplementation {
3929 createDocument(namespaceURI: string | null, qualifiedName: string | null, doctype: DocumentType | null): Document;
3930 createDocumentType(qualifiedName: string, publicId: string, systemId: string): DocumentType;
3931 createHTMLDocument(title?: string): Document;
3932 /** @deprecated */
3933 hasFeature(...args: any[]): true;
3934}
3935
3936declare var DOMImplementation: {
3937 prototype: DOMImplementation;
3938 new(): DOMImplementation;
3939};
3940
3941interface DOML2DeprecatedColorProperty {
3942 color: string;
3943}
3944
3945interface DOMMatrix extends DOMMatrixReadOnly {
3946 a: number;
3947 b: number;
3948 c: number;
3949 d: number;
3950 e: number;
3951 f: number;
3952 m11: number;
3953 m12: number;
3954 m13: number;
3955 m14: number;
3956 m21: number;
3957 m22: number;
3958 m23: number;
3959 m24: number;
3960 m31: number;
3961 m32: number;
3962 m33: number;
3963 m34: number;
3964 m41: number;
3965 m42: number;
3966 m43: number;
3967 m44: number;
3968 invertSelf(): DOMMatrix;
3969 multiplySelf(other?: DOMMatrixInit): DOMMatrix;
3970 preMultiplySelf(other?: DOMMatrixInit): DOMMatrix;
3971 rotateAxisAngleSelf(x?: number, y?: number, z?: number, angle?: number): DOMMatrix;
3972 rotateFromVectorSelf(x?: number, y?: number): DOMMatrix;
3973 rotateSelf(rotX?: number, rotY?: number, rotZ?: number): DOMMatrix;
3974 scale3dSelf(scale?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix;
3975 scaleSelf(scaleX?: number, scaleY?: number, scaleZ?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix;
3976 setMatrixValue(transformList: string): DOMMatrix;
3977 skewXSelf(sx?: number): DOMMatrix;
3978 skewYSelf(sy?: number): DOMMatrix;
3979 translateSelf(tx?: number, ty?: number, tz?: number): DOMMatrix;
3980}
3981
3982declare var DOMMatrix: {
3983 prototype: DOMMatrix;
3984 new(init?: string | number[]): DOMMatrix;
3985 fromFloat32Array(array32: Float32Array): DOMMatrix;
3986 fromFloat64Array(array64: Float64Array): DOMMatrix;
3987 fromMatrix(other?: DOMMatrixInit): DOMMatrix;
3988};
3989
3990type SVGMatrix = DOMMatrix;
3991declare var SVGMatrix: typeof DOMMatrix;
3992
3993type WebKitCSSMatrix = DOMMatrix;
3994declare var WebKitCSSMatrix: typeof DOMMatrix;
3995
3996interface DOMMatrixReadOnly {
3997 readonly a: number;
3998 readonly b: number;
3999 readonly c: number;
4000 readonly d: number;
4001 readonly e: number;
4002 readonly f: number;
4003 readonly is2D: boolean;
4004 readonly isIdentity: boolean;
4005 readonly m11: number;
4006 readonly m12: number;
4007 readonly m13: number;
4008 readonly m14: number;
4009 readonly m21: number;
4010 readonly m22: number;
4011 readonly m23: number;
4012 readonly m24: number;
4013 readonly m31: number;
4014 readonly m32: number;
4015 readonly m33: number;
4016 readonly m34: number;
4017 readonly m41: number;
4018 readonly m42: number;
4019 readonly m43: number;
4020 readonly m44: number;
4021 flipX(): DOMMatrix;
4022 flipY(): DOMMatrix;
4023 inverse(): DOMMatrix;
4024 multiply(other?: DOMMatrixInit): DOMMatrix;
4025 rotate(rotX?: number, rotY?: number, rotZ?: number): DOMMatrix;
4026 rotateAxisAngle(x?: number, y?: number, z?: number, angle?: number): DOMMatrix;
4027 rotateFromVector(x?: number, y?: number): DOMMatrix;
4028 scale(scaleX?: number, scaleY?: number, scaleZ?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix;
4029 scale3d(scale?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix;
4030 /** @deprecated */
4031 scaleNonUniform(scaleX?: number, scaleY?: number): DOMMatrix;
4032 skewX(sx?: number): DOMMatrix;
4033 skewY(sy?: number): DOMMatrix;
4034 toFloat32Array(): Float32Array;
4035 toFloat64Array(): Float64Array;
4036 toJSON(): any;
4037 transformPoint(point?: DOMPointInit): DOMPoint;
4038 translate(tx?: number, ty?: number, tz?: number): DOMMatrix;
4039}
4040
4041declare var DOMMatrixReadOnly: {
4042 prototype: DOMMatrixReadOnly;
4043 new(init?: string | number[]): DOMMatrixReadOnly;
4044 fromFloat32Array(array32: Float32Array): DOMMatrixReadOnly;
4045 fromFloat64Array(array64: Float64Array): DOMMatrixReadOnly;
4046 fromMatrix(other?: DOMMatrixInit): DOMMatrixReadOnly;
4047};
4048
4049/** Provides the ability to parse XML or HTML source code from a string into a DOM Document. */
4050interface DOMParser {
4051 parseFromString(str: string, type: SupportedType): Document;
4052}
4053
4054declare var DOMParser: {
4055 prototype: DOMParser;
4056 new(): DOMParser;
4057};
4058
4059interface DOMPoint extends DOMPointReadOnly {
4060 w: number;
4061 x: number;
4062 y: number;
4063 z: number;
4064}
4065
4066declare var DOMPoint: {
4067 prototype: DOMPoint;
4068 new(x?: number, y?: number, z?: number, w?: number): DOMPoint;
4069 fromPoint(other?: DOMPointInit): DOMPoint;
4070};
4071
4072type SVGPoint = DOMPoint;
4073declare var SVGPoint: typeof DOMPoint;
4074
4075interface DOMPointReadOnly {
4076 readonly w: number;
4077 readonly x: number;
4078 readonly y: number;
4079 readonly z: number;
4080 matrixTransform(matrix?: DOMMatrixInit): DOMPoint;
4081 toJSON(): any;
4082}
4083
4084declare var DOMPointReadOnly: {
4085 prototype: DOMPointReadOnly;
4086 new(x?: number, y?: number, z?: number, w?: number): DOMPointReadOnly;
4087 fromPoint(other?: DOMPointInit): DOMPointReadOnly;
4088};
4089
4090interface DOMQuad {
4091 readonly p1: DOMPoint;
4092 readonly p2: DOMPoint;
4093 readonly p3: DOMPoint;
4094 readonly p4: DOMPoint;
4095 getBounds(): DOMRect;
4096 toJSON(): any;
4097}
4098
4099declare var DOMQuad: {
4100 prototype: DOMQuad;
4101 new(p1?: DOMPointInit, p2?: DOMPointInit, p3?: DOMPointInit, p4?: DOMPointInit): DOMQuad;
4102 fromQuad(other?: DOMQuadInit): DOMQuad;
4103 fromRect(other?: DOMRectInit): DOMQuad;
4104};
4105
4106interface DOMRect extends DOMRectReadOnly {
4107 height: number;
4108 width: number;
4109 x: number;
4110 y: number;
4111}
4112
4113declare var DOMRect: {
4114 prototype: DOMRect;
4115 new(x?: number, y?: number, width?: number, height?: number): DOMRect;
4116 fromRect(other?: DOMRectInit): DOMRect;
4117};
4118
4119type SVGRect = DOMRect;
4120declare var SVGRect: typeof DOMRect;
4121
4122interface DOMRectList {
4123 readonly length: number;
4124 item(index: number): DOMRect | null;
4125 [index: number]: DOMRect;
4126}
4127
4128declare var DOMRectList: {
4129 prototype: DOMRectList;
4130 new(): DOMRectList;
4131};
4132
4133interface DOMRectReadOnly {
4134 readonly bottom: number;
4135 readonly height: number;
4136 readonly left: number;
4137 readonly right: number;
4138 readonly top: number;
4139 readonly width: number;
4140 readonly x: number;
4141 readonly y: number;
4142 toJSON(): any;
4143}
4144
4145declare var DOMRectReadOnly: {
4146 prototype: DOMRectReadOnly;
4147 new(x?: number, y?: number, width?: number, height?: number): DOMRectReadOnly;
4148 fromRect(other?: DOMRectInit): DOMRectReadOnly;
4149};
4150
4151interface DOMSettableTokenList extends DOMTokenList {
4152 value: string;
4153}
4154
4155declare var DOMSettableTokenList: {
4156 prototype: DOMSettableTokenList;
4157 new(): DOMSettableTokenList;
4158};
4159
4160/** A type returned by some APIs which contains a list of DOMString (strings). */
4161interface DOMStringList {
4162 /**
4163 * Returns the number of strings in strings.
4164 */
4165 readonly length: number;
4166 /**
4167 * Returns true if strings contains string, and false otherwise.
4168 */
4169 contains(string: string): boolean;
4170 /**
4171 * Returns the string with index index from strings.
4172 */
4173 item(index: number): string | null;
4174 [index: number]: string;
4175}
4176
4177declare var DOMStringList: {
4178 prototype: DOMStringList;
4179 new(): DOMStringList;
4180};
4181
4182/** Used by the dataset HTML attribute to represent data for custom attributes added to elements. */
4183interface DOMStringMap {
4184 [name: string]: string | undefined;
4185}
4186
4187declare var DOMStringMap: {
4188 prototype: DOMStringMap;
4189 new(): DOMStringMap;
4190};
4191
4192/** A set of space-separated tokens. Such a set is returned by Element.classList, HTMLLinkElement.relList, HTMLAnchorElement.relList, HTMLAreaElement.relList, HTMLIframeElement.sandbox, or HTMLOutputElement.htmlFor. It is indexed beginning with 0 as with JavaScript Array objects. DOMTokenList is always case-sensitive. */
4193interface DOMTokenList {
4194 /**
4195 * Returns the number of tokens.
4196 */
4197 readonly length: number;
4198 /**
4199 * Returns the associated set as string.
4200 *
4201 * Can be set, to change the associated attribute.
4202 */
4203 value: string;
4204 /**
4205 * Adds all arguments passed, except those already present.
4206 *
4207 * Throws a "SyntaxError" DOMException if one of the arguments is the empty string.
4208 *
4209 * Throws an "InvalidCharacterError" DOMException if one of the arguments contains any ASCII whitespace.
4210 */
4211 add(...tokens: string[]): void;
4212 /**
4213 * Returns true if token is present, and false otherwise.
4214 */
4215 contains(token: string): boolean;
4216 /**
4217 * Returns the token with index index.
4218 */
4219 item(index: number): string | null;
4220 /**
4221 * Removes arguments passed, if they are present.
4222 *
4223 * Throws a "SyntaxError" DOMException if one of the arguments is the empty string.
4224 *
4225 * Throws an "InvalidCharacterError" DOMException if one of the arguments contains any ASCII whitespace.
4226 */
4227 remove(...tokens: string[]): void;
4228 /**
4229 * Replaces token with newToken.
4230 *
4231 * Returns true if token was replaced with newToken, and false otherwise.
4232 *
4233 * Throws a "SyntaxError" DOMException if one of the arguments is the empty string.
4234 *
4235 * Throws an "InvalidCharacterError" DOMException if one of the arguments contains any ASCII whitespace.
4236 */
4237 replace(oldToken: string, newToken: string): void;
4238 /**
4239 * Returns true if token is in the associated attribute's supported tokens. Returns false otherwise.
4240 *
4241 * Throws a TypeError if the associated attribute has no supported tokens defined.
4242 */
4243 supports(token: string): boolean;
4244 /**
4245 * If force is not given, "toggles" token, removing it if it's present and adding it if it's not present. If force is true, adds token (same as add()). If force is false, removes token (same as remove()).
4246 *
4247 * Returns true if token is now present, and false otherwise.
4248 *
4249 * Throws a "SyntaxError" DOMException if token is empty.
4250 *
4251 * Throws an "InvalidCharacterError" DOMException if token contains any spaces.
4252 */
4253 toggle(token: string, force?: boolean): boolean;
4254 forEach(callbackfn: (value: string, key: number, parent: DOMTokenList) => void, thisArg?: any): void;
4255 [index: number]: string;
4256}
4257
4258declare var DOMTokenList: {
4259 prototype: DOMTokenList;
4260 new(): DOMTokenList;
4261};
4262
4263interface DataCue extends TextTrackCue {
4264 data: ArrayBuffer;
4265 addEventListener<K extends keyof TextTrackCueEventMap>(type: K, listener: (this: DataCue, ev: TextTrackCueEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
4266 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
4267 removeEventListener<K extends keyof TextTrackCueEventMap>(type: K, listener: (this: DataCue, ev: TextTrackCueEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
4268 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
4269}
4270
4271declare var DataCue: {
4272 prototype: DataCue;
4273 new(): DataCue;
4274};
4275
4276/** Used to hold the data that is being dragged during a drag and drop operation. It may hold one or more data items, each of one or more data types. For more information about drag and drop, see HTML Drag and Drop API. */
4277interface DataTransfer {
4278 /**
4279 * Returns the kind of operation that is currently selected. If the kind of operation isn't one of those that is allowed by the effectAllowed attribute, then the operation will fail.
4280 *
4281 * Can be set, to change the selected operation.
4282 *
4283 * The possible values are "none", "copy", "link", and "move".
4284 */
4285 dropEffect: string;
4286 /**
4287 * Returns the kinds of operations that are to be allowed.
4288 *
4289 * Can be set (during the dragstart event), to change the allowed operations.
4290 *
4291 * The possible values are "none", "copy", "copyLink", "copyMove", "link", "linkMove", "move", "all", and "uninitialized",
4292 */
4293 effectAllowed: string;
4294 /**
4295 * Returns a FileList of the files being dragged, if any.
4296 */
4297 readonly files: FileList;
4298 /**
4299 * Returns a DataTransferItemList object, with the drag data.
4300 */
4301 readonly items: DataTransferItemList;
4302 /**
4303 * Returns a frozen array listing the formats that were set in the dragstart event. In addition, if any files are being dragged, then one of the types will be the string "Files".
4304 */
4305 readonly types: ReadonlyArray<string>;
4306 /**
4307 * Removes the data of the specified formats. Removes all data if the argument is omitted.
4308 */
4309 clearData(format?: string): void;
4310 /**
4311 * Returns the specified data. If there is no such data, returns the empty string.
4312 */
4313 getData(format: string): string;
4314 /**
4315 * Adds the specified data.
4316 */
4317 setData(format: string, data: string): void;
4318 /**
4319 * Uses the given element to update the drag feedback, replacing any previously specified feedback.
4320 */
4321 setDragImage(image: Element, x: number, y: number): void;
4322}
4323
4324declare var DataTransfer: {
4325 prototype: DataTransfer;
4326 new(): DataTransfer;
4327};
4328
4329/** One drag data item. During a drag operation, each drag event has a dataTransfer property which contains a list of drag data items. Each item in the list is a DataTransferItem object. */
4330interface DataTransferItem {
4331 /**
4332 * Returns the drag data item kind, one of: "string", "file".
4333 */
4334 readonly kind: string;
4335 /**
4336 * Returns the drag data item type string.
4337 */
4338 readonly type: string;
4339 /**
4340 * Returns a File object, if the drag data item kind is File.
4341 */
4342 getAsFile(): File | null;
4343 /**
4344 * Invokes the callback with the string data as the argument, if the drag data item kind is Plain Unicode string.
4345 */
4346 getAsString(callback: FunctionStringCallback | null): void;
4347 webkitGetAsEntry(): any;
4348}
4349
4350declare var DataTransferItem: {
4351 prototype: DataTransferItem;
4352 new(): DataTransferItem;
4353};
4354
4355/** A list of DataTransferItem objects representing items being dragged. During a drag operation, each DragEvent has a dataTransfer property and that property is a DataTransferItemList. */
4356interface DataTransferItemList {
4357 /**
4358 * Returns the number of items in the drag data store.
4359 */
4360 readonly length: number;
4361 /**
4362 * Adds a new entry for the given data to the drag data store. If the data is plain text then a type string has to be provided also.
4363 */
4364 add(data: string, type: string): DataTransferItem | null;
4365 add(data: File): DataTransferItem | null;
4366 /**
4367 * Removes all the entries in the drag data store.
4368 */
4369 clear(): void;
4370 item(index: number): DataTransferItem;
4371 /**
4372 * Removes the indexth entry in the drag data store.
4373 */
4374 remove(index: number): void;
4375 [name: number]: DataTransferItem;
4376}
4377
4378declare var DataTransferItemList: {
4379 prototype: DataTransferItemList;
4380 new(): DataTransferItemList;
4381};
4382
4383interface DeferredPermissionRequest {
4384 readonly id: number;
4385 readonly type: MSWebViewPermissionType;
4386 readonly uri: string;
4387 allow(): void;
4388 deny(): void;
4389}
4390
4391declare var DeferredPermissionRequest: {
4392 prototype: DeferredPermissionRequest;
4393 new(): DeferredPermissionRequest;
4394};
4395
4396/** A delay-line; an AudioNode audio-processing module that causes a delay between the arrival of an input data and its propagation to the output. */
4397interface DelayNode extends AudioNode {
4398 readonly delayTime: AudioParam;
4399}
4400
4401declare var DelayNode: {
4402 prototype: DelayNode;
4403 new(context: BaseAudioContext, options?: DelayOptions): DelayNode;
4404};
4405
4406/** Provides information about the amount of acceleration the device is experiencing along all three axes. */
4407interface DeviceAcceleration {
4408 readonly x: number | null;
4409 readonly y: number | null;
4410 readonly z: number | null;
4411}
4412
4413declare var DeviceAcceleration: {
4414 prototype: DeviceAcceleration;
4415 new(): DeviceAcceleration;
4416};
4417
4418/** The DeviceLightEvent provides web developers with information from photo sensors or similiar detectors about ambient light levels near the device. For example this may be useful to adjust the screen's brightness based on the current ambient light level in order to save energy or provide better readability. */
4419interface DeviceLightEvent extends Event {
4420 readonly value: number;
4421}
4422
4423declare var DeviceLightEvent: {
4424 prototype: DeviceLightEvent;
4425 new(typeArg: string, eventInitDict?: DeviceLightEventInit): DeviceLightEvent;
4426};
4427
4428/** The DeviceMotionEvent provides web developers with information about the speed of changes for the device's position and orientation. */
4429interface DeviceMotionEvent extends Event {
4430 readonly acceleration: DeviceMotionEventAcceleration | null;
4431 readonly accelerationIncludingGravity: DeviceMotionEventAcceleration | null;
4432 readonly interval: number;
4433 readonly rotationRate: DeviceMotionEventRotationRate | null;
4434}
4435
4436declare var DeviceMotionEvent: {
4437 prototype: DeviceMotionEvent;
4438 new(type: string, eventInitDict?: DeviceMotionEventInit): DeviceMotionEvent;
4439};
4440
4441interface DeviceMotionEventAcceleration {
4442 readonly x: number | null;
4443 readonly y: number | null;
4444 readonly z: number | null;
4445}
4446
4447interface DeviceMotionEventRotationRate {
4448 readonly alpha: number | null;
4449 readonly beta: number | null;
4450 readonly gamma: number | null;
4451}
4452
4453/** The DeviceOrientationEvent provides web developers with information from the physical orientation of the device running the web page. */
4454interface DeviceOrientationEvent extends Event {
4455 readonly absolute: boolean;
4456 readonly alpha: number | null;
4457 readonly beta: number | null;
4458 readonly gamma: number | null;
4459}
4460
4461declare var DeviceOrientationEvent: {
4462 prototype: DeviceOrientationEvent;
4463 new(type: string, eventInitDict?: DeviceOrientationEventInit): DeviceOrientationEvent;
4464};
4465
4466/** Provides information about the rate at which the device is rotating around all three axes. */
4467interface DeviceRotationRate {
4468 readonly alpha: number | null;
4469 readonly beta: number | null;
4470 readonly gamma: number | null;
4471}
4472
4473declare var DeviceRotationRate: {
4474 prototype: DeviceRotationRate;
4475 new(): DeviceRotationRate;
4476};
4477
4478interface DhImportKeyParams extends Algorithm {
4479 generator: Uint8Array;
4480 prime: Uint8Array;
4481}
4482
4483interface DhKeyAlgorithm extends KeyAlgorithm {
4484 generator: Uint8Array;
4485 prime: Uint8Array;
4486}
4487
4488interface DhKeyDeriveParams extends Algorithm {
4489 public: CryptoKey;
4490}
4491
4492interface DhKeyGenParams extends Algorithm {
4493 generator: Uint8Array;
4494 prime: Uint8Array;
4495}
4496
4497interface DocumentEventMap extends GlobalEventHandlersEventMap, DocumentAndElementEventHandlersEventMap {
4498 "fullscreenchange": Event;
4499 "fullscreenerror": Event;
4500 "pointerlockchange": Event;
4501 "pointerlockerror": Event;
4502 "readystatechange": ProgressEvent<Document>;
4503 "visibilitychange": Event;
4504}
4505
4506/** Any web page loaded in the browser and serves as an entry point into the web page's content, which is the DOM tree. */
4507interface Document extends Node, DocumentAndElementEventHandlers, DocumentOrShadowRoot, GlobalEventHandlers, NonElementParentNode, ParentNode, XPathEvaluatorBase {
4508 /**
4509 * Sets or gets the URL for the current document.
4510 */
4511 readonly URL: string;
4512 /**
4513 * Gets the object that has the focus when the parent document has focus.
4514 */
4515 readonly activeElement: Element | null;
4516 /**
4517 * Sets or gets the color of all active links in the document.
4518 */
4519 /** @deprecated */
4520 alinkColor: string;
4521 /**
4522 * Returns a reference to the collection of elements contained by the object.
4523 */
4524 /** @deprecated */
4525 readonly all: HTMLAllCollection;
4526 /**
4527 * Retrieves a collection of all a objects that have a name and/or id property. Objects in this collection are in HTML source order.
4528 */
4529 /** @deprecated */
4530 readonly anchors: HTMLCollectionOf<HTMLAnchorElement>;
4531 /**
4532 * Retrieves a collection of all applet objects in the document.
4533 */
4534 /** @deprecated */
4535 readonly applets: HTMLCollectionOf<HTMLAppletElement>;
4536 /**
4537 * Deprecated. Sets or retrieves a value that indicates the background color behind the object.
4538 */
4539 /** @deprecated */
4540 bgColor: string;
4541 /**
4542 * Specifies the beginning and end of the document body.
4543 */
4544 body: HTMLElement;
4545 /**
4546 * Returns document's encoding.
4547 */
4548 readonly characterSet: string;
4549 /**
4550 * Gets or sets the character set used to encode the object.
4551 */
4552 readonly charset: string;
4553 /**
4554 * Gets a value that indicates whether standards-compliant mode is switched on for the object.
4555 */
4556 readonly compatMode: string;
4557 /**
4558 * Returns document's content type.
4559 */
4560 readonly contentType: string;
4561 /**
4562 * Returns the HTTP cookies that apply to the Document. If there are no cookies or cookies can't be applied to this resource, the empty string will be returned.
4563 *
4564 * Can be set, to add a new cookie to the element's set of HTTP cookies.
4565 *
4566 * If the contents are sandboxed into a unique origin (e.g. in an iframe with the sandbox attribute), a "SecurityError" DOMException will be thrown on getting and setting.
4567 */
4568 cookie: string;
4569 /**
4570 * Returns the script element, or the SVG script element, that is currently executing, as long as the element represents a classic script. In the case of reentrant script execution, returns the one that most recently started executing amongst those that have not yet finished executing.
4571 *
4572 * Returns null if the Document is not currently executing a script or SVG script element (e.g., because the running script is an event handler, or a timeout), or if the currently executing script or SVG script element represents a module script.
4573 */
4574 readonly currentScript: HTMLOrSVGScriptElement | null;
4575 readonly defaultView: WindowProxy | null;
4576 /**
4577 * Sets or gets a value that indicates whether the document can be edited.
4578 */
4579 designMode: string;
4580 /**
4581 * Sets or retrieves a value that indicates the reading order of the object.
4582 */
4583 dir: string;
4584 /**
4585 * Gets an object representing the document type declaration associated with the current document.
4586 */
4587 readonly doctype: DocumentType | null;
4588 /**
4589 * Gets a reference to the root node of the document.
4590 */
4591 readonly documentElement: HTMLElement;
4592 /**
4593 * Returns document's URL.
4594 */
4595 readonly documentURI: string;
4596 /**
4597 * Sets or gets the security domain of the document.
4598 */
4599 domain: string;
4600 /**
4601 * Retrieves a collection of all embed objects in the document.
4602 */
4603 readonly embeds: HTMLCollectionOf<HTMLEmbedElement>;
4604 /**
4605 * Sets or gets the foreground (text) color of the document.
4606 */
4607 /** @deprecated */
4608 fgColor: string;
4609 /**
4610 * Retrieves a collection, in source order, of all form objects in the document.
4611 */
4612 readonly forms: HTMLCollectionOf<HTMLFormElement>;
4613 /** @deprecated */
4614 readonly fullscreen: boolean;
4615 /**
4616 * Returns true if document has the ability to display elements fullscreen and fullscreen is supported, or false otherwise.
4617 */
4618 readonly fullscreenEnabled: boolean;
4619 /**
4620 * Returns the head element.
4621 */
4622 readonly head: HTMLHeadElement;
4623 readonly hidden: boolean;
4624 /**
4625 * Retrieves a collection, in source order, of img objects in the document.
4626 */
4627 readonly images: HTMLCollectionOf<HTMLImageElement>;
4628 /**
4629 * Gets the implementation object of the current document.
4630 */
4631 readonly implementation: DOMImplementation;
4632 /**
4633 * Returns the character encoding used to create the webpage that is loaded into the document object.
4634 */
4635 readonly inputEncoding: string;
4636 /**
4637 * Gets the date that the page was last modified, if the page supplies one.
4638 */
4639 readonly lastModified: string;
4640 /**
4641 * Sets or gets the color of the document links.
4642 */
4643 /** @deprecated */
4644 linkColor: string;
4645 /**
4646 * Retrieves a collection of all a objects that specify the href property and all area objects in the document.
4647 */
4648 readonly links: HTMLCollectionOf<HTMLAnchorElement | HTMLAreaElement>;
4649 /**
4650 * Contains information about the current URL.
4651 */
4652 location: Location;
4653 onfullscreenchange: ((this: Document, ev: Event) => any) | null;
4654 onfullscreenerror: ((this: Document, ev: Event) => any) | null;
4655 onpointerlockchange: ((this: Document, ev: Event) => any) | null;
4656 onpointerlockerror: ((this: Document, ev: Event) => any) | null;
4657 /**
4658 * Fires when the state of the object has changed.
4659 * @param ev The event
4660 */
4661 onreadystatechange: ((this: Document, ev: ProgressEvent<Document>) => any) | null;
4662 onvisibilitychange: ((this: Document, ev: Event) => any) | null;
4663 /**
4664 * Returns document's origin.
4665 */
4666 readonly origin: string;
4667 /**
4668 * Return an HTMLCollection of the embed elements in the Document.
4669 */
4670 readonly plugins: HTMLCollectionOf<HTMLEmbedElement>;
4671 /**
4672 * Retrieves a value that indicates the current state of the object.
4673 */
4674 readonly readyState: DocumentReadyState;
4675 /**
4676 * Gets the URL of the location that referred the user to the current page.
4677 */
4678 readonly referrer: string;
4679 /**
4680 * Retrieves a collection of all script objects in the document.
4681 */
4682 readonly scripts: HTMLCollectionOf<HTMLScriptElement>;
4683 readonly scrollingElement: Element | null;
4684 readonly timeline: DocumentTimeline;
4685 /**
4686 * Contains the title of the document.
4687 */
4688 title: string;
4689 readonly visibilityState: VisibilityState;
4690 /**
4691 * Sets or gets the color of the links that the user has visited.
4692 */
4693 /** @deprecated */
4694 vlinkColor: string;
4695 /**
4696 * Moves node from another document and returns it.
4697 *
4698 * If node is a document, throws a "NotSupportedError" DOMException or, if node is a shadow root, throws a "HierarchyRequestError" DOMException.
4699 */
4700 adoptNode<T extends Node>(source: T): T;
4701 /** @deprecated */
4702 captureEvents(): void;
4703 caretPositionFromPoint(x: number, y: number): CaretPosition | null;
4704 /** @deprecated */
4705 caretRangeFromPoint(x: number, y: number): Range;
4706 /** @deprecated */
4707 clear(): void;
4708 /**
4709 * Closes an output stream and forces the sent data to display.
4710 */
4711 close(): void;
4712 /**
4713 * Creates an attribute object with a specified name.
4714 * @param name String that sets the attribute object's name.
4715 */
4716 createAttribute(localName: string): Attr;
4717 createAttributeNS(namespace: string | null, qualifiedName: string): Attr;
4718 /**
4719 * Returns a CDATASection node whose data is data.
4720 */
4721 createCDATASection(data: string): CDATASection;
4722 /**
4723 * Creates a comment object with the specified data.
4724 * @param data Sets the comment object's data.
4725 */
4726 createComment(data: string): Comment;
4727 /**
4728 * Creates a new document.
4729 */
4730 createDocumentFragment(): DocumentFragment;
4731 /**
4732 * Creates an instance of the element for the specified tag.
4733 * @param tagName The name of an element.
4734 */
4735 createElement<K extends keyof HTMLElementTagNameMap>(tagName: K, options?: ElementCreationOptions): HTMLElementTagNameMap[K];
4736 /** @deprecated */
4737 createElement<K extends keyof HTMLElementDeprecatedTagNameMap>(tagName: K, options?: ElementCreationOptions): HTMLElementDeprecatedTagNameMap[K];
4738 createElement(tagName: string, options?: ElementCreationOptions): HTMLElement;
4739 /**
4740 * Returns an element with namespace namespace. Its namespace prefix will be everything before ":" (U+003E) in qualifiedName or null. Its local name will be everything after ":" (U+003E) in qualifiedName or qualifiedName.
4741 *
4742 * If localName does not match the Name production an "InvalidCharacterError" DOMException will be thrown.
4743 *
4744 * If one of the following conditions is true a "NamespaceError" DOMException will be thrown:
4745 *
4746 * localName does not match the QName production.
4747 * Namespace prefix is not null and namespace is the empty string.
4748 * Namespace prefix is "xml" and namespace is not the XML namespace.
4749 * qualifiedName or namespace prefix is "xmlns" and namespace is not the XMLNS namespace.
4750 * namespace is the XMLNS namespace and neither qualifiedName nor namespace prefix is "xmlns".
4751 *
4752 * When supplied, options's is can be used to create a customized built-in element.
4753 */
4754 createElementNS(namespaceURI: "http://www.w3.org/1999/xhtml", qualifiedName: string): HTMLElement;
4755 createElementNS<K extends keyof SVGElementTagNameMap>(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: K): SVGElementTagNameMap[K];
4756 createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: string): SVGElement;
4757 createElementNS(namespaceURI: string | null, qualifiedName: string, options?: ElementCreationOptions): Element;
4758 createElementNS(namespace: string | null, qualifiedName: string, options?: string | ElementCreationOptions): Element;
4759 createEvent(eventInterface: "AnimationEvent"): AnimationEvent;
4760 createEvent(eventInterface: "AnimationPlaybackEvent"): AnimationPlaybackEvent;
4761 createEvent(eventInterface: "AudioProcessingEvent"): AudioProcessingEvent;
4762 createEvent(eventInterface: "BeforeUnloadEvent"): BeforeUnloadEvent;
4763 createEvent(eventInterface: "ClipboardEvent"): ClipboardEvent;
4764 createEvent(eventInterface: "CloseEvent"): CloseEvent;
4765 createEvent(eventInterface: "CompositionEvent"): CompositionEvent;
4766 createEvent(eventInterface: "CustomEvent"): CustomEvent;
4767 createEvent(eventInterface: "DeviceLightEvent"): DeviceLightEvent;
4768 createEvent(eventInterface: "DeviceMotionEvent"): DeviceMotionEvent;
4769 createEvent(eventInterface: "DeviceOrientationEvent"): DeviceOrientationEvent;
4770 createEvent(eventInterface: "DragEvent"): DragEvent;
4771 createEvent(eventInterface: "ErrorEvent"): ErrorEvent;
4772 createEvent(eventInterface: "Event"): Event;
4773 createEvent(eventInterface: "Events"): Event;
4774 createEvent(eventInterface: "FocusEvent"): FocusEvent;
4775 createEvent(eventInterface: "FocusNavigationEvent"): FocusNavigationEvent;
4776 createEvent(eventInterface: "GamepadEvent"): GamepadEvent;
4777 createEvent(eventInterface: "HashChangeEvent"): HashChangeEvent;
4778 createEvent(eventInterface: "IDBVersionChangeEvent"): IDBVersionChangeEvent;
4779 createEvent(eventInterface: "InputEvent"): InputEvent;
4780 createEvent(eventInterface: "KeyboardEvent"): KeyboardEvent;
4781 createEvent(eventInterface: "ListeningStateChangedEvent"): ListeningStateChangedEvent;
4782 createEvent(eventInterface: "MSGestureEvent"): MSGestureEvent;
4783 createEvent(eventInterface: "MSMediaKeyMessageEvent"): MSMediaKeyMessageEvent;
4784 createEvent(eventInterface: "MSMediaKeyNeededEvent"): MSMediaKeyNeededEvent;
4785 createEvent(eventInterface: "MSPointerEvent"): MSPointerEvent;
4786 createEvent(eventInterface: "MediaEncryptedEvent"): MediaEncryptedEvent;
4787 createEvent(eventInterface: "MediaKeyMessageEvent"): MediaKeyMessageEvent;
4788 createEvent(eventInterface: "MediaQueryListEvent"): MediaQueryListEvent;
4789 createEvent(eventInterface: "MediaStreamErrorEvent"): MediaStreamErrorEvent;
4790 createEvent(eventInterface: "MediaStreamEvent"): MediaStreamEvent;
4791 createEvent(eventInterface: "MediaStreamTrackEvent"): MediaStreamTrackEvent;
4792 createEvent(eventInterface: "MessageEvent"): MessageEvent;
4793 createEvent(eventInterface: "MouseEvent"): MouseEvent;
4794 createEvent(eventInterface: "MouseEvents"): MouseEvent;
4795 createEvent(eventInterface: "MutationEvent"): MutationEvent;
4796 createEvent(eventInterface: "MutationEvents"): MutationEvent;
4797 createEvent(eventInterface: "OfflineAudioCompletionEvent"): OfflineAudioCompletionEvent;
4798 createEvent(eventInterface: "OverflowEvent"): OverflowEvent;
4799 createEvent(eventInterface: "PageTransitionEvent"): PageTransitionEvent;
4800 createEvent(eventInterface: "PaymentRequestUpdateEvent"): PaymentRequestUpdateEvent;
4801 createEvent(eventInterface: "PermissionRequestedEvent"): PermissionRequestedEvent;
4802 createEvent(eventInterface: "PointerEvent"): PointerEvent;
4803 createEvent(eventInterface: "PopStateEvent"): PopStateEvent;
4804 createEvent(eventInterface: "ProgressEvent"): ProgressEvent;
4805 createEvent(eventInterface: "PromiseRejectionEvent"): PromiseRejectionEvent;
4806 createEvent(eventInterface: "RTCDTMFToneChangeEvent"): RTCDTMFToneChangeEvent;
4807 createEvent(eventInterface: "RTCDataChannelEvent"): RTCDataChannelEvent;
4808 createEvent(eventInterface: "RTCDtlsTransportStateChangedEvent"): RTCDtlsTransportStateChangedEvent;
4809 createEvent(eventInterface: "RTCErrorEvent"): RTCErrorEvent;
4810 createEvent(eventInterface: "RTCIceCandidatePairChangedEvent"): RTCIceCandidatePairChangedEvent;
4811 createEvent(eventInterface: "RTCIceGathererEvent"): RTCIceGathererEvent;
4812 createEvent(eventInterface: "RTCIceTransportStateChangedEvent"): RTCIceTransportStateChangedEvent;
4813 createEvent(eventInterface: "RTCPeerConnectionIceErrorEvent"): RTCPeerConnectionIceErrorEvent;
4814 createEvent(eventInterface: "RTCPeerConnectionIceEvent"): RTCPeerConnectionIceEvent;
4815 createEvent(eventInterface: "RTCSsrcConflictEvent"): RTCSsrcConflictEvent;
4816 createEvent(eventInterface: "RTCStatsEvent"): RTCStatsEvent;
4817 createEvent(eventInterface: "RTCTrackEvent"): RTCTrackEvent;
4818 createEvent(eventInterface: "SVGZoomEvent"): SVGZoomEvent;
4819 createEvent(eventInterface: "SVGZoomEvents"): SVGZoomEvent;
4820 createEvent(eventInterface: "SecurityPolicyViolationEvent"): SecurityPolicyViolationEvent;
4821 createEvent(eventInterface: "ServiceWorkerMessageEvent"): ServiceWorkerMessageEvent;
4822 createEvent(eventInterface: "SpeechRecognitionError"): SpeechRecognitionError;
4823 createEvent(eventInterface: "SpeechRecognitionEvent"): SpeechRecognitionEvent;
4824 createEvent(eventInterface: "SpeechSynthesisErrorEvent"): SpeechSynthesisErrorEvent;
4825 createEvent(eventInterface: "SpeechSynthesisEvent"): SpeechSynthesisEvent;
4826 createEvent(eventInterface: "StorageEvent"): StorageEvent;
4827 createEvent(eventInterface: "TextEvent"): TextEvent;
4828 createEvent(eventInterface: "TouchEvent"): TouchEvent;
4829 createEvent(eventInterface: "TrackEvent"): TrackEvent;
4830 createEvent(eventInterface: "TransitionEvent"): TransitionEvent;
4831 createEvent(eventInterface: "UIEvent"): UIEvent;
4832 createEvent(eventInterface: "UIEvents"): UIEvent;
4833 createEvent(eventInterface: "VRDisplayEvent"): VRDisplayEvent;
4834 createEvent(eventInterface: "VRDisplayEvent "): VRDisplayEvent ;
4835 createEvent(eventInterface: "WebGLContextEvent"): WebGLContextEvent;
4836 createEvent(eventInterface: "WheelEvent"): WheelEvent;
4837 createEvent(eventInterface: string): Event;
4838 /**
4839 * Creates a NodeIterator object that you can use to traverse filtered lists of nodes or elements in a document.
4840 * @param root The root element or node to start traversing on.
4841 * @param whatToShow The type of nodes or elements to appear in the node list
4842 * @param filter A custom NodeFilter function to use. For more information, see filter. Use null for no filter.
4843 * @param entityReferenceExpansion A flag that specifies whether entity reference nodes are expanded.
4844 */
4845 createNodeIterator(root: Node, whatToShow?: number, filter?: NodeFilter | null): NodeIterator;
4846 /**
4847 * Returns a ProcessingInstruction node whose target is target and data is data. If target does not match the Name production an "InvalidCharacterError" DOMException will be thrown. If data contains "?>" an "InvalidCharacterError" DOMException will be thrown.
4848 */
4849 createProcessingInstruction(target: string, data: string): ProcessingInstruction;
4850 /**
4851 * Returns an empty range object that has both of its boundary points positioned at the beginning of the document.
4852 */
4853 createRange(): Range;
4854 /**
4855 * Creates a text string from the specified value.
4856 * @param data String that specifies the nodeValue property of the text node.
4857 */
4858 createTextNode(data: string): Text;
4859 /**
4860 * Creates a TreeWalker object that you can use to traverse filtered lists of nodes or elements in a document.
4861 * @param root The root element or node to start traversing on.
4862 * @param whatToShow The type of nodes or elements to appear in the node list. For more information, see whatToShow.
4863 * @param filter A custom NodeFilter function to use.
4864 * @param entityReferenceExpansion A flag that specifies whether entity reference nodes are expanded.
4865 */
4866 createTreeWalker(root: Node, whatToShow?: number, filter?: NodeFilter | null): TreeWalker;
4867 /** @deprecated */
4868 createTreeWalker(root: Node, whatToShow: number, filter: NodeFilter | null, entityReferenceExpansion?: boolean): TreeWalker;
4869 /**
4870 * Returns the element for the specified x coordinate and the specified y coordinate.
4871 * @param x The x-offset
4872 * @param y The y-offset
4873 */
4874 elementFromPoint(x: number, y: number): Element | null;
4875 elementsFromPoint(x: number, y: number): Element[];
4876 /**
4877 * Executes a command on the current document, current selection, or the given range.
4878 * @param commandId String that specifies the command to execute. This command can be any of the command identifiers that can be executed in script.
4879 * @param showUI Display the user interface, defaults to false.
4880 * @param value Value to assign.
4881 */
4882 execCommand(commandId: string, showUI?: boolean, value?: string): boolean;
4883 /**
4884 * Stops document's fullscreen element from being displayed fullscreen and resolves promise when done.
4885 */
4886 exitFullscreen(): Promise<void>;
4887 exitPointerLock(): void;
4888 getAnimations(): Animation[];
4889 /**
4890 * Returns a reference to the first object with the specified value of the ID or NAME attribute.
4891 * @param elementId String that specifies the ID value. Case-insensitive.
4892 */
4893 getElementById(elementId: string): HTMLElement | null;
4894 /**
4895 * Returns a HTMLCollection of the elements in the object on which the method was invoked (a document or an element) that have all the classes given by classNames. The classNames argument is interpreted as a space-separated list of classes.
4896 */
4897 getElementsByClassName(classNames: string): HTMLCollectionOf<Element>;
4898 /**
4899 * Gets a collection of objects based on the value of the NAME or ID attribute.
4900 * @param elementName Gets a collection of objects based on the value of the NAME or ID attribute.
4901 */
4902 getElementsByName(elementName: string): NodeListOf<HTMLElement>;
4903 /**
4904 * Retrieves a collection of objects based on the specified element name.
4905 * @param name Specifies the name of an element.
4906 */
4907 getElementsByTagName<K extends keyof HTMLElementTagNameMap>(qualifiedName: K): HTMLCollectionOf<HTMLElementTagNameMap[K]>;
4908 getElementsByTagName<K extends keyof SVGElementTagNameMap>(qualifiedName: K): HTMLCollectionOf<SVGElementTagNameMap[K]>;
4909 getElementsByTagName(qualifiedName: string): HTMLCollectionOf<Element>;
4910 /**
4911 * If namespace and localName are "*" returns a HTMLCollection of all descendant elements.
4912 *
4913 * If only namespace is "*" returns a HTMLCollection of all descendant elements whose local name is localName.
4914 *
4915 * If only localName is "*" returns a HTMLCollection of all descendant elements whose namespace is namespace.
4916 *
4917 * Otherwise, returns a HTMLCollection of all descendant elements whose namespace is namespace and local name is localName.
4918 */
4919 getElementsByTagNameNS(namespaceURI: "http://www.w3.org/1999/xhtml", localName: string): HTMLCollectionOf<HTMLElement>;
4920 getElementsByTagNameNS(namespaceURI: "http://www.w3.org/2000/svg", localName: string): HTMLCollectionOf<SVGElement>;
4921 getElementsByTagNameNS(namespaceURI: string, localName: string): HTMLCollectionOf<Element>;
4922 /**
4923 * Returns an object representing the current selection of the document that is loaded into the object displaying a webpage.
4924 */
4925 getSelection(): Selection | null;
4926 /**
4927 * Gets a value indicating whether the object currently has focus.
4928 */
4929 hasFocus(): boolean;
4930 /**
4931 * Returns a copy of node. If deep is true, the copy also includes the node's descendants.
4932 *
4933 * If node is a document or a shadow root, throws a "NotSupportedError" DOMException.
4934 */
4935 importNode<T extends Node>(importedNode: T, deep: boolean): T;
4936 /**
4937 * Opens a new window and loads a document specified by a given URL. Also, opens a new window that uses the url parameter and the name parameter to collect the output of the write method and the writeln method.
4938 * @param url Specifies a MIME type for the document.
4939 * @param name Specifies the name of the window. This name is used as the value for the TARGET attribute on a form or an anchor element.
4940 * @param features Contains a list of items separated by commas. Each item consists of an option and a value, separated by an equals sign (for example, "fullscreen=yes, toolbar=yes"). The following values are supported.
4941 * @param replace Specifies whether the existing entry for the document is replaced in the history list.
4942 */
4943 open(url?: string, name?: string, features?: string, replace?: boolean): Document;
4944 /**
4945 * Returns a Boolean value that indicates whether a specified command can be successfully executed using execCommand, given the current state of the document.
4946 * @param commandId Specifies a command identifier.
4947 */
4948 queryCommandEnabled(commandId: string): boolean;
4949 /**
4950 * Returns a Boolean value that indicates whether the specified command is in the indeterminate state.
4951 * @param commandId String that specifies a command identifier.
4952 */
4953 queryCommandIndeterm(commandId: string): boolean;
4954 /**
4955 * Returns a Boolean value that indicates the current state of the command.
4956 * @param commandId String that specifies a command identifier.
4957 */
4958 queryCommandState(commandId: string): boolean;
4959 /**
4960 * Returns a Boolean value that indicates whether the current command is supported on the current range.
4961 * @param commandId Specifies a command identifier.
4962 */
4963 queryCommandSupported(commandId: string): boolean;
4964 /**
4965 * Returns the current value of the document, range, or current selection for the given command.
4966 * @param commandId String that specifies a command identifier.
4967 */
4968 queryCommandValue(commandId: string): string;
4969 /** @deprecated */
4970 releaseEvents(): void;
4971 /**
4972 * Writes one or more HTML expressions to a document in the specified window.
4973 * @param content Specifies the text and HTML tags to write.
4974 */
4975 write(...text: string[]): void;
4976 /**
4977 * Writes one or more HTML expressions, followed by a carriage return, to a document in the specified window.
4978 * @param content The text and HTML tags to write.
4979 */
4980 writeln(...text: string[]): void;
4981 addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
4982 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
4983 removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
4984 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
4985}
4986
4987declare var Document: {
4988 prototype: Document;
4989 new(): Document;
4990};
4991
4992interface DocumentAndElementEventHandlersEventMap {
4993 "copy": ClipboardEvent;
4994 "cut": ClipboardEvent;
4995 "paste": ClipboardEvent;
4996}
4997
4998interface DocumentAndElementEventHandlers {
4999 oncopy: ((this: DocumentAndElementEventHandlers, ev: ClipboardEvent) => any) | null;
5000 oncut: ((this: DocumentAndElementEventHandlers, ev: ClipboardEvent) => any) | null;
5001 onpaste: ((this: DocumentAndElementEventHandlers, ev: ClipboardEvent) => any) | null;
5002 addEventListener<K extends keyof DocumentAndElementEventHandlersEventMap>(type: K, listener: (this: DocumentAndElementEventHandlers, ev: DocumentAndElementEventHandlersEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
5003 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
5004 removeEventListener<K extends keyof DocumentAndElementEventHandlersEventMap>(type: K, listener: (this: DocumentAndElementEventHandlers, ev: DocumentAndElementEventHandlersEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
5005 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
5006}
5007
5008interface DocumentEvent {
5009 createEvent(eventInterface: "AnimationEvent"): AnimationEvent;
5010 createEvent(eventInterface: "AnimationPlaybackEvent"): AnimationPlaybackEvent;
5011 createEvent(eventInterface: "AudioProcessingEvent"): AudioProcessingEvent;
5012 createEvent(eventInterface: "BeforeUnloadEvent"): BeforeUnloadEvent;
5013 createEvent(eventInterface: "ClipboardEvent"): ClipboardEvent;
5014 createEvent(eventInterface: "CloseEvent"): CloseEvent;
5015 createEvent(eventInterface: "CompositionEvent"): CompositionEvent;
5016 createEvent(eventInterface: "CustomEvent"): CustomEvent;
5017 createEvent(eventInterface: "DeviceLightEvent"): DeviceLightEvent;
5018 createEvent(eventInterface: "DeviceMotionEvent"): DeviceMotionEvent;
5019 createEvent(eventInterface: "DeviceOrientationEvent"): DeviceOrientationEvent;
5020 createEvent(eventInterface: "DragEvent"): DragEvent;
5021 createEvent(eventInterface: "ErrorEvent"): ErrorEvent;
5022 createEvent(eventInterface: "Event"): Event;
5023 createEvent(eventInterface: "Events"): Event;
5024 createEvent(eventInterface: "FocusEvent"): FocusEvent;
5025 createEvent(eventInterface: "FocusNavigationEvent"): FocusNavigationEvent;
5026 createEvent(eventInterface: "GamepadEvent"): GamepadEvent;
5027 createEvent(eventInterface: "HashChangeEvent"): HashChangeEvent;
5028 createEvent(eventInterface: "IDBVersionChangeEvent"): IDBVersionChangeEvent;
5029 createEvent(eventInterface: "InputEvent"): InputEvent;
5030 createEvent(eventInterface: "KeyboardEvent"): KeyboardEvent;
5031 createEvent(eventInterface: "ListeningStateChangedEvent"): ListeningStateChangedEvent;
5032 createEvent(eventInterface: "MSGestureEvent"): MSGestureEvent;
5033 createEvent(eventInterface: "MSMediaKeyMessageEvent"): MSMediaKeyMessageEvent;
5034 createEvent(eventInterface: "MSMediaKeyNeededEvent"): MSMediaKeyNeededEvent;
5035 createEvent(eventInterface: "MSPointerEvent"): MSPointerEvent;
5036 createEvent(eventInterface: "MediaEncryptedEvent"): MediaEncryptedEvent;
5037 createEvent(eventInterface: "MediaKeyMessageEvent"): MediaKeyMessageEvent;
5038 createEvent(eventInterface: "MediaQueryListEvent"): MediaQueryListEvent;
5039 createEvent(eventInterface: "MediaStreamErrorEvent"): MediaStreamErrorEvent;
5040 createEvent(eventInterface: "MediaStreamEvent"): MediaStreamEvent;
5041 createEvent(eventInterface: "MediaStreamTrackEvent"): MediaStreamTrackEvent;
5042 createEvent(eventInterface: "MessageEvent"): MessageEvent;
5043 createEvent(eventInterface: "MouseEvent"): MouseEvent;
5044 createEvent(eventInterface: "MouseEvents"): MouseEvent;
5045 createEvent(eventInterface: "MutationEvent"): MutationEvent;
5046 createEvent(eventInterface: "MutationEvents"): MutationEvent;
5047 createEvent(eventInterface: "OfflineAudioCompletionEvent"): OfflineAudioCompletionEvent;
5048 createEvent(eventInterface: "OverflowEvent"): OverflowEvent;
5049 createEvent(eventInterface: "PageTransitionEvent"): PageTransitionEvent;
5050 createEvent(eventInterface: "PaymentRequestUpdateEvent"): PaymentRequestUpdateEvent;
5051 createEvent(eventInterface: "PermissionRequestedEvent"): PermissionRequestedEvent;
5052 createEvent(eventInterface: "PointerEvent"): PointerEvent;
5053 createEvent(eventInterface: "PopStateEvent"): PopStateEvent;
5054 createEvent(eventInterface: "ProgressEvent"): ProgressEvent;
5055 createEvent(eventInterface: "PromiseRejectionEvent"): PromiseRejectionEvent;
5056 createEvent(eventInterface: "RTCDTMFToneChangeEvent"): RTCDTMFToneChangeEvent;
5057 createEvent(eventInterface: "RTCDataChannelEvent"): RTCDataChannelEvent;
5058 createEvent(eventInterface: "RTCDtlsTransportStateChangedEvent"): RTCDtlsTransportStateChangedEvent;
5059 createEvent(eventInterface: "RTCErrorEvent"): RTCErrorEvent;
5060 createEvent(eventInterface: "RTCIceCandidatePairChangedEvent"): RTCIceCandidatePairChangedEvent;
5061 createEvent(eventInterface: "RTCIceGathererEvent"): RTCIceGathererEvent;
5062 createEvent(eventInterface: "RTCIceTransportStateChangedEvent"): RTCIceTransportStateChangedEvent;
5063 createEvent(eventInterface: "RTCPeerConnectionIceErrorEvent"): RTCPeerConnectionIceErrorEvent;
5064 createEvent(eventInterface: "RTCPeerConnectionIceEvent"): RTCPeerConnectionIceEvent;
5065 createEvent(eventInterface: "RTCSsrcConflictEvent"): RTCSsrcConflictEvent;
5066 createEvent(eventInterface: "RTCStatsEvent"): RTCStatsEvent;
5067 createEvent(eventInterface: "RTCTrackEvent"): RTCTrackEvent;
5068 createEvent(eventInterface: "SVGZoomEvent"): SVGZoomEvent;
5069 createEvent(eventInterface: "SVGZoomEvents"): SVGZoomEvent;
5070 createEvent(eventInterface: "SecurityPolicyViolationEvent"): SecurityPolicyViolationEvent;
5071 createEvent(eventInterface: "ServiceWorkerMessageEvent"): ServiceWorkerMessageEvent;
5072 createEvent(eventInterface: "SpeechRecognitionError"): SpeechRecognitionError;
5073 createEvent(eventInterface: "SpeechRecognitionEvent"): SpeechRecognitionEvent;
5074 createEvent(eventInterface: "SpeechSynthesisErrorEvent"): SpeechSynthesisErrorEvent;
5075 createEvent(eventInterface: "SpeechSynthesisEvent"): SpeechSynthesisEvent;
5076 createEvent(eventInterface: "StorageEvent"): StorageEvent;
5077 createEvent(eventInterface: "TextEvent"): TextEvent;
5078 createEvent(eventInterface: "TouchEvent"): TouchEvent;
5079 createEvent(eventInterface: "TrackEvent"): TrackEvent;
5080 createEvent(eventInterface: "TransitionEvent"): TransitionEvent;
5081 createEvent(eventInterface: "UIEvent"): UIEvent;
5082 createEvent(eventInterface: "UIEvents"): UIEvent;
5083 createEvent(eventInterface: "VRDisplayEvent"): VRDisplayEvent;
5084 createEvent(eventInterface: "VRDisplayEvent "): VRDisplayEvent ;
5085 createEvent(eventInterface: "WebGLContextEvent"): WebGLContextEvent;
5086 createEvent(eventInterface: "WheelEvent"): WheelEvent;
5087 createEvent(eventInterface: string): Event;
5088}
5089
5090/** A minimal document object that has no parent. It is used as a lightweight version of Document that stores a segment of a document structure comprised of nodes just like a standard document. The key difference is that because the document fragment isn't part of the active document tree structure, changes made to the fragment don't affect the document, cause reflow, or incur any performance impact that can occur when changes are made. */
5091interface DocumentFragment extends Node, NonElementParentNode, ParentNode {
5092 getElementById(elementId: string): HTMLElement | null;
5093}
5094
5095declare var DocumentFragment: {
5096 prototype: DocumentFragment;
5097 new(): DocumentFragment;
5098};
5099
5100interface DocumentOrShadowRoot {
5101 readonly activeElement: Element | null;
5102 /**
5103 * Returns document's fullscreen element.
5104 */
5105 readonly fullscreenElement: Element | null;
5106 readonly pointerLockElement: Element | null;
5107 /**
5108 * Retrieves a collection of styleSheet objects representing the style sheets that correspond to each instance of a link or style object in the document.
5109 */
5110 readonly styleSheets: StyleSheetList;
5111 caretPositionFromPoint(x: number, y: number): CaretPosition | null;
5112 /** @deprecated */
5113 caretRangeFromPoint(x: number, y: number): Range;
5114 elementFromPoint(x: number, y: number): Element | null;
5115 elementsFromPoint(x: number, y: number): Element[];
5116 getSelection(): Selection | null;
5117}
5118
5119interface DocumentTimeline extends AnimationTimeline {
5120}
5121
5122declare var DocumentTimeline: {
5123 prototype: DocumentTimeline;
5124 new(options?: DocumentTimelineOptions): DocumentTimeline;
5125};
5126
5127/** A Node containing a doctype. */
5128interface DocumentType extends Node, ChildNode {
5129 readonly name: string;
5130 readonly publicId: string;
5131 readonly systemId: string;
5132}
5133
5134declare var DocumentType: {
5135 prototype: DocumentType;
5136 new(): DocumentType;
5137};
5138
5139/** A DOM event that represents a drag and drop interaction. The user initiates a drag by placing a pointer device (such as a mouse) on the touch surface and then dragging the pointer to a new location (such as another DOM element). Applications are free to interpret a drag and drop interaction in an application-specific way. */
5140interface DragEvent extends MouseEvent {
5141 /**
5142 * Returns the DataTransfer object for the event.
5143 */
5144 readonly dataTransfer: DataTransfer | null;
5145}
5146
5147declare var DragEvent: {
5148 prototype: DragEvent;
5149 new(type: string, eventInitDict?: DragEventInit): DragEvent;
5150};
5151
5152/** Inherits properties from its parent, AudioNode. */
5153interface DynamicsCompressorNode extends AudioNode {
5154 readonly attack: AudioParam;
5155 readonly knee: AudioParam;
5156 readonly ratio: AudioParam;
5157 readonly reduction: number;
5158 readonly release: AudioParam;
5159 readonly threshold: AudioParam;
5160}
5161
5162declare var DynamicsCompressorNode: {
5163 prototype: DynamicsCompressorNode;
5164 new(context: BaseAudioContext, options?: DynamicsCompressorOptions): DynamicsCompressorNode;
5165};
5166
5167interface EXT_blend_minmax {
5168 readonly MAX_EXT: GLenum;
5169 readonly MIN_EXT: GLenum;
5170}
5171
5172/** The EXT_frag_depth extension is part of the WebGL API and enables to set a depth value of a fragment from within the fragment shader. */
5173interface EXT_frag_depth {
5174}
5175
5176interface EXT_sRGB {
5177 readonly FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT: GLenum;
5178 readonly SRGB8_ALPHA8_EXT: GLenum;
5179 readonly SRGB_ALPHA_EXT: GLenum;
5180 readonly SRGB_EXT: GLenum;
5181}
5182
5183interface EXT_shader_texture_lod {
5184}
5185
5186/** The EXT_texture_filter_anisotropic extension is part of the WebGL API and exposes two constants for anisotropic filtering (AF). */
5187interface EXT_texture_filter_anisotropic {
5188 readonly MAX_TEXTURE_MAX_ANISOTROPY_EXT: GLenum;
5189 readonly TEXTURE_MAX_ANISOTROPY_EXT: GLenum;
5190}
5191
5192interface ElementEventMap {
5193 "fullscreenchange": Event;
5194 "fullscreenerror": Event;
5195}
5196
5197/** Element is the most general base class from which all objects in a Document inherit. It only has methods and properties common to all kinds of elements. More specific classes inherit from Element. */
5198interface Element extends Node, Animatable, ChildNode, InnerHTML, NonDocumentTypeChildNode, ParentNode, Slotable {
5199 readonly assignedSlot: HTMLSlotElement | null;
5200 readonly attributes: NamedNodeMap;
5201 /**
5202 * Allows for manipulation of element's class content attribute as a set of whitespace-separated tokens through a DOMTokenList object.
5203 */
5204 readonly classList: DOMTokenList;
5205 /**
5206 * Returns the value of element's class content attribute. Can be set to change it.
5207 */
5208 className: string;
5209 readonly clientHeight: number;
5210 readonly clientLeft: number;
5211 readonly clientTop: number;
5212 readonly clientWidth: number;
5213 /**
5214 * Returns the value of element's id content attribute. Can be set to change it.
5215 */
5216 id: string;
5217 /**
5218 * Returns the local name.
5219 */
5220 readonly localName: string;
5221 /**
5222 * Returns the namespace.
5223 */
5224 readonly namespaceURI: string | null;
5225 onfullscreenchange: ((this: Element, ev: Event) => any) | null;
5226 onfullscreenerror: ((this: Element, ev: Event) => any) | null;
5227 outerHTML: string;
5228 /**
5229 * Returns the namespace prefix.
5230 */
5231 readonly prefix: string | null;
5232 readonly scrollHeight: number;
5233 scrollLeft: number;
5234 scrollTop: number;
5235 readonly scrollWidth: number;
5236 /**
5237 * Returns element's shadow root, if any, and if shadow root's mode is "open", and null otherwise.
5238 */
5239 readonly shadowRoot: ShadowRoot | null;
5240 /**
5241 * Returns the value of element's slot content attribute. Can be set to change it.
5242 */
5243 slot: string;
5244 /**
5245 * Returns the HTML-uppercased qualified name.
5246 */
5247 readonly tagName: string;
5248 /**
5249 * Creates a shadow root for element and returns it.
5250 */
5251 attachShadow(init: ShadowRootInit): ShadowRoot;
5252 /**
5253 * Returns the first (starting at element) inclusive ancestor that matches selectors, and null otherwise.
5254 */
5255 closest<K extends keyof HTMLElementTagNameMap>(selector: K): HTMLElementTagNameMap[K] | null;
5256 closest<K extends keyof SVGElementTagNameMap>(selector: K): SVGElementTagNameMap[K] | null;
5257 closest<E extends Element = Element>(selector: string): E | null;
5258 /**
5259 * Returns element's first attribute whose qualified name is qualifiedName, and null if there is no such attribute otherwise.
5260 */
5261 getAttribute(qualifiedName: string): string | null;
5262 /**
5263 * Returns element's attribute whose namespace is namespace and local name is localName, and null if there is no such attribute otherwise.
5264 */
5265 getAttributeNS(namespace: string | null, localName: string): string | null;
5266 /**
5267 * Returns the qualified names of all element's attributes. Can contain duplicates.
5268 */
5269 getAttributeNames(): string[];
5270 getAttributeNode(name: string): Attr | null;
5271 getAttributeNodeNS(namespaceURI: string, localName: string): Attr | null;
5272 getBoundingClientRect(): DOMRect;
5273 getClientRects(): DOMRectList;
5274 /**
5275 * Returns a HTMLCollection of the elements in the object on which the method was invoked (a document or an element) that have all the classes given by classNames. The classNames argument is interpreted as a space-separated list of classes.
5276 */
5277 getElementsByClassName(classNames: string): HTMLCollectionOf<Element>;
5278 getElementsByTagName<K extends keyof HTMLElementTagNameMap>(qualifiedName: K): HTMLCollectionOf<HTMLElementTagNameMap[K]>;
5279 getElementsByTagName<K extends keyof SVGElementTagNameMap>(qualifiedName: K): HTMLCollectionOf<SVGElementTagNameMap[K]>;
5280 getElementsByTagName(qualifiedName: string): HTMLCollectionOf<Element>;
5281 getElementsByTagNameNS(namespaceURI: "http://www.w3.org/1999/xhtml", localName: string): HTMLCollectionOf<HTMLElement>;
5282 getElementsByTagNameNS(namespaceURI: "http://www.w3.org/2000/svg", localName: string): HTMLCollectionOf<SVGElement>;
5283 getElementsByTagNameNS(namespaceURI: string, localName: string): HTMLCollectionOf<Element>;
5284 /**
5285 * Returns true if element has an attribute whose qualified name is qualifiedName, and false otherwise.
5286 */
5287 hasAttribute(qualifiedName: string): boolean;
5288 /**
5289 * Returns true if element has an attribute whose namespace is namespace and local name is localName.
5290 */
5291 hasAttributeNS(namespace: string | null, localName: string): boolean;
5292 /**
5293 * Returns true if element has attributes, and false otherwise.
5294 */
5295 hasAttributes(): boolean;
5296 hasPointerCapture(pointerId: number): boolean;
5297 insertAdjacentElement(position: InsertPosition, insertedElement: Element): Element | null;
5298 insertAdjacentHTML(where: InsertPosition, html: string): void;
5299 insertAdjacentText(where: InsertPosition, text: string): void;
5300 /**
5301 * Returns true if matching selectors against element's root yields element, and false otherwise.
5302 */
5303 matches(selectors: string): boolean;
5304 msGetRegionContent(): any;
5305 releasePointerCapture(pointerId: number): void;
5306 /**
5307 * Removes element's first attribute whose qualified name is qualifiedName.
5308 */
5309 removeAttribute(qualifiedName: string): void;
5310 /**
5311 * Removes element's attribute whose namespace is namespace and local name is localName.
5312 */
5313 removeAttributeNS(namespace: string | null, localName: string): void;
5314 removeAttributeNode(attr: Attr): Attr;
5315 /**
5316 * Displays element fullscreen and resolves promise when done.
5317 *
5318 * When supplied, options's navigationUI member indicates whether showing navigation UI while in fullscreen is preferred or not. If set to "show", navigation simplicity is preferred over screen space, and if set to "hide", more screen space is preferred. User agents are always free to honor user preference over the application's. The default value "auto" indicates no application preference.
5319 */
5320 requestFullscreen(options?: FullscreenOptions): Promise<void>;
5321 requestPointerLock(): void;
5322 scroll(options?: ScrollToOptions): void;
5323 scroll(x: number, y: number): void;
5324 scrollBy(options?: ScrollToOptions): void;
5325 scrollBy(x: number, y: number): void;
5326 scrollIntoView(arg?: boolean | ScrollIntoViewOptions): void;
5327 scrollTo(options?: ScrollToOptions): void;
5328 scrollTo(x: number, y: number): void;
5329 /**
5330 * Sets the value of element's first attribute whose qualified name is qualifiedName to value.
5331 */
5332 setAttribute(qualifiedName: string, value: string): void;
5333 /**
5334 * Sets the value of element's attribute whose namespace is namespace and local name is localName to value.
5335 */
5336 setAttributeNS(namespace: string | null, qualifiedName: string, value: string): void;
5337 setAttributeNode(attr: Attr): Attr | null;
5338 setAttributeNodeNS(attr: Attr): Attr | null;
5339 setPointerCapture(pointerId: number): void;
5340 /**
5341 * If force is not given, "toggles" qualifiedName, removing it if it is present and adding it if it is not present. If force is true, adds qualifiedName. If force is false, removes qualifiedName.
5342 *
5343 * Returns true if qualifiedName is now present, and false otherwise.
5344 */
5345 toggleAttribute(qualifiedName: string, force?: boolean): boolean;
5346 webkitMatchesSelector(selectors: string): boolean;
5347 addEventListener<K extends keyof ElementEventMap>(type: K, listener: (this: Element, ev: ElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
5348 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
5349 removeEventListener<K extends keyof ElementEventMap>(type: K, listener: (this: Element, ev: ElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
5350 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
5351}
5352
5353declare var Element: {
5354 prototype: Element;
5355 new(): Element;
5356};
5357
5358interface ElementCSSInlineStyle {
5359 readonly style: CSSStyleDeclaration;
5360}
5361
5362interface ElementContentEditable {
5363 contentEditable: string;
5364 inputMode: string;
5365 readonly isContentEditable: boolean;
5366}
5367
5368/** Events providing information related to errors in scripts or in files. */
5369interface ErrorEvent extends Event {
5370 readonly colno: number;
5371 readonly error: any;
5372 readonly filename: string;
5373 readonly lineno: number;
5374 readonly message: string;
5375}
5376
5377declare var ErrorEvent: {
5378 prototype: ErrorEvent;
5379 new(type: string, eventInitDict?: ErrorEventInit): ErrorEvent;
5380};
5381
5382/** An event which takes place in the DOM. */
5383interface Event {
5384 /**
5385 * Returns true or false depending on how event was initialized. True if event goes through its target's ancestors in reverse tree order, and false otherwise.
5386 */
5387 readonly bubbles: boolean;
5388 cancelBubble: boolean;
5389 /**
5390 * Returns true or false depending on how event was initialized. Its return value does not always carry meaning, but true can indicate that part of the operation during which event was dispatched, can be canceled by invoking the preventDefault() method.
5391 */
5392 readonly cancelable: boolean;
5393 /**
5394 * Returns true or false depending on how event was initialized. True if event invokes listeners past a ShadowRoot node that is the root of its target, and false otherwise.
5395 */
5396 readonly composed: boolean;
5397 /**
5398 * Returns the object whose event listener's callback is currently being invoked.
5399 */
5400 readonly currentTarget: EventTarget | null;
5401 /**
5402 * Returns true if preventDefault() was invoked successfully to indicate cancelation, and false otherwise.
5403 */
5404 readonly defaultPrevented: boolean;
5405 /**
5406 * Returns the event's phase, which is one of NONE, CAPTURING_PHASE, AT_TARGET, and BUBBLING_PHASE.
5407 */
5408 readonly eventPhase: number;
5409 /**
5410 * Returns true if event was dispatched by the user agent, and false otherwise.
5411 */
5412 readonly isTrusted: boolean;
5413 returnValue: boolean;
5414 /** @deprecated */
5415 readonly srcElement: EventTarget | null;
5416 /**
5417 * Returns the object to which event is dispatched (its target).
5418 */
5419 readonly target: EventTarget | null;
5420 /**
5421 * Returns the event's timestamp as the number of milliseconds measured relative to the time origin.
5422 */
5423 readonly timeStamp: number;
5424 /**
5425 * Returns the type of event, e.g. "click", "hashchange", or "submit".
5426 */
5427 readonly type: string;
5428 /**
5429 * Returns the invocation target objects of event's path (objects on which listeners will be invoked), except for any nodes in shadow trees of which the shadow root's mode is "closed" that are not reachable from event's currentTarget.
5430 */
5431 composedPath(): EventTarget[];
5432 initEvent(type: string, bubbles?: boolean, cancelable?: boolean): void;
5433 /**
5434 * If invoked when the cancelable attribute value is true, and while executing a listener for the event with passive set to false, signals to the operation that caused event to be dispatched that it needs to be canceled.
5435 */
5436 preventDefault(): void;
5437 /**
5438 * Invoking this method prevents event from reaching any registered event listeners after the current one finishes running and, when dispatched in a tree, also prevents event from reaching any other objects.
5439 */
5440 stopImmediatePropagation(): void;
5441 /**
5442 * When dispatched in a tree, invoking this method prevents event from reaching any objects other than the current object.
5443 */
5444 stopPropagation(): void;
5445 readonly AT_TARGET: number;
5446 readonly BUBBLING_PHASE: number;
5447 readonly CAPTURING_PHASE: number;
5448 readonly NONE: number;
5449}
5450
5451declare var Event: {
5452 prototype: Event;
5453 new(type: string, eventInitDict?: EventInit): Event;
5454 readonly AT_TARGET: number;
5455 readonly BUBBLING_PHASE: number;
5456 readonly CAPTURING_PHASE: number;
5457 readonly NONE: number;
5458};
5459
5460interface EventListenerObject {
5461 handleEvent(evt: Event): void;
5462}
5463
5464interface EventSourceEventMap {
5465 "error": Event;
5466 "message": MessageEvent;
5467 "open": Event;
5468}
5469
5470interface EventSource extends EventTarget {
5471 onerror: ((this: EventSource, ev: Event) => any) | null;
5472 onmessage: ((this: EventSource, ev: MessageEvent) => any) | null;
5473 onopen: ((this: EventSource, ev: Event) => any) | null;
5474 /**
5475 * Returns the state of this EventSource object's connection. It can have the values described below.
5476 */
5477 readonly readyState: number;
5478 /**
5479 * Returns the URL providing the event stream.
5480 */
5481 readonly url: string;
5482 /**
5483 * Returns true if the credentials mode for connection requests to the URL providing the event stream is set to "include", and false otherwise.
5484 */
5485 readonly withCredentials: boolean;
5486 /**
5487 * Aborts any instances of the fetch algorithm started for this EventSource object, and sets the readyState attribute to CLOSED.
5488 */
5489 close(): void;
5490 readonly CLOSED: number;
5491 readonly CONNECTING: number;
5492 readonly OPEN: number;
5493 addEventListener<K extends keyof EventSourceEventMap>(type: K, listener: (this: EventSource, ev: EventSourceEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
5494 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
5495 removeEventListener<K extends keyof EventSourceEventMap>(type: K, listener: (this: EventSource, ev: EventSourceEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
5496 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
5497}
5498
5499declare var EventSource: {
5500 prototype: EventSource;
5501 new(url: string, eventSourceInitDict?: EventSourceInit): EventSource;
5502 readonly CLOSED: number;
5503 readonly CONNECTING: number;
5504 readonly OPEN: number;
5505};
5506
5507/** EventTarget is a DOM interface implemented by objects that can receive events and may have listeners for them. */
5508interface EventTarget {
5509 /**
5510 * Appends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched.
5511 *
5512 * The options argument sets listener-specific options. For compatibility this can be a boolean, in which case the method behaves exactly as if the value was specified as options's capture.
5513 *
5514 * When set to true, options's capture prevents callback from being invoked when the event's eventPhase attribute value is BUBBLING_PHASE. When false (or not present), callback will not be invoked when event's eventPhase attribute value is CAPTURING_PHASE. Either way, callback will be invoked if event's eventPhase attribute value is AT_TARGET.
5515 *
5516 * When set to true, options's passive indicates that the callback will not cancel the event by invoking preventDefault(). This is used to enable performance optimizations described in §2.8 Observing event listeners.
5517 *
5518 * When set to true, options's once indicates that the callback will only be invoked once after which the event listener will be removed.
5519 *
5520 * The event listener is appended to target's event listener list and is not appended if it has the same type, callback, and capture.
5521 */
5522 addEventListener(type: string, listener: EventListenerOrEventListenerObject | null, options?: boolean | AddEventListenerOptions): void;
5523 /**
5524 * Dispatches a synthetic event event to target and returns true if either event's cancelable attribute value is false or its preventDefault() method was not invoked, and false otherwise.
5525 */
5526 dispatchEvent(event: Event): boolean;
5527 /**
5528 * Removes the event listener in target's event listener list with the same type, callback, and options.
5529 */
5530 removeEventListener(type: string, callback: EventListenerOrEventListenerObject | null, options?: EventListenerOptions | boolean): void;
5531}
5532
5533declare var EventTarget: {
5534 prototype: EventTarget;
5535 new(): EventTarget;
5536};
5537
5538interface ExtensionScriptApis {
5539 extensionIdToShortId(extensionId: string): number;
5540 fireExtensionApiTelemetry(functionName: string, isSucceeded: boolean, isSupported: boolean, errorString: string): void;
5541 genericFunction(routerAddress: any, parameters?: string, callbackId?: number): void;
5542 genericSynchronousFunction(functionId: number, parameters?: string): string;
5543 genericWebRuntimeCallout(to: any, from: any, payload: string): void;
5544 getExtensionId(): string;
5545 registerGenericFunctionCallbackHandler(callbackHandler: Function): void;
5546 registerGenericPersistentCallbackHandler(callbackHandler: Function): void;
5547 registerWebRuntimeCallbackHandler(handler: Function): any;
5548}
5549
5550declare var ExtensionScriptApis: {
5551 prototype: ExtensionScriptApis;
5552 new(): ExtensionScriptApis;
5553};
5554
5555interface External {
5556 /** @deprecated */
5557 AddSearchProvider(): void;
5558 /** @deprecated */
5559 IsSearchProviderInstalled(): void;
5560}
5561
5562declare var External: {
5563 prototype: External;
5564 new(): External;
5565};
5566
5567/** Provides information about files and allows JavaScript in a web page to access their content. */
5568interface File extends Blob {
5569 readonly lastModified: number;
5570 readonly name: string;
5571}
5572
5573declare var File: {
5574 prototype: File;
5575 new(fileBits: BlobPart[], fileName: string, options?: FilePropertyBag): File;
5576};
5577
5578/** An object of this type is returned by the files property of the HTML <input> element; this lets you access the list of files selected with the <input type="file"> element. It's also used for a list of files dropped into web content when using the drag and drop API; see the DataTransfer object for details on this usage. */
5579interface FileList {
5580 readonly length: number;
5581 item(index: number): File | null;
5582 [index: number]: File;
5583}
5584
5585declare var FileList: {
5586 prototype: FileList;
5587 new(): FileList;
5588};
5589
5590interface FileReaderEventMap {
5591 "abort": ProgressEvent<FileReader>;
5592 "error": ProgressEvent<FileReader>;
5593 "load": ProgressEvent<FileReader>;
5594 "loadend": ProgressEvent<FileReader>;
5595 "loadstart": ProgressEvent<FileReader>;
5596 "progress": ProgressEvent<FileReader>;
5597}
5598
5599/** Lets web applications asynchronously read the contents of files (or raw data buffers) stored on the user's computer, using File or Blob objects to specify the file or data to read. */
5600interface FileReader extends EventTarget {
5601 readonly error: DOMException | null;
5602 onabort: ((this: FileReader, ev: ProgressEvent<FileReader>) => any) | null;
5603 onerror: ((this: FileReader, ev: ProgressEvent<FileReader>) => any) | null;
5604 onload: ((this: FileReader, ev: ProgressEvent<FileReader>) => any) | null;
5605 onloadend: ((this: FileReader, ev: ProgressEvent<FileReader>) => any) | null;
5606 onloadstart: ((this: FileReader, ev: ProgressEvent<FileReader>) => any) | null;
5607 onprogress: ((this: FileReader, ev: ProgressEvent<FileReader>) => any) | null;
5608 readonly readyState: number;
5609 readonly result: string | ArrayBuffer | null;
5610 abort(): void;
5611 readAsArrayBuffer(blob: Blob): void;
5612 readAsBinaryString(blob: Blob): void;
5613 readAsDataURL(blob: Blob): void;
5614 readAsText(blob: Blob, encoding?: string): void;
5615 readonly DONE: number;
5616 readonly EMPTY: number;
5617 readonly LOADING: number;
5618 addEventListener<K extends keyof FileReaderEventMap>(type: K, listener: (this: FileReader, ev: FileReaderEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
5619 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
5620 removeEventListener<K extends keyof FileReaderEventMap>(type: K, listener: (this: FileReader, ev: FileReaderEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
5621 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
5622}
5623
5624declare var FileReader: {
5625 prototype: FileReader;
5626 new(): FileReader;
5627 readonly DONE: number;
5628 readonly EMPTY: number;
5629 readonly LOADING: number;
5630};
5631
5632/** Focus-related events like focus, blur, focusin, or focusout. */
5633interface FocusEvent extends UIEvent {
5634 readonly relatedTarget: EventTarget | null;
5635}
5636
5637declare var FocusEvent: {
5638 prototype: FocusEvent;
5639 new(type: string, eventInitDict?: FocusEventInit): FocusEvent;
5640};
5641
5642interface FocusNavigationEvent extends Event {
5643 readonly navigationReason: NavigationReason;
5644 readonly originHeight: number;
5645 readonly originLeft: number;
5646 readonly originTop: number;
5647 readonly originWidth: number;
5648 requestFocus(): void;
5649}
5650
5651declare var FocusNavigationEvent: {
5652 prototype: FocusNavigationEvent;
5653 new(type: string, eventInitDict?: FocusNavigationEventInit): FocusNavigationEvent;
5654};
5655
5656/** Provides a way to easily construct a set of key/value pairs representing form fields and their values, which can then be easily sent using the XMLHttpRequest.send() method. It uses the same format a form would use if the encoding type were set to "multipart/form-data". */
5657interface FormData {
5658 append(name: string, value: string | Blob, fileName?: string): void;
5659 delete(name: string): void;
5660 get(name: string): FormDataEntryValue | null;
5661 getAll(name: string): FormDataEntryValue[];
5662 has(name: string): boolean;
5663 set(name: string, value: string | Blob, fileName?: string): void;
5664 forEach(callbackfn: (value: FormDataEntryValue, key: string, parent: FormData) => void, thisArg?: any): void;
5665}
5666
5667declare var FormData: {
5668 prototype: FormData;
5669 new(form?: HTMLFormElement): FormData;
5670};
5671
5672/** A change in volume. It is an AudioNode audio-processing module that causes a given gain to be applied to the input data before its propagation to the output. A GainNode always has exactly one input and one output, both with the same number of channels. */
5673interface GainNode extends AudioNode {
5674 readonly gain: AudioParam;
5675}
5676
5677declare var GainNode: {
5678 prototype: GainNode;
5679 new(context: BaseAudioContext, options?: GainOptions): GainNode;
5680};
5681
5682/** This Gamepad API interface defines an individual gamepad or other controller, allowing access to information such as button presses, axis positions, and id. */
5683interface Gamepad {
5684 readonly axes: ReadonlyArray<number>;
5685 readonly buttons: ReadonlyArray<GamepadButton>;
5686 readonly connected: boolean;
5687 readonly hand: GamepadHand;
5688 readonly hapticActuators: ReadonlyArray<GamepadHapticActuator>;
5689 readonly id: string;
5690 readonly index: number;
5691 readonly mapping: GamepadMappingType;
5692 readonly pose: GamepadPose | null;
5693 readonly timestamp: number;
5694}
5695
5696declare var Gamepad: {
5697 prototype: Gamepad;
5698 new(): Gamepad;
5699};
5700
5701/** An individual button of a gamepad or other controller, allowing access to the current state of different types of buttons available on the control device. */
5702interface GamepadButton {
5703 readonly pressed: boolean;
5704 readonly touched: boolean;
5705 readonly value: number;
5706}
5707
5708declare var GamepadButton: {
5709 prototype: GamepadButton;
5710 new(): GamepadButton;
5711};
5712
5713/** This Gamepad API interface contains references to gamepads connected to the system, which is what the gamepad events Window.gamepadconnected and Window.gamepaddisconnected are fired in response to. */
5714interface GamepadEvent extends Event {
5715 readonly gamepad: Gamepad;
5716}
5717
5718declare var GamepadEvent: {
5719 prototype: GamepadEvent;
5720 new(type: string, eventInitDict: GamepadEventInit): GamepadEvent;
5721};
5722
5723/** This Gamepad API interface represents hardware in the controller designed to provide haptic feedback to the user (if available), most commonly vibration hardware. */
5724interface GamepadHapticActuator {
5725 readonly type: GamepadHapticActuatorType;
5726 pulse(value: number, duration: number): Promise<boolean>;
5727}
5728
5729declare var GamepadHapticActuator: {
5730 prototype: GamepadHapticActuator;
5731 new(): GamepadHapticActuator;
5732};
5733
5734/** This Gamepad API interface represents the pose of a WebVR controller at a given timestamp (which includes orientation, position, velocity, and acceleration information.) */
5735interface GamepadPose {
5736 readonly angularAcceleration: Float32Array | null;
5737 readonly angularVelocity: Float32Array | null;
5738 readonly hasOrientation: boolean;
5739 readonly hasPosition: boolean;
5740 readonly linearAcceleration: Float32Array | null;
5741 readonly linearVelocity: Float32Array | null;
5742 readonly orientation: Float32Array | null;
5743 readonly position: Float32Array | null;
5744}
5745
5746declare var GamepadPose: {
5747 prototype: GamepadPose;
5748 new(): GamepadPose;
5749};
5750
5751interface GenericTransformStream {
5752 /**
5753 * Returns a readable stream whose chunks are strings resulting from running encoding's decoder on the chunks written to writable.
5754 */
5755 readonly readable: ReadableStream;
5756 /**
5757 * Returns a writable stream which accepts BufferSource chunks and runs them through encoding's decoder before making them available to readable.
5758 *
5759 * Typically this will be used via the pipeThrough() method on a ReadableStream source.
5760 *
5761 * ```
5762 * var decoder = new TextDecoderStream(encoding);
5763 * byteReadable
5764 * .pipeThrough(decoder)
5765 * .pipeTo(textWritable);
5766 * ```
5767 *
5768 * If the error mode is "fatal" and encoding's decoder returns error, both readable and writable will be errored with a TypeError.
5769 */
5770 readonly writable: WritableStream;
5771}
5772
5773/** An object able to programmatically obtain the position of the device. It gives Web content access to the location of the device. This allows a Web site or app to offer customized results based on the user's location. */
5774interface Geolocation {
5775 clearWatch(watchId: number): void;
5776 getCurrentPosition(successCallback: PositionCallback, errorCallback?: PositionErrorCallback, options?: PositionOptions): void;
5777 watchPosition(successCallback: PositionCallback, errorCallback?: PositionErrorCallback, options?: PositionOptions): number;
5778}
5779
5780interface GlobalEventHandlersEventMap {
5781 "abort": UIEvent;
5782 "animationcancel": AnimationEvent;
5783 "animationend": AnimationEvent;
5784 "animationiteration": AnimationEvent;
5785 "animationstart": AnimationEvent;
5786 "auxclick": MouseEvent;
5787 "blur": FocusEvent;
5788 "cancel": Event;
5789 "canplay": Event;
5790 "canplaythrough": Event;
5791 "change": Event;
5792 "click": MouseEvent;
5793 "close": Event;
5794 "contextmenu": MouseEvent;
5795 "cuechange": Event;
5796 "dblclick": MouseEvent;
5797 "drag": DragEvent;
5798 "dragend": DragEvent;
5799 "dragenter": DragEvent;
5800 "dragexit": Event;
5801 "dragleave": DragEvent;
5802 "dragover": DragEvent;
5803 "dragstart": DragEvent;
5804 "drop": DragEvent;
5805 "durationchange": Event;
5806 "emptied": Event;
5807 "ended": Event;
5808 "error": ErrorEvent;
5809 "focus": FocusEvent;
5810 "focusin": FocusEvent;
5811 "focusout": FocusEvent;
5812 "gotpointercapture": PointerEvent;
5813 "input": Event;
5814 "invalid": Event;
5815 "keydown": KeyboardEvent;
5816 "keypress": KeyboardEvent;
5817 "keyup": KeyboardEvent;
5818 "load": Event;
5819 "loadeddata": Event;
5820 "loadedmetadata": Event;
5821 "loadend": ProgressEvent;
5822 "loadstart": Event;
5823 "lostpointercapture": PointerEvent;
5824 "mousedown": MouseEvent;
5825 "mouseenter": MouseEvent;
5826 "mouseleave": MouseEvent;
5827 "mousemove": MouseEvent;
5828 "mouseout": MouseEvent;
5829 "mouseover": MouseEvent;
5830 "mouseup": MouseEvent;
5831 "pause": Event;
5832 "play": Event;
5833 "playing": Event;
5834 "pointercancel": PointerEvent;
5835 "pointerdown": PointerEvent;
5836 "pointerenter": PointerEvent;
5837 "pointerleave": PointerEvent;
5838 "pointermove": PointerEvent;
5839 "pointerout": PointerEvent;
5840 "pointerover": PointerEvent;
5841 "pointerup": PointerEvent;
5842 "progress": ProgressEvent;
5843 "ratechange": Event;
5844 "reset": Event;
5845 "resize": UIEvent;
5846 "scroll": Event;
5847 "securitypolicyviolation": SecurityPolicyViolationEvent;
5848 "seeked": Event;
5849 "seeking": Event;
5850 "select": Event;
5851 "selectionchange": Event;
5852 "selectstart": Event;
5853 "stalled": Event;
5854 "submit": Event;
5855 "suspend": Event;
5856 "timeupdate": Event;
5857 "toggle": Event;
5858 "touchcancel": TouchEvent;
5859 "touchend": TouchEvent;
5860 "touchmove": TouchEvent;
5861 "touchstart": TouchEvent;
5862 "transitioncancel": TransitionEvent;
5863 "transitionend": TransitionEvent;
5864 "transitionrun": TransitionEvent;
5865 "transitionstart": TransitionEvent;
5866 "volumechange": Event;
5867 "waiting": Event;
5868 "wheel": WheelEvent;
5869}
5870
5871interface GlobalEventHandlers {
5872 /**
5873 * Fires when the user aborts the download.
5874 * @param ev The event.
5875 */
5876 onabort: ((this: GlobalEventHandlers, ev: UIEvent) => any) | null;
5877 onanimationcancel: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null;
5878 onanimationend: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null;
5879 onanimationiteration: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null;
5880 onanimationstart: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null;
5881 onauxclick: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
5882 /**
5883 * Fires when the object loses the input focus.
5884 * @param ev The focus event.
5885 */
5886 onblur: ((this: GlobalEventHandlers, ev: FocusEvent) => any) | null;
5887 oncancel: ((this: GlobalEventHandlers, ev: Event) => any) | null;
5888 /**
5889 * Occurs when playback is possible, but would require further buffering.
5890 * @param ev The event.
5891 */
5892 oncanplay: ((this: GlobalEventHandlers, ev: Event) => any) | null;
5893 oncanplaythrough: ((this: GlobalEventHandlers, ev: Event) => any) | null;
5894 /**
5895 * Fires when the contents of the object or selection have changed.
5896 * @param ev The event.
5897 */
5898 onchange: ((this: GlobalEventHandlers, ev: Event) => any) | null;
5899 /**
5900 * Fires when the user clicks the left mouse button on the object
5901 * @param ev The mouse event.
5902 */
5903 onclick: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
5904 onclose: ((this: GlobalEventHandlers, ev: Event) => any) | null;
5905 /**
5906 * Fires when the user clicks the right mouse button in the client area, opening the context menu.
5907 * @param ev The mouse event.
5908 */
5909 oncontextmenu: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
5910 oncuechange: ((this: GlobalEventHandlers, ev: Event) => any) | null;
5911 /**
5912 * Fires when the user double-clicks the object.
5913 * @param ev The mouse event.
5914 */
5915 ondblclick: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
5916 /**
5917 * Fires on the source object continuously during a drag operation.
5918 * @param ev The event.
5919 */
5920 ondrag: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null;
5921 /**
5922 * Fires on the source object when the user releases the mouse at the close of a drag operation.
5923 * @param ev The event.
5924 */
5925 ondragend: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null;
5926 /**
5927 * Fires on the target element when the user drags the object to a valid drop target.
5928 * @param ev The drag event.
5929 */
5930 ondragenter: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null;
5931 ondragexit: ((this: GlobalEventHandlers, ev: Event) => any) | null;
5932 /**
5933 * Fires on the target object when the user moves the mouse out of a valid drop target during a drag operation.
5934 * @param ev The drag event.
5935 */
5936 ondragleave: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null;
5937 /**
5938 * Fires on the target element continuously while the user drags the object over a valid drop target.
5939 * @param ev The event.
5940 */
5941 ondragover: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null;
5942 /**
5943 * Fires on the source object when the user starts to drag a text selection or selected object.
5944 * @param ev The event.
5945 */
5946 ondragstart: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null;
5947 ondrop: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null;
5948 /**
5949 * Occurs when the duration attribute is updated.
5950 * @param ev The event.
5951 */
5952 ondurationchange: ((this: GlobalEventHandlers, ev: Event) => any) | null;
5953 /**
5954 * Occurs when the media element is reset to its initial state.
5955 * @param ev The event.
5956 */
5957 onemptied: ((this: GlobalEventHandlers, ev: Event) => any) | null;
5958 /**
5959 * Occurs when the end of playback is reached.
5960 * @param ev The event
5961 */
5962 onended: ((this: GlobalEventHandlers, ev: Event) => any) | null;
5963 /**
5964 * Fires when an error occurs during object loading.
5965 * @param ev The event.
5966 */
5967 onerror: OnErrorEventHandler;
5968 /**
5969 * Fires when the object receives focus.
5970 * @param ev The event.
5971 */
5972 onfocus: ((this: GlobalEventHandlers, ev: FocusEvent) => any) | null;
5973 ongotpointercapture: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
5974 oninput: ((this: GlobalEventHandlers, ev: Event) => any) | null;
5975 oninvalid: ((this: GlobalEventHandlers, ev: Event) => any) | null;
5976 /**
5977 * Fires when the user presses a key.
5978 * @param ev The keyboard event
5979 */
5980 onkeydown: ((this: GlobalEventHandlers, ev: KeyboardEvent) => any) | null;
5981 /**
5982 * Fires when the user presses an alphanumeric key.
5983 * @param ev The event.
5984 */
5985 onkeypress: ((this: GlobalEventHandlers, ev: KeyboardEvent) => any) | null;
5986 /**
5987 * Fires when the user releases a key.
5988 * @param ev The keyboard event
5989 */
5990 onkeyup: ((this: GlobalEventHandlers, ev: KeyboardEvent) => any) | null;
5991 /**
5992 * Fires immediately after the browser loads the object.
5993 * @param ev The event.
5994 */
5995 onload: ((this: GlobalEventHandlers, ev: Event) => any) | null;
5996 /**
5997 * Occurs when media data is loaded at the current playback position.
5998 * @param ev The event.
5999 */
6000 onloadeddata: ((this: GlobalEventHandlers, ev: Event) => any) | null;
6001 /**
6002 * Occurs when the duration and dimensions of the media have been determined.
6003 * @param ev The event.
6004 */
6005 onloadedmetadata: ((this: GlobalEventHandlers, ev: Event) => any) | null;
6006 onloadend: ((this: GlobalEventHandlers, ev: ProgressEvent) => any) | null;
6007 /**
6008 * Occurs when Internet Explorer begins looking for media data.
6009 * @param ev The event.
6010 */
6011 onloadstart: ((this: GlobalEventHandlers, ev: Event) => any) | null;
6012 onlostpointercapture: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
6013 /**
6014 * Fires when the user clicks the object with either mouse button.
6015 * @param ev The mouse event.
6016 */
6017 onmousedown: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
6018 onmouseenter: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
6019 onmouseleave: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
6020 /**
6021 * Fires when the user moves the mouse over the object.
6022 * @param ev The mouse event.
6023 */
6024 onmousemove: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
6025 /**
6026 * Fires when the user moves the mouse pointer outside the boundaries of the object.
6027 * @param ev The mouse event.
6028 */
6029 onmouseout: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
6030 /**
6031 * Fires when the user moves the mouse pointer into the object.
6032 * @param ev The mouse event.
6033 */
6034 onmouseover: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
6035 /**
6036 * Fires when the user releases a mouse button while the mouse is over the object.
6037 * @param ev The mouse event.
6038 */
6039 onmouseup: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
6040 /**
6041 * Occurs when playback is paused.
6042 * @param ev The event.
6043 */
6044 onpause: ((this: GlobalEventHandlers, ev: Event) => any) | null;
6045 /**
6046 * Occurs when the play method is requested.
6047 * @param ev The event.
6048 */
6049 onplay: ((this: GlobalEventHandlers, ev: Event) => any) | null;
6050 /**
6051 * Occurs when the audio or video has started playing.
6052 * @param ev The event.
6053 */
6054 onplaying: ((this: GlobalEventHandlers, ev: Event) => any) | null;
6055 onpointercancel: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
6056 onpointerdown: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
6057 onpointerenter: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
6058 onpointerleave: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
6059 onpointermove: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
6060 onpointerout: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
6061 onpointerover: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
6062 onpointerup: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
6063 /**
6064 * Occurs to indicate progress while downloading media data.
6065 * @param ev The event.
6066 */
6067 onprogress: ((this: GlobalEventHandlers, ev: ProgressEvent) => any) | null;
6068 /**
6069 * Occurs when the playback rate is increased or decreased.
6070 * @param ev The event.
6071 */
6072 onratechange: ((this: GlobalEventHandlers, ev: Event) => any) | null;
6073 /**
6074 * Fires when the user resets a form.
6075 * @param ev The event.
6076 */
6077 onreset: ((this: GlobalEventHandlers, ev: Event) => any) | null;
6078 onresize: ((this: GlobalEventHandlers, ev: UIEvent) => any) | null;
6079 /**
6080 * Fires when the user repositions the scroll box in the scroll bar on the object.
6081 * @param ev The event.
6082 */
6083 onscroll: ((this: GlobalEventHandlers, ev: Event) => any) | null;
6084 onsecuritypolicyviolation: ((this: GlobalEventHandlers, ev: SecurityPolicyViolationEvent) => any) | null;
6085 /**
6086 * Occurs when the seek operation ends.
6087 * @param ev The event.
6088 */
6089 onseeked: ((this: GlobalEventHandlers, ev: Event) => any) | null;
6090 /**
6091 * Occurs when the current playback position is moved.
6092 * @param ev The event.
6093 */
6094 onseeking: ((this: GlobalEventHandlers, ev: Event) => any) | null;
6095 /**
6096 * Fires when the current selection changes.
6097 * @param ev The event.
6098 */
6099 onselect: ((this: GlobalEventHandlers, ev: Event) => any) | null;
6100 onselectionchange: ((this: GlobalEventHandlers, ev: Event) => any) | null;
6101 onselectstart: ((this: GlobalEventHandlers, ev: Event) => any) | null;
6102 /**
6103 * Occurs when the download has stopped.
6104 * @param ev The event.
6105 */
6106 onstalled: ((this: GlobalEventHandlers, ev: Event) => any) | null;
6107 onsubmit: ((this: GlobalEventHandlers, ev: Event) => any) | null;
6108 /**
6109 * Occurs if the load operation has been intentionally halted.
6110 * @param ev The event.
6111 */
6112 onsuspend: ((this: GlobalEventHandlers, ev: Event) => any) | null;
6113 /**
6114 * Occurs to indicate the current playback position.
6115 * @param ev The event.
6116 */
6117 ontimeupdate: ((this: GlobalEventHandlers, ev: Event) => any) | null;
6118 ontoggle: ((this: GlobalEventHandlers, ev: Event) => any) | null;
6119 ontouchcancel: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null;
6120 ontouchend: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null;
6121 ontouchmove: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null;
6122 ontouchstart: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null;
6123 ontransitioncancel: ((this: GlobalEventHandlers, ev: TransitionEvent) => any) | null;
6124 ontransitionend: ((this: GlobalEventHandlers, ev: TransitionEvent) => any) | null;
6125 ontransitionrun: ((this: GlobalEventHandlers, ev: TransitionEvent) => any) | null;
6126 ontransitionstart: ((this: GlobalEventHandlers, ev: TransitionEvent) => any) | null;
6127 /**
6128 * Occurs when the volume is changed, or playback is muted or unmuted.
6129 * @param ev The event.
6130 */
6131 onvolumechange: ((this: GlobalEventHandlers, ev: Event) => any) | null;
6132 /**
6133 * Occurs when playback stops because the next frame of a video resource is not available.
6134 * @param ev The event.
6135 */
6136 onwaiting: ((this: GlobalEventHandlers, ev: Event) => any) | null;
6137 onwheel: ((this: GlobalEventHandlers, ev: WheelEvent) => any) | null;
6138 addEventListener<K extends keyof GlobalEventHandlersEventMap>(type: K, listener: (this: GlobalEventHandlers, ev: GlobalEventHandlersEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
6139 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
6140 removeEventListener<K extends keyof GlobalEventHandlersEventMap>(type: K, listener: (this: GlobalEventHandlers, ev: GlobalEventHandlersEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
6141 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
6142}
6143
6144interface HTMLAllCollection {
6145 /**
6146 * Returns the number of elements in the collection.
6147 */
6148 readonly length: number;
6149 /**
6150 * Returns the item with index index from the collection (determined by tree order).
6151 */
6152 item(nameOrIndex?: string): HTMLCollection | Element | null;
6153 /**
6154 * Returns the item with ID or name name from the collection.
6155 *
6156 * If there are multiple matching items, then an HTMLCollection object containing all those elements is returned.
6157 *
6158 * Only button, form, iframe, input, map, meta, object, select, and textarea elements can have a name for the purpose of this method; their name is given by the value of their name attribute.
6159 */
6160 namedItem(name: string): HTMLCollection | Element | null;
6161 [index: number]: Element;
6162}
6163
6164declare var HTMLAllCollection: {
6165 prototype: HTMLAllCollection;
6166 new(): HTMLAllCollection;
6167};
6168
6169/** Hyperlink elements and provides special properties and methods (beyond those of the regular HTMLElement object interface that they inherit from) for manipulating the layout and presentation of such elements. */
6170interface HTMLAnchorElement extends HTMLElement, HTMLHyperlinkElementUtils {
6171 /**
6172 * Sets or retrieves the character set used to encode the object.
6173 */
6174 /** @deprecated */
6175 charset: string;
6176 /**
6177 * Sets or retrieves the coordinates of the object.
6178 */
6179 /** @deprecated */
6180 coords: string;
6181 download: string;
6182 /**
6183 * Sets or retrieves the language code of the object.
6184 */
6185 hreflang: string;
6186 /**
6187 * Sets or retrieves the shape of the object.
6188 */
6189 /** @deprecated */
6190 name: string;
6191 ping: string;
6192 referrerPolicy: string;
6193 /**
6194 * Sets or retrieves the relationship between the object and the destination of the link.
6195 */
6196 rel: string;
6197 readonly relList: DOMTokenList;
6198 /**
6199 * Sets or retrieves the relationship between the object and the destination of the link.
6200 */
6201 /** @deprecated */
6202 rev: string;
6203 /**
6204 * Sets or retrieves the shape of the object.
6205 */
6206 /** @deprecated */
6207 shape: string;
6208 /**
6209 * Sets or retrieves the window or frame at which to target content.
6210 */
6211 target: string;
6212 /**
6213 * Retrieves or sets the text of the object as a string.
6214 */
6215 text: string;
6216 type: string;
6217 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLAnchorElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
6218 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
6219 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLAnchorElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
6220 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
6221}
6222
6223declare var HTMLAnchorElement: {
6224 prototype: HTMLAnchorElement;
6225 new(): HTMLAnchorElement;
6226};
6227
6228interface HTMLAppletElement extends HTMLElement {
6229 /** @deprecated */
6230 align: string;
6231 /**
6232 * Sets or retrieves a text alternative to the graphic.
6233 */
6234 /** @deprecated */
6235 alt: string;
6236 /**
6237 * Sets or retrieves a character string that can be used to implement your own archive functionality for the object.
6238 */
6239 /** @deprecated */
6240 archive: string;
6241 /** @deprecated */
6242 code: string;
6243 /**
6244 * Sets or retrieves the URL of the component.
6245 */
6246 /** @deprecated */
6247 codeBase: string;
6248 readonly form: HTMLFormElement | null;
6249 /**
6250 * Sets or retrieves the height of the object.
6251 */
6252 /** @deprecated */
6253 height: string;
6254 /** @deprecated */
6255 hspace: number;
6256 /**
6257 * Sets or retrieves the shape of the object.
6258 */
6259 /** @deprecated */
6260 name: string;
6261 /** @deprecated */
6262 object: string;
6263 /** @deprecated */
6264 vspace: number;
6265 /** @deprecated */
6266 width: string;
6267 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLAppletElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
6268 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
6269 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLAppletElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
6270 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
6271}
6272
6273declare var HTMLAppletElement: {
6274 prototype: HTMLAppletElement;
6275 new(): HTMLAppletElement;
6276};
6277
6278/** Provides special properties and methods (beyond those of the regular object HTMLElement interface it also has available to it by inheritance) for manipulating the layout and presentation of <area> elements. */
6279interface HTMLAreaElement extends HTMLElement, HTMLHyperlinkElementUtils {
6280 /**
6281 * Sets or retrieves a text alternative to the graphic.
6282 */
6283 alt: string;
6284 /**
6285 * Sets or retrieves the coordinates of the object.
6286 */
6287 coords: string;
6288 download: string;
6289 /**
6290 * Sets or gets whether clicks in this region cause action.
6291 */
6292 /** @deprecated */
6293 noHref: boolean;
6294 ping: string;
6295 referrerPolicy: string;
6296 rel: string;
6297 readonly relList: DOMTokenList;
6298 /**
6299 * Sets or retrieves the shape of the object.
6300 */
6301 shape: string;
6302 /**
6303 * Sets or retrieves the window or frame at which to target content.
6304 */
6305 target: string;
6306 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLAreaElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
6307 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
6308 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLAreaElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
6309 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
6310}
6311
6312declare var HTMLAreaElement: {
6313 prototype: HTMLAreaElement;
6314 new(): HTMLAreaElement;
6315};
6316
6317/** Provides access to the properties of <audio> elements, as well as methods to manipulate them. It derives from the HTMLMediaElement interface. */
6318interface HTMLAudioElement extends HTMLMediaElement {
6319 addEventListener<K extends keyof HTMLMediaElementEventMap>(type: K, listener: (this: HTMLAudioElement, ev: HTMLMediaElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
6320 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
6321 removeEventListener<K extends keyof HTMLMediaElementEventMap>(type: K, listener: (this: HTMLAudioElement, ev: HTMLMediaElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
6322 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
6323}
6324
6325declare var HTMLAudioElement: {
6326 prototype: HTMLAudioElement;
6327 new(): HTMLAudioElement;
6328};
6329
6330/** A HTML line break element (<br>). It inherits from HTMLElement. */
6331interface HTMLBRElement extends HTMLElement {
6332 /**
6333 * Sets or retrieves the side on which floating objects are not to be positioned when any IHTMLBlockElement is inserted into the document.
6334 */
6335 /** @deprecated */
6336 clear: string;
6337 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLBRElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
6338 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
6339 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLBRElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
6340 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
6341}
6342
6343declare var HTMLBRElement: {
6344 prototype: HTMLBRElement;
6345 new(): HTMLBRElement;
6346};
6347
6348/** Contains the base URI for a document. This object inherits all of the properties and methods as described in the HTMLElement interface. */
6349interface HTMLBaseElement extends HTMLElement {
6350 /**
6351 * Gets or sets the baseline URL on which relative links are based.
6352 */
6353 href: string;
6354 /**
6355 * Sets or retrieves the window or frame at which to target content.
6356 */
6357 target: string;
6358 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLBaseElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
6359 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
6360 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLBaseElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
6361 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
6362}
6363
6364declare var HTMLBaseElement: {
6365 prototype: HTMLBaseElement;
6366 new(): HTMLBaseElement;
6367};
6368
6369/** Provides special properties (beyond the regular HTMLElement interface it also has available to it by inheritance) for manipulating <basefont> elements. */
6370interface HTMLBaseFontElement extends HTMLElement, DOML2DeprecatedColorProperty {
6371 /**
6372 * Sets or retrieves the current typeface family.
6373 */
6374 /** @deprecated */
6375 face: string;
6376 /**
6377 * Sets or retrieves the font size of the object.
6378 */
6379 /** @deprecated */
6380 size: number;
6381 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLBaseFontElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
6382 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
6383 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLBaseFontElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
6384 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
6385}
6386
6387declare var HTMLBaseFontElement: {
6388 prototype: HTMLBaseFontElement;
6389 new(): HTMLBaseFontElement;
6390};
6391
6392interface HTMLBodyElementEventMap extends HTMLElementEventMap, WindowEventHandlersEventMap {
6393 "orientationchange": Event;
6394}
6395
6396/** Provides special properties (beyond those inherited from the regular HTMLElement interface) for manipulating <body> elements. */
6397interface HTMLBodyElement extends HTMLElement, WindowEventHandlers {
6398 /** @deprecated */
6399 aLink: string;
6400 /** @deprecated */
6401 background: string;
6402 /** @deprecated */
6403 bgColor: string;
6404 bgProperties: string;
6405 /** @deprecated */
6406 link: string;
6407 /** @deprecated */
6408 noWrap: boolean;
6409 /** @deprecated */
6410 onorientationchange: ((this: HTMLBodyElement, ev: Event) => any) | null;
6411 /** @deprecated */
6412 text: string;
6413 /** @deprecated */
6414 vLink: string;
6415 addEventListener<K extends keyof HTMLBodyElementEventMap>(type: K, listener: (this: HTMLBodyElement, ev: HTMLBodyElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
6416 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
6417 removeEventListener<K extends keyof HTMLBodyElementEventMap>(type: K, listener: (this: HTMLBodyElement, ev: HTMLBodyElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
6418 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
6419}
6420
6421declare var HTMLBodyElement: {
6422 prototype: HTMLBodyElement;
6423 new(): HTMLBodyElement;
6424};
6425
6426/** Provides properties and methods (beyond the regular HTMLElement interface it also has available to it by inheritance) for manipulating <button> elements. */
6427interface HTMLButtonElement extends HTMLElement {
6428 /**
6429 * Provides a way to direct a user to a specific field when a document loads. This can provide both direction and convenience for a user, reducing the need to click or tab to a field when a page opens. This attribute is true when present on an element, and false when missing.
6430 */
6431 autofocus: boolean;
6432 disabled: boolean;
6433 /**
6434 * Retrieves a reference to the form that the object is embedded in.
6435 */
6436 readonly form: HTMLFormElement | null;
6437 /**
6438 * Overrides the action attribute (where the data on a form is sent) on the parent form element.
6439 */
6440 formAction: string;
6441 /**
6442 * Used to override the encoding (formEnctype attribute) specified on the form element.
6443 */
6444 formEnctype: string;
6445 /**
6446 * Overrides the submit method attribute previously specified on a form element.
6447 */
6448 formMethod: string;
6449 /**
6450 * Overrides any validation or required attributes on a form or form elements to allow it to be submitted without validation. This can be used to create a "save draft"-type submit option.
6451 */
6452 formNoValidate: boolean;
6453 /**
6454 * Overrides the target attribute on a form element.
6455 */
6456 formTarget: string;
6457 readonly labels: NodeListOf<HTMLLabelElement>;
6458 /**
6459 * Sets or retrieves the name of the object.
6460 */
6461 name: string;
6462 /**
6463 * Gets the classification and default behavior of the button.
6464 */
6465 type: string;
6466 /**
6467 * Returns the error message that would be displayed if the user submits the form, or an empty string if no error message. It also triggers the standard error message, such as "this is a required field". The result is that the user sees validation messages without actually submitting.
6468 */
6469 readonly validationMessage: string;
6470 /**
6471 * Returns a ValidityState object that represents the validity states of an element.
6472 */
6473 readonly validity: ValidityState;
6474 /**
6475 * Sets or retrieves the default or selected value of the control.
6476 */
6477 value: string;
6478 /**
6479 * Returns whether an element will successfully validate based on forms validation rules and constraints.
6480 */
6481 readonly willValidate: boolean;
6482 /**
6483 * Returns whether a form will validate when it is submitted, without having to submit it.
6484 */
6485 checkValidity(): boolean;
6486 reportValidity(): boolean;
6487 /**
6488 * Sets a custom error message that is displayed when a form is submitted.
6489 * @param error Sets a custom error message that is displayed when a form is submitted.
6490 */
6491 setCustomValidity(error: string): void;
6492 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLButtonElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
6493 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
6494 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLButtonElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
6495 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
6496}
6497
6498declare var HTMLButtonElement: {
6499 prototype: HTMLButtonElement;
6500 new(): HTMLButtonElement;
6501};
6502
6503/** Provides properties and methods for manipulating the layout and presentation of <canvas> elements. The HTMLCanvasElement interface also inherits the properties and methods of the HTMLElement interface. */
6504interface HTMLCanvasElement extends HTMLElement {
6505 /**
6506 * Gets or sets the height of a canvas element on a document.
6507 */
6508 height: number;
6509 /**
6510 * Gets or sets the width of a canvas element on a document.
6511 */
6512 width: number;
6513 /**
6514 * Returns an object that provides methods and properties for drawing and manipulating images and graphics on a canvas element in a document. A context object includes information about colors, line widths, fonts, and other graphic parameters that can be drawn on a canvas.
6515 * @param contextId The identifier (ID) of the type of canvas to create. Internet Explorer 9 and Internet Explorer 10 support only a 2-D context using canvas.getContext("2d"); IE11 Preview also supports 3-D or WebGL context using canvas.getContext("experimental-webgl");
6516 */
6517 getContext(contextId: "2d", options?: CanvasRenderingContext2DSettings): CanvasRenderingContext2D | null;
6518 getContext(contextId: "bitmaprenderer", options?: ImageBitmapRenderingContextSettings): ImageBitmapRenderingContext | null;
6519 getContext(contextId: "webgl", options?: WebGLContextAttributes): WebGLRenderingContext | null;
6520 getContext(contextId: "webgl2", options?: WebGLContextAttributes): WebGL2RenderingContext | null;
6521 getContext(contextId: string, options?: any): RenderingContext | null;
6522 toBlob(callback: BlobCallback, type?: string, quality?: any): void;
6523 /**
6524 * Returns the content of the current canvas as an image that you can use as a source for another canvas or an HTML element.
6525 * @param type The standard MIME type for the image format to return. If you do not specify this parameter, the default value is a PNG format image.
6526 */
6527 toDataURL(type?: string, quality?: any): string;
6528 transferControlToOffscreen(): OffscreenCanvas;
6529 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLCanvasElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
6530 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
6531 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLCanvasElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
6532 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
6533}
6534
6535declare var HTMLCanvasElement: {
6536 prototype: HTMLCanvasElement;
6537 new(): HTMLCanvasElement;
6538};
6539
6540/** A generic collection (array-like object similar to arguments) of elements (in document order) and offers methods and properties for selecting from the list. */
6541interface HTMLCollectionBase {
6542 /**
6543 * Sets or retrieves the number of objects in a collection.
6544 */
6545 readonly length: number;
6546 /**
6547 * Retrieves an object from various collections.
6548 */
6549 item(index: number): Element | null;
6550 [index: number]: Element;
6551}
6552
6553interface HTMLCollection extends HTMLCollectionBase {
6554 /**
6555 * Retrieves a select object or an object from an options collection.
6556 */
6557 namedItem(name: string): Element | null;
6558}
6559
6560declare var HTMLCollection: {
6561 prototype: HTMLCollection;
6562 new(): HTMLCollection;
6563};
6564
6565interface HTMLCollectionOf<T extends Element> extends HTMLCollectionBase {
6566 item(index: number): T | null;
6567 namedItem(name: string): T | null;
6568 [index: number]: T;
6569}
6570
6571/** Provides special properties (beyond those of the regular HTMLElement interface it also has available to it by inheritance) for manipulating definition list (<dl>) elements. */
6572interface HTMLDListElement extends HTMLElement {
6573 /** @deprecated */
6574 compact: boolean;
6575 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLDListElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
6576 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
6577 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLDListElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
6578 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
6579}
6580
6581declare var HTMLDListElement: {
6582 prototype: HTMLDListElement;
6583 new(): HTMLDListElement;
6584};
6585
6586/** Provides special properties (beyond the regular HTMLElement interface it also has available to it by inheritance) for manipulating <data> elements. */
6587interface HTMLDataElement extends HTMLElement {
6588 value: string;
6589 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLDataElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
6590 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
6591 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLDataElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
6592 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
6593}
6594
6595declare var HTMLDataElement: {
6596 prototype: HTMLDataElement;
6597 new(): HTMLDataElement;
6598};
6599
6600/** Provides special properties (beyond the HTMLElement object interface it also has available to it by inheritance) to manipulate <datalist> elements and their content. */
6601interface HTMLDataListElement extends HTMLElement {
6602 readonly options: HTMLCollectionOf<HTMLOptionElement>;
6603 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLDataListElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
6604 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
6605 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLDataListElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
6606 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
6607}
6608
6609declare var HTMLDataListElement: {
6610 prototype: HTMLDataListElement;
6611 new(): HTMLDataListElement;
6612};
6613
6614interface HTMLDetailsElement extends HTMLElement {
6615 open: boolean;
6616 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLDetailsElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
6617 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
6618 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLDetailsElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
6619 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
6620}
6621
6622declare var HTMLDetailsElement: {
6623 prototype: HTMLDetailsElement;
6624 new(): HTMLDetailsElement;
6625};
6626
6627interface HTMLDialogElement extends HTMLElement {
6628 open: boolean;
6629 returnValue: string;
6630 close(returnValue?: string): void;
6631 show(): void;
6632 showModal(): void;
6633 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLDialogElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
6634 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
6635 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLDialogElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
6636 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
6637}
6638
6639declare var HTMLDialogElement: {
6640 prototype: HTMLDialogElement;
6641 new(): HTMLDialogElement;
6642};
6643
6644interface HTMLDirectoryElement extends HTMLElement {
6645 /** @deprecated */
6646 compact: boolean;
6647 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLDirectoryElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
6648 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
6649 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLDirectoryElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
6650 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
6651}
6652
6653declare var HTMLDirectoryElement: {
6654 prototype: HTMLDirectoryElement;
6655 new(): HTMLDirectoryElement;
6656};
6657
6658/** Provides special properties (beyond the regular HTMLElement interface it also has available to it by inheritance) for manipulating <div> elements. */
6659interface HTMLDivElement extends HTMLElement {
6660 /**
6661 * Sets or retrieves how the object is aligned with adjacent text.
6662 */
6663 /** @deprecated */
6664 align: string;
6665 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLDivElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
6666 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
6667 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLDivElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
6668 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
6669}
6670
6671declare var HTMLDivElement: {
6672 prototype: HTMLDivElement;
6673 new(): HTMLDivElement;
6674};
6675
6676/** The HTMLDocument property of Window objects is an alias that browsers expose for the Document interface object. */
6677interface HTMLDocument extends Document {
6678 addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: HTMLDocument, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
6679 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
6680 removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: HTMLDocument, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
6681 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
6682}
6683
6684declare var HTMLDocument: {
6685 prototype: HTMLDocument;
6686 new(): HTMLDocument;
6687};
6688
6689interface HTMLElementEventMap extends ElementEventMap, GlobalEventHandlersEventMap, DocumentAndElementEventHandlersEventMap {
6690}
6691
6692/** Any HTML element. Some elements directly implement this interface, while others implement it via an interface that inherits it. */
6693interface HTMLElement extends Element, DocumentAndElementEventHandlers, ElementCSSInlineStyle, ElementContentEditable, GlobalEventHandlers, HTMLOrSVGElement {
6694 accessKey: string;
6695 readonly accessKeyLabel: string;
6696 autocapitalize: string;
6697 dir: string;
6698 draggable: boolean;
6699 hidden: boolean;
6700 innerText: string;
6701 lang: string;
6702 readonly offsetHeight: number;
6703 readonly offsetLeft: number;
6704 readonly offsetParent: Element | null;
6705 readonly offsetTop: number;
6706 readonly offsetWidth: number;
6707 spellcheck: boolean;
6708 title: string;
6709 translate: boolean;
6710 click(): void;
6711 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
6712 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
6713 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
6714 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
6715}
6716
6717declare var HTMLElement: {
6718 prototype: HTMLElement;
6719 new(): HTMLElement;
6720};
6721
6722/** Provides special properties (beyond the regular HTMLElement interface it also has available to it by inheritance) for manipulating <embed> elements. */
6723interface HTMLEmbedElement extends HTMLElement {
6724 /** @deprecated */
6725 align: string;
6726 /**
6727 * Sets or retrieves the height of the object.
6728 */
6729 height: string;
6730 /**
6731 * Sets or retrieves the name of the object.
6732 */
6733 /** @deprecated */
6734 name: string;
6735 /**
6736 * Sets or retrieves a URL to be loaded by the object.
6737 */
6738 src: string;
6739 type: string;
6740 /**
6741 * Sets or retrieves the width of the object.
6742 */
6743 width: string;
6744 getSVGDocument(): Document | null;
6745 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLEmbedElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
6746 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
6747 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLEmbedElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
6748 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
6749}
6750
6751declare var HTMLEmbedElement: {
6752 prototype: HTMLEmbedElement;
6753 new(): HTMLEmbedElement;
6754};
6755
6756/** Provides special properties and methods (beyond the regular HTMLElement interface it also has available to it by inheritance) for manipulating the layout and presentation of <fieldset> elements. */
6757interface HTMLFieldSetElement extends HTMLElement {
6758 disabled: boolean;
6759 readonly elements: HTMLCollection;
6760 /**
6761 * Retrieves a reference to the form that the object is embedded in.
6762 */
6763 readonly form: HTMLFormElement | null;
6764 name: string;
6765 readonly type: string;
6766 /**
6767 * Returns the error message that would be displayed if the user submits the form, or an empty string if no error message. It also triggers the standard error message, such as "this is a required field". The result is that the user sees validation messages without actually submitting.
6768 */
6769 readonly validationMessage: string;
6770 /**
6771 * Returns a ValidityState object that represents the validity states of an element.
6772 */
6773 readonly validity: ValidityState;
6774 /**
6775 * Returns whether an element will successfully validate based on forms validation rules and constraints.
6776 */
6777 readonly willValidate: boolean;
6778 /**
6779 * Returns whether a form will validate when it is submitted, without having to submit it.
6780 */
6781 checkValidity(): boolean;
6782 reportValidity(): boolean;
6783 /**
6784 * Sets a custom error message that is displayed when a form is submitted.
6785 * @param error Sets a custom error message that is displayed when a form is submitted.
6786 */
6787 setCustomValidity(error: string): void;
6788 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLFieldSetElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
6789 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
6790 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLFieldSetElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
6791 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
6792}
6793
6794declare var HTMLFieldSetElement: {
6795 prototype: HTMLFieldSetElement;
6796 new(): HTMLFieldSetElement;
6797};
6798
6799/** Implements the document object model (DOM) representation of the font element. The HTML Font Element <font> defines the font size, font face and color of text. */
6800interface HTMLFontElement extends HTMLElement {
6801 /** @deprecated */
6802 color: string;
6803 /**
6804 * Sets or retrieves the current typeface family.
6805 */
6806 /** @deprecated */
6807 face: string;
6808 /** @deprecated */
6809 size: string;
6810 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLFontElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
6811 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
6812 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLFontElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
6813 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
6814}
6815
6816declare var HTMLFontElement: {
6817 prototype: HTMLFontElement;
6818 new(): HTMLFontElement;
6819};
6820
6821/** A collection of HTML form control elements. */
6822interface HTMLFormControlsCollection extends HTMLCollectionBase {
6823 /**
6824 * Returns the item with ID or name name from the collection.
6825 *
6826 * If there are multiple matching items, then a RadioNodeList object containing all those elements is returned.
6827 */
6828 namedItem(name: string): RadioNodeList | Element | null;
6829}
6830
6831declare var HTMLFormControlsCollection: {
6832 prototype: HTMLFormControlsCollection;
6833 new(): HTMLFormControlsCollection;
6834};
6835
6836/** A <form> element in the DOM; it allows access to and in some cases modification of aspects of the form, as well as access to its component elements. */
6837interface HTMLFormElement extends HTMLElement {
6838 /**
6839 * Sets or retrieves a list of character encodings for input data that must be accepted by the server processing the form.
6840 */
6841 acceptCharset: string;
6842 /**
6843 * Sets or retrieves the URL to which the form content is sent for processing.
6844 */
6845 action: string;
6846 /**
6847 * Specifies whether autocomplete is applied to an editable text field.
6848 */
6849 autocomplete: string;
6850 /**
6851 * Retrieves a collection, in source order, of all controls in a given form.
6852 */
6853 readonly elements: HTMLFormControlsCollection;
6854 /**
6855 * Sets or retrieves the MIME encoding for the form.
6856 */
6857 encoding: string;
6858 /**
6859 * Sets or retrieves the encoding type for the form.
6860 */
6861 enctype: string;
6862 /**
6863 * Sets or retrieves the number of objects in a collection.
6864 */
6865 readonly length: number;
6866 /**
6867 * Sets or retrieves how to send the form data to the server.
6868 */
6869 method: string;
6870 /**
6871 * Sets or retrieves the name of the object.
6872 */
6873 name: string;
6874 /**
6875 * Designates a form that is not validated when submitted.
6876 */
6877 noValidate: boolean;
6878 /**
6879 * Sets or retrieves the window or frame at which to target content.
6880 */
6881 target: string;
6882 /**
6883 * Returns whether a form will validate when it is submitted, without having to submit it.
6884 */
6885 checkValidity(): boolean;
6886 reportValidity(): boolean;
6887 /**
6888 * Fires when the user resets a form.
6889 */
6890 reset(): void;
6891 /**
6892 * Fires when a FORM is about to be submitted.
6893 */
6894 submit(): void;
6895 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLFormElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
6896 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
6897 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLFormElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
6898 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
6899 [index: number]: Element;
6900 [name: string]: any;
6901}
6902
6903declare var HTMLFormElement: {
6904 prototype: HTMLFormElement;
6905 new(): HTMLFormElement;
6906};
6907
6908interface HTMLFrameElement extends HTMLElement {
6909 /**
6910 * Retrieves the document object of the page or frame.
6911 */
6912 /** @deprecated */
6913 readonly contentDocument: Document | null;
6914 /**
6915 * Retrieves the object of the specified.
6916 */
6917 /** @deprecated */
6918 readonly contentWindow: WindowProxy | null;
6919 /**
6920 * Sets or retrieves whether to display a border for the frame.
6921 */
6922 /** @deprecated */
6923 frameBorder: string;
6924 /**
6925 * Sets or retrieves a URI to a long description of the object.
6926 */
6927 /** @deprecated */
6928 longDesc: string;
6929 /**
6930 * Sets or retrieves the top and bottom margin heights before displaying the text in a frame.
6931 */
6932 /** @deprecated */
6933 marginHeight: string;
6934 /**
6935 * Sets or retrieves the left and right margin widths before displaying the text in a frame.
6936 */
6937 /** @deprecated */
6938 marginWidth: string;
6939 /**
6940 * Sets or retrieves the frame name.
6941 */
6942 /** @deprecated */
6943 name: string;
6944 /**
6945 * Sets or retrieves whether the user can resize the frame.
6946 */
6947 /** @deprecated */
6948 noResize: boolean;
6949 /**
6950 * Sets or retrieves whether the frame can be scrolled.
6951 */
6952 /** @deprecated */
6953 scrolling: string;
6954 /**
6955 * Sets or retrieves a URL to be loaded by the object.
6956 */
6957 /** @deprecated */
6958 src: string;
6959 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLFrameElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
6960 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
6961 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLFrameElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
6962 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
6963}
6964
6965declare var HTMLFrameElement: {
6966 prototype: HTMLFrameElement;
6967 new(): HTMLFrameElement;
6968};
6969
6970interface HTMLFrameSetElementEventMap extends HTMLElementEventMap, WindowEventHandlersEventMap {
6971}
6972
6973/** Provides special properties (beyond those of the regular HTMLElement interface they also inherit) for manipulating <frameset> elements. */
6974interface HTMLFrameSetElement extends HTMLElement, WindowEventHandlers {
6975 /**
6976 * Sets or retrieves the frame widths of the object.
6977 */
6978 /** @deprecated */
6979 cols: string;
6980 /**
6981 * Sets or retrieves the frame heights of the object.
6982 */
6983 /** @deprecated */
6984 rows: string;
6985 addEventListener<K extends keyof HTMLFrameSetElementEventMap>(type: K, listener: (this: HTMLFrameSetElement, ev: HTMLFrameSetElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
6986 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
6987 removeEventListener<K extends keyof HTMLFrameSetElementEventMap>(type: K, listener: (this: HTMLFrameSetElement, ev: HTMLFrameSetElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
6988 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
6989}
6990
6991declare var HTMLFrameSetElement: {
6992 prototype: HTMLFrameSetElement;
6993 new(): HTMLFrameSetElement;
6994};
6995
6996/** Provides special properties (beyond those of the HTMLElement interface it also has available to it by inheritance) for manipulating <hr> elements. */
6997interface HTMLHRElement extends HTMLElement {
6998 /**
6999 * Sets or retrieves how the object is aligned with adjacent text.
7000 */
7001 /** @deprecated */
7002 align: string;
7003 /** @deprecated */
7004 color: string;
7005 /**
7006 * Sets or retrieves whether the horizontal rule is drawn with 3-D shading.
7007 */
7008 /** @deprecated */
7009 noShade: boolean;
7010 /** @deprecated */
7011 size: string;
7012 /**
7013 * Sets or retrieves the width of the object.
7014 */
7015 /** @deprecated */
7016 width: string;
7017 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLHRElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
7018 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
7019 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLHRElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
7020 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
7021}
7022
7023declare var HTMLHRElement: {
7024 prototype: HTMLHRElement;
7025 new(): HTMLHRElement;
7026};
7027
7028/** Contains the descriptive information, or metadata, for a document. This object inherits all of the properties and methods described in the HTMLElement interface. */
7029interface HTMLHeadElement extends HTMLElement {
7030 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLHeadElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
7031 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
7032 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLHeadElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
7033 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
7034}
7035
7036declare var HTMLHeadElement: {
7037 prototype: HTMLHeadElement;
7038 new(): HTMLHeadElement;
7039};
7040
7041/** The different heading elements. It inherits methods and properties from the HTMLElement interface. */
7042interface HTMLHeadingElement extends HTMLElement {
7043 /**
7044 * Sets or retrieves a value that indicates the table alignment.
7045 */
7046 /** @deprecated */
7047 align: string;
7048 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLHeadingElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
7049 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
7050 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLHeadingElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
7051 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
7052}
7053
7054declare var HTMLHeadingElement: {
7055 prototype: HTMLHeadingElement;
7056 new(): HTMLHeadingElement;
7057};
7058
7059/** Serves as the root node for a given HTML document. This object inherits the properties and methods described in the HTMLElement interface. */
7060interface HTMLHtmlElement extends HTMLElement {
7061 /**
7062 * Sets or retrieves the DTD version that governs the current document.
7063 */
7064 /** @deprecated */
7065 version: string;
7066 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLHtmlElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
7067 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
7068 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLHtmlElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
7069 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
7070}
7071
7072declare var HTMLHtmlElement: {
7073 prototype: HTMLHtmlElement;
7074 new(): HTMLHtmlElement;
7075};
7076
7077interface HTMLHyperlinkElementUtils {
7078 hash: string;
7079 host: string;
7080 hostname: string;
7081 href: string;
7082 readonly origin: string;
7083 password: string;
7084 pathname: string;
7085 port: string;
7086 protocol: string;
7087 search: string;
7088 username: string;
7089}
7090
7091/** Provides special properties and methods (beyond those of the HTMLElement interface it also has available to it by inheritance) for manipulating the layout and presentation of inline frame elements. */
7092interface HTMLIFrameElement extends HTMLElement {
7093 /**
7094 * Sets or retrieves how the object is aligned with adjacent text.
7095 */
7096 /** @deprecated */
7097 align: string;
7098 allow: string;
7099 allowFullscreen: boolean;
7100 allowPaymentRequest: boolean;
7101 /**
7102 * Retrieves the document object of the page or frame.
7103 */
7104 readonly contentDocument: Document | null;
7105 /**
7106 * Retrieves the object of the specified.
7107 */
7108 readonly contentWindow: WindowProxy | null;
7109 /**
7110 * Sets or retrieves whether to display a border for the frame.
7111 */
7112 /** @deprecated */
7113 frameBorder: string;
7114 /**
7115 * Sets or retrieves the height of the object.
7116 */
7117 height: string;
7118 /**
7119 * Sets or retrieves a URI to a long description of the object.
7120 */
7121 /** @deprecated */
7122 longDesc: string;
7123 /**
7124 * Sets or retrieves the top and bottom margin heights before displaying the text in a frame.
7125 */
7126 /** @deprecated */
7127 marginHeight: string;
7128 /**
7129 * Sets or retrieves the left and right margin widths before displaying the text in a frame.
7130 */
7131 /** @deprecated */
7132 marginWidth: string;
7133 /**
7134 * Sets or retrieves the frame name.
7135 */
7136 name: string;
7137 referrerPolicy: ReferrerPolicy;
7138 readonly sandbox: DOMTokenList;
7139 /**
7140 * Sets or retrieves whether the frame can be scrolled.
7141 */
7142 /** @deprecated */
7143 scrolling: string;
7144 /**
7145 * Sets or retrieves a URL to be loaded by the object.
7146 */
7147 src: string;
7148 /**
7149 * Sets or retrives the content of the page that is to contain.
7150 */
7151 srcdoc: string;
7152 /**
7153 * Sets or retrieves the width of the object.
7154 */
7155 width: string;
7156 getSVGDocument(): Document | null;
7157 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLIFrameElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
7158 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
7159 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLIFrameElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
7160 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
7161}
7162
7163declare var HTMLIFrameElement: {
7164 prototype: HTMLIFrameElement;
7165 new(): HTMLIFrameElement;
7166};
7167
7168/** Provides special properties and methods for manipulating <img> elements. */
7169interface HTMLImageElement extends HTMLElement {
7170 /**
7171 * Sets or retrieves how the object is aligned with adjacent text.
7172 */
7173 /** @deprecated */
7174 align: string;
7175 /**
7176 * Sets or retrieves a text alternative to the graphic.
7177 */
7178 alt: string;
7179 /**
7180 * Specifies the properties of a border drawn around an object.
7181 */
7182 /** @deprecated */
7183 border: string;
7184 /**
7185 * Retrieves whether the object is fully loaded.
7186 */
7187 readonly complete: boolean;
7188 crossOrigin: string | null;
7189 readonly currentSrc: string;
7190 decoding: "async" | "sync" | "auto";
7191 /**
7192 * Sets or retrieves the height of the object.
7193 */
7194 height: number;
7195 /**
7196 * Sets or retrieves the width of the border to draw around the object.
7197 */
7198 /** @deprecated */
7199 hspace: number;
7200 /**
7201 * Sets or retrieves whether the image is a server-side image map.
7202 */
7203 isMap: boolean;
7204 /**
7205 * Sets or retrieves a Uniform Resource Identifier (URI) to a long description of the object.
7206 */
7207 /** @deprecated */
7208 longDesc: string;
7209 /** @deprecated */
7210 lowsrc: string;
7211 /**
7212 * Sets or retrieves the name of the object.
7213 */
7214 /** @deprecated */
7215 name: string;
7216 /**
7217 * The original height of the image resource before sizing.
7218 */
7219 readonly naturalHeight: number;
7220 /**
7221 * The original width of the image resource before sizing.
7222 */
7223 readonly naturalWidth: number;
7224 referrerPolicy: string;
7225 sizes: string;
7226 /**
7227 * The address or URL of the a media resource that is to be considered.
7228 */
7229 src: string;
7230 srcset: string;
7231 /**
7232 * Sets or retrieves the URL, often with a bookmark extension (#name), to use as a client-side image map.
7233 */
7234 useMap: string;
7235 /**
7236 * Sets or retrieves the vertical margin for the object.
7237 */
7238 /** @deprecated */
7239 vspace: number;
7240 /**
7241 * Sets or retrieves the width of the object.
7242 */
7243 width: number;
7244 readonly x: number;
7245 readonly y: number;
7246 decode(): Promise<void>;
7247 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLImageElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
7248 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
7249 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLImageElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
7250 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
7251}
7252
7253declare var HTMLImageElement: {
7254 prototype: HTMLImageElement;
7255 new(): HTMLImageElement;
7256};
7257
7258/** Provides special properties and methods for manipulating the options, layout, and presentation of <input> elements. */
7259interface HTMLInputElement extends HTMLElement {
7260 /**
7261 * Sets or retrieves a comma-separated list of content types.
7262 */
7263 accept: string;
7264 /**
7265 * Sets or retrieves how the object is aligned with adjacent text.
7266 */
7267 /** @deprecated */
7268 align: string;
7269 /**
7270 * Sets or retrieves a text alternative to the graphic.
7271 */
7272 alt: string;
7273 /**
7274 * Specifies whether autocomplete is applied to an editable text field.
7275 */
7276 autocomplete: string;
7277 /**
7278 * Provides a way to direct a user to a specific field when a document loads. This can provide both direction and convenience for a user, reducing the need to click or tab to a field when a page opens. This attribute is true when present on an element, and false when missing.
7279 */
7280 autofocus: boolean;
7281 /**
7282 * Sets or retrieves the state of the check box or radio button.
7283 */
7284 checked: boolean;
7285 /**
7286 * Sets or retrieves the state of the check box or radio button.
7287 */
7288 defaultChecked: boolean;
7289 /**
7290 * Sets or retrieves the initial contents of the object.
7291 */
7292 defaultValue: string;
7293 dirName: string;
7294 disabled: boolean;
7295 /**
7296 * Returns a FileList object on a file type input object.
7297 */
7298 files: FileList | null;
7299 /**
7300 * Retrieves a reference to the form that the object is embedded in.
7301 */
7302 readonly form: HTMLFormElement | null;
7303 /**
7304 * Overrides the action attribute (where the data on a form is sent) on the parent form element.
7305 */
7306 formAction: string;
7307 /**
7308 * Used to override the encoding (formEnctype attribute) specified on the form element.
7309 */
7310 formEnctype: string;
7311 /**
7312 * Overrides the submit method attribute previously specified on a form element.
7313 */
7314 formMethod: string;
7315 /**
7316 * Overrides any validation or required attributes on a form or form elements to allow it to be submitted without validation. This can be used to create a "save draft"-type submit option.
7317 */
7318 formNoValidate: boolean;
7319 /**
7320 * Overrides the target attribute on a form element.
7321 */
7322 formTarget: string;
7323 /**
7324 * Sets or retrieves the height of the object.
7325 */
7326 height: number;
7327 indeterminate: boolean;
7328 readonly labels: NodeListOf<HTMLLabelElement> | null;
7329 /**
7330 * Specifies the ID of a pre-defined datalist of options for an input element.
7331 */
7332 readonly list: HTMLElement | null;
7333 /**
7334 * Defines the maximum acceptable value for an input element with type="number".When used with the min and step attributes, lets you control the range and increment (such as only even numbers) that the user can enter into an input field.
7335 */
7336 max: string;
7337 /**
7338 * Sets or retrieves the maximum number of characters that the user can enter in a text control.
7339 */
7340 maxLength: number;
7341 /**
7342 * Defines the minimum acceptable value for an input element with type="number". When used with the max and step attributes, lets you control the range and increment (such as even numbers only) that the user can enter into an input field.
7343 */
7344 min: string;
7345 minLength: number;
7346 /**
7347 * Sets or retrieves the Boolean value indicating whether multiple items can be selected from a list.
7348 */
7349 multiple: boolean;
7350 /**
7351 * Sets or retrieves the name of the object.
7352 */
7353 name: string;
7354 /**
7355 * Gets or sets a string containing a regular expression that the user's input must match.
7356 */
7357 pattern: string;
7358 /**
7359 * Gets or sets a text string that is displayed in an input field as a hint or prompt to users as the format or type of information they need to enter.The text appears in an input field until the user puts focus on the field.
7360 */
7361 placeholder: string;
7362 readOnly: boolean;
7363 /**
7364 * When present, marks an element that can't be submitted without a value.
7365 */
7366 required: boolean;
7367 selectionDirection: string | null;
7368 /**
7369 * Gets or sets the end position or offset of a text selection.
7370 */
7371 selectionEnd: number | null;
7372 /**
7373 * Gets or sets the starting position or offset of a text selection.
7374 */
7375 selectionStart: number | null;
7376 size: number;
7377 /**
7378 * The address or URL of the a media resource that is to be considered.
7379 */
7380 src: string;
7381 /**
7382 * Defines an increment or jump between values that you want to allow the user to enter. When used with the max and min attributes, lets you control the range and increment (for example, allow only even numbers) that the user can enter into an input field.
7383 */
7384 step: string;
7385 /**
7386 * Returns the content type of the object.
7387 */
7388 type: string;
7389 /**
7390 * Sets or retrieves the URL, often with a bookmark extension (#name), to use as a client-side image map.
7391 */
7392 /** @deprecated */
7393 useMap: string;
7394 /**
7395 * Returns the error message that would be displayed if the user submits the form, or an empty string if no error message. It also triggers the standard error message, such as "this is a required field". The result is that the user sees validation messages without actually submitting.
7396 */
7397 readonly validationMessage: string;
7398 /**
7399 * Returns a ValidityState object that represents the validity states of an element.
7400 */
7401 readonly validity: ValidityState;
7402 /**
7403 * Returns the value of the data at the cursor's current position.
7404 */
7405 value: string;
7406 /**
7407 * Returns a Date object representing the form control's value, if applicable; otherwise, returns null. Can be set, to change the value. Throws an "InvalidStateError" DOMException if the control isn't date- or time-based.
7408 */
7409 valueAsDate: Date | null;
7410 /**
7411 * Returns the input field value as a number.
7412 */
7413 valueAsNumber: number;
7414 /**
7415 * Sets or retrieves the width of the object.
7416 */
7417 width: number;
7418 /**
7419 * Returns whether an element will successfully validate based on forms validation rules and constraints.
7420 */
7421 readonly willValidate: boolean;
7422 /**
7423 * Returns whether a form will validate when it is submitted, without having to submit it.
7424 */
7425 checkValidity(): boolean;
7426 reportValidity(): boolean;
7427 /**
7428 * Makes the selection equal to the current object.
7429 */
7430 select(): void;
7431 /**
7432 * Sets a custom error message that is displayed when a form is submitted.
7433 * @param error Sets a custom error message that is displayed when a form is submitted.
7434 */
7435 setCustomValidity(error: string): void;
7436 setRangeText(replacement: string): void;
7437 setRangeText(replacement: string, start: number, end: number, selectionMode?: SelectionMode): void;
7438 /**
7439 * Sets the start and end positions of a selection in a text field.
7440 * @param start The offset into the text field for the start of the selection.
7441 * @param end The offset into the text field for the end of the selection.
7442 * @param direction The direction in which the selection is performed.
7443 */
7444 setSelectionRange(start: number, end: number, direction?: "forward" | "backward" | "none"): void;
7445 /**
7446 * Decrements a range input control's value by the value given by the Step attribute. If the optional parameter is used, it will decrement the input control's step value multiplied by the parameter's value.
7447 * @param n Value to decrement the value by.
7448 */
7449 stepDown(n?: number): void;
7450 /**
7451 * Increments a range input control's value by the value given by the Step attribute. If the optional parameter is used, will increment the input control's value by that value.
7452 * @param n Value to increment the value by.
7453 */
7454 stepUp(n?: number): void;
7455 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLInputElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
7456 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
7457 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLInputElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
7458 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
7459}
7460
7461declare var HTMLInputElement: {
7462 prototype: HTMLInputElement;
7463 new(): HTMLInputElement;
7464};
7465
7466/** Exposes specific properties and methods (beyond those defined by regular HTMLElement interface it also has available to it by inheritance) for manipulating list elements. */
7467interface HTMLLIElement extends HTMLElement {
7468 /** @deprecated */
7469 type: string;
7470 /**
7471 * Sets or retrieves the value of a list item.
7472 */
7473 value: number;
7474 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLLIElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
7475 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
7476 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLLIElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
7477 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
7478}
7479
7480declare var HTMLLIElement: {
7481 prototype: HTMLLIElement;
7482 new(): HTMLLIElement;
7483};
7484
7485/** Gives access to properties specific to <label> elements. It inherits methods and properties from the base HTMLElement interface. */
7486interface HTMLLabelElement extends HTMLElement {
7487 readonly control: HTMLElement | null;
7488 /**
7489 * Retrieves a reference to the form that the object is embedded in.
7490 */
7491 readonly form: HTMLFormElement | null;
7492 /**
7493 * Sets or retrieves the object to which the given label object is assigned.
7494 */
7495 htmlFor: string;
7496 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLLabelElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
7497 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
7498 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLLabelElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
7499 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
7500}
7501
7502declare var HTMLLabelElement: {
7503 prototype: HTMLLabelElement;
7504 new(): HTMLLabelElement;
7505};
7506
7507/** The HTMLLegendElement is an interface allowing to access properties of the <legend> elements. It inherits properties and methods from the HTMLElement interface. */
7508interface HTMLLegendElement extends HTMLElement {
7509 /** @deprecated */
7510 align: string;
7511 /**
7512 * Retrieves a reference to the form that the object is embedded in.
7513 */
7514 readonly form: HTMLFormElement | null;
7515 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLLegendElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
7516 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
7517 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLLegendElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
7518 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
7519}
7520
7521declare var HTMLLegendElement: {
7522 prototype: HTMLLegendElement;
7523 new(): HTMLLegendElement;
7524};
7525
7526/** Reference information for external resources and the relationship of those resources to a document and vice-versa. This object inherits all of the properties and methods of the HTMLElement interface. */
7527interface HTMLLinkElement extends HTMLElement, LinkStyle {
7528 as: string;
7529 /**
7530 * Sets or retrieves the character set used to encode the object.
7531 */
7532 /** @deprecated */
7533 charset: string;
7534 crossOrigin: string | null;
7535 disabled: boolean;
7536 /**
7537 * Sets or retrieves a destination URL or an anchor point.
7538 */
7539 href: string;
7540 /**
7541 * Sets or retrieves the language code of the object.
7542 */
7543 hreflang: string;
7544 imageSizes: string;
7545 imageSrcset: string;
7546 integrity: string;
7547 /**
7548 * Sets or retrieves the media type.
7549 */
7550 media: string;
7551 referrerPolicy: string;
7552 /**
7553 * Sets or retrieves the relationship between the object and the destination of the link.
7554 */
7555 rel: string;
7556 readonly relList: DOMTokenList;
7557 /**
7558 * Sets or retrieves the relationship between the object and the destination of the link.
7559 */
7560 /** @deprecated */
7561 rev: string;
7562 readonly sizes: DOMTokenList;
7563 /**
7564 * Sets or retrieves the window or frame at which to target content.
7565 */
7566 /** @deprecated */
7567 target: string;
7568 /**
7569 * Sets or retrieves the MIME type of the object.
7570 */
7571 type: string;
7572 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLLinkElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
7573 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
7574 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLLinkElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
7575 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
7576}
7577
7578declare var HTMLLinkElement: {
7579 prototype: HTMLLinkElement;
7580 new(): HTMLLinkElement;
7581};
7582
7583/** Provides special properties and methods (beyond those of the regular object HTMLElement interface it also has available to it by inheritance) for manipulating the layout and presentation of map elements. */
7584interface HTMLMapElement extends HTMLElement {
7585 /**
7586 * Retrieves a collection of the area objects defined for the given map object.
7587 */
7588 readonly areas: HTMLCollection;
7589 /**
7590 * Sets or retrieves the name of the object.
7591 */
7592 name: string;
7593 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLMapElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
7594 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
7595 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLMapElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
7596 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
7597}
7598
7599declare var HTMLMapElement: {
7600 prototype: HTMLMapElement;
7601 new(): HTMLMapElement;
7602};
7603
7604interface HTMLMarqueeElementEventMap extends HTMLElementEventMap {
7605 "bounce": Event;
7606 "finish": Event;
7607 "start": Event;
7608}
7609
7610/** Provides methods to manipulate <marquee> elements. */
7611interface HTMLMarqueeElement extends HTMLElement {
7612 /** @deprecated */
7613 behavior: string;
7614 /** @deprecated */
7615 bgColor: string;
7616 /** @deprecated */
7617 direction: string;
7618 /** @deprecated */
7619 height: string;
7620 /** @deprecated */
7621 hspace: number;
7622 /** @deprecated */
7623 loop: number;
7624 /** @deprecated */
7625 onbounce: ((this: HTMLMarqueeElement, ev: Event) => any) | null;
7626 /** @deprecated */
7627 onfinish: ((this: HTMLMarqueeElement, ev: Event) => any) | null;
7628 /** @deprecated */
7629 onstart: ((this: HTMLMarqueeElement, ev: Event) => any) | null;
7630 /** @deprecated */
7631 scrollAmount: number;
7632 /** @deprecated */
7633 scrollDelay: number;
7634 /** @deprecated */
7635 trueSpeed: boolean;
7636 /** @deprecated */
7637 vspace: number;
7638 /** @deprecated */
7639 width: string;
7640 /** @deprecated */
7641 start(): void;
7642 /** @deprecated */
7643 stop(): void;
7644 addEventListener<K extends keyof HTMLMarqueeElementEventMap>(type: K, listener: (this: HTMLMarqueeElement, ev: HTMLMarqueeElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
7645 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
7646 removeEventListener<K extends keyof HTMLMarqueeElementEventMap>(type: K, listener: (this: HTMLMarqueeElement, ev: HTMLMarqueeElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
7647 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
7648}
7649
7650declare var HTMLMarqueeElement: {
7651 prototype: HTMLMarqueeElement;
7652 new(): HTMLMarqueeElement;
7653};
7654
7655interface HTMLMediaElementEventMap extends HTMLElementEventMap {
7656 "encrypted": MediaEncryptedEvent;
7657 "msneedkey": Event;
7658 "waitingforkey": Event;
7659}
7660
7661/** Adds to HTMLElement the properties and methods needed to support basic media-related capabilities that are common to audio and video. */
7662interface HTMLMediaElement extends HTMLElement {
7663 /**
7664 * Returns an AudioTrackList object with the audio tracks for a given video element.
7665 */
7666 readonly audioTracks: AudioTrackList;
7667 /**
7668 * Gets or sets a value that indicates whether to start playing the media automatically.
7669 */
7670 autoplay: boolean;
7671 /**
7672 * Gets a collection of buffered time ranges.
7673 */
7674 readonly buffered: TimeRanges;
7675 /**
7676 * Gets or sets a flag that indicates whether the client provides a set of controls for the media (in case the developer does not include controls for the player).
7677 */
7678 controls: boolean;
7679 crossOrigin: string | null;
7680 /**
7681 * Gets the address or URL of the current media resource that is selected by IHTMLMediaElement.
7682 */
7683 readonly currentSrc: string;
7684 /**
7685 * Gets or sets the current playback position, in seconds.
7686 */
7687 currentTime: number;
7688 defaultMuted: boolean;
7689 /**
7690 * Gets or sets the default playback rate when the user is not using fast forward or reverse for a video or audio resource.
7691 */
7692 defaultPlaybackRate: number;
7693 /**
7694 * Returns the duration in seconds of the current media resource. A NaN value is returned if duration is not available, or Infinity if the media resource is streaming.
7695 */
7696 readonly duration: number;
7697 /**
7698 * Gets information about whether the playback has ended or not.
7699 */
7700 readonly ended: boolean;
7701 /**
7702 * Returns an object representing the current error state of the audio or video element.
7703 */
7704 readonly error: MediaError | null;
7705 /**
7706 * Gets or sets a flag to specify whether playback should restart after it completes.
7707 */
7708 loop: boolean;
7709 readonly mediaKeys: MediaKeys | null;
7710 /**
7711 * Specifies the purpose of the audio or video media, such as background audio or alerts.
7712 */
7713 msAudioCategory: string;
7714 /**
7715 * Specifies the output device id that the audio will be sent to.
7716 */
7717 msAudioDeviceType: string;
7718 readonly msGraphicsTrustStatus: MSGraphicsTrust;
7719 /**
7720 * Gets the MSMediaKeys object, which is used for decrypting media data, that is associated with this media element.
7721 */
7722 /** @deprecated */
7723 readonly msKeys: MSMediaKeys;
7724 /**
7725 * Gets or sets whether the DLNA PlayTo device is available.
7726 */
7727 msPlayToDisabled: boolean;
7728 /**
7729 * Gets or sets the path to the preferred media source. This enables the Play To target device to stream the media content, which can be DRM protected, from a different location, such as a cloud media server.
7730 */
7731 msPlayToPreferredSourceUri: string;
7732 /**
7733 * Gets or sets the primary DLNA PlayTo device.
7734 */
7735 msPlayToPrimary: boolean;
7736 /**
7737 * Gets the source associated with the media element for use by the PlayToManager.
7738 */
7739 readonly msPlayToSource: any;
7740 /**
7741 * Specifies whether or not to enable low-latency playback on the media element.
7742 */
7743 msRealTime: boolean;
7744 /**
7745 * Gets or sets a flag that indicates whether the audio (either audio or the audio track on video media) is muted.
7746 */
7747 muted: boolean;
7748 /**
7749 * Gets the current network activity for the element.
7750 */
7751 readonly networkState: number;
7752 onencrypted: ((this: HTMLMediaElement, ev: MediaEncryptedEvent) => any) | null;
7753 /** @deprecated */
7754 onmsneedkey: ((this: HTMLMediaElement, ev: Event) => any) | null;
7755 onwaitingforkey: ((this: HTMLMediaElement, ev: Event) => any) | null;
7756 /**
7757 * Gets a flag that specifies whether playback is paused.
7758 */
7759 readonly paused: boolean;
7760 /**
7761 * Gets or sets the current rate of speed for the media resource to play. This speed is expressed as a multiple of the normal speed of the media resource.
7762 */
7763 playbackRate: number;
7764 /**
7765 * Gets TimeRanges for the current media resource that has been played.
7766 */
7767 readonly played: TimeRanges;
7768 /**
7769 * Gets or sets the current playback position, in seconds.
7770 */
7771 preload: string;
7772 readonly readyState: number;
7773 /**
7774 * Returns a TimeRanges object that represents the ranges of the current media resource that can be seeked.
7775 */
7776 readonly seekable: TimeRanges;
7777 /**
7778 * Gets a flag that indicates whether the client is currently moving to a new playback position in the media resource.
7779 */
7780 readonly seeking: boolean;
7781 /**
7782 * The address or URL of the a media resource that is to be considered.
7783 */
7784 src: string;
7785 srcObject: MediaStream | MediaSource | Blob | null;
7786 readonly textTracks: TextTrackList;
7787 readonly videoTracks: VideoTrackList;
7788 /**
7789 * Gets or sets the volume level for audio portions of the media element.
7790 */
7791 volume: number;
7792 addTextTrack(kind: TextTrackKind, label?: string, language?: string): TextTrack;
7793 /**
7794 * Returns a string that specifies whether the client can play a given media resource type.
7795 */
7796 canPlayType(type: string): CanPlayTypeResult;
7797 /**
7798 * Resets the audio or video object and loads a new media resource.
7799 */
7800 load(): void;
7801 /**
7802 * Clears all effects from the media pipeline.
7803 */
7804 msClearEffects(): void;
7805 msGetAsCastingSource(): any;
7806 /**
7807 * Inserts the specified audio effect into media pipeline.
7808 */
7809 msInsertAudioEffect(activatableClassId: string, effectRequired: boolean, config?: any): void;
7810 /** @deprecated */
7811 msSetMediaKeys(mediaKeys: MSMediaKeys): void;
7812 /**
7813 * Specifies the media protection manager for a given media pipeline.
7814 */
7815 msSetMediaProtectionManager(mediaProtectionManager?: any): void;
7816 /**
7817 * Pauses the current playback and sets paused to TRUE. This can be used to test whether the media is playing or paused. You can also use the pause or play events to tell whether the media is playing or not.
7818 */
7819 pause(): void;
7820 /**
7821 * Loads and starts playback of a media resource.
7822 */
7823 play(): Promise<void>;
7824 setMediaKeys(mediaKeys: MediaKeys | null): Promise<void>;
7825 readonly HAVE_CURRENT_DATA: number;
7826 readonly HAVE_ENOUGH_DATA: number;
7827 readonly HAVE_FUTURE_DATA: number;
7828 readonly HAVE_METADATA: number;
7829 readonly HAVE_NOTHING: number;
7830 readonly NETWORK_EMPTY: number;
7831 readonly NETWORK_IDLE: number;
7832 readonly NETWORK_LOADING: number;
7833 readonly NETWORK_NO_SOURCE: number;
7834 addEventListener<K extends keyof HTMLMediaElementEventMap>(type: K, listener: (this: HTMLMediaElement, ev: HTMLMediaElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
7835 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
7836 removeEventListener<K extends keyof HTMLMediaElementEventMap>(type: K, listener: (this: HTMLMediaElement, ev: HTMLMediaElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
7837 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
7838}
7839
7840declare var HTMLMediaElement: {
7841 prototype: HTMLMediaElement;
7842 new(): HTMLMediaElement;
7843 readonly HAVE_CURRENT_DATA: number;
7844 readonly HAVE_ENOUGH_DATA: number;
7845 readonly HAVE_FUTURE_DATA: number;
7846 readonly HAVE_METADATA: number;
7847 readonly HAVE_NOTHING: number;
7848 readonly NETWORK_EMPTY: number;
7849 readonly NETWORK_IDLE: number;
7850 readonly NETWORK_LOADING: number;
7851 readonly NETWORK_NO_SOURCE: number;
7852};
7853
7854interface HTMLMenuElement extends HTMLElement {
7855 /** @deprecated */
7856 compact: boolean;
7857 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLMenuElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
7858 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
7859 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLMenuElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
7860 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
7861}
7862
7863declare var HTMLMenuElement: {
7864 prototype: HTMLMenuElement;
7865 new(): HTMLMenuElement;
7866};
7867
7868/** Contains descriptive metadata about a document. It inherits all of the properties and methods described in the HTMLElement interface. */
7869interface HTMLMetaElement extends HTMLElement {
7870 /**
7871 * Gets or sets meta-information to associate with httpEquiv or name.
7872 */
7873 content: string;
7874 /**
7875 * Gets or sets information used to bind the value of a content attribute of a meta element to an HTTP response header.
7876 */
7877 httpEquiv: string;
7878 /**
7879 * Sets or retrieves the value specified in the content attribute of the meta object.
7880 */
7881 name: string;
7882 /**
7883 * Sets or retrieves a scheme to be used in interpreting the value of a property specified for the object.
7884 */
7885 /** @deprecated */
7886 scheme: string;
7887 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLMetaElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
7888 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
7889 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLMetaElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
7890 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
7891}
7892
7893declare var HTMLMetaElement: {
7894 prototype: HTMLMetaElement;
7895 new(): HTMLMetaElement;
7896};
7897
7898/** The HTML <meter> elements expose the HTMLMeterElement interface, which provides special properties and methods (beyond the HTMLElement object interface they also have available to them by inheritance) for manipulating the layout and presentation of <meter> elements. */
7899interface HTMLMeterElement extends HTMLElement {
7900 high: number;
7901 readonly labels: NodeListOf<HTMLLabelElement>;
7902 low: number;
7903 max: number;
7904 min: number;
7905 optimum: number;
7906 value: number;
7907 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLMeterElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
7908 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
7909 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLMeterElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
7910 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
7911}
7912
7913declare var HTMLMeterElement: {
7914 prototype: HTMLMeterElement;
7915 new(): HTMLMeterElement;
7916};
7917
7918/** Provides special properties (beyond the regular methods and properties available through the HTMLElement interface they also have available to them by inheritance) for manipulating modification elements, that is <del> and <ins>. */
7919interface HTMLModElement extends HTMLElement {
7920 /**
7921 * Sets or retrieves reference information about the object.
7922 */
7923 cite: string;
7924 /**
7925 * Sets or retrieves the date and time of a modification to the object.
7926 */
7927 dateTime: string;
7928 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLModElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
7929 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
7930 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLModElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
7931 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
7932}
7933
7934declare var HTMLModElement: {
7935 prototype: HTMLModElement;
7936 new(): HTMLModElement;
7937};
7938
7939/** Provides special properties (beyond those defined on the regular HTMLElement interface it also has available to it by inheritance) for manipulating ordered list elements. */
7940interface HTMLOListElement extends HTMLElement {
7941 /** @deprecated */
7942 compact: boolean;
7943 reversed: boolean;
7944 /**
7945 * The starting number.
7946 */
7947 start: number;
7948 type: string;
7949 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLOListElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
7950 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
7951 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLOListElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
7952 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
7953}
7954
7955declare var HTMLOListElement: {
7956 prototype: HTMLOListElement;
7957 new(): HTMLOListElement;
7958};
7959
7960/** Provides special properties and methods (beyond those on the HTMLElement interface it also has available to it by inheritance) for manipulating the layout and presentation of <object> element, representing external resources. */
7961interface HTMLObjectElement extends HTMLElement {
7962 /** @deprecated */
7963 align: string;
7964 /**
7965 * Sets or retrieves a character string that can be used to implement your own archive functionality for the object.
7966 */
7967 /** @deprecated */
7968 archive: string;
7969 /** @deprecated */
7970 border: string;
7971 /**
7972 * Sets or retrieves the URL of the file containing the compiled Java class.
7973 */
7974 /** @deprecated */
7975 code: string;
7976 /**
7977 * Sets or retrieves the URL of the component.
7978 */
7979 /** @deprecated */
7980 codeBase: string;
7981 /**
7982 * Sets or retrieves the Internet media type for the code associated with the object.
7983 */
7984 /** @deprecated */
7985 codeType: string;
7986 /**
7987 * Retrieves the document object of the page or frame.
7988 */
7989 readonly contentDocument: Document | null;
7990 readonly contentWindow: WindowProxy | null;
7991 /**
7992 * Sets or retrieves the URL that references the data of the object.
7993 */
7994 data: string;
7995 /** @deprecated */
7996 declare: boolean;
7997 /**
7998 * Retrieves a reference to the form that the object is embedded in.
7999 */
8000 readonly form: HTMLFormElement | null;
8001 /**
8002 * Sets or retrieves the height of the object.
8003 */
8004 height: string;
8005 /** @deprecated */
8006 hspace: number;
8007 /**
8008 * Sets or retrieves the name of the object.
8009 */
8010 name: string;
8011 /**
8012 * Sets or retrieves a message to be displayed while an object is loading.
8013 */
8014 /** @deprecated */
8015 standby: string;
8016 /**
8017 * Sets or retrieves the MIME type of the object.
8018 */
8019 type: string;
8020 /**
8021 * Sets or retrieves the URL, often with a bookmark extension (#name), to use as a client-side image map.
8022 */
8023 useMap: string;
8024 /**
8025 * Returns the error message that would be displayed if the user submits the form, or an empty string if no error message. It also triggers the standard error message, such as "this is a required field". The result is that the user sees validation messages without actually submitting.
8026 */
8027 readonly validationMessage: string;
8028 /**
8029 * Returns a ValidityState object that represents the validity states of an element.
8030 */
8031 readonly validity: ValidityState;
8032 /** @deprecated */
8033 vspace: number;
8034 /**
8035 * Sets or retrieves the width of the object.
8036 */
8037 width: string;
8038 /**
8039 * Returns whether an element will successfully validate based on forms validation rules and constraints.
8040 */
8041 readonly willValidate: boolean;
8042 /**
8043 * Returns whether a form will validate when it is submitted, without having to submit it.
8044 */
8045 checkValidity(): boolean;
8046 getSVGDocument(): Document | null;
8047 reportValidity(): boolean;
8048 /**
8049 * Sets a custom error message that is displayed when a form is submitted.
8050 * @param error Sets a custom error message that is displayed when a form is submitted.
8051 */
8052 setCustomValidity(error: string): void;
8053 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLObjectElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
8054 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
8055 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLObjectElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
8056 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
8057}
8058
8059declare var HTMLObjectElement: {
8060 prototype: HTMLObjectElement;
8061 new(): HTMLObjectElement;
8062};
8063
8064/** Provides special properties and methods (beyond the regular HTMLElement object interface they also have available to them by inheritance) for manipulating the layout and presentation of <optgroup> elements. */
8065interface HTMLOptGroupElement extends HTMLElement {
8066 disabled: boolean;
8067 /**
8068 * Retrieves a reference to the form that the object is embedded in.
8069 */
8070 readonly form: HTMLFormElement | null;
8071 /**
8072 * Sets or retrieves a value that you can use to implement your own label functionality for the object.
8073 */
8074 label: string;
8075 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLOptGroupElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
8076 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
8077 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLOptGroupElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
8078 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
8079}
8080
8081declare var HTMLOptGroupElement: {
8082 prototype: HTMLOptGroupElement;
8083 new(): HTMLOptGroupElement;
8084};
8085
8086/** <option> elements and inherits all classes and methods of the HTMLElement interface. */
8087interface HTMLOptionElement extends HTMLElement {
8088 /**
8089 * Sets or retrieves the status of an option.
8090 */
8091 defaultSelected: boolean;
8092 disabled: boolean;
8093 /**
8094 * Retrieves a reference to the form that the object is embedded in.
8095 */
8096 readonly form: HTMLFormElement | null;
8097 /**
8098 * Sets or retrieves the ordinal position of an option in a list box.
8099 */
8100 readonly index: number;
8101 /**
8102 * Sets or retrieves a value that you can use to implement your own label functionality for the object.
8103 */
8104 label: string;
8105 /**
8106 * Sets or retrieves whether the option in the list box is the default item.
8107 */
8108 selected: boolean;
8109 /**
8110 * Sets or retrieves the text string specified by the option tag.
8111 */
8112 text: string;
8113 /**
8114 * Sets or retrieves the value which is returned to the server when the form control is submitted.
8115 */
8116 value: string;
8117 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLOptionElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
8118 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
8119 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLOptionElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
8120 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
8121}
8122
8123declare var HTMLOptionElement: {
8124 prototype: HTMLOptionElement;
8125 new(): HTMLOptionElement;
8126};
8127
8128/** HTMLOptionsCollection is an interface representing a collection of HTML option elements (in document order) and offers methods and properties for traversing the list as well as optionally altering its items. This type is returned solely by the "options" property of select. */
8129interface HTMLOptionsCollection extends HTMLCollectionOf<HTMLOptionElement> {
8130 /**
8131 * Returns the number of elements in the collection.
8132 *
8133 * When set to a smaller number, truncates the number of option elements in the corresponding container.
8134 *
8135 * When set to a greater number, adds new blank option elements to that container.
8136 */
8137 length: number;
8138 /**
8139 * Returns the index of the first selected item, if any, or −1 if there is no selected item.
8140 *
8141 * Can be set, to change the selection.
8142 */
8143 selectedIndex: number;
8144 /**
8145 * Inserts element before the node given by before.
8146 *
8147 * The before argument can be a number, in which case element is inserted before the item with that number, or an element from the collection, in which case element is inserted before that element.
8148 *
8149 * If before is omitted, null, or a number out of range, then element will be added at the end of the list.
8150 *
8151 * This method will throw a "HierarchyRequestError" DOMException if element is an ancestor of the element into which it is to be inserted.
8152 */
8153 add(element: HTMLOptionElement | HTMLOptGroupElement, before?: HTMLElement | number | null): void;
8154 /**
8155 * Removes the item with index index from the collection.
8156 */
8157 remove(index: number): void;
8158}
8159
8160declare var HTMLOptionsCollection: {
8161 prototype: HTMLOptionsCollection;
8162 new(): HTMLOptionsCollection;
8163};
8164
8165interface HTMLOrSVGElement {
8166 readonly dataset: DOMStringMap;
8167 nonce?: string;
8168 tabIndex: number;
8169 blur(): void;
8170 focus(options?: FocusOptions): void;
8171}
8172
8173/** Provides properties and methods (beyond those inherited from HTMLElement) for manipulating the layout and presentation of <output> elements. */
8174interface HTMLOutputElement extends HTMLElement {
8175 defaultValue: string;
8176 readonly form: HTMLFormElement | null;
8177 readonly htmlFor: DOMTokenList;
8178 readonly labels: NodeListOf<HTMLLabelElement>;
8179 name: string;
8180 readonly type: string;
8181 readonly validationMessage: string;
8182 readonly validity: ValidityState;
8183 value: string;
8184 readonly willValidate: boolean;
8185 checkValidity(): boolean;
8186 reportValidity(): boolean;
8187 setCustomValidity(error: string): void;
8188 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLOutputElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
8189 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
8190 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLOutputElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
8191 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
8192}
8193
8194declare var HTMLOutputElement: {
8195 prototype: HTMLOutputElement;
8196 new(): HTMLOutputElement;
8197};
8198
8199/** Provides special properties (beyond those of the regular HTMLElement object interface it inherits) for manipulating <p> elements. */
8200interface HTMLParagraphElement extends HTMLElement {
8201 /**
8202 * Sets or retrieves how the object is aligned with adjacent text.
8203 */
8204 /** @deprecated */
8205 align: string;
8206 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLParagraphElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
8207 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
8208 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLParagraphElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
8209 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
8210}
8211
8212declare var HTMLParagraphElement: {
8213 prototype: HTMLParagraphElement;
8214 new(): HTMLParagraphElement;
8215};
8216
8217/** Provides special properties (beyond those of the regular HTMLElement object interface it inherits) for manipulating <param> elements, representing a pair of a key and a value that acts as a parameter for an <object> element. */
8218interface HTMLParamElement extends HTMLElement {
8219 /**
8220 * Sets or retrieves the name of an input parameter for an element.
8221 */
8222 name: string;
8223 /**
8224 * Sets or retrieves the content type of the resource designated by the value attribute.
8225 */
8226 /** @deprecated */
8227 type: string;
8228 /**
8229 * Sets or retrieves the value of an input parameter for an element.
8230 */
8231 value: string;
8232 /**
8233 * Sets or retrieves the data type of the value attribute.
8234 */
8235 /** @deprecated */
8236 valueType: string;
8237 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLParamElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
8238 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
8239 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLParamElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
8240 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
8241}
8242
8243declare var HTMLParamElement: {
8244 prototype: HTMLParamElement;
8245 new(): HTMLParamElement;
8246};
8247
8248/** A <picture> HTML element. It doesn't implement specific properties or methods. */
8249interface HTMLPictureElement extends HTMLElement {
8250 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLPictureElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
8251 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
8252 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLPictureElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
8253 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
8254}
8255
8256declare var HTMLPictureElement: {
8257 prototype: HTMLPictureElement;
8258 new(): HTMLPictureElement;
8259};
8260
8261/** Exposes specific properties and methods (beyond those of the HTMLElement interface it also has available to it by inheritance) for manipulating a block of preformatted text (<pre>). */
8262interface HTMLPreElement extends HTMLElement {
8263 /**
8264 * Sets or gets a value that you can use to implement your own width functionality for the object.
8265 */
8266 /** @deprecated */
8267 width: number;
8268 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLPreElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
8269 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
8270 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLPreElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
8271 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
8272}
8273
8274declare var HTMLPreElement: {
8275 prototype: HTMLPreElement;
8276 new(): HTMLPreElement;
8277};
8278
8279/** Provides special properties and methods (beyond the regular HTMLElement interface it also has available to it by inheritance) for manipulating the layout and presentation of <progress> elements. */
8280interface HTMLProgressElement extends HTMLElement {
8281 readonly labels: NodeListOf<HTMLLabelElement>;
8282 /**
8283 * Defines the maximum, or "done" value for a progress element.
8284 */
8285 max: number;
8286 /**
8287 * Returns the quotient of value/max when the value attribute is set (determinate progress bar), or -1 when the value attribute is missing (indeterminate progress bar).
8288 */
8289 readonly position: number;
8290 /**
8291 * Sets or gets the current value of a progress element. The value must be a non-negative number between 0 and the max value.
8292 */
8293 value: number;
8294 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLProgressElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
8295 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
8296 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLProgressElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
8297 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
8298}
8299
8300declare var HTMLProgressElement: {
8301 prototype: HTMLProgressElement;
8302 new(): HTMLProgressElement;
8303};
8304
8305/** Provides special properties and methods (beyond the regular HTMLElement interface it also has available to it by inheritance) for manipulating quoting elements, like <blockquote> and <q>, but not the <cite> element. */
8306interface HTMLQuoteElement extends HTMLElement {
8307 /**
8308 * Sets or retrieves reference information about the object.
8309 */
8310 cite: string;
8311 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLQuoteElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
8312 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
8313 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLQuoteElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
8314 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
8315}
8316
8317declare var HTMLQuoteElement: {
8318 prototype: HTMLQuoteElement;
8319 new(): HTMLQuoteElement;
8320};
8321
8322/** HTML <script> elements expose the HTMLScriptElement interface, which provides special properties and methods for manipulating the behavior and execution of <script> elements (beyond the inherited HTMLElement interface). */
8323interface HTMLScriptElement extends HTMLElement {
8324 async: boolean;
8325 /**
8326 * Sets or retrieves the character set used to encode the object.
8327 */
8328 /** @deprecated */
8329 charset: string;
8330 crossOrigin: string | null;
8331 /**
8332 * Sets or retrieves the status of the script.
8333 */
8334 defer: boolean;
8335 /**
8336 * Sets or retrieves the event for which the script is written.
8337 */
8338 /** @deprecated */
8339 event: string;
8340 /**
8341 * Sets or retrieves the object that is bound to the event script.
8342 */
8343 /** @deprecated */
8344 htmlFor: string;
8345 integrity: string;
8346 noModule: boolean;
8347 referrerPolicy: string;
8348 /**
8349 * Retrieves the URL to an external file that contains the source code or data.
8350 */
8351 src: string;
8352 /**
8353 * Retrieves or sets the text of the object as a string.
8354 */
8355 text: string;
8356 /**
8357 * Sets or retrieves the MIME type for the associated scripting engine.
8358 */
8359 type: string;
8360 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLScriptElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
8361 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
8362 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLScriptElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
8363 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
8364}
8365
8366declare var HTMLScriptElement: {
8367 prototype: HTMLScriptElement;
8368 new(): HTMLScriptElement;
8369};
8370
8371/** A <select> HTML Element. These elements also share all of the properties and methods of other HTML elements via the HTMLElement interface. */
8372interface HTMLSelectElement extends HTMLElement {
8373 autocomplete: string;
8374 /**
8375 * Provides a way to direct a user to a specific field when a document loads. This can provide both direction and convenience for a user, reducing the need to click or tab to a field when a page opens. This attribute is true when present on an element, and false when missing.
8376 */
8377 autofocus: boolean;
8378 disabled: boolean;
8379 /**
8380 * Retrieves a reference to the form that the object is embedded in.
8381 */
8382 readonly form: HTMLFormElement | null;
8383 readonly labels: NodeListOf<HTMLLabelElement>;
8384 /**
8385 * Sets or retrieves the number of objects in a collection.
8386 */
8387 length: number;
8388 /**
8389 * Sets or retrieves the Boolean value indicating whether multiple items can be selected from a list.
8390 */
8391 multiple: boolean;
8392 /**
8393 * Sets or retrieves the name of the object.
8394 */
8395 name: string;
8396 readonly options: HTMLOptionsCollection;
8397 /**
8398 * When present, marks an element that can't be submitted without a value.
8399 */
8400 required: boolean;
8401 /**
8402 * Sets or retrieves the index of the selected option in a select object.
8403 */
8404 selectedIndex: number;
8405 readonly selectedOptions: HTMLCollectionOf<HTMLOptionElement>;
8406 /**
8407 * Sets or retrieves the number of rows in the list box.
8408 */
8409 size: number;
8410 /**
8411 * Retrieves the type of select control based on the value of the MULTIPLE attribute.
8412 */
8413 readonly type: string;
8414 /**
8415 * Returns the error message that would be displayed if the user submits the form, or an empty string if no error message. It also triggers the standard error message, such as "this is a required field". The result is that the user sees validation messages without actually submitting.
8416 */
8417 readonly validationMessage: string;
8418 /**
8419 * Returns a ValidityState object that represents the validity states of an element.
8420 */
8421 readonly validity: ValidityState;
8422 /**
8423 * Sets or retrieves the value which is returned to the server when the form control is submitted.
8424 */
8425 value: string;
8426 /**
8427 * Returns whether an element will successfully validate based on forms validation rules and constraints.
8428 */
8429 readonly willValidate: boolean;
8430 /**
8431 * Adds an element to the areas, controlRange, or options collection.
8432 * @param element Variant of type Number that specifies the index position in the collection where the element is placed. If no value is given, the method places the element at the end of the collection.
8433 * @param before Variant of type Object that specifies an element to insert before, or null to append the object to the collection.
8434 */
8435 add(element: HTMLOptionElement | HTMLOptGroupElement, before?: HTMLElement | number | null): void;
8436 /**
8437 * Returns whether a form will validate when it is submitted, without having to submit it.
8438 */
8439 checkValidity(): boolean;
8440 /**
8441 * Retrieves a select object or an object from an options collection.
8442 * @param name Variant of type Number or String that specifies the object or collection to retrieve. If this parameter is an integer, it is the zero-based index of the object. If this parameter is a string, all objects with matching name or id properties are retrieved, and a collection is returned if more than one match is made.
8443 * @param index Variant of type Number that specifies the zero-based index of the object to retrieve when a collection is returned.
8444 */
8445 item(index: number): Element | null;
8446 /**
8447 * Retrieves a select object or an object from an options collection.
8448 * @param namedItem A String that specifies the name or id property of the object to retrieve. A collection is returned if more than one match is made.
8449 */
8450 namedItem(name: string): HTMLOptionElement | null;
8451 /**
8452 * Removes an element from the collection.
8453 * @param index Number that specifies the zero-based index of the element to remove from the collection.
8454 */
8455 remove(): void;
8456 remove(index: number): void;
8457 reportValidity(): boolean;
8458 /**
8459 * Sets a custom error message that is displayed when a form is submitted.
8460 * @param error Sets a custom error message that is displayed when a form is submitted.
8461 */
8462 setCustomValidity(error: string): void;
8463 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLSelectElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
8464 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
8465 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLSelectElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
8466 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
8467 [name: number]: HTMLOptionElement | HTMLOptGroupElement;
8468}
8469
8470declare var HTMLSelectElement: {
8471 prototype: HTMLSelectElement;
8472 new(): HTMLSelectElement;
8473};
8474
8475interface HTMLSlotElement extends HTMLElement {
8476 name: string;
8477 assignedElements(options?: AssignedNodesOptions): Element[];
8478 assignedNodes(options?: AssignedNodesOptions): Node[];
8479 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLSlotElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
8480 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
8481 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLSlotElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
8482 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
8483}
8484
8485declare var HTMLSlotElement: {
8486 prototype: HTMLSlotElement;
8487 new(): HTMLSlotElement;
8488};
8489
8490/** Provides special properties (beyond the regular HTMLElement object interface it also has available to it by inheritance) for manipulating <source> elements. */
8491interface HTMLSourceElement extends HTMLElement {
8492 /**
8493 * Gets or sets the intended media type of the media source.
8494 */
8495 media: string;
8496 sizes: string;
8497 /**
8498 * The address or URL of the a media resource that is to be considered.
8499 */
8500 src: string;
8501 srcset: string;
8502 /**
8503 * Gets or sets the MIME type of a media resource.
8504 */
8505 type: string;
8506 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLSourceElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
8507 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
8508 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLSourceElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
8509 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
8510}
8511
8512declare var HTMLSourceElement: {
8513 prototype: HTMLSourceElement;
8514 new(): HTMLSourceElement;
8515};
8516
8517/** A <span> element and derives from the HTMLElement interface, but without implementing any additional properties or methods. */
8518interface HTMLSpanElement extends HTMLElement {
8519 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLSpanElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
8520 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
8521 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLSpanElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
8522 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
8523}
8524
8525declare var HTMLSpanElement: {
8526 prototype: HTMLSpanElement;
8527 new(): HTMLSpanElement;
8528};
8529
8530/** A <style> element. It inherits properties and methods from its parent, HTMLElement, and from LinkStyle. */
8531interface HTMLStyleElement extends HTMLElement, LinkStyle {
8532 /**
8533 * Sets or retrieves the media type.
8534 */
8535 media: string;
8536 /**
8537 * Retrieves the CSS language in which the style sheet is written.
8538 */
8539 /** @deprecated */
8540 type: string;
8541 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLStyleElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
8542 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
8543 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLStyleElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
8544 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
8545}
8546
8547declare var HTMLStyleElement: {
8548 prototype: HTMLStyleElement;
8549 new(): HTMLStyleElement;
8550};
8551
8552/** Special properties (beyond the regular HTMLElement interface it also has available to it by inheritance) for manipulating table caption elements. */
8553interface HTMLTableCaptionElement extends HTMLElement {
8554 /**
8555 * Sets or retrieves the alignment of the caption or legend.
8556 */
8557 /** @deprecated */
8558 align: string;
8559 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableCaptionElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
8560 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
8561 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableCaptionElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
8562 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
8563}
8564
8565declare var HTMLTableCaptionElement: {
8566 prototype: HTMLTableCaptionElement;
8567 new(): HTMLTableCaptionElement;
8568};
8569
8570/** Provides special properties and methods (beyond the regular HTMLElement interface it also has available to it by inheritance) for manipulating the layout and presentation of table cells, either header or data cells, in an HTML document. */
8571interface HTMLTableCellElement extends HTMLElement {
8572 /**
8573 * Sets or retrieves abbreviated text for the object.
8574 */
8575 abbr: string;
8576 /**
8577 * Sets or retrieves how the object is aligned with adjacent text.
8578 */
8579 /** @deprecated */
8580 align: string;
8581 /**
8582 * Sets or retrieves a comma-delimited list of conceptual categories associated with the object.
8583 */
8584 /** @deprecated */
8585 axis: string;
8586 /** @deprecated */
8587 bgColor: string;
8588 /**
8589 * Retrieves the position of the object in the cells collection of a row.
8590 */
8591 readonly cellIndex: number;
8592 /** @deprecated */
8593 ch: string;
8594 /** @deprecated */
8595 chOff: string;
8596 /**
8597 * Sets or retrieves the number columns in the table that the object should span.
8598 */
8599 colSpan: number;
8600 /**
8601 * Sets or retrieves a list of header cells that provide information for the object.
8602 */
8603 headers: string;
8604 /**
8605 * Sets or retrieves the height of the object.
8606 */
8607 /** @deprecated */
8608 height: string;
8609 /**
8610 * Sets or retrieves whether the browser automatically performs wordwrap.
8611 */
8612 /** @deprecated */
8613 noWrap: boolean;
8614 /**
8615 * Sets or retrieves how many rows in a table the cell should span.
8616 */
8617 rowSpan: number;
8618 /**
8619 * Sets or retrieves the group of cells in a table to which the object's information applies.
8620 */
8621 scope: string;
8622 /** @deprecated */
8623 vAlign: string;
8624 /**
8625 * Sets or retrieves the width of the object.
8626 */
8627 /** @deprecated */
8628 width: string;
8629 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableCellElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
8630 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
8631 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableCellElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
8632 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
8633}
8634
8635declare var HTMLTableCellElement: {
8636 prototype: HTMLTableCellElement;
8637 new(): HTMLTableCellElement;
8638};
8639
8640/** Provides special properties (beyond the HTMLElement interface it also has available to it inheritance) for manipulating single or grouped table column elements. */
8641interface HTMLTableColElement extends HTMLElement {
8642 /**
8643 * Sets or retrieves the alignment of the object relative to the display or table.
8644 */
8645 /** @deprecated */
8646 align: string;
8647 /** @deprecated */
8648 ch: string;
8649 /** @deprecated */
8650 chOff: string;
8651 /**
8652 * Sets or retrieves the number of columns in the group.
8653 */
8654 span: number;
8655 /** @deprecated */
8656 vAlign: string;
8657 /**
8658 * Sets or retrieves the width of the object.
8659 */
8660 /** @deprecated */
8661 width: string;
8662 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableColElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
8663 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
8664 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableColElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
8665 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
8666}
8667
8668declare var HTMLTableColElement: {
8669 prototype: HTMLTableColElement;
8670 new(): HTMLTableColElement;
8671};
8672
8673interface HTMLTableDataCellElement extends HTMLTableCellElement {
8674 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableDataCellElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
8675 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
8676 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableDataCellElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
8677 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
8678}
8679
8680declare var HTMLTableDataCellElement: {
8681 prototype: HTMLTableDataCellElement;
8682 new(): HTMLTableDataCellElement;
8683};
8684
8685/** Provides special properties and methods (beyond the regular HTMLElement object interface it also has available to it by inheritance) for manipulating the layout and presentation of tables in an HTML document. */
8686interface HTMLTableElement extends HTMLElement {
8687 /**
8688 * Sets or retrieves a value that indicates the table alignment.
8689 */
8690 /** @deprecated */
8691 align: string;
8692 /** @deprecated */
8693 bgColor: string;
8694 /**
8695 * Sets or retrieves the width of the border to draw around the object.
8696 */
8697 /** @deprecated */
8698 border: string;
8699 /**
8700 * Retrieves the caption object of a table.
8701 */
8702 caption: HTMLTableCaptionElement | null;
8703 /**
8704 * Sets or retrieves the amount of space between the border of the cell and the content of the cell.
8705 */
8706 /** @deprecated */
8707 cellPadding: string;
8708 /**
8709 * Sets or retrieves the amount of space between cells in a table.
8710 */
8711 /** @deprecated */
8712 cellSpacing: string;
8713 /**
8714 * Sets or retrieves the way the border frame around the table is displayed.
8715 */
8716 /** @deprecated */
8717 frame: string;
8718 /**
8719 * Sets or retrieves the number of horizontal rows contained in the object.
8720 */
8721 readonly rows: HTMLCollectionOf<HTMLTableRowElement>;
8722 /**
8723 * Sets or retrieves which dividing lines (inner borders) are displayed.
8724 */
8725 /** @deprecated */
8726 rules: string;
8727 /**
8728 * Sets or retrieves a description and/or structure of the object.
8729 */
8730 /** @deprecated */
8731 summary: string;
8732 /**
8733 * Retrieves a collection of all tBody objects in the table. Objects in this collection are in source order.
8734 */
8735 readonly tBodies: HTMLCollectionOf<HTMLTableSectionElement>;
8736 /**
8737 * Retrieves the tFoot object of the table.
8738 */
8739 tFoot: HTMLTableSectionElement | null;
8740 /**
8741 * Retrieves the tHead object of the table.
8742 */
8743 tHead: HTMLTableSectionElement | null;
8744 /**
8745 * Sets or retrieves the width of the object.
8746 */
8747 /** @deprecated */
8748 width: string;
8749 /**
8750 * Creates an empty caption element in the table.
8751 */
8752 createCaption(): HTMLTableCaptionElement;
8753 /**
8754 * Creates an empty tBody element in the table.
8755 */
8756 createTBody(): HTMLTableSectionElement;
8757 /**
8758 * Creates an empty tFoot element in the table.
8759 */
8760 createTFoot(): HTMLTableSectionElement;
8761 /**
8762 * Returns the tHead element object if successful, or null otherwise.
8763 */
8764 createTHead(): HTMLTableSectionElement;
8765 /**
8766 * Deletes the caption element and its contents from the table.
8767 */
8768 deleteCaption(): void;
8769 /**
8770 * Removes the specified row (tr) from the element and from the rows collection.
8771 * @param index Number that specifies the zero-based position in the rows collection of the row to remove.
8772 */
8773 deleteRow(index: number): void;
8774 /**
8775 * Deletes the tFoot element and its contents from the table.
8776 */
8777 deleteTFoot(): void;
8778 /**
8779 * Deletes the tHead element and its contents from the table.
8780 */
8781 deleteTHead(): void;
8782 /**
8783 * Creates a new row (tr) in the table, and adds the row to the rows collection.
8784 * @param index Number that specifies where to insert the row in the rows collection. The default value is -1, which appends the new row to the end of the rows collection.
8785 */
8786 insertRow(index?: number): HTMLTableRowElement;
8787 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
8788 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
8789 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
8790 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
8791}
8792
8793declare var HTMLTableElement: {
8794 prototype: HTMLTableElement;
8795 new(): HTMLTableElement;
8796};
8797
8798interface HTMLTableHeaderCellElement extends HTMLTableCellElement {
8799 scope: string;
8800 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableHeaderCellElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
8801 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
8802 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableHeaderCellElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
8803 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
8804}
8805
8806declare var HTMLTableHeaderCellElement: {
8807 prototype: HTMLTableHeaderCellElement;
8808 new(): HTMLTableHeaderCellElement;
8809};
8810
8811/** Provides special properties and methods (beyond the HTMLElement interface it also has available to it by inheritance) for manipulating the layout and presentation of rows in an HTML table. */
8812interface HTMLTableRowElement extends HTMLElement {
8813 /**
8814 * Sets or retrieves how the object is aligned with adjacent text.
8815 */
8816 /** @deprecated */
8817 align: string;
8818 /** @deprecated */
8819 bgColor: string;
8820 /**
8821 * Retrieves a collection of all cells in the table row.
8822 */
8823 readonly cells: HTMLCollectionOf<HTMLTableDataCellElement | HTMLTableHeaderCellElement>;
8824 /** @deprecated */
8825 ch: string;
8826 /** @deprecated */
8827 chOff: string;
8828 /**
8829 * Retrieves the position of the object in the rows collection for the table.
8830 */
8831 readonly rowIndex: number;
8832 /**
8833 * Retrieves the position of the object in the collection.
8834 */
8835 readonly sectionRowIndex: number;
8836 /** @deprecated */
8837 vAlign: string;
8838 /**
8839 * Removes the specified cell from the table row, as well as from the cells collection.
8840 * @param index Number that specifies the zero-based position of the cell to remove from the table row. If no value is provided, the last cell in the cells collection is deleted.
8841 */
8842 deleteCell(index: number): void;
8843 /**
8844 * Creates a new cell in the table row, and adds the cell to the cells collection.
8845 * @param index Number that specifies where to insert the cell in the tr. The default value is -1, which appends the new cell to the end of the cells collection.
8846 */
8847 insertCell(index?: number): HTMLTableDataCellElement;
8848 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableRowElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
8849 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
8850 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableRowElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
8851 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
8852}
8853
8854declare var HTMLTableRowElement: {
8855 prototype: HTMLTableRowElement;
8856 new(): HTMLTableRowElement;
8857};
8858
8859/** Provides special properties and methods (beyond the HTMLElement interface it also has available to it by inheritance) for manipulating the layout and presentation of sections, that is headers, footers and bodies, in an HTML table. */
8860interface HTMLTableSectionElement extends HTMLElement {
8861 /**
8862 * Sets or retrieves a value that indicates the table alignment.
8863 */
8864 /** @deprecated */
8865 align: string;
8866 /** @deprecated */
8867 ch: string;
8868 /** @deprecated */
8869 chOff: string;
8870 /**
8871 * Sets or retrieves the number of horizontal rows contained in the object.
8872 */
8873 readonly rows: HTMLCollectionOf<HTMLTableRowElement>;
8874 /** @deprecated */
8875 vAlign: string;
8876 /**
8877 * Removes the specified row (tr) from the element and from the rows collection.
8878 * @param index Number that specifies the zero-based position in the rows collection of the row to remove.
8879 */
8880 deleteRow(index: number): void;
8881 /**
8882 * Creates a new row (tr) in the table, and adds the row to the rows collection.
8883 * @param index Number that specifies where to insert the row in the rows collection. The default value is -1, which appends the new row to the end of the rows collection.
8884 */
8885 insertRow(index?: number): HTMLTableRowElement;
8886 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableSectionElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
8887 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
8888 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableSectionElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
8889 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
8890}
8891
8892declare var HTMLTableSectionElement: {
8893 prototype: HTMLTableSectionElement;
8894 new(): HTMLTableSectionElement;
8895};
8896
8897/** Enables access to the contents of an HTML <template> element. */
8898interface HTMLTemplateElement extends HTMLElement {
8899 readonly content: DocumentFragment;
8900 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTemplateElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
8901 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
8902 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTemplateElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
8903 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
8904}
8905
8906declare var HTMLTemplateElement: {
8907 prototype: HTMLTemplateElement;
8908 new(): HTMLTemplateElement;
8909};
8910
8911/** Provides special properties and methods for manipulating the layout and presentation of <textarea> elements. */
8912interface HTMLTextAreaElement extends HTMLElement {
8913 autocomplete: string;
8914 /**
8915 * Provides a way to direct a user to a specific field when a document loads. This can provide both direction and convenience for a user, reducing the need to click or tab to a field when a page opens. This attribute is true when present on an element, and false when missing.
8916 */
8917 autofocus: boolean;
8918 /**
8919 * Sets or retrieves the width of the object.
8920 */
8921 cols: number;
8922 /**
8923 * Sets or retrieves the initial contents of the object.
8924 */
8925 defaultValue: string;
8926 dirName: string;
8927 disabled: boolean;
8928 /**
8929 * Retrieves a reference to the form that the object is embedded in.
8930 */
8931 readonly form: HTMLFormElement | null;
8932 readonly labels: NodeListOf<HTMLLabelElement>;
8933 /**
8934 * Sets or retrieves the maximum number of characters that the user can enter in a text control.
8935 */
8936 maxLength: number;
8937 minLength: number;
8938 /**
8939 * Sets or retrieves the name of the object.
8940 */
8941 name: string;
8942 /**
8943 * Gets or sets a text string that is displayed in an input field as a hint or prompt to users as the format or type of information they need to enter.The text appears in an input field until the user puts focus on the field.
8944 */
8945 placeholder: string;
8946 /**
8947 * Sets or retrieves the value indicated whether the content of the object is read-only.
8948 */
8949 readOnly: boolean;
8950 /**
8951 * When present, marks an element that can't be submitted without a value.
8952 */
8953 required: boolean;
8954 /**
8955 * Sets or retrieves the number of horizontal rows contained in the object.
8956 */
8957 rows: number;
8958 selectionDirection: string;
8959 /**
8960 * Gets or sets the end position or offset of a text selection.
8961 */
8962 selectionEnd: number;
8963 /**
8964 * Gets or sets the starting position or offset of a text selection.
8965 */
8966 selectionStart: number;
8967 readonly textLength: number;
8968 /**
8969 * Retrieves the type of control.
8970 */
8971 readonly type: string;
8972 /**
8973 * Returns the error message that would be displayed if the user submits the form, or an empty string if no error message. It also triggers the standard error message, such as "this is a required field". The result is that the user sees validation messages without actually submitting.
8974 */
8975 readonly validationMessage: string;
8976 /**
8977 * Returns a ValidityState object that represents the validity states of an element.
8978 */
8979 readonly validity: ValidityState;
8980 /**
8981 * Retrieves or sets the text in the entry field of the textArea element.
8982 */
8983 value: string;
8984 /**
8985 * Returns whether an element will successfully validate based on forms validation rules and constraints.
8986 */
8987 readonly willValidate: boolean;
8988 /**
8989 * Sets or retrieves how to handle wordwrapping in the object.
8990 */
8991 wrap: string;
8992 /**
8993 * Returns whether a form will validate when it is submitted, without having to submit it.
8994 */
8995 checkValidity(): boolean;
8996 reportValidity(): boolean;
8997 /**
8998 * Highlights the input area of a form element.
8999 */
9000 select(): void;
9001 /**
9002 * Sets a custom error message that is displayed when a form is submitted.
9003 * @param error Sets a custom error message that is displayed when a form is submitted.
9004 */
9005 setCustomValidity(error: string): void;
9006 setRangeText(replacement: string): void;
9007 setRangeText(replacement: string, start: number, end: number, selectionMode?: SelectionMode): void;
9008 /**
9009 * Sets the start and end positions of a selection in a text field.
9010 * @param start The offset into the text field for the start of the selection.
9011 * @param end The offset into the text field for the end of the selection.
9012 * @param direction The direction in which the selection is performed.
9013 */
9014 setSelectionRange(start: number, end: number, direction?: "forward" | "backward" | "none"): void;
9015 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTextAreaElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
9016 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
9017 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTextAreaElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
9018 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
9019}
9020
9021declare var HTMLTextAreaElement: {
9022 prototype: HTMLTextAreaElement;
9023 new(): HTMLTextAreaElement;
9024};
9025
9026/** Provides special properties (beyond the regular HTMLElement interface it also has available to it by inheritance) for manipulating <time> elements. */
9027interface HTMLTimeElement extends HTMLElement {
9028 dateTime: string;
9029 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTimeElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
9030 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
9031 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTimeElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
9032 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
9033}
9034
9035declare var HTMLTimeElement: {
9036 prototype: HTMLTimeElement;
9037 new(): HTMLTimeElement;
9038};
9039
9040/** Contains the title for a document. This element inherits all of the properties and methods of the HTMLElement interface. */
9041interface HTMLTitleElement extends HTMLElement {
9042 /**
9043 * Retrieves or sets the text of the object as a string.
9044 */
9045 text: string;
9046 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTitleElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
9047 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
9048 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTitleElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
9049 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
9050}
9051
9052declare var HTMLTitleElement: {
9053 prototype: HTMLTitleElement;
9054 new(): HTMLTitleElement;
9055};
9056
9057/** The HTMLTrackElement */
9058interface HTMLTrackElement extends HTMLElement {
9059 default: boolean;
9060 kind: string;
9061 label: string;
9062 readonly readyState: number;
9063 src: string;
9064 srclang: string;
9065 readonly track: TextTrack;
9066 readonly ERROR: number;
9067 readonly LOADED: number;
9068 readonly LOADING: number;
9069 readonly NONE: number;
9070 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTrackElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
9071 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
9072 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTrackElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
9073 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
9074}
9075
9076declare var HTMLTrackElement: {
9077 prototype: HTMLTrackElement;
9078 new(): HTMLTrackElement;
9079 readonly ERROR: number;
9080 readonly LOADED: number;
9081 readonly LOADING: number;
9082 readonly NONE: number;
9083};
9084
9085/** Provides special properties (beyond those defined on the regular HTMLElement interface it also has available to it by inheritance) for manipulating unordered list elements. */
9086interface HTMLUListElement extends HTMLElement {
9087 /** @deprecated */
9088 compact: boolean;
9089 /** @deprecated */
9090 type: string;
9091 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLUListElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
9092 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
9093 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLUListElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
9094 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
9095}
9096
9097declare var HTMLUListElement: {
9098 prototype: HTMLUListElement;
9099 new(): HTMLUListElement;
9100};
9101
9102/** An invalid HTML element and derives from the HTMLElement interface, but without implementing any additional properties or methods. */
9103interface HTMLUnknownElement extends HTMLElement {
9104 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLUnknownElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
9105 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
9106 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLUnknownElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
9107 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
9108}
9109
9110declare var HTMLUnknownElement: {
9111 prototype: HTMLUnknownElement;
9112 new(): HTMLUnknownElement;
9113};
9114
9115interface HTMLVideoElementEventMap extends HTMLMediaElementEventMap {
9116 "MSVideoFormatChanged": Event;
9117 "MSVideoFrameStepCompleted": Event;
9118 "MSVideoOptimalLayoutChanged": Event;
9119}
9120
9121/** Provides special properties and methods for manipulating video objects. It also inherits properties and methods of HTMLMediaElement and HTMLElement. */
9122interface HTMLVideoElement extends HTMLMediaElement {
9123 /**
9124 * Gets or sets the height of the video element.
9125 */
9126 height: number;
9127 msHorizontalMirror: boolean;
9128 readonly msIsLayoutOptimalForPlayback: boolean;
9129 readonly msIsStereo3D: boolean;
9130 msStereo3DPackingMode: string;
9131 msStereo3DRenderMode: string;
9132 msZoom: boolean;
9133 onMSVideoFormatChanged: ((this: HTMLVideoElement, ev: Event) => any) | null;
9134 onMSVideoFrameStepCompleted: ((this: HTMLVideoElement, ev: Event) => any) | null;
9135 onMSVideoOptimalLayoutChanged: ((this: HTMLVideoElement, ev: Event) => any) | null;
9136 /**
9137 * Gets or sets a URL of an image to display, for example, like a movie poster. This can be a still frame from the video, or another image if no video data is available.
9138 */
9139 poster: string;
9140 /**
9141 * Gets the intrinsic height of a video in CSS pixels, or zero if the dimensions are not known.
9142 */
9143 readonly videoHeight: number;
9144 /**
9145 * Gets the intrinsic width of a video in CSS pixels, or zero if the dimensions are not known.
9146 */
9147 readonly videoWidth: number;
9148 readonly webkitDisplayingFullscreen: boolean;
9149 readonly webkitSupportsFullscreen: boolean;
9150 /**
9151 * Gets or sets the width of the video element.
9152 */
9153 width: number;
9154 getVideoPlaybackQuality(): VideoPlaybackQuality;
9155 msFrameStep(forward: boolean): void;
9156 msInsertVideoEffect(activatableClassId: string, effectRequired: boolean, config?: any): void;
9157 msSetVideoRectangle(left: number, top: number, right: number, bottom: number): void;
9158 webkitEnterFullScreen(): void;
9159 webkitEnterFullscreen(): void;
9160 webkitExitFullScreen(): void;
9161 webkitExitFullscreen(): void;
9162 addEventListener<K extends keyof HTMLVideoElementEventMap>(type: K, listener: (this: HTMLVideoElement, ev: HTMLVideoElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
9163 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
9164 removeEventListener<K extends keyof HTMLVideoElementEventMap>(type: K, listener: (this: HTMLVideoElement, ev: HTMLVideoElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
9165 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
9166}
9167
9168declare var HTMLVideoElement: {
9169 prototype: HTMLVideoElement;
9170 new(): HTMLVideoElement;
9171};
9172
9173/** Events that fire when the fragment identifier of the URL has changed. */
9174interface HashChangeEvent extends Event {
9175 readonly newURL: string;
9176 readonly oldURL: string;
9177}
9178
9179declare var HashChangeEvent: {
9180 prototype: HashChangeEvent;
9181 new(type: string, eventInitDict?: HashChangeEventInit): HashChangeEvent;
9182};
9183
9184/** This Fetch API interface allows you to perform various actions on HTTP request and response headers. These actions include retrieving, setting, adding to, and removing. A Headers object has an associated header list, which is initially empty and consists of zero or more name and value pairs.  You can add to this using methods like append() (see Examples.) In all methods of this interface, header names are matched by case-insensitive byte sequence. */
9185interface Headers {
9186 append(name: string, value: string): void;
9187 delete(name: string): void;
9188 get(name: string): string | null;
9189 has(name: string): boolean;
9190 set(name: string, value: string): void;
9191 forEach(callbackfn: (value: string, key: string, parent: Headers) => void, thisArg?: any): void;
9192}
9193
9194declare var Headers: {
9195 prototype: Headers;
9196 new(init?: HeadersInit): Headers;
9197};
9198
9199/** Allows manipulation of the browser session history, that is the pages visited in the tab or frame that the current page is loaded in. */
9200interface History {
9201 readonly length: number;
9202 scrollRestoration: ScrollRestoration;
9203 readonly state: any;
9204 back(): void;
9205 forward(): void;
9206 go(delta?: number): void;
9207 pushState(data: any, title: string, url?: string | null): void;
9208 replaceState(data: any, title: string, url?: string | null): void;
9209}
9210
9211declare var History: {
9212 prototype: History;
9213 new(): History;
9214};
9215
9216interface HkdfCtrParams extends Algorithm {
9217 context: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer;
9218 hash: string | Algorithm;
9219 label: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer;
9220}
9221
9222interface IDBArrayKey extends Array<IDBValidKey> {
9223}
9224
9225/** This IndexedDB API interface represents a cursor for traversing or iterating over multiple records in a database. */
9226interface IDBCursor {
9227 /**
9228 * Returns the direction ("next", "nextunique", "prev" or "prevunique") of the cursor.
9229 */
9230 readonly direction: IDBCursorDirection;
9231 /**
9232 * Returns the key of the cursor. Throws a "InvalidStateError" DOMException if the cursor is advancing or is finished.
9233 */
9234 readonly key: IDBValidKey;
9235 /**
9236 * Returns the effective key of the cursor. Throws a "InvalidStateError" DOMException if the cursor is advancing or is finished.
9237 */
9238 readonly primaryKey: IDBValidKey;
9239 /**
9240 * Returns the IDBObjectStore or IDBIndex the cursor was opened from.
9241 */
9242 readonly source: IDBObjectStore | IDBIndex;
9243 /**
9244 * Advances the cursor through the next count records in range.
9245 */
9246 advance(count: number): void;
9247 /**
9248 * Advances the cursor to the next record in range.
9249 */
9250 continue(key?: IDBValidKey): void;
9251 /**
9252 * Advances the cursor to the next record in range matching or after key and primaryKey. Throws an "InvalidAccessError" DOMException if the source is not an index.
9253 */
9254 continuePrimaryKey(key: IDBValidKey, primaryKey: IDBValidKey): void;
9255 /**
9256 * Delete the record pointed at by the cursor with a new value.
9257 *
9258 * If successful, request's result will be undefined.
9259 */
9260 delete(): IDBRequest<undefined>;
9261 /**
9262 * Updated the record pointed at by the cursor with a new value.
9263 *
9264 * Throws a "DataError" DOMException if the effective object store uses in-line keys and the key would have changed.
9265 *
9266 * If successful, request's result will be the record's key.
9267 */
9268 update(value: any): IDBRequest<IDBValidKey>;
9269}
9270
9271declare var IDBCursor: {
9272 prototype: IDBCursor;
9273 new(): IDBCursor;
9274};
9275
9276/** This IndexedDB API interface represents a cursor for traversing or iterating over multiple records in a database. It is the same as the IDBCursor, except that it includes the value property. */
9277interface IDBCursorWithValue extends IDBCursor {
9278 /**
9279 * Returns the cursor's current value.
9280 */
9281 readonly value: any;
9282}
9283
9284declare var IDBCursorWithValue: {
9285 prototype: IDBCursorWithValue;
9286 new(): IDBCursorWithValue;
9287};
9288
9289interface IDBDatabaseEventMap {
9290 "abort": Event;
9291 "close": Event;
9292 "error": Event;
9293 "versionchange": IDBVersionChangeEvent;
9294}
9295
9296/** This IndexedDB API interface provides a connection to a database; you can use an IDBDatabase object to open a transaction on your database then create, manipulate, and delete objects (data) in that database. The interface provides the only way to get and manage versions of the database. */
9297interface IDBDatabase extends EventTarget {
9298 /**
9299 * Returns the name of the database.
9300 */
9301 readonly name: string;
9302 /**
9303 * Returns a list of the names of object stores in the database.
9304 */
9305 readonly objectStoreNames: DOMStringList;
9306 onabort: ((this: IDBDatabase, ev: Event) => any) | null;
9307 onclose: ((this: IDBDatabase, ev: Event) => any) | null;
9308 onerror: ((this: IDBDatabase, ev: Event) => any) | null;
9309 onversionchange: ((this: IDBDatabase, ev: IDBVersionChangeEvent) => any) | null;
9310 /**
9311 * Returns the version of the database.
9312 */
9313 readonly version: number;
9314 /**
9315 * Closes the connection once all running transactions have finished.
9316 */
9317 close(): void;
9318 /**
9319 * Creates a new object store with the given name and options and returns a new IDBObjectStore.
9320 *
9321 * Throws a "InvalidStateError" DOMException if not called within an upgrade transaction.
9322 */
9323 createObjectStore(name: string, optionalParameters?: IDBObjectStoreParameters): IDBObjectStore;
9324 /**
9325 * Deletes the object store with the given name.
9326 *
9327 * Throws a "InvalidStateError" DOMException if not called within an upgrade transaction.
9328 */
9329 deleteObjectStore(name: string): void;
9330 /**
9331 * Returns a new transaction with the given mode ("readonly" or "readwrite") and scope which can be a single object store name or an array of names.
9332 */
9333 transaction(storeNames: string | string[], mode?: IDBTransactionMode): IDBTransaction;
9334 addEventListener<K extends keyof IDBDatabaseEventMap>(type: K, listener: (this: IDBDatabase, ev: IDBDatabaseEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
9335 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
9336 removeEventListener<K extends keyof IDBDatabaseEventMap>(type: K, listener: (this: IDBDatabase, ev: IDBDatabaseEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
9337 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
9338}
9339
9340declare var IDBDatabase: {
9341 prototype: IDBDatabase;
9342 new(): IDBDatabase;
9343};
9344
9345interface IDBEnvironment {
9346 readonly indexedDB: IDBFactory;
9347}
9348
9349/** In the following code snippet, we make a request to open a database, and include handlers for the success and error cases. For a full working example, see our To-do Notifications app (view example live.) */
9350interface IDBFactory {
9351 /**
9352 * Compares two values as keys. Returns -1 if key1 precedes key2, 1 if key2 precedes key1, and 0 if the keys are equal.
9353 *
9354 * Throws a "DataError" DOMException if either input is not a valid key.
9355 */
9356 cmp(first: any, second: any): number;
9357 /**
9358 * Attempts to delete the named database. If the database already exists and there are open connections that don't close in response to a versionchange event, the request will be blocked until all they close. If the request is successful request's result will be null.
9359 */
9360 deleteDatabase(name: string): IDBOpenDBRequest;
9361 /**
9362 * Attempts to open a connection to the named database with the current version, or 1 if it does not already exist. If the request is successful request's result will be the connection.
9363 */
9364 open(name: string, version?: number): IDBOpenDBRequest;
9365}
9366
9367declare var IDBFactory: {
9368 prototype: IDBFactory;
9369 new(): IDBFactory;
9370};
9371
9372/** IDBIndex interface of the IndexedDB API provides asynchronous access to an index in a database. An index is a kind of object store for looking up records in another object store, called the referenced object store. You use this interface to retrieve data. */
9373interface IDBIndex {
9374 readonly keyPath: string | string[];
9375 readonly multiEntry: boolean;
9376 /**
9377 * Returns the name of the index.
9378 */
9379 name: string;
9380 /**
9381 * Returns the IDBObjectStore the index belongs to.
9382 */
9383 readonly objectStore: IDBObjectStore;
9384 readonly unique: boolean;
9385 /**
9386 * Retrieves the number of records matching the given key or key range in query.
9387 *
9388 * If successful, request's result will be the count.
9389 */
9390 count(key?: IDBValidKey | IDBKeyRange): IDBRequest<number>;
9391 /**
9392 * Retrieves the value of the first record matching the given key or key range in query.
9393 *
9394 * If successful, request's result will be the value, or undefined if there was no matching record.
9395 */
9396 get(key: IDBValidKey | IDBKeyRange): IDBRequest<any | undefined>;
9397 /**
9398 * Retrieves the values of the records matching the given key or key range in query (up to count if given).
9399 *
9400 * If successful, request's result will be an Array of the values.
9401 */
9402 getAll(query?: IDBValidKey | IDBKeyRange | null, count?: number): IDBRequest<any[]>;
9403 /**
9404 * Retrieves the keys of records matching the given key or key range in query (up to count if given).
9405 *
9406 * If successful, request's result will be an Array of the keys.
9407 */
9408 getAllKeys(query?: IDBValidKey | IDBKeyRange | null, count?: number): IDBRequest<IDBValidKey[]>;
9409 /**
9410 * Retrieves the key of the first record matching the given key or key range in query.
9411 *
9412 * If successful, request's result will be the key, or undefined if there was no matching record.
9413 */
9414 getKey(key: IDBValidKey | IDBKeyRange): IDBRequest<IDBValidKey | undefined>;
9415 /**
9416 * Opens a cursor over the records matching query, ordered by direction. If query is null, all records in index are matched.
9417 *
9418 * If successful, request's result will be an IDBCursorWithValue, or null if there were no matching records.
9419 */
9420 openCursor(query?: IDBValidKey | IDBKeyRange | null, direction?: IDBCursorDirection): IDBRequest<IDBCursorWithValue | null>;
9421 /**
9422 * Opens a cursor with key only flag set over the records matching query, ordered by direction. If query is null, all records in index are matched.
9423 *
9424 * If successful, request's result will be an IDBCursor, or null if there were no matching records.
9425 */
9426 openKeyCursor(query?: IDBValidKey | IDBKeyRange | null, direction?: IDBCursorDirection): IDBRequest<IDBCursor | null>;
9427}
9428
9429declare var IDBIndex: {
9430 prototype: IDBIndex;
9431 new(): IDBIndex;
9432};
9433
9434/** A key range can be a single value or a range with upper and lower bounds or endpoints. If the key range has both upper and lower bounds, then it is bounded; if it has no bounds, it is unbounded. A bounded key range can either be open (the endpoints are excluded) or closed (the endpoints are included). To retrieve all keys within a certain range, you can use the following code constructs: */
9435interface IDBKeyRange {
9436 /**
9437 * Returns lower bound, or undefined if none.
9438 */
9439 readonly lower: any;
9440 /**
9441 * Returns true if the lower open flag is set, and false otherwise.
9442 */
9443 readonly lowerOpen: boolean;
9444 /**
9445 * Returns upper bound, or undefined if none.
9446 */
9447 readonly upper: any;
9448 /**
9449 * Returns true if the upper open flag is set, and false otherwise.
9450 */
9451 readonly upperOpen: boolean;
9452 /**
9453 * Returns true if key is included in the range, and false otherwise.
9454 */
9455 includes(key: any): boolean;
9456}
9457
9458declare var IDBKeyRange: {
9459 prototype: IDBKeyRange;
9460 new(): IDBKeyRange;
9461 /**
9462 * Returns a new IDBKeyRange spanning from lower to upper. If lowerOpen is true, lower is not included in the range. If upperOpen is true, upper is not included in the range.
9463 */
9464 bound(lower: any, upper: any, lowerOpen?: boolean, upperOpen?: boolean): IDBKeyRange;
9465 /**
9466 * Returns a new IDBKeyRange starting at key with no upper bound. If open is true, key is not included in the range.
9467 */
9468 lowerBound(lower: any, open?: boolean): IDBKeyRange;
9469 /**
9470 * Returns a new IDBKeyRange spanning only key.
9471 */
9472 only(value: any): IDBKeyRange;
9473 /**
9474 * Returns a new IDBKeyRange with no lower bound and ending at key. If open is true, key is not included in the range.
9475 */
9476 upperBound(upper: any, open?: boolean): IDBKeyRange;
9477};
9478
9479/** This example shows a variety of different uses of object stores, from updating the data structure with IDBObjectStore.createIndex inside an onupgradeneeded function, to adding a new item to our object store with IDBObjectStore.add. For a full working example, see our To-do Notifications app (view example live.) */
9480interface IDBObjectStore {
9481 /**
9482 * Returns true if the store has a key generator, and false otherwise.
9483 */
9484 readonly autoIncrement: boolean;
9485 /**
9486 * Returns a list of the names of indexes in the store.
9487 */
9488 readonly indexNames: DOMStringList;
9489 /**
9490 * Returns the key path of the store, or null if none.
9491 */
9492 readonly keyPath: string | string[];
9493 /**
9494 * Returns the name of the store.
9495 */
9496 name: string;
9497 /**
9498 * Returns the associated transaction.
9499 */
9500 readonly transaction: IDBTransaction;
9501 /**
9502 * Adds or updates a record in store with the given value and key.
9503 *
9504 * If the store uses in-line keys and key is specified a "DataError" DOMException will be thrown.
9505 *
9506 * If put() is used, any existing record with the key will be replaced. If add() is used, and if a record with the key already exists the request will fail, with request's error set to a "ConstraintError" DOMException.
9507 *
9508 * If successful, request's result will be the record's key.
9509 */
9510 add(value: any, key?: IDBValidKey): IDBRequest<IDBValidKey>;
9511 /**
9512 * Deletes all records in store.
9513 *
9514 * If successful, request's result will be undefined.
9515 */
9516 clear(): IDBRequest<undefined>;
9517 /**
9518 * Retrieves the number of records matching the given key or key range in query.
9519 *
9520 * If successful, request's result will be the count.
9521 */
9522 count(key?: IDBValidKey | IDBKeyRange): IDBRequest<number>;
9523 /**
9524 * Creates a new index in store with the given name, keyPath and options and returns a new IDBIndex. If the keyPath and options define constraints that cannot be satisfied with the data already in store the upgrade transaction will abort with a "ConstraintError" DOMException.
9525 *
9526 * Throws an "InvalidStateError" DOMException if not called within an upgrade transaction.
9527 */
9528 createIndex(name: string, keyPath: string | string[], options?: IDBIndexParameters): IDBIndex;
9529 /**
9530 * Deletes records in store with the given key or in the given key range in query.
9531 *
9532 * If successful, request's result will be undefined.
9533 */
9534 delete(key: IDBValidKey | IDBKeyRange): IDBRequest<undefined>;
9535 /**
9536 * Deletes the index in store with the given name.
9537 *
9538 * Throws an "InvalidStateError" DOMException if not called within an upgrade transaction.
9539 */
9540 deleteIndex(name: string): void;
9541 /**
9542 * Retrieves the value of the first record matching the given key or key range in query.
9543 *
9544 * If successful, request's result will be the value, or undefined if there was no matching record.
9545 */
9546 get(query: IDBValidKey | IDBKeyRange): IDBRequest<any | undefined>;
9547 /**
9548 * Retrieves the values of the records matching the given key or key range in query (up to count if given).
9549 *
9550 * If successful, request's result will be an Array of the values.
9551 */
9552 getAll(query?: IDBValidKey | IDBKeyRange | null, count?: number): IDBRequest<any[]>;
9553 /**
9554 * Retrieves the keys of records matching the given key or key range in query (up to count if given).
9555 *
9556 * If successful, request's result will be an Array of the keys.
9557 */
9558 getAllKeys(query?: IDBValidKey | IDBKeyRange | null, count?: number): IDBRequest<IDBValidKey[]>;
9559 /**
9560 * Retrieves the key of the first record matching the given key or key range in query.
9561 *
9562 * If successful, request's result will be the key, or undefined if there was no matching record.
9563 */
9564 getKey(query: IDBValidKey | IDBKeyRange): IDBRequest<IDBValidKey | undefined>;
9565 index(name: string): IDBIndex;
9566 /**
9567 * Opens a cursor over the records matching query, ordered by direction. If query is null, all records in store are matched.
9568 *
9569 * If successful, request's result will be an IDBCursorWithValue pointing at the first matching record, or null if there were no matching records.
9570 */
9571 openCursor(query?: IDBValidKey | IDBKeyRange | null, direction?: IDBCursorDirection): IDBRequest<IDBCursorWithValue | null>;
9572 /**
9573 * Opens a cursor with key only flag set over the records matching query, ordered by direction. If query is null, all records in store are matched.
9574 *
9575 * If successful, request's result will be an IDBCursor pointing at the first matching record, or null if there were no matching records.
9576 */
9577 openKeyCursor(query?: IDBValidKey | IDBKeyRange | null, direction?: IDBCursorDirection): IDBRequest<IDBCursor | null>;
9578 /**
9579 * Adds or updates a record in store with the given value and key.
9580 *
9581 * If the store uses in-line keys and key is specified a "DataError" DOMException will be thrown.
9582 *
9583 * If put() is used, any existing record with the key will be replaced. If add() is used, and if a record with the key already exists the request will fail, with request's error set to a "ConstraintError" DOMException.
9584 *
9585 * If successful, request's result will be the record's key.
9586 */
9587 put(value: any, key?: IDBValidKey): IDBRequest<IDBValidKey>;
9588}
9589
9590declare var IDBObjectStore: {
9591 prototype: IDBObjectStore;
9592 new(): IDBObjectStore;
9593};
9594
9595interface IDBOpenDBRequestEventMap extends IDBRequestEventMap {
9596 "blocked": Event;
9597 "upgradeneeded": IDBVersionChangeEvent;
9598}
9599
9600/** Also inherits methods from its parents IDBRequest and EventTarget. */
9601interface IDBOpenDBRequest extends IDBRequest<IDBDatabase> {
9602 onblocked: ((this: IDBOpenDBRequest, ev: Event) => any) | null;
9603 onupgradeneeded: ((this: IDBOpenDBRequest, ev: IDBVersionChangeEvent) => any) | null;
9604 addEventListener<K extends keyof IDBOpenDBRequestEventMap>(type: K, listener: (this: IDBOpenDBRequest, ev: IDBOpenDBRequestEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
9605 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
9606 removeEventListener<K extends keyof IDBOpenDBRequestEventMap>(type: K, listener: (this: IDBOpenDBRequest, ev: IDBOpenDBRequestEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
9607 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
9608}
9609
9610declare var IDBOpenDBRequest: {
9611 prototype: IDBOpenDBRequest;
9612 new(): IDBOpenDBRequest;
9613};
9614
9615interface IDBRequestEventMap {
9616 "error": Event;
9617 "success": Event;
9618}
9619
9620/** The request object does not initially contain any information about the result of the operation, but once information becomes available, an event is fired on the request, and the information becomes available through the properties of the IDBRequest instance. */
9621interface IDBRequest<T = any> extends EventTarget {
9622 /**
9623 * When a request is completed, returns the error (a DOMException), or null if the request succeeded. Throws a "InvalidStateError" DOMException if the request is still pending.
9624 */
9625 readonly error: DOMException | null;
9626 onerror: ((this: IDBRequest<T>, ev: Event) => any) | null;
9627 onsuccess: ((this: IDBRequest<T>, ev: Event) => any) | null;
9628 /**
9629 * Returns "pending" until a request is complete, then returns "done".
9630 */
9631 readonly readyState: IDBRequestReadyState;
9632 /**
9633 * When a request is completed, returns the result, or undefined if the request failed. Throws a "InvalidStateError" DOMException if the request is still pending.
9634 */
9635 readonly result: T;
9636 /**
9637 * Returns the IDBObjectStore, IDBIndex, or IDBCursor the request was made against, or null if is was an open request.
9638 */
9639 readonly source: IDBObjectStore | IDBIndex | IDBCursor;
9640 /**
9641 * Returns the IDBTransaction the request was made within. If this as an open request, then it returns an upgrade transaction while it is running, or null otherwise.
9642 */
9643 readonly transaction: IDBTransaction | null;
9644 addEventListener<K extends keyof IDBRequestEventMap>(type: K, listener: (this: IDBRequest<T>, ev: IDBRequestEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
9645 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
9646 removeEventListener<K extends keyof IDBRequestEventMap>(type: K, listener: (this: IDBRequest<T>, ev: IDBRequestEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
9647 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
9648}
9649
9650declare var IDBRequest: {
9651 prototype: IDBRequest;
9652 new(): IDBRequest;
9653};
9654
9655interface IDBTransactionEventMap {
9656 "abort": Event;
9657 "complete": Event;
9658 "error": Event;
9659}
9660
9661interface IDBTransaction extends EventTarget {
9662 /**
9663 * Returns the transaction's connection.
9664 */
9665 readonly db: IDBDatabase;
9666 /**
9667 * If the transaction was aborted, returns the error (a DOMException) providing the reason.
9668 */
9669 readonly error: DOMException;
9670 /**
9671 * Returns the mode the transaction was created with ("readonly" or "readwrite"), or "versionchange" for an upgrade transaction.
9672 */
9673 readonly mode: IDBTransactionMode;
9674 /**
9675 * Returns a list of the names of object stores in the transaction's scope. For an upgrade transaction this is all object stores in the database.
9676 */
9677 readonly objectStoreNames: DOMStringList;
9678 onabort: ((this: IDBTransaction, ev: Event) => any) | null;
9679 oncomplete: ((this: IDBTransaction, ev: Event) => any) | null;
9680 onerror: ((this: IDBTransaction, ev: Event) => any) | null;
9681 /**
9682 * Aborts the transaction. All pending requests will fail with a "AbortError" DOMException and all changes made to the database will be reverted.
9683 */
9684 abort(): void;
9685 /**
9686 * Returns an IDBObjectStore in the transaction's scope.
9687 */
9688 objectStore(name: string): IDBObjectStore;
9689 addEventListener<K extends keyof IDBTransactionEventMap>(type: K, listener: (this: IDBTransaction, ev: IDBTransactionEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
9690 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
9691 removeEventListener<K extends keyof IDBTransactionEventMap>(type: K, listener: (this: IDBTransaction, ev: IDBTransactionEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
9692 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
9693}
9694
9695declare var IDBTransaction: {
9696 prototype: IDBTransaction;
9697 new(): IDBTransaction;
9698};
9699
9700/** This IndexedDB API interface indicates that the version of the database has changed, as the result of an IDBOpenDBRequest.onupgradeneeded event handler function. */
9701interface IDBVersionChangeEvent extends Event {
9702 readonly newVersion: number | null;
9703 readonly oldVersion: number;
9704}
9705
9706declare var IDBVersionChangeEvent: {
9707 prototype: IDBVersionChangeEvent;
9708 new(type: string, eventInitDict?: IDBVersionChangeEventInit): IDBVersionChangeEvent;
9709};
9710
9711/** The IIRFilterNode interface of the Web Audio API is a AudioNode processor which implements a general infinite impulse response (IIR)  filter; this type of filter can be used to implement tone control devices and graphic equalizers as well. It lets the parameters of the filter response be specified, so that it can be tuned as needed. */
9712interface IIRFilterNode extends AudioNode {
9713 getFrequencyResponse(frequencyHz: Float32Array, magResponse: Float32Array, phaseResponse: Float32Array): void;
9714}
9715
9716declare var IIRFilterNode: {
9717 prototype: IIRFilterNode;
9718 new(context: BaseAudioContext, options: IIRFilterOptions): IIRFilterNode;
9719};
9720
9721interface ImageBitmap {
9722 /**
9723 * Returns the intrinsic height of the image, in CSS pixels.
9724 */
9725 readonly height: number;
9726 /**
9727 * Returns the intrinsic width of the image, in CSS pixels.
9728 */
9729 readonly width: number;
9730 /**
9731 * Releases imageBitmap's underlying bitmap data.
9732 */
9733 close(): void;
9734}
9735
9736declare var ImageBitmap: {
9737 prototype: ImageBitmap;
9738 new(): ImageBitmap;
9739};
9740
9741interface ImageBitmapOptions {
9742 colorSpaceConversion?: "none" | "default";
9743 imageOrientation?: "none" | "flipY";
9744 premultiplyAlpha?: "none" | "premultiply" | "default";
9745 resizeHeight?: number;
9746 resizeQuality?: "pixelated" | "low" | "medium" | "high";
9747 resizeWidth?: number;
9748}
9749
9750interface ImageBitmapRenderingContext {
9751 /**
9752 * Returns the canvas element that the context is bound to.
9753 */
9754 readonly canvas: HTMLCanvasElement | OffscreenCanvas;
9755 /**
9756 * Transfers the underlying bitmap data from imageBitmap to context, and the bitmap becomes the contents of the canvas element to which context is bound.
9757 */
9758 transferFromImageBitmap(bitmap: ImageBitmap | null): void;
9759}
9760
9761declare var ImageBitmapRenderingContext: {
9762 prototype: ImageBitmapRenderingContext;
9763 new(): ImageBitmapRenderingContext;
9764};
9765
9766/** 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(). */
9767interface ImageData {
9768 /**
9769 * Returns the one-dimensional array containing the data in RGBA order, as integers in the range 0 to 255.
9770 */
9771 readonly data: Uint8ClampedArray;
9772 /**
9773 * Returns the actual dimensions of the data in the ImageData object, in pixels.
9774 */
9775 readonly height: number;
9776 /**
9777 * Returns the actual dimensions of the data in the ImageData object, in pixels.
9778 */
9779 readonly width: number;
9780}
9781
9782declare var ImageData: {
9783 prototype: ImageData;
9784 new(width: number, height: number): ImageData;
9785 new(array: Uint8ClampedArray, width: number, height?: number): ImageData;
9786};
9787
9788interface InnerHTML {
9789 innerHTML: string;
9790}
9791
9792interface InputDeviceInfo extends MediaDeviceInfo {
9793 getCapabilities(): MediaTrackCapabilities;
9794}
9795
9796declare var InputDeviceInfo: {
9797 prototype: InputDeviceInfo;
9798 new(): InputDeviceInfo;
9799};
9800
9801interface InputEvent extends UIEvent {
9802 readonly data: string | null;
9803 readonly inputType: string;
9804 readonly isComposing: boolean;
9805}
9806
9807declare var InputEvent: {
9808 prototype: InputEvent;
9809 new(type: string, eventInitDict?: InputEventInit): InputEvent;
9810};
9811
9812/** provides a way to asynchronously observe changes in the intersection of a target element with an ancestor element or with a top-level document's viewport. */
9813interface IntersectionObserver {
9814 readonly root: Element | null;
9815 readonly rootMargin: string;
9816 readonly thresholds: ReadonlyArray<number>;
9817 disconnect(): void;
9818 observe(target: Element): void;
9819 takeRecords(): IntersectionObserverEntry[];
9820 unobserve(target: Element): void;
9821}
9822
9823declare var IntersectionObserver: {
9824 prototype: IntersectionObserver;
9825 new(callback: IntersectionObserverCallback, options?: IntersectionObserverInit): IntersectionObserver;
9826};
9827
9828/** This Intersection Observer API interface describes the intersection between the target element and its root container at a specific moment of transition. */
9829interface IntersectionObserverEntry {
9830 readonly boundingClientRect: DOMRectReadOnly;
9831 readonly intersectionRatio: number;
9832 readonly intersectionRect: DOMRectReadOnly;
9833 readonly isIntersecting: boolean;
9834 readonly rootBounds: DOMRectReadOnly | null;
9835 readonly target: Element;
9836 readonly time: number;
9837}
9838
9839declare var IntersectionObserverEntry: {
9840 prototype: IntersectionObserverEntry;
9841 new(intersectionObserverEntryInit: IntersectionObserverEntryInit): IntersectionObserverEntry;
9842};
9843
9844/** KeyboardEvent objects describe a user interaction with the keyboard; each event describes a single interaction between the user and a key (or combination of a key with modifier keys) on the keyboard. */
9845interface KeyboardEvent extends UIEvent {
9846 readonly altKey: boolean;
9847 /** @deprecated */
9848 char: string;
9849 /** @deprecated */
9850 readonly charCode: number;
9851 readonly code: string;
9852 readonly ctrlKey: boolean;
9853 readonly isComposing: boolean;
9854 readonly key: string;
9855 /** @deprecated */
9856 readonly keyCode: number;
9857 readonly location: number;
9858 readonly metaKey: boolean;
9859 readonly repeat: boolean;
9860 readonly shiftKey: boolean;
9861 getModifierState(keyArg: string): boolean;
9862 readonly DOM_KEY_LOCATION_LEFT: number;
9863 readonly DOM_KEY_LOCATION_NUMPAD: number;
9864 readonly DOM_KEY_LOCATION_RIGHT: number;
9865 readonly DOM_KEY_LOCATION_STANDARD: number;
9866}
9867
9868declare var KeyboardEvent: {
9869 prototype: KeyboardEvent;
9870 new(type: string, eventInitDict?: KeyboardEventInit): KeyboardEvent;
9871 readonly DOM_KEY_LOCATION_LEFT: number;
9872 readonly DOM_KEY_LOCATION_NUMPAD: number;
9873 readonly DOM_KEY_LOCATION_RIGHT: number;
9874 readonly DOM_KEY_LOCATION_STANDARD: number;
9875};
9876
9877interface KeyframeEffect extends AnimationEffect {
9878 composite: CompositeOperation;
9879 iterationComposite: IterationCompositeOperation;
9880 target: Element | null;
9881 getKeyframes(): ComputedKeyframe[];
9882 setKeyframes(keyframes: Keyframe[] | PropertyIndexedKeyframes | null): void;
9883}
9884
9885declare var KeyframeEffect: {
9886 prototype: KeyframeEffect;
9887 new(target: Element | null, keyframes: Keyframe[] | PropertyIndexedKeyframes | null, options?: number | KeyframeEffectOptions): KeyframeEffect;
9888 new(source: KeyframeEffect): KeyframeEffect;
9889};
9890
9891interface LinkStyle {
9892 readonly sheet: StyleSheet | null;
9893}
9894
9895interface ListeningStateChangedEvent extends Event {
9896 readonly label: string;
9897 readonly state: ListeningState;
9898}
9899
9900declare var ListeningStateChangedEvent: {
9901 prototype: ListeningStateChangedEvent;
9902 new(): ListeningStateChangedEvent;
9903};
9904
9905/** The location (URL) of the object it is linked to. Changes done on it are reflected on the object it relates to. Both the Document and Window interface have such a linked Location, accessible via Document.location and Window.location respectively. */
9906interface Location {
9907 /**
9908 * Returns a DOMStringList object listing the origins of the ancestor browsing contexts, from the parent browsing context to the top-level browsing context.
9909 */
9910 readonly ancestorOrigins: DOMStringList;
9911 /**
9912 * Returns the Location object's URL's fragment (includes leading "#" if non-empty).
9913 *
9914 * Can be set, to navigate to the same URL with a changed fragment (ignores leading "#").
9915 */
9916 hash: string;
9917 /**
9918 * Returns the Location object's URL's host and port (if different from the default port for the scheme).
9919 *
9920 * Can be set, to navigate to the same URL with a changed host and port.
9921 */
9922 host: string;
9923 /**
9924 * Returns the Location object's URL's host.
9925 *
9926 * Can be set, to navigate to the same URL with a changed host.
9927 */
9928 hostname: string;
9929 /**
9930 * Returns the Location object's URL.
9931 *
9932 * Can be set, to navigate to the given URL.
9933 */
9934 href: string;
9935 /**
9936 * Returns the Location object's URL's origin.
9937 */
9938 readonly origin: string;
9939 /**
9940 * Returns the Location object's URL's path.
9941 *
9942 * Can be set, to navigate to the same URL with a changed path.
9943 */
9944 pathname: string;
9945 /**
9946 * Returns the Location object's URL's port.
9947 *
9948 * Can be set, to navigate to the same URL with a changed port.
9949 */
9950 port: string;
9951 /**
9952 * Returns the Location object's URL's scheme.
9953 *
9954 * Can be set, to navigate to the same URL with a changed scheme.
9955 */
9956 protocol: string;
9957 /**
9958 * Returns the Location object's URL's query (includes leading "?" if non-empty).
9959 *
9960 * Can be set, to navigate to the same URL with a changed query (ignores leading "?").
9961 */
9962 search: string;
9963 /**
9964 * Navigates to the given URL.
9965 */
9966 assign(url: string): void;
9967 /**
9968 * Reloads the current page.
9969 */
9970 reload(): void;
9971 /** @deprecated */
9972 reload(forcedReload: boolean): void;
9973 /**
9974 * Removes the current page from the session history and navigates to the given URL.
9975 */
9976 replace(url: string): void;
9977}
9978
9979declare var Location: {
9980 prototype: Location;
9981 new(): Location;
9982};
9983
9984interface MSAssertion {
9985 readonly id: string;
9986 readonly type: MSCredentialType;
9987}
9988
9989declare var MSAssertion: {
9990 prototype: MSAssertion;
9991 new(): MSAssertion;
9992};
9993
9994interface MSBlobBuilder {
9995 append(data: any, endings?: string): void;
9996 getBlob(contentType?: string): Blob;
9997}
9998
9999declare var MSBlobBuilder: {
10000 prototype: MSBlobBuilder;
10001 new(): MSBlobBuilder;
10002};
10003
10004interface MSFIDOCredentialAssertion extends MSAssertion {
10005 readonly algorithm: string | Algorithm;
10006 readonly attestation: any;
10007 readonly publicKey: string;
10008 readonly transportHints: MSTransportType[];
10009}
10010
10011declare var MSFIDOCredentialAssertion: {
10012 prototype: MSFIDOCredentialAssertion;
10013 new(): MSFIDOCredentialAssertion;
10014};
10015
10016interface MSFIDOSignature {
10017 readonly authnrData: string;
10018 readonly clientData: string;
10019 readonly signature: string;
10020}
10021
10022declare var MSFIDOSignature: {
10023 prototype: MSFIDOSignature;
10024 new(): MSFIDOSignature;
10025};
10026
10027interface MSFIDOSignatureAssertion extends MSAssertion {
10028 readonly signature: MSFIDOSignature;
10029}
10030
10031declare var MSFIDOSignatureAssertion: {
10032 prototype: MSFIDOSignatureAssertion;
10033 new(): MSFIDOSignatureAssertion;
10034};
10035
10036interface MSFileSaver {
10037 msSaveBlob(blob: any, defaultName?: string): boolean;
10038 msSaveOrOpenBlob(blob: any, defaultName?: string): boolean;
10039}
10040
10041interface MSGesture {
10042 target: Element;
10043 addPointer(pointerId: number): void;
10044 stop(): void;
10045}
10046
10047declare var MSGesture: {
10048 prototype: MSGesture;
10049 new(): MSGesture;
10050};
10051
10052/** The MSGestureEvent is a proprietary interface specific to Internet Explorer and Microsoft Edge which represents events that occur due to touch gestures. Events using this interface include MSGestureStart, MSGestureEnd, MSGestureTap, MSGestureHold, MSGestureChange, and MSInertiaStart. */
10053interface MSGestureEvent extends UIEvent {
10054 readonly clientX: number;
10055 readonly clientY: number;
10056 readonly expansion: number;
10057 readonly gestureObject: any;
10058 readonly hwTimestamp: number;
10059 readonly offsetX: number;
10060 readonly offsetY: number;
10061 readonly rotation: number;
10062 readonly scale: number;
10063 readonly screenX: number;
10064 readonly screenY: number;
10065 readonly translationX: number;
10066 readonly translationY: number;
10067 readonly velocityAngular: number;
10068 readonly velocityExpansion: number;
10069 readonly velocityX: number;
10070 readonly velocityY: number;
10071 initGestureEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, detailArg: number, screenXArg: number, screenYArg: number, clientXArg: number, clientYArg: number, offsetXArg: number, offsetYArg: number, translationXArg: number, translationYArg: number, scaleArg: number, expansionArg: number, rotationArg: number, velocityXArg: number, velocityYArg: number, velocityExpansionArg: number, velocityAngularArg: number, hwTimestampArg: number): void;
10072 readonly MSGESTURE_FLAG_BEGIN: number;
10073 readonly MSGESTURE_FLAG_CANCEL: number;
10074 readonly MSGESTURE_FLAG_END: number;
10075 readonly MSGESTURE_FLAG_INERTIA: number;
10076 readonly MSGESTURE_FLAG_NONE: number;
10077}
10078
10079declare var MSGestureEvent: {
10080 prototype: MSGestureEvent;
10081 new(): MSGestureEvent;
10082 readonly MSGESTURE_FLAG_BEGIN: number;
10083 readonly MSGESTURE_FLAG_CANCEL: number;
10084 readonly MSGESTURE_FLAG_END: number;
10085 readonly MSGESTURE_FLAG_INERTIA: number;
10086 readonly MSGESTURE_FLAG_NONE: number;
10087};
10088
10089/** The msGraphicsTrust() constructor returns an object that provides properties for info on protected video playback. */
10090interface MSGraphicsTrust {
10091 readonly constrictionActive: boolean;
10092 readonly status: string;
10093}
10094
10095declare var MSGraphicsTrust: {
10096 prototype: MSGraphicsTrust;
10097 new(): MSGraphicsTrust;
10098};
10099
10100interface MSInputMethodContextEventMap {
10101 "MSCandidateWindowHide": Event;
10102 "MSCandidateWindowShow": Event;
10103 "MSCandidateWindowUpdate": Event;
10104}
10105
10106interface MSInputMethodContext extends EventTarget {
10107 readonly compositionEndOffset: number;
10108 readonly compositionStartOffset: number;
10109 oncandidatewindowhide: ((this: MSInputMethodContext, ev: Event) => any) | null;
10110 oncandidatewindowshow: ((this: MSInputMethodContext, ev: Event) => any) | null;
10111 oncandidatewindowupdate: ((this: MSInputMethodContext, ev: Event) => any) | null;
10112 readonly target: HTMLElement;
10113 getCandidateWindowClientRect(): ClientRect;
10114 getCompositionAlternatives(): string[];
10115 hasComposition(): boolean;
10116 isCandidateWindowVisible(): boolean;
10117 addEventListener<K extends keyof MSInputMethodContextEventMap>(type: K, listener: (this: MSInputMethodContext, ev: MSInputMethodContextEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
10118 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
10119 removeEventListener<K extends keyof MSInputMethodContextEventMap>(type: K, listener: (this: MSInputMethodContext, ev: MSInputMethodContextEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
10120 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
10121}
10122
10123declare var MSInputMethodContext: {
10124 prototype: MSInputMethodContext;
10125 new(): MSInputMethodContext;
10126};
10127
10128interface MSMediaKeyError {
10129 readonly code: number;
10130 readonly systemCode: number;
10131 readonly MS_MEDIA_KEYERR_CLIENT: number;
10132 readonly MS_MEDIA_KEYERR_DOMAIN: number;
10133 readonly MS_MEDIA_KEYERR_HARDWARECHANGE: number;
10134 readonly MS_MEDIA_KEYERR_OUTPUT: number;
10135 readonly MS_MEDIA_KEYERR_SERVICE: number;
10136 readonly MS_MEDIA_KEYERR_UNKNOWN: number;
10137}
10138
10139declare var MSMediaKeyError: {
10140 prototype: MSMediaKeyError;
10141 new(): MSMediaKeyError;
10142 readonly MS_MEDIA_KEYERR_CLIENT: number;
10143 readonly MS_MEDIA_KEYERR_DOMAIN: number;
10144 readonly MS_MEDIA_KEYERR_HARDWARECHANGE: number;
10145 readonly MS_MEDIA_KEYERR_OUTPUT: number;
10146 readonly MS_MEDIA_KEYERR_SERVICE: number;
10147 readonly MS_MEDIA_KEYERR_UNKNOWN: number;
10148};
10149
10150interface MSMediaKeyMessageEvent extends Event {
10151 readonly destinationURL: string | null;
10152 readonly message: Uint8Array;
10153}
10154
10155declare var MSMediaKeyMessageEvent: {
10156 prototype: MSMediaKeyMessageEvent;
10157 new(): MSMediaKeyMessageEvent;
10158};
10159
10160interface MSMediaKeyNeededEvent extends Event {
10161 readonly initData: Uint8Array | null;
10162}
10163
10164declare var MSMediaKeyNeededEvent: {
10165 prototype: MSMediaKeyNeededEvent;
10166 new(): MSMediaKeyNeededEvent;
10167};
10168
10169interface MSMediaKeySession extends EventTarget {
10170 readonly error: MSMediaKeyError | null;
10171 readonly keySystem: string;
10172 readonly sessionId: string;
10173 close(): void;
10174 update(key: Uint8Array): void;
10175}
10176
10177declare var MSMediaKeySession: {
10178 prototype: MSMediaKeySession;
10179 new(): MSMediaKeySession;
10180};
10181
10182interface MSMediaKeys {
10183 readonly keySystem: string;
10184 createSession(type: string, initData: Uint8Array, cdmData?: Uint8Array | null): MSMediaKeySession;
10185}
10186
10187declare var MSMediaKeys: {
10188 prototype: MSMediaKeys;
10189 new(keySystem: string): MSMediaKeys;
10190 isTypeSupported(keySystem: string, type?: string | null): boolean;
10191 isTypeSupportedWithFeatures(keySystem: string, type?: string | null): string;
10192};
10193
10194interface MSNavigatorDoNotTrack {
10195 confirmSiteSpecificTrackingException(args: ConfirmSiteSpecificExceptionsInformation): boolean;
10196 confirmWebWideTrackingException(args: ExceptionInformation): boolean;
10197 removeSiteSpecificTrackingException(args: ExceptionInformation): void;
10198 removeWebWideTrackingException(args: ExceptionInformation): void;
10199 storeSiteSpecificTrackingException(args: StoreSiteSpecificExceptionsInformation): void;
10200 storeWebWideTrackingException(args: StoreExceptionsInformation): void;
10201}
10202
10203interface MSPointerEvent extends MouseEvent {
10204 readonly currentPoint: any;
10205 readonly height: number;
10206 readonly hwTimestamp: number;
10207 readonly intermediatePoints: any;
10208 readonly isPrimary: boolean;
10209 readonly pointerId: number;
10210 readonly pointerType: any;
10211 readonly pressure: number;
10212 readonly rotation: number;
10213 readonly tiltX: number;
10214 readonly tiltY: number;
10215 readonly width: number;
10216 getCurrentPoint(element: Element): void;
10217 getIntermediatePoints(element: Element): void;
10218 initPointerEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, detailArg: number, screenXArg: number, screenYArg: number, clientXArg: number, clientYArg: number, ctrlKeyArg: boolean, altKeyArg: boolean, shiftKeyArg: boolean, metaKeyArg: boolean, buttonArg: number, relatedTargetArg: EventTarget, offsetXArg: number, offsetYArg: number, widthArg: number, heightArg: number, pressure: number, rotation: number, tiltX: number, tiltY: number, pointerIdArg: number, pointerType: any, hwTimestampArg: number, isPrimary: boolean): void;
10219}
10220
10221declare var MSPointerEvent: {
10222 prototype: MSPointerEvent;
10223 new(typeArg: string, eventInitDict?: PointerEventInit): MSPointerEvent;
10224};
10225
10226interface MSStream {
10227 readonly type: string;
10228 msClose(): void;
10229 msDetachStream(): any;
10230}
10231
10232declare var MSStream: {
10233 prototype: MSStream;
10234 new(): MSStream;
10235};
10236
10237/** The MediaDevicesInfo interface contains information that describes a single media input or output device. */
10238interface MediaDeviceInfo {
10239 readonly deviceId: string;
10240 readonly groupId: string;
10241 readonly kind: MediaDeviceKind;
10242 readonly label: string;
10243 toJSON(): any;
10244}
10245
10246declare var MediaDeviceInfo: {
10247 prototype: MediaDeviceInfo;
10248 new(): MediaDeviceInfo;
10249};
10250
10251interface MediaDevicesEventMap {
10252 "devicechange": Event;
10253}
10254
10255/** Provides access to connected media input devices like cameras and microphones, as well as screen sharing. In essence, it lets you obtain access to any hardware source of media data. */
10256interface MediaDevices extends EventTarget {
10257 ondevicechange: ((this: MediaDevices, ev: Event) => any) | null;
10258 enumerateDevices(): Promise<MediaDeviceInfo[]>;
10259 getSupportedConstraints(): MediaTrackSupportedConstraints;
10260 getUserMedia(constraints?: MediaStreamConstraints): Promise<MediaStream>;
10261 addEventListener<K extends keyof MediaDevicesEventMap>(type: K, listener: (this: MediaDevices, ev: MediaDevicesEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
10262 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
10263 removeEventListener<K extends keyof MediaDevicesEventMap>(type: K, listener: (this: MediaDevices, ev: MediaDevicesEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
10264 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
10265}
10266
10267declare var MediaDevices: {
10268 prototype: MediaDevices;
10269 new(): MediaDevices;
10270};
10271
10272/** A MediaElementSourceNode has no inputs and exactly one output, and is created using the AudioContext.createMediaElementSource method. The amount of channels in the output equals the number of channels of the audio referenced by the HTMLMediaElement used in the creation of the node, or is 1 if the HTMLMediaElement has no audio. */
10273interface MediaElementAudioSourceNode extends AudioNode {
10274 readonly mediaElement: HTMLMediaElement;
10275}
10276
10277declare var MediaElementAudioSourceNode: {
10278 prototype: MediaElementAudioSourceNode;
10279 new(context: AudioContext, options: MediaElementAudioSourceOptions): MediaElementAudioSourceNode;
10280};
10281
10282interface MediaEncryptedEvent extends Event {
10283 readonly initData: ArrayBuffer | null;
10284 readonly initDataType: string;
10285}
10286
10287declare var MediaEncryptedEvent: {
10288 prototype: MediaEncryptedEvent;
10289 new(type: string, eventInitDict?: MediaEncryptedEventInit): MediaEncryptedEvent;
10290};
10291
10292/** An error which occurred while handling media in an HTML media element based on HTMLMediaElement, such as <audio> or <video>. */
10293interface MediaError {
10294 readonly code: number;
10295 readonly message: string;
10296 readonly msExtendedCode: number;
10297 readonly MEDIA_ERR_ABORTED: number;
10298 readonly MEDIA_ERR_DECODE: number;
10299 readonly MEDIA_ERR_NETWORK: number;
10300 readonly MEDIA_ERR_SRC_NOT_SUPPORTED: number;
10301 readonly MS_MEDIA_ERR_ENCRYPTED: number;
10302}
10303
10304declare var MediaError: {
10305 prototype: MediaError;
10306 new(): MediaError;
10307 readonly MEDIA_ERR_ABORTED: number;
10308 readonly MEDIA_ERR_DECODE: number;
10309 readonly MEDIA_ERR_NETWORK: number;
10310 readonly MEDIA_ERR_SRC_NOT_SUPPORTED: number;
10311 readonly MS_MEDIA_ERR_ENCRYPTED: number;
10312};
10313
10314/** This EncryptedMediaExtensions API interface contains the content and related data when the content decryption module generates a message for the session. */
10315interface MediaKeyMessageEvent extends Event {
10316 readonly message: ArrayBuffer;
10317 readonly messageType: MediaKeyMessageType;
10318}
10319
10320declare var MediaKeyMessageEvent: {
10321 prototype: MediaKeyMessageEvent;
10322 new(type: string, eventInitDict: MediaKeyMessageEventInit): MediaKeyMessageEvent;
10323};
10324
10325interface MediaKeySessionEventMap {
10326 "keystatuseschange": Event;
10327 "message": MessageEvent;
10328}
10329
10330/** This EncryptedMediaExtensions API interface represents a context for message exchange with a content decryption module (CDM). */
10331interface MediaKeySession extends EventTarget {
10332 readonly closed: Promise<void>;
10333 readonly expiration: number;
10334 readonly keyStatuses: MediaKeyStatusMap;
10335 onkeystatuseschange: ((this: MediaKeySession, ev: Event) => any) | null;
10336 onmessage: ((this: MediaKeySession, ev: MessageEvent) => any) | null;
10337 readonly sessionId: string;
10338 close(): Promise<void>;
10339 generateRequest(initDataType: string, initData: BufferSource): Promise<void>;
10340 load(sessionId: string): Promise<boolean>;
10341 remove(): Promise<void>;
10342 update(response: BufferSource): Promise<void>;
10343 addEventListener<K extends keyof MediaKeySessionEventMap>(type: K, listener: (this: MediaKeySession, ev: MediaKeySessionEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
10344 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
10345 removeEventListener<K extends keyof MediaKeySessionEventMap>(type: K, listener: (this: MediaKeySession, ev: MediaKeySessionEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
10346 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
10347}
10348
10349declare var MediaKeySession: {
10350 prototype: MediaKeySession;
10351 new(): MediaKeySession;
10352};
10353
10354/** This EncryptedMediaExtensions API interface is a read-only map of media key statuses by key IDs. */
10355interface MediaKeyStatusMap {
10356 readonly size: number;
10357 get(keyId: BufferSource): any;
10358 has(keyId: BufferSource): boolean;
10359 forEach(callbackfn: (value: MediaKeyStatus, key: BufferSource, parent: MediaKeyStatusMap) => void, thisArg?: any): void;
10360}
10361
10362declare var MediaKeyStatusMap: {
10363 prototype: MediaKeyStatusMap;
10364 new(): MediaKeyStatusMap;
10365};
10366
10367/** This EncryptedMediaExtensions API interface provides access to a Key System for decryption and/or a content protection provider. You can request an instance of this object using the Navigator.requestMediaKeySystemAccess method. */
10368interface MediaKeySystemAccess {
10369 readonly keySystem: string;
10370 createMediaKeys(): Promise<MediaKeys>;
10371 getConfiguration(): MediaKeySystemConfiguration;
10372}
10373
10374declare var MediaKeySystemAccess: {
10375 prototype: MediaKeySystemAccess;
10376 new(): MediaKeySystemAccess;
10377};
10378
10379/** This EncryptedMediaExtensions API interface the represents a set of keys that an associated HTMLMediaElement can use for decryption of media data during playback. */
10380interface MediaKeys {
10381 createSession(sessionType?: MediaKeySessionType): MediaKeySession;
10382 setServerCertificate(serverCertificate: BufferSource): Promise<boolean>;
10383}
10384
10385declare var MediaKeys: {
10386 prototype: MediaKeys;
10387 new(): MediaKeys;
10388};
10389
10390interface MediaList {
10391 readonly length: number;
10392 mediaText: string;
10393 appendMedium(medium: string): void;
10394 deleteMedium(medium: string): void;
10395 item(index: number): string | null;
10396 toString(): number;
10397 [index: number]: string;
10398}
10399
10400declare var MediaList: {
10401 prototype: MediaList;
10402 new(): MediaList;
10403};
10404
10405interface MediaQueryListEventMap {
10406 "change": MediaQueryListEvent;
10407}
10408
10409/** Stores information on a media query applied to a document, and handles sending notifications to listeners when the media query state change (i.e. when the media query test starts or stops evaluating to true). */
10410interface MediaQueryList extends EventTarget {
10411 readonly matches: boolean;
10412 readonly media: string;
10413 onchange: ((this: MediaQueryList, ev: MediaQueryListEvent) => any) | null;
10414 /** @deprecated */
10415 addListener(listener: ((this: MediaQueryList, ev: MediaQueryListEvent) => any) | null): void;
10416 /** @deprecated */
10417 removeListener(listener: ((this: MediaQueryList, ev: MediaQueryListEvent) => any) | null): void;
10418 addEventListener<K extends keyof MediaQueryListEventMap>(type: K, listener: (this: MediaQueryList, ev: MediaQueryListEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
10419 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
10420 removeEventListener<K extends keyof MediaQueryListEventMap>(type: K, listener: (this: MediaQueryList, ev: MediaQueryListEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
10421 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
10422}
10423
10424declare var MediaQueryList: {
10425 prototype: MediaQueryList;
10426 new(): MediaQueryList;
10427};
10428
10429interface MediaQueryListEvent extends Event {
10430 readonly matches: boolean;
10431 readonly media: string;
10432}
10433
10434declare var MediaQueryListEvent: {
10435 prototype: MediaQueryListEvent;
10436 new(type: string, eventInitDict?: MediaQueryListEventInit): MediaQueryListEvent;
10437};
10438
10439interface MediaSourceEventMap {
10440 "sourceclose": Event;
10441 "sourceended": Event;
10442 "sourceopen": Event;
10443}
10444
10445/** This Media Source Extensions API interface represents a source of media data for an HTMLMediaElement object. A MediaSource object can be attached to a HTMLMediaElement to be played in the user agent. */
10446interface MediaSource extends EventTarget {
10447 readonly activeSourceBuffers: SourceBufferList;
10448 duration: number;
10449 onsourceclose: ((this: MediaSource, ev: Event) => any) | null;
10450 onsourceended: ((this: MediaSource, ev: Event) => any) | null;
10451 onsourceopen: ((this: MediaSource, ev: Event) => any) | null;
10452 readonly readyState: ReadyState;
10453 readonly sourceBuffers: SourceBufferList;
10454 addSourceBuffer(type: string): SourceBuffer;
10455 clearLiveSeekableRange(): void;
10456 endOfStream(error?: EndOfStreamError): void;
10457 removeSourceBuffer(sourceBuffer: SourceBuffer): void;
10458 setLiveSeekableRange(start: number, end: number): void;
10459 addEventListener<K extends keyof MediaSourceEventMap>(type: K, listener: (this: MediaSource, ev: MediaSourceEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
10460 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
10461 removeEventListener<K extends keyof MediaSourceEventMap>(type: K, listener: (this: MediaSource, ev: MediaSourceEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
10462 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
10463}
10464
10465declare var MediaSource: {
10466 prototype: MediaSource;
10467 new(): MediaSource;
10468 isTypeSupported(type: string): boolean;
10469};
10470
10471interface MediaStreamEventMap {
10472 "addtrack": MediaStreamTrackEvent;
10473 "removetrack": MediaStreamTrackEvent;
10474}
10475
10476/** A stream of media content. A stream consists of several tracks such as video or audio tracks. Each track is specified as an instance of MediaStreamTrack. */
10477interface MediaStream extends EventTarget {
10478 readonly active: boolean;
10479 readonly id: string;
10480 onaddtrack: ((this: MediaStream, ev: MediaStreamTrackEvent) => any) | null;
10481 onremovetrack: ((this: MediaStream, ev: MediaStreamTrackEvent) => any) | null;
10482 addTrack(track: MediaStreamTrack): void;
10483 clone(): MediaStream;
10484 getAudioTracks(): MediaStreamTrack[];
10485 getTrackById(trackId: string): MediaStreamTrack | null;
10486 getTracks(): MediaStreamTrack[];
10487 getVideoTracks(): MediaStreamTrack[];
10488 removeTrack(track: MediaStreamTrack): void;
10489 addEventListener<K extends keyof MediaStreamEventMap>(type: K, listener: (this: MediaStream, ev: MediaStreamEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
10490 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
10491 removeEventListener<K extends keyof MediaStreamEventMap>(type: K, listener: (this: MediaStream, ev: MediaStreamEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
10492 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
10493}
10494
10495declare var MediaStream: {
10496 prototype: MediaStream;
10497 new(): MediaStream;
10498 new(stream: MediaStream): MediaStream;
10499 new(tracks: MediaStreamTrack[]): MediaStream;
10500};
10501
10502interface MediaStreamAudioDestinationNode extends AudioNode {
10503 readonly stream: MediaStream;
10504}
10505
10506declare var MediaStreamAudioDestinationNode: {
10507 prototype: MediaStreamAudioDestinationNode;
10508 new(context: AudioContext, options?: AudioNodeOptions): MediaStreamAudioDestinationNode;
10509};
10510
10511/** A type of AudioNode which operates as an audio source whose media is received from a MediaStream obtained using the WebRTC or Media Capture and Streams APIs. */
10512interface MediaStreamAudioSourceNode extends AudioNode {
10513 readonly mediaStream: MediaStream;
10514}
10515
10516declare var MediaStreamAudioSourceNode: {
10517 prototype: MediaStreamAudioSourceNode;
10518 new(context: AudioContext, options: MediaStreamAudioSourceOptions): MediaStreamAudioSourceNode;
10519};
10520
10521interface MediaStreamError {
10522 readonly constraintName: string | null;
10523 readonly message: string | null;
10524 readonly name: string;
10525}
10526
10527declare var MediaStreamError: {
10528 prototype: MediaStreamError;
10529 new(): MediaStreamError;
10530};
10531
10532interface MediaStreamErrorEvent extends Event {
10533 readonly error: MediaStreamError | null;
10534}
10535
10536declare var MediaStreamErrorEvent: {
10537 prototype: MediaStreamErrorEvent;
10538 new(typeArg: string, eventInitDict?: MediaStreamErrorEventInit): MediaStreamErrorEvent;
10539};
10540
10541/** Events that occurs in relation to a MediaStream. Two events of this type can be thrown: addstream and removestream. */
10542interface MediaStreamEvent extends Event {
10543 readonly stream: MediaStream | null;
10544}
10545
10546declare var MediaStreamEvent: {
10547 prototype: MediaStreamEvent;
10548 new(type: string, eventInitDict: MediaStreamEventInit): MediaStreamEvent;
10549};
10550
10551interface MediaStreamTrackEventMap {
10552 "ended": Event;
10553 "isolationchange": Event;
10554 "mute": Event;
10555 "unmute": Event;
10556}
10557
10558/** A single media track within a stream; typically, these are audio or video tracks, but other track types may exist as well. */
10559interface MediaStreamTrack extends EventTarget {
10560 enabled: boolean;
10561 readonly id: string;
10562 readonly isolated: boolean;
10563 readonly kind: string;
10564 readonly label: string;
10565 readonly muted: boolean;
10566 onended: ((this: MediaStreamTrack, ev: Event) => any) | null;
10567 onisolationchange: ((this: MediaStreamTrack, ev: Event) => any) | null;
10568 onmute: ((this: MediaStreamTrack, ev: Event) => any) | null;
10569 onunmute: ((this: MediaStreamTrack, ev: Event) => any) | null;
10570 readonly readyState: MediaStreamTrackState;
10571 applyConstraints(constraints?: MediaTrackConstraints): Promise<void>;
10572 clone(): MediaStreamTrack;
10573 getCapabilities(): MediaTrackCapabilities;
10574 getConstraints(): MediaTrackConstraints;
10575 getSettings(): MediaTrackSettings;
10576 stop(): void;
10577 addEventListener<K extends keyof MediaStreamTrackEventMap>(type: K, listener: (this: MediaStreamTrack, ev: MediaStreamTrackEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
10578 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
10579 removeEventListener<K extends keyof MediaStreamTrackEventMap>(type: K, listener: (this: MediaStreamTrack, ev: MediaStreamTrackEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
10580 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
10581}
10582
10583declare var MediaStreamTrack: {
10584 prototype: MediaStreamTrack;
10585 new(): MediaStreamTrack;
10586};
10587
10588interface MediaStreamTrackAudioSourceNode extends AudioNode {
10589}
10590
10591declare var MediaStreamTrackAudioSourceNode: {
10592 prototype: MediaStreamTrackAudioSourceNode;
10593 new(context: AudioContext, options: MediaStreamTrackAudioSourceOptions): MediaStreamTrackAudioSourceNode;
10594};
10595
10596/** Events which indicate that a MediaStream has had tracks added to or removed from the stream through calls to Media Stream API methods. These events are sent to the stream when these changes occur. */
10597interface MediaStreamTrackEvent extends Event {
10598 readonly track: MediaStreamTrack;
10599}
10600
10601declare var MediaStreamTrackEvent: {
10602 prototype: MediaStreamTrackEvent;
10603 new(type: string, eventInitDict: MediaStreamTrackEventInit): MediaStreamTrackEvent;
10604};
10605
10606/** This Channel Messaging API interface allows us to create a new message channel and send data through it via its two MessagePort properties. */
10607interface MessageChannel {
10608 /**
10609 * Returns the first MessagePort object.
10610 */
10611 readonly port1: MessagePort;
10612 /**
10613 * Returns the second MessagePort object.
10614 */
10615 readonly port2: MessagePort;
10616}
10617
10618declare var MessageChannel: {
10619 prototype: MessageChannel;
10620 new(): MessageChannel;
10621};
10622
10623/** A message received by a target object. */
10624interface MessageEvent extends Event {
10625 /**
10626 * Returns the data of the message.
10627 */
10628 readonly data: any;
10629 /**
10630 * Returns the last event ID string, for server-sent events.
10631 */
10632 readonly lastEventId: string;
10633 /**
10634 * Returns the origin of the message, for server-sent events and cross-document messaging.
10635 */
10636 readonly origin: string;
10637 /**
10638 * Returns the MessagePort array sent with the message, for cross-document messaging and channel messaging.
10639 */
10640 readonly ports: ReadonlyArray<MessagePort>;
10641 /**
10642 * Returns the WindowProxy of the source window, for cross-document messaging, and the MessagePort being attached, in the connect event fired at SharedWorkerGlobalScope objects.
10643 */
10644 readonly source: MessageEventSource | null;
10645}
10646
10647declare var MessageEvent: {
10648 prototype: MessageEvent;
10649 new(type: string, eventInitDict?: MessageEventInit): MessageEvent;
10650};
10651
10652interface MessagePortEventMap {
10653 "message": MessageEvent;
10654 "messageerror": MessageEvent;
10655}
10656
10657/** This Channel Messaging API interface represents one of the two ports of a MessageChannel, allowing messages to be sent from one port and listening out for them arriving at the other. */
10658interface MessagePort extends EventTarget {
10659 onmessage: ((this: MessagePort, ev: MessageEvent) => any) | null;
10660 onmessageerror: ((this: MessagePort, ev: MessageEvent) => any) | null;
10661 /**
10662 * Disconnects the port, so that it is no longer active.
10663 */
10664 close(): void;
10665 /**
10666 * Posts a message through the channel. Objects listed in transfer are transferred, not just cloned, meaning that they are no longer usable on the sending side.
10667 *
10668 * Throws a "DataCloneError" DOMException if transfer contains duplicate objects or port, or if message could not be cloned.
10669 */
10670 postMessage(message: any, transfer: Transferable[]): void;
10671 postMessage(message: any, options?: PostMessageOptions): void;
10672 /**
10673 * Begins dispatching messages received on the port.
10674 */
10675 start(): void;
10676 addEventListener<K extends keyof MessagePortEventMap>(type: K, listener: (this: MessagePort, ev: MessagePortEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
10677 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
10678 removeEventListener<K extends keyof MessagePortEventMap>(type: K, listener: (this: MessagePort, ev: MessagePortEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
10679 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
10680}
10681
10682declare var MessagePort: {
10683 prototype: MessagePort;
10684 new(): MessagePort;
10685};
10686
10687/** Provides contains information about a MIME type associated with a particular plugin. NavigatorPlugins.mimeTypes returns an array of this object. */
10688interface MimeType {
10689 /**
10690 * Returns the MIME type's description.
10691 */
10692 readonly description: string;
10693 /**
10694 * Returns the Plugin object that implements this MIME type.
10695 */
10696 readonly enabledPlugin: Plugin;
10697 /**
10698 * Returns the MIME type's typical file extensions, in a comma-separated list.
10699 */
10700 readonly suffixes: string;
10701 /**
10702 * Returns the MIME type.
10703 */
10704 readonly type: string;
10705}
10706
10707declare var MimeType: {
10708 prototype: MimeType;
10709 new(): MimeType;
10710};
10711
10712/** Returns an array of MimeType instances, each of which contains information about a supported browser plugins. This object is returned by NavigatorPlugins.mimeTypes. */
10713interface MimeTypeArray {
10714 readonly length: number;
10715 item(index: number): MimeType | null;
10716 namedItem(name: string): MimeType | null;
10717 [index: number]: MimeType;
10718}
10719
10720declare var MimeTypeArray: {
10721 prototype: MimeTypeArray;
10722 new(): MimeTypeArray;
10723};
10724
10725/** Events that occur due to the user interacting with a pointing device (such as a mouse). Common events using this interface include click, dblclick, mouseup, mousedown. */
10726interface MouseEvent extends UIEvent {
10727 readonly altKey: boolean;
10728 readonly button: number;
10729 readonly buttons: number;
10730 readonly clientX: number;
10731 readonly clientY: number;
10732 readonly ctrlKey: boolean;
10733 readonly metaKey: boolean;
10734 readonly movementX: number;
10735 readonly movementY: number;
10736 readonly offsetX: number;
10737 readonly offsetY: number;
10738 readonly pageX: number;
10739 readonly pageY: number;
10740 readonly relatedTarget: EventTarget | null;
10741 readonly screenX: number;
10742 readonly screenY: number;
10743 readonly shiftKey: boolean;
10744 readonly x: number;
10745 readonly y: number;
10746 getModifierState(keyArg: string): boolean;
10747 initMouseEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, detailArg: number, screenXArg: number, screenYArg: number, clientXArg: number, clientYArg: number, ctrlKeyArg: boolean, altKeyArg: boolean, shiftKeyArg: boolean, metaKeyArg: boolean, buttonArg: number, relatedTargetArg: EventTarget | null): void;
10748}
10749
10750declare var MouseEvent: {
10751 prototype: MouseEvent;
10752 new(type: string, eventInitDict?: MouseEventInit): MouseEvent;
10753};
10754
10755/** Provides event properties that are specific to modifications to the Document Object Model (DOM) hierarchy and nodes. */
10756interface MutationEvent extends Event {
10757 readonly attrChange: number;
10758 readonly attrName: string;
10759 readonly newValue: string;
10760 readonly prevValue: string;
10761 readonly relatedNode: Node;
10762 initMutationEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, relatedNodeArg: Node, prevValueArg: string, newValueArg: string, attrNameArg: string, attrChangeArg: number): void;
10763 readonly ADDITION: number;
10764 readonly MODIFICATION: number;
10765 readonly REMOVAL: number;
10766}
10767
10768declare var MutationEvent: {
10769 prototype: MutationEvent;
10770 new(): MutationEvent;
10771 readonly ADDITION: number;
10772 readonly MODIFICATION: number;
10773 readonly REMOVAL: number;
10774};
10775
10776/** Provides the ability to watch for changes being made to the DOM tree. It is designed as a replacement for the older Mutation Events feature which was part of the DOM3 Events specification. */
10777interface MutationObserver {
10778 /**
10779 * Stops observer from observing any mutations. Until the observe() method is used again, observer's callback will not be invoked.
10780 */
10781 disconnect(): void;
10782 /**
10783 * Instructs the user agent to observe a given target (a node) and report any mutations based on the criteria given by options (an object).
10784 *
10785 * The options argument allows for setting mutation observation options via object members.
10786 */
10787 observe(target: Node, options?: MutationObserverInit): void;
10788 /**
10789 * Empties the record queue and returns what was in there.
10790 */
10791 takeRecords(): MutationRecord[];
10792}
10793
10794declare var MutationObserver: {
10795 prototype: MutationObserver;
10796 new(callback: MutationCallback): MutationObserver;
10797};
10798
10799/** A MutationRecord represents an individual DOM mutation. It is the object that is passed to MutationObserver's callback. */
10800interface MutationRecord {
10801 /**
10802 * Return the nodes added and removed respectively.
10803 */
10804 readonly addedNodes: NodeList;
10805 /**
10806 * Returns the local name of the changed attribute, and null otherwise.
10807 */
10808 readonly attributeName: string | null;
10809 /**
10810 * Returns the namespace of the changed attribute, and null otherwise.
10811 */
10812 readonly attributeNamespace: string | null;
10813 /**
10814 * Return the previous and next sibling respectively of the added or removed nodes, and null otherwise.
10815 */
10816 readonly nextSibling: Node | null;
10817 /**
10818 * The return value depends on type. For "attributes", it is the value of the changed attribute before the change. For "characterData", it is the data of the changed node before the change. For "childList", it is null.
10819 */
10820 readonly oldValue: string | null;
10821 /**
10822 * Return the previous and next sibling respectively of the added or removed nodes, and null otherwise.
10823 */
10824 readonly previousSibling: Node | null;
10825 /**
10826 * Return the nodes added and removed respectively.
10827 */
10828 readonly removedNodes: NodeList;
10829 /**
10830 * Returns the node the mutation affected, depending on the type. For "attributes", it is the element whose attribute changed. For "characterData", it is the CharacterData node. For "childList", it is the node whose children changed.
10831 */
10832 readonly target: Node;
10833 /**
10834 * Returns "attributes" if it was an attribute mutation. "characterData" if it was a mutation to a CharacterData node. And "childList" if it was a mutation to the tree of nodes.
10835 */
10836 readonly type: MutationRecordType;
10837}
10838
10839declare var MutationRecord: {
10840 prototype: MutationRecord;
10841 new(): MutationRecord;
10842};
10843
10844/** A collection of Attr objects. Objects inside a NamedNodeMap are not in any particular order, unlike NodeList, although they may be accessed by an index as in an array. */
10845interface NamedNodeMap {
10846 readonly length: number;
10847 getNamedItem(qualifiedName: string): Attr | null;
10848 getNamedItemNS(namespace: string | null, localName: string): Attr | null;
10849 item(index: number): Attr | null;
10850 removeNamedItem(qualifiedName: string): Attr;
10851 removeNamedItemNS(namespace: string | null, localName: string): Attr;
10852 setNamedItem(attr: Attr): Attr | null;
10853 setNamedItemNS(attr: Attr): Attr | null;
10854 [index: number]: Attr;
10855}
10856
10857declare var NamedNodeMap: {
10858 prototype: NamedNodeMap;
10859 new(): NamedNodeMap;
10860};
10861
10862interface NavigationPreloadManager {
10863 disable(): Promise<void>;
10864 enable(): Promise<void>;
10865 getState(): Promise<NavigationPreloadState>;
10866 setHeaderValue(value: string): Promise<void>;
10867}
10868
10869declare var NavigationPreloadManager: {
10870 prototype: NavigationPreloadManager;
10871 new(): NavigationPreloadManager;
10872};
10873
10874/** The state and the identity of the user agent. It allows scripts to query it and to register themselves to carry on some activities. */
10875interface Navigator extends MSFileSaver, MSNavigatorDoNotTrack, NavigatorAutomationInformation, NavigatorBeacon, NavigatorConcurrentHardware, NavigatorContentUtils, NavigatorCookies, NavigatorID, NavigatorLanguage, NavigatorOnLine, NavigatorPlugins, NavigatorStorage {
10876 readonly activeVRDisplays: ReadonlyArray<VRDisplay>;
10877 readonly clipboard: Clipboard;
10878 readonly credentials: CredentialsContainer;
10879 readonly doNotTrack: string | null;
10880 readonly geolocation: Geolocation;
10881 readonly maxTouchPoints: number;
10882 readonly mediaDevices: MediaDevices;
10883 readonly msManipulationViewsEnabled: boolean;
10884 readonly msMaxTouchPoints: number;
10885 readonly msPointerEnabled: boolean;
10886 readonly permissions: Permissions;
10887 readonly pointerEnabled: boolean;
10888 readonly serviceWorker: ServiceWorkerContainer;
10889 getGamepads(): (Gamepad | null)[];
10890 getUserMedia(constraints: MediaStreamConstraints, successCallback: NavigatorUserMediaSuccessCallback, errorCallback: NavigatorUserMediaErrorCallback): void;
10891 getVRDisplays(): Promise<VRDisplay[]>;
10892 msLaunchUri(uri: string, successCallback?: MSLaunchUriCallback, noHandlerCallback?: MSLaunchUriCallback): void;
10893 requestMediaKeySystemAccess(keySystem: string, supportedConfigurations: MediaKeySystemConfiguration[]): Promise<MediaKeySystemAccess>;
10894 vibrate(pattern: number | number[]): boolean;
10895}
10896
10897declare var Navigator: {
10898 prototype: Navigator;
10899 new(): Navigator;
10900};
10901
10902interface NavigatorAutomationInformation {
10903 readonly webdriver: boolean;
10904}
10905
10906interface NavigatorBeacon {
10907 sendBeacon(url: string, data?: Blob | Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer | FormData | string | null): boolean;
10908}
10909
10910interface NavigatorConcurrentHardware {
10911 readonly hardwareConcurrency: number;
10912}
10913
10914interface NavigatorContentUtils {
10915 registerProtocolHandler(scheme: string, url: string, title: string): void;
10916 unregisterProtocolHandler(scheme: string, url: string): void;
10917}
10918
10919interface NavigatorCookies {
10920 readonly cookieEnabled: boolean;
10921}
10922
10923interface NavigatorID {
10924 readonly appCodeName: string;
10925 readonly appName: string;
10926 readonly appVersion: string;
10927 readonly oscpu: string;
10928 readonly platform: string;
10929 readonly product: string;
10930 readonly productSub: string;
10931 readonly userAgent: string;
10932 readonly vendor: string;
10933 readonly vendorSub: string;
10934 taintEnabled(): boolean;
10935}
10936
10937interface NavigatorLanguage {
10938 readonly language: string;
10939 readonly languages: ReadonlyArray<string>;
10940}
10941
10942interface NavigatorOnLine {
10943 readonly onLine: boolean;
10944}
10945
10946interface NavigatorPlugins {
10947 readonly mimeTypes: MimeTypeArray;
10948 readonly plugins: PluginArray;
10949 javaEnabled(): boolean;
10950}
10951
10952interface NavigatorStorage {
10953 readonly storage: StorageManager;
10954}
10955
10956/** Node is an interface from which a number of DOM API object types inherit. It allows those types to be treated similarly; for example, inheriting the same set of methods, or being tested in the same way. */
10957interface Node extends EventTarget {
10958 /**
10959 * Returns node's node document's document base URL.
10960 */
10961 readonly baseURI: string;
10962 /**
10963 * Returns the children.
10964 */
10965 readonly childNodes: NodeListOf<ChildNode>;
10966 /**
10967 * Returns the first child.
10968 */
10969 readonly firstChild: ChildNode | null;
10970 /**
10971 * Returns true if node is connected and false otherwise.
10972 */
10973 readonly isConnected: boolean;
10974 /**
10975 * Returns the last child.
10976 */
10977 readonly lastChild: ChildNode | null;
10978 /** @deprecated */
10979 readonly namespaceURI: string | null;
10980 /**
10981 * Returns the next sibling.
10982 */
10983 readonly nextSibling: ChildNode | null;
10984 /**
10985 * Returns a string appropriate for the type of node.
10986 */
10987 readonly nodeName: string;
10988 /**
10989 * Returns the type of node.
10990 */
10991 readonly nodeType: number;
10992 nodeValue: string | null;
10993 /**
10994 * Returns the node document. Returns null for documents.
10995 */
10996 readonly ownerDocument: Document | null;
10997 /**
10998 * Returns the parent element.
10999 */
11000 readonly parentElement: HTMLElement | null;
11001 /**
11002 * Returns the parent.
11003 */
11004 readonly parentNode: Node & ParentNode | null;
11005 /**
11006 * Returns the previous sibling.
11007 */
11008 readonly previousSibling: Node | null;
11009 textContent: string | null;
11010 appendChild<T extends Node>(newChild: T): T;
11011 /**
11012 * Returns a copy of node. If deep is true, the copy also includes the node's descendants.
11013 */
11014 cloneNode(deep?: boolean): Node;
11015 /**
11016 * Returns a bitmask indicating the position of other relative to node.
11017 */
11018 compareDocumentPosition(other: Node): number;
11019 /**
11020 * Returns true if other is an inclusive descendant of node, and false otherwise.
11021 */
11022 contains(other: Node | null): boolean;
11023 /**
11024 * Returns node's root.
11025 */
11026 getRootNode(options?: GetRootNodeOptions): Node;
11027 /**
11028 * Returns whether node has children.
11029 */
11030 hasChildNodes(): boolean;
11031 insertBefore<T extends Node>(newChild: T, refChild: Node | null): T;
11032 isDefaultNamespace(namespace: string | null): boolean;
11033 /**
11034 * Returns whether node and otherNode have the same properties.
11035 */
11036 isEqualNode(otherNode: Node | null): boolean;
11037 isSameNode(otherNode: Node | null): boolean;
11038 lookupNamespaceURI(prefix: string | null): string | null;
11039 lookupPrefix(namespace: string | null): string | null;
11040 /**
11041 * Removes empty exclusive Text nodes and concatenates the data of remaining contiguous exclusive Text nodes into the first of their nodes.
11042 */
11043 normalize(): void;
11044 removeChild<T extends Node>(oldChild: T): T;
11045 replaceChild<T extends Node>(newChild: Node, oldChild: T): T;
11046 readonly ATTRIBUTE_NODE: number;
11047 /**
11048 * node is a CDATASection node.
11049 */
11050 readonly CDATA_SECTION_NODE: number;
11051 /**
11052 * node is a Comment node.
11053 */
11054 readonly COMMENT_NODE: number;
11055 /**
11056 * node is a DocumentFragment node.
11057 */
11058 readonly DOCUMENT_FRAGMENT_NODE: number;
11059 /**
11060 * node is a document.
11061 */
11062 readonly DOCUMENT_NODE: number;
11063 /**
11064 * Set when other is a descendant of node.
11065 */
11066 readonly DOCUMENT_POSITION_CONTAINED_BY: number;
11067 /**
11068 * Set when other is an ancestor of node.
11069 */
11070 readonly DOCUMENT_POSITION_CONTAINS: number;
11071 /**
11072 * Set when node and other are not in the same tree.
11073 */
11074 readonly DOCUMENT_POSITION_DISCONNECTED: number;
11075 /**
11076 * Set when other is following node.
11077 */
11078 readonly DOCUMENT_POSITION_FOLLOWING: number;
11079 readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: number;
11080 /**
11081 * Set when other is preceding node.
11082 */
11083 readonly DOCUMENT_POSITION_PRECEDING: number;
11084 /**
11085 * node is a doctype.
11086 */
11087 readonly DOCUMENT_TYPE_NODE: number;
11088 /**
11089 * node is an element.
11090 */
11091 readonly ELEMENT_NODE: number;
11092 readonly ENTITY_NODE: number;
11093 readonly ENTITY_REFERENCE_NODE: number;
11094 readonly NOTATION_NODE: number;
11095 /**
11096 * node is a ProcessingInstruction node.
11097 */
11098 readonly PROCESSING_INSTRUCTION_NODE: number;
11099 /**
11100 * node is a Text node.
11101 */
11102 readonly TEXT_NODE: number;
11103}
11104
11105declare var Node: {
11106 prototype: Node;
11107 new(): Node;
11108 readonly ATTRIBUTE_NODE: number;
11109 /**
11110 * node is a CDATASection node.
11111 */
11112 readonly CDATA_SECTION_NODE: number;
11113 /**
11114 * node is a Comment node.
11115 */
11116 readonly COMMENT_NODE: number;
11117 /**
11118 * node is a DocumentFragment node.
11119 */
11120 readonly DOCUMENT_FRAGMENT_NODE: number;
11121 /**
11122 * node is a document.
11123 */
11124 readonly DOCUMENT_NODE: number;
11125 /**
11126 * Set when other is a descendant of node.
11127 */
11128 readonly DOCUMENT_POSITION_CONTAINED_BY: number;
11129 /**
11130 * Set when other is an ancestor of node.
11131 */
11132 readonly DOCUMENT_POSITION_CONTAINS: number;
11133 /**
11134 * Set when node and other are not in the same tree.
11135 */
11136 readonly DOCUMENT_POSITION_DISCONNECTED: number;
11137 /**
11138 * Set when other is following node.
11139 */
11140 readonly DOCUMENT_POSITION_FOLLOWING: number;
11141 readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: number;
11142 /**
11143 * Set when other is preceding node.
11144 */
11145 readonly DOCUMENT_POSITION_PRECEDING: number;
11146 /**
11147 * node is a doctype.
11148 */
11149 readonly DOCUMENT_TYPE_NODE: number;
11150 /**
11151 * node is an element.
11152 */
11153 readonly ELEMENT_NODE: number;
11154 readonly ENTITY_NODE: number;
11155 readonly ENTITY_REFERENCE_NODE: number;
11156 readonly NOTATION_NODE: number;
11157 /**
11158 * node is a ProcessingInstruction node.
11159 */
11160 readonly PROCESSING_INSTRUCTION_NODE: number;
11161 /**
11162 * node is a Text node.
11163 */
11164 readonly TEXT_NODE: number;
11165};
11166
11167/** An object used to filter the nodes in a NodeIterator or TreeWalker. They don't know anything about the DOM or how to traverse nodes; they just know how to evaluate a single node against the provided filter. */
11168interface NodeFilter {
11169 acceptNode(node: Node): number;
11170}
11171
11172declare var NodeFilter: {
11173 readonly FILTER_ACCEPT: number;
11174 readonly FILTER_REJECT: number;
11175 readonly FILTER_SKIP: number;
11176 readonly SHOW_ALL: number;
11177 readonly SHOW_ATTRIBUTE: number;
11178 readonly SHOW_CDATA_SECTION: number;
11179 readonly SHOW_COMMENT: number;
11180 readonly SHOW_DOCUMENT: number;
11181 readonly SHOW_DOCUMENT_FRAGMENT: number;
11182 readonly SHOW_DOCUMENT_TYPE: number;
11183 readonly SHOW_ELEMENT: number;
11184 readonly SHOW_ENTITY: number;
11185 readonly SHOW_ENTITY_REFERENCE: number;
11186 readonly SHOW_NOTATION: number;
11187 readonly SHOW_PROCESSING_INSTRUCTION: number;
11188 readonly SHOW_TEXT: number;
11189};
11190
11191/** An iterator over the members of a list of the nodes in a subtree of the DOM. The nodes will be returned in document order. */
11192interface NodeIterator {
11193 readonly filter: NodeFilter | null;
11194 readonly pointerBeforeReferenceNode: boolean;
11195 readonly referenceNode: Node;
11196 readonly root: Node;
11197 readonly whatToShow: number;
11198 detach(): void;
11199 nextNode(): Node | null;
11200 previousNode(): Node | null;
11201}
11202
11203declare var NodeIterator: {
11204 prototype: NodeIterator;
11205 new(): NodeIterator;
11206};
11207
11208/** NodeList objects are collections of nodes, usually returned by properties such as Node.childNodes and methods such as document.querySelectorAll(). */
11209interface NodeList {
11210 /**
11211 * Returns the number of nodes in the collection.
11212 */
11213 readonly length: number;
11214 /**
11215 * Returns the node with index index from the collection. The nodes are sorted in tree order.
11216 */
11217 item(index: number): Node | null;
11218 /**
11219 * Performs the specified action for each node in an list.
11220 * @param callbackfn A function that accepts up to three arguments. forEach calls the callbackfn function one time for each element in the list.
11221 * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.
11222 */
11223 forEach(callbackfn: (value: Node, key: number, parent: NodeList) => void, thisArg?: any): void;
11224 [index: number]: Node;
11225}
11226
11227declare var NodeList: {
11228 prototype: NodeList;
11229 new(): NodeList;
11230};
11231
11232interface NodeListOf<TNode extends Node> extends NodeList {
11233 length: number;
11234 item(index: number): TNode;
11235 /**
11236 * Performs the specified action for each node in an list.
11237 * @param callbackfn A function that accepts up to three arguments. forEach calls the callbackfn function one time for each element in the list.
11238 * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.
11239 */
11240 forEach(callbackfn: (value: TNode, key: number, parent: NodeListOf<TNode>) => void, thisArg?: any): void;
11241 [index: number]: TNode;
11242}
11243
11244interface NonDocumentTypeChildNode {
11245 /**
11246 * Returns the first following sibling that is an element, and null otherwise.
11247 */
11248 readonly nextElementSibling: Element | null;
11249 /**
11250 * Returns the first preceding sibling that is an element, and null otherwise.
11251 */
11252 readonly previousElementSibling: Element | null;
11253}
11254
11255interface NonElementParentNode {
11256 /**
11257 * Returns the first element within node's descendants whose ID is elementId.
11258 */
11259 getElementById(elementId: string): Element | null;
11260}
11261
11262interface NotificationEventMap {
11263 "click": Event;
11264 "close": Event;
11265 "error": Event;
11266 "show": Event;
11267}
11268
11269/** This Notifications API interface is used to configure and display desktop notifications to the user. */
11270interface Notification extends EventTarget {
11271 readonly actions: ReadonlyArray<NotificationAction>;
11272 readonly badge: string;
11273 readonly body: string;
11274 readonly data: any;
11275 readonly dir: NotificationDirection;
11276 readonly icon: string;
11277 readonly image: string;
11278 readonly lang: string;
11279 onclick: ((this: Notification, ev: Event) => any) | null;
11280 onclose: ((this: Notification, ev: Event) => any) | null;
11281 onerror: ((this: Notification, ev: Event) => any) | null;
11282 onshow: ((this: Notification, ev: Event) => any) | null;
11283 readonly renotify: boolean;
11284 readonly requireInteraction: boolean;
11285 readonly silent: boolean;
11286 readonly tag: string;
11287 readonly timestamp: number;
11288 readonly title: string;
11289 readonly vibrate: ReadonlyArray<number>;
11290 close(): void;
11291 addEventListener<K extends keyof NotificationEventMap>(type: K, listener: (this: Notification, ev: NotificationEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
11292 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
11293 removeEventListener<K extends keyof NotificationEventMap>(type: K, listener: (this: Notification, ev: NotificationEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
11294 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
11295}
11296
11297declare var Notification: {
11298 prototype: Notification;
11299 new(title: string, options?: NotificationOptions): Notification;
11300 readonly maxActions: number;
11301 readonly permission: NotificationPermission;
11302 requestPermission(deprecatedCallback?: NotificationPermissionCallback): Promise<NotificationPermission>;
11303};
11304
11305/** The OES_element_index_uint extension is part of the WebGL API and adds support for gl.UNSIGNED_INT types to WebGLRenderingContext.drawElements(). */
11306interface OES_element_index_uint {
11307}
11308
11309/** The OES_standard_derivatives extension is part of the WebGL API and adds the GLSL derivative functions dFdx, dFdy, and fwidth. */
11310interface OES_standard_derivatives {
11311 readonly FRAGMENT_SHADER_DERIVATIVE_HINT_OES: GLenum;
11312}
11313
11314/** The OES_texture_float extension is part of the WebGL API and exposes floating-point pixel types for textures. */
11315interface OES_texture_float {
11316}
11317
11318/** The OES_texture_float_linear extension is part of the WebGL API and allows linear filtering with floating-point pixel types for textures. */
11319interface OES_texture_float_linear {
11320}
11321
11322/** The OES_texture_half_float extension is part of the WebGL API and adds texture formats with 16- (aka half float) and 32-bit floating-point components. */
11323interface OES_texture_half_float {
11324 readonly HALF_FLOAT_OES: GLenum;
11325}
11326
11327/** The OES_texture_half_float_linear extension is part of the WebGL API and allows linear filtering with half floating-point pixel types for textures. */
11328interface OES_texture_half_float_linear {
11329}
11330
11331interface OES_vertex_array_object {
11332 bindVertexArrayOES(arrayObject: WebGLVertexArrayObjectOES | null): void;
11333 createVertexArrayOES(): WebGLVertexArrayObjectOES | null;
11334 deleteVertexArrayOES(arrayObject: WebGLVertexArrayObjectOES | null): void;
11335 isVertexArrayOES(arrayObject: WebGLVertexArrayObjectOES | null): GLboolean;
11336 readonly VERTEX_ARRAY_BINDING_OES: GLenum;
11337}
11338
11339/** The Web Audio API OfflineAudioCompletionEvent interface represents events that occur when the processing of an OfflineAudioContext is terminated. The complete event implements this interface. */
11340interface OfflineAudioCompletionEvent extends Event {
11341 readonly renderedBuffer: AudioBuffer;
11342}
11343
11344declare var OfflineAudioCompletionEvent: {
11345 prototype: OfflineAudioCompletionEvent;
11346 new(type: string, eventInitDict: OfflineAudioCompletionEventInit): OfflineAudioCompletionEvent;
11347};
11348
11349interface OfflineAudioContextEventMap extends BaseAudioContextEventMap {
11350 "complete": OfflineAudioCompletionEvent;
11351}
11352
11353/** An AudioContext interface representing an audio-processing graph built from linked together AudioNodes. In contrast with a standard AudioContext, an OfflineAudioContext doesn't render the audio to the device hardware; instead, it generates it, as fast as it can, and outputs the result to an AudioBuffer. */
11354interface OfflineAudioContext extends BaseAudioContext {
11355 readonly length: number;
11356 oncomplete: ((this: OfflineAudioContext, ev: OfflineAudioCompletionEvent) => any) | null;
11357 resume(): Promise<void>;
11358 startRendering(): Promise<AudioBuffer>;
11359 suspend(suspendTime: number): Promise<void>;
11360 addEventListener<K extends keyof OfflineAudioContextEventMap>(type: K, listener: (this: OfflineAudioContext, ev: OfflineAudioContextEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
11361 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
11362 removeEventListener<K extends keyof OfflineAudioContextEventMap>(type: K, listener: (this: OfflineAudioContext, ev: OfflineAudioContextEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
11363 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
11364}
11365
11366declare var OfflineAudioContext: {
11367 prototype: OfflineAudioContext;
11368 new(contextOptions: OfflineAudioContextOptions): OfflineAudioContext;
11369 new(numberOfChannels: number, length: number, sampleRate: number): OfflineAudioContext;
11370};
11371
11372interface OffscreenCanvas extends EventTarget {
11373 /**
11374 * These attributes return the dimensions of the OffscreenCanvas object's bitmap.
11375 *
11376 * They can be set, to replace the bitmap with a new, transparent black bitmap of the specified dimensions (effectively resizing it).
11377 */
11378 height: number;
11379 /**
11380 * These attributes return the dimensions of the OffscreenCanvas object's bitmap.
11381 *
11382 * They can be set, to replace the bitmap with a new, transparent black bitmap of the specified dimensions (effectively resizing it).
11383 */
11384 width: number;
11385 /**
11386 * Returns a promise that will fulfill with a new Blob object representing a file containing the image in the OffscreenCanvas object.
11387 *
11388 * The argument, if provided, is a dictionary that controls the encoding options of the image file to be created. The type field specifies the file format and has a default value of "image/png"; that type is also used if the requested type isn't supported. If the image format supports variable quality (such as "image/jpeg"), then the quality field is a number in the range 0.0 to 1.0 inclusive indicating the desired quality level for the resulting image.
11389 */
11390 convertToBlob(options?: ImageEncodeOptions): Promise<Blob>;
11391 /**
11392 * Returns an object that exposes an API for drawing on the OffscreenCanvas object. contextId specifies the desired API: "2d", "bitmaprenderer", "webgl", or "webgl2". options is handled by that API.
11393 *
11394 * This specification defines the "2d" context below, which is similar but distinct from the "2d" context that is created from a canvas element. The WebGL specifications define the "webgl" and "webgl2" contexts. [WEBGL]
11395 *
11396 * Returns null if the canvas has already been initialized with another context type (e.g., trying to get a "2d" context after getting a "webgl" context).
11397 */
11398 getContext(contextId: "2d", options?: CanvasRenderingContext2DSettings): OffscreenCanvasRenderingContext2D | null;
11399 getContext(contextId: "bitmaprenderer", options?: ImageBitmapRenderingContextSettings): ImageBitmapRenderingContext | null;
11400 getContext(contextId: "webgl", options?: WebGLContextAttributes): WebGLRenderingContext | null;
11401 getContext(contextId: "webgl2", options?: WebGLContextAttributes): WebGL2RenderingContext | null;
11402 getContext(contextId: OffscreenRenderingContextId, options?: any): OffscreenRenderingContext | null;
11403 /**
11404 * Returns a newly created ImageBitmap object with the image in the OffscreenCanvas object. The image in the OffscreenCanvas object is replaced with a new blank image.
11405 */
11406 transferToImageBitmap(): ImageBitmap;
11407}
11408
11409declare var OffscreenCanvas: {
11410 prototype: OffscreenCanvas;
11411 new(width: number, height: number): OffscreenCanvas;
11412};
11413
11414interface OffscreenCanvasRenderingContext2D extends CanvasCompositing, CanvasDrawImage, CanvasDrawPath, CanvasFillStrokeStyles, CanvasFilters, CanvasImageData, CanvasImageSmoothing, CanvasPath, CanvasPathDrawingStyles, CanvasRect, CanvasShadowStyles, CanvasState, CanvasText, CanvasTextDrawingStyles, CanvasTransform {
11415 readonly canvas: OffscreenCanvas;
11416 commit(): void;
11417}
11418
11419declare var OffscreenCanvasRenderingContext2D: {
11420 prototype: OffscreenCanvasRenderingContext2D;
11421 new(): OffscreenCanvasRenderingContext2D;
11422};
11423
11424/** The OscillatorNode interface represents a periodic waveform, such as a sine wave. It is an AudioScheduledSourceNode audio-processing module that causes a specified frequency of a given wave to be created—in effect, a constant tone. */
11425interface OscillatorNode extends AudioScheduledSourceNode {
11426 readonly detune: AudioParam;
11427 readonly frequency: AudioParam;
11428 type: OscillatorType;
11429 setPeriodicWave(periodicWave: PeriodicWave): void;
11430 addEventListener<K extends keyof AudioScheduledSourceNodeEventMap>(type: K, listener: (this: OscillatorNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
11431 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
11432 removeEventListener<K extends keyof AudioScheduledSourceNodeEventMap>(type: K, listener: (this: OscillatorNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
11433 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
11434}
11435
11436declare var OscillatorNode: {
11437 prototype: OscillatorNode;
11438 new(context: BaseAudioContext, options?: OscillatorOptions): OscillatorNode;
11439};
11440
11441interface OverconstrainedError extends Error {
11442 constraint: string;
11443}
11444
11445declare var OverconstrainedError: {
11446 prototype: OverconstrainedError;
11447 new(): OverconstrainedError;
11448};
11449
11450interface OverflowEvent extends UIEvent {
11451 readonly horizontalOverflow: boolean;
11452 readonly orient: number;
11453 readonly verticalOverflow: boolean;
11454 readonly BOTH: number;
11455 readonly HORIZONTAL: number;
11456 readonly VERTICAL: number;
11457}
11458
11459declare var OverflowEvent: {
11460 prototype: OverflowEvent;
11461 new(): OverflowEvent;
11462 readonly BOTH: number;
11463 readonly HORIZONTAL: number;
11464 readonly VERTICAL: number;
11465};
11466
11467/** The PageTransitionEvent is fired when a document is being loaded or unloaded. */
11468interface PageTransitionEvent extends Event {
11469 readonly persisted: boolean;
11470}
11471
11472declare var PageTransitionEvent: {
11473 prototype: PageTransitionEvent;
11474 new(): PageTransitionEvent;
11475};
11476
11477/** A PannerNode always has exactly one input and one output: the input can be mono or stereo but the output is always stereo (2 channels); you can't have panning effects without at least two audio channels! */
11478interface PannerNode extends AudioNode {
11479 coneInnerAngle: number;
11480 coneOuterAngle: number;
11481 coneOuterGain: number;
11482 distanceModel: DistanceModelType;
11483 maxDistance: number;
11484 readonly orientationX: AudioParam;
11485 readonly orientationY: AudioParam;
11486 readonly orientationZ: AudioParam;
11487 panningModel: PanningModelType;
11488 readonly positionX: AudioParam;
11489 readonly positionY: AudioParam;
11490 readonly positionZ: AudioParam;
11491 refDistance: number;
11492 rolloffFactor: number;
11493 /** @deprecated */
11494 setOrientation(x: number, y: number, z: number): void;
11495 /** @deprecated */
11496 setPosition(x: number, y: number, z: number): void;
11497}
11498
11499declare var PannerNode: {
11500 prototype: PannerNode;
11501 new(context: BaseAudioContext, options?: PannerOptions): PannerNode;
11502};
11503
11504interface ParentNode {
11505 readonly childElementCount: number;
11506 /**
11507 * Returns the child elements.
11508 */
11509 readonly children: HTMLCollection;
11510 /**
11511 * Returns the first child that is an element, and null otherwise.
11512 */
11513 readonly firstElementChild: Element | null;
11514 /**
11515 * Returns the last child that is an element, and null otherwise.
11516 */
11517 readonly lastElementChild: Element | null;
11518 /**
11519 * Inserts nodes after the last child of node, while replacing strings in nodes with equivalent Text nodes.
11520 *
11521 * Throws a "HierarchyRequestError" DOMException if the constraints of the node tree are violated.
11522 */
11523 append(...nodes: (Node | string)[]): void;
11524 /**
11525 * Inserts nodes before the first child of node, while replacing strings in nodes with equivalent Text nodes.
11526 *
11527 * Throws a "HierarchyRequestError" DOMException if the constraints of the node tree are violated.
11528 */
11529 prepend(...nodes: (Node | string)[]): void;
11530 /**
11531 * Returns the first element that is a descendant of node that matches selectors.
11532 */
11533 querySelector<K extends keyof HTMLElementTagNameMap>(selectors: K): HTMLElementTagNameMap[K] | null;
11534 querySelector<K extends keyof SVGElementTagNameMap>(selectors: K): SVGElementTagNameMap[K] | null;
11535 querySelector<E extends Element = Element>(selectors: string): E | null;
11536 /**
11537 * Returns all element descendants of node that match selectors.
11538 */
11539 querySelectorAll<K extends keyof HTMLElementTagNameMap>(selectors: K): NodeListOf<HTMLElementTagNameMap[K]>;
11540 querySelectorAll<K extends keyof SVGElementTagNameMap>(selectors: K): NodeListOf<SVGElementTagNameMap[K]>;
11541 querySelectorAll<E extends Element = Element>(selectors: string): NodeListOf<E>;
11542}
11543
11544/** This Canvas 2D API interface is used to declare a path that can then be used on a CanvasRenderingContext2D object. The path methods of the CanvasRenderingContext2D interface are also present on this interface, which gives you the convenience of being able to retain and replay your path whenever desired. */
11545interface Path2D extends CanvasPath {
11546 /**
11547 * Adds to the path the path given by the argument.
11548 */
11549 addPath(path: Path2D, transform?: DOMMatrix2DInit): void;
11550}
11551
11552declare var Path2D: {
11553 prototype: Path2D;
11554 new(path?: Path2D | string): Path2D;
11555};
11556
11557/** This Payment Request API interface is used to store shipping or payment address information. */
11558interface PaymentAddress {
11559 readonly addressLine: string[];
11560 readonly city: string;
11561 readonly country: string;
11562 readonly dependentLocality: string;
11563 readonly languageCode: string;
11564 readonly organization: string;
11565 readonly phone: string;
11566 readonly postalCode: string;
11567 readonly recipient: string;
11568 readonly region: string;
11569 readonly sortingCode: string;
11570 toJSON(): any;
11571}
11572
11573declare var PaymentAddress: {
11574 prototype: PaymentAddress;
11575 new(): PaymentAddress;
11576};
11577
11578interface PaymentRequestEventMap {
11579 "shippingaddresschange": Event;
11580 "shippingoptionchange": Event;
11581}
11582
11583/** This Payment Request API interface is the primary access point into the API, and lets web content and apps accept payments from the end user. */
11584interface PaymentRequest extends EventTarget {
11585 readonly id: string;
11586 onshippingaddresschange: ((this: PaymentRequest, ev: Event) => any) | null;
11587 onshippingoptionchange: ((this: PaymentRequest, ev: Event) => any) | null;
11588 readonly shippingAddress: PaymentAddress | null;
11589 readonly shippingOption: string | null;
11590 readonly shippingType: PaymentShippingType | null;
11591 abort(): Promise<void>;
11592 canMakePayment(): Promise<boolean>;
11593 show(): Promise<PaymentResponse>;
11594 addEventListener<K extends keyof PaymentRequestEventMap>(type: K, listener: (this: PaymentRequest, ev: PaymentRequestEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
11595 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
11596 removeEventListener<K extends keyof PaymentRequestEventMap>(type: K, listener: (this: PaymentRequest, ev: PaymentRequestEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
11597 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
11598}
11599
11600declare var PaymentRequest: {
11601 prototype: PaymentRequest;
11602 new(methodData: PaymentMethodData[], details: PaymentDetailsInit, options?: PaymentOptions): PaymentRequest;
11603};
11604
11605/** This Payment Request API interface enables a web page to update the details of a PaymentRequest in response to a user action. */
11606interface PaymentRequestUpdateEvent extends Event {
11607 updateWith(detailsPromise: PaymentDetailsUpdate | Promise<PaymentDetailsUpdate>): void;
11608}
11609
11610declare var PaymentRequestUpdateEvent: {
11611 prototype: PaymentRequestUpdateEvent;
11612 new(type: string, eventInitDict?: PaymentRequestUpdateEventInit): PaymentRequestUpdateEvent;
11613};
11614
11615/** This Payment Request API interface is returned after a user selects a payment method and approves a payment request. */
11616interface PaymentResponse {
11617 readonly details: any;
11618 readonly methodName: string;
11619 readonly payerEmail: string | null;
11620 readonly payerName: string | null;
11621 readonly payerPhone: string | null;
11622 readonly requestId: string;
11623 readonly shippingAddress: PaymentAddress | null;
11624 readonly shippingOption: string | null;
11625 complete(result?: PaymentComplete): Promise<void>;
11626 toJSON(): any;
11627}
11628
11629declare var PaymentResponse: {
11630 prototype: PaymentResponse;
11631 new(): PaymentResponse;
11632};
11633
11634interface PerfWidgetExternal {
11635 readonly activeNetworkRequestCount: number;
11636 readonly averageFrameTime: number;
11637 readonly averagePaintTime: number;
11638 readonly extraInformationEnabled: boolean;
11639 readonly independentRenderingEnabled: boolean;
11640 readonly irDisablingContentString: string;
11641 readonly irStatusAvailable: boolean;
11642 readonly maxCpuSpeed: number;
11643 readonly paintRequestsPerSecond: number;
11644 readonly performanceCounter: number;
11645 readonly performanceCounterFrequency: number;
11646 addEventListener(eventType: string, callback: Function): void;
11647 getMemoryUsage(): number;
11648 getProcessCpuUsage(): number;
11649 getRecentCpuUsage(last: number | null): any;
11650 getRecentFrames(last: number | null): any;
11651 getRecentMemoryUsage(last: number | null): any;
11652 getRecentPaintRequests(last: number | null): any;
11653 removeEventListener(eventType: string, callback: Function): void;
11654 repositionWindow(x: number, y: number): void;
11655 resizeWindow(width: number, height: number): void;
11656}
11657
11658declare var PerfWidgetExternal: {
11659 prototype: PerfWidgetExternal;
11660 new(): PerfWidgetExternal;
11661};
11662
11663interface PerformanceEventMap {
11664 "resourcetimingbufferfull": Event;
11665}
11666
11667/** 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. */
11668interface Performance extends EventTarget {
11669 /** @deprecated */
11670 readonly navigation: PerformanceNavigation;
11671 onresourcetimingbufferfull: ((this: Performance, ev: Event) => any) | null;
11672 readonly timeOrigin: number;
11673 /** @deprecated */
11674 readonly timing: PerformanceTiming;
11675 clearMarks(markName?: string): void;
11676 clearMeasures(measureName?: string): void;
11677 clearResourceTimings(): void;
11678 getEntries(): PerformanceEntryList;
11679 getEntriesByName(name: string, type?: string): PerformanceEntryList;
11680 getEntriesByType(type: string): PerformanceEntryList;
11681 mark(markName: string): void;
11682 measure(measureName: string, startMark?: string, endMark?: string): void;
11683 now(): number;
11684 setResourceTimingBufferSize(maxSize: number): void;
11685 toJSON(): any;
11686 addEventListener<K extends keyof PerformanceEventMap>(type: K, listener: (this: Performance, ev: PerformanceEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
11687 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
11688 removeEventListener<K extends keyof PerformanceEventMap>(type: K, listener: (this: Performance, ev: PerformanceEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
11689 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
11690}
11691
11692declare var Performance: {
11693 prototype: Performance;
11694 new(): Performance;
11695};
11696
11697/** Encapsulates a single performance metric that is part of the performance timeline. A performance entry can be directly created by making a performance mark or measure (for example by calling the mark() method) at an explicit point in an application. Performance entries are also created in indirect ways such as loading a resource (such as an image). */
11698interface PerformanceEntry {
11699 readonly duration: number;
11700 readonly entryType: string;
11701 readonly name: string;
11702 readonly startTime: number;
11703 toJSON(): any;
11704}
11705
11706declare var PerformanceEntry: {
11707 prototype: PerformanceEntry;
11708 new(): PerformanceEntry;
11709};
11710
11711/** PerformanceMark is an abstract interface for PerformanceEntry objects with an entryType of "mark". Entries of this type are created by calling performance.mark() to add a named DOMHighResTimeStamp (the mark) to the browser's performance timeline. */
11712interface PerformanceMark extends PerformanceEntry {
11713}
11714
11715declare var PerformanceMark: {
11716 prototype: PerformanceMark;
11717 new(): PerformanceMark;
11718};
11719
11720/** PerformanceMeasure is an abstract interface for PerformanceEntry objects with an entryType of "measure". Entries of this type are created by calling performance.measure() to add a named DOMHighResTimeStamp (the measure) between two marks to the browser's performance timeline. */
11721interface PerformanceMeasure extends PerformanceEntry {
11722}
11723
11724declare var PerformanceMeasure: {
11725 prototype: PerformanceMeasure;
11726 new(): PerformanceMeasure;
11727};
11728
11729/** The legacy PerformanceNavigation interface represents information about how the navigation to the current document was done. */
11730interface PerformanceNavigation {
11731 readonly redirectCount: number;
11732 readonly type: number;
11733 toJSON(): any;
11734 readonly TYPE_BACK_FORWARD: number;
11735 readonly TYPE_NAVIGATE: number;
11736 readonly TYPE_RELOAD: number;
11737 readonly TYPE_RESERVED: number;
11738}
11739
11740declare var PerformanceNavigation: {
11741 prototype: PerformanceNavigation;
11742 new(): PerformanceNavigation;
11743 readonly TYPE_BACK_FORWARD: number;
11744 readonly TYPE_NAVIGATE: number;
11745 readonly TYPE_RELOAD: number;
11746 readonly TYPE_RESERVED: number;
11747};
11748
11749/** Provides methods and properties to store and retrieve metrics regarding the browser's document navigation events. For example, this interface can be used to determine how much time it takes to load or unload a document. */
11750interface PerformanceNavigationTiming extends PerformanceResourceTiming {
11751 readonly domComplete: number;
11752 readonly domContentLoadedEventEnd: number;
11753 readonly domContentLoadedEventStart: number;
11754 readonly domInteractive: number;
11755 readonly loadEventEnd: number;
11756 readonly loadEventStart: number;
11757 readonly redirectCount: number;
11758 readonly type: NavigationType;
11759 readonly unloadEventEnd: number;
11760 readonly unloadEventStart: number;
11761 toJSON(): any;
11762}
11763
11764declare var PerformanceNavigationTiming: {
11765 prototype: PerformanceNavigationTiming;
11766 new(): PerformanceNavigationTiming;
11767};
11768
11769interface PerformanceObserver {
11770 disconnect(): void;
11771 observe(options?: PerformanceObserverInit): void;
11772 takeRecords(): PerformanceEntryList;
11773}
11774
11775declare var PerformanceObserver: {
11776 prototype: PerformanceObserver;
11777 new(callback: PerformanceObserverCallback): PerformanceObserver;
11778 readonly supportedEntryTypes: ReadonlyArray<string>;
11779};
11780
11781interface PerformanceObserverEntryList {
11782 getEntries(): PerformanceEntryList;
11783 getEntriesByName(name: string, type?: string): PerformanceEntryList;
11784 getEntriesByType(type: string): PerformanceEntryList;
11785}
11786
11787declare var PerformanceObserverEntryList: {
11788 prototype: PerformanceObserverEntryList;
11789 new(): PerformanceObserverEntryList;
11790};
11791
11792/** Enables retrieval and analysis of detailed network timing data regarding the loading of an application's resources. An application can use the timing metrics to determine, for example, the length of time it takes to fetch a specific resource, such as an XMLHttpRequest, <SVG>, image, or script. */
11793interface PerformanceResourceTiming extends PerformanceEntry {
11794 readonly connectEnd: number;
11795 readonly connectStart: number;
11796 readonly decodedBodySize: number;
11797 readonly domainLookupEnd: number;
11798 readonly domainLookupStart: number;
11799 readonly encodedBodySize: number;
11800 readonly fetchStart: number;
11801 readonly initiatorType: string;
11802 readonly nextHopProtocol: string;
11803 readonly redirectEnd: number;
11804 readonly redirectStart: number;
11805 readonly requestStart: number;
11806 readonly responseEnd: number;
11807 readonly responseStart: number;
11808 readonly secureConnectionStart: number;
11809 readonly transferSize: number;
11810 readonly workerStart: number;
11811 toJSON(): any;
11812}
11813
11814declare var PerformanceResourceTiming: {
11815 prototype: PerformanceResourceTiming;
11816 new(): PerformanceResourceTiming;
11817};
11818
11819/** A legacy interface kept for backwards compatibility and contains properties that offer performance timing information for various events which occur during the loading and use of the current page. You get a PerformanceTiming object describing your page using the window.performance.timing property. */
11820interface PerformanceTiming {
11821 readonly connectEnd: number;
11822 readonly connectStart: number;
11823 readonly domComplete: number;
11824 readonly domContentLoadedEventEnd: number;
11825 readonly domContentLoadedEventStart: number;
11826 readonly domInteractive: number;
11827 readonly domLoading: number;
11828 readonly domainLookupEnd: number;
11829 readonly domainLookupStart: number;
11830 readonly fetchStart: number;
11831 readonly loadEventEnd: number;
11832 readonly loadEventStart: number;
11833 readonly navigationStart: number;
11834 readonly redirectEnd: number;
11835 readonly redirectStart: number;
11836 readonly requestStart: number;
11837 readonly responseEnd: number;
11838 readonly responseStart: number;
11839 readonly secureConnectionStart: number;
11840 readonly unloadEventEnd: number;
11841 readonly unloadEventStart: number;
11842 toJSON(): any;
11843}
11844
11845declare var PerformanceTiming: {
11846 prototype: PerformanceTiming;
11847 new(): PerformanceTiming;
11848};
11849
11850/** PeriodicWave has no inputs or outputs; it is used to define custom oscillators when calling OscillatorNode.setPeriodicWave(). The PeriodicWave itself is created/returned by AudioContext.createPeriodicWave(). */
11851interface PeriodicWave {
11852}
11853
11854declare var PeriodicWave: {
11855 prototype: PeriodicWave;
11856 new(context: BaseAudioContext, options?: PeriodicWaveOptions): PeriodicWave;
11857};
11858
11859interface PermissionRequest extends DeferredPermissionRequest {
11860 readonly state: MSWebViewPermissionState;
11861 defer(): void;
11862}
11863
11864declare var PermissionRequest: {
11865 prototype: PermissionRequest;
11866 new(): PermissionRequest;
11867};
11868
11869interface PermissionRequestedEvent extends Event {
11870 readonly permissionRequest: PermissionRequest;
11871}
11872
11873declare var PermissionRequestedEvent: {
11874 prototype: PermissionRequestedEvent;
11875 new(): PermissionRequestedEvent;
11876};
11877
11878interface PermissionStatusEventMap {
11879 "change": Event;
11880}
11881
11882interface PermissionStatus extends EventTarget {
11883 onchange: ((this: PermissionStatus, ev: Event) => any) | null;
11884 readonly state: PermissionState;
11885 addEventListener<K extends keyof PermissionStatusEventMap>(type: K, listener: (this: PermissionStatus, ev: PermissionStatusEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
11886 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
11887 removeEventListener<K extends keyof PermissionStatusEventMap>(type: K, listener: (this: PermissionStatus, ev: PermissionStatusEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
11888 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
11889}
11890
11891declare var PermissionStatus: {
11892 prototype: PermissionStatus;
11893 new(): PermissionStatus;
11894};
11895
11896interface Permissions {
11897 query(permissionDesc: PermissionDescriptor | DevicePermissionDescriptor | MidiPermissionDescriptor | PushPermissionDescriptor): Promise<PermissionStatus>;
11898}
11899
11900declare var Permissions: {
11901 prototype: Permissions;
11902 new(): Permissions;
11903};
11904
11905/** Provides information about a browser plugin. */
11906interface Plugin {
11907 /**
11908 * Returns the plugin's description.
11909 */
11910 readonly description: string;
11911 /**
11912 * Returns the plugin library's filename, if applicable on the current platform.
11913 */
11914 readonly filename: string;
11915 /**
11916 * Returns the number of MIME types, represented by MimeType objects, supported by the plugin.
11917 */
11918 readonly length: number;
11919 /**
11920 * Returns the plugin's name.
11921 */
11922 readonly name: string;
11923 /**
11924 * Returns the specified MimeType object.
11925 */
11926 item(index: number): MimeType | null;
11927 namedItem(name: string): MimeType | null;
11928 [index: number]: MimeType;
11929}
11930
11931declare var Plugin: {
11932 prototype: Plugin;
11933 new(): Plugin;
11934};
11935
11936/** Used to store a list of Plugin objects describing the available plugins; it's returned by the window.navigator.plugins property. The PluginArray is not a JavaScript array, but has the length property and supports accessing individual items using bracket notation (plugins[2]), as well as via item(index) and namedItem("name") methods. */
11937interface PluginArray {
11938 readonly length: number;
11939 item(index: number): Plugin | null;
11940 namedItem(name: string): Plugin | null;
11941 refresh(reload?: boolean): void;
11942 [index: number]: Plugin;
11943}
11944
11945declare var PluginArray: {
11946 prototype: PluginArray;
11947 new(): PluginArray;
11948};
11949
11950/** The state of a DOM event produced by a pointer such as the geometry of the contact point, the device type that generated the event, the amount of pressure that was applied on the contact surface, etc. */
11951interface PointerEvent extends MouseEvent {
11952 readonly height: number;
11953 readonly isPrimary: boolean;
11954 readonly pointerId: number;
11955 readonly pointerType: string;
11956 readonly pressure: number;
11957 readonly tangentialPressure: number;
11958 readonly tiltX: number;
11959 readonly tiltY: number;
11960 readonly twist: number;
11961 readonly width: number;
11962}
11963
11964declare var PointerEvent: {
11965 prototype: PointerEvent;
11966 new(type: string, eventInitDict?: PointerEventInit): PointerEvent;
11967};
11968
11969/** PopStateEvent is an event handler for the popstate event on the window. */
11970interface PopStateEvent extends Event {
11971 readonly state: any;
11972}
11973
11974declare var PopStateEvent: {
11975 prototype: PopStateEvent;
11976 new(type: string, eventInitDict?: PopStateEventInit): PopStateEvent;
11977};
11978
11979/** The position of the concerned device at a given time. The position, represented by a Coordinates object, comprehends the 2D position of the device, on a spheroid representing the Earth, but also its altitude and its speed. */
11980interface Position {
11981 readonly coords: Coordinates;
11982 readonly timestamp: number;
11983}
11984
11985/** The reason of an error occurring when using the geolocating device. */
11986interface PositionError {
11987 readonly code: number;
11988 readonly message: string;
11989 readonly PERMISSION_DENIED: number;
11990 readonly POSITION_UNAVAILABLE: number;
11991 readonly TIMEOUT: number;
11992}
11993
11994/** A processing instruction embeds application-specific instructions in XML which can be ignored by other applications that don't recognize them. */
11995interface ProcessingInstruction extends CharacterData {
11996 readonly target: string;
11997}
11998
11999declare var ProcessingInstruction: {
12000 prototype: ProcessingInstruction;
12001 new(): ProcessingInstruction;
12002};
12003
12004/** Events measuring progress of an underlying process, like an HTTP request (for an XMLHttpRequest, or the loading of the underlying resource of an <img>, <audio>, <video>, <style> or <link>). */
12005interface ProgressEvent<T extends EventTarget = EventTarget> extends Event {
12006 readonly lengthComputable: boolean;
12007 readonly loaded: number;
12008 readonly target: T | null;
12009 readonly total: number;
12010}
12011
12012declare var ProgressEvent: {
12013 prototype: ProgressEvent;
12014 new(type: string, eventInitDict?: ProgressEventInit): ProgressEvent;
12015};
12016
12017interface PromiseRejectionEvent extends Event {
12018 readonly promise: Promise<any>;
12019 readonly reason: any;
12020}
12021
12022declare var PromiseRejectionEvent: {
12023 prototype: PromiseRejectionEvent;
12024 new(type: string, eventInitDict: PromiseRejectionEventInit): PromiseRejectionEvent;
12025};
12026
12027interface PublicKeyCredential extends Credential {
12028 readonly rawId: ArrayBuffer;
12029 readonly response: AuthenticatorResponse;
12030 getClientExtensionResults(): AuthenticationExtensionsClientOutputs;
12031}
12032
12033declare var PublicKeyCredential: {
12034 prototype: PublicKeyCredential;
12035 new(): PublicKeyCredential;
12036 isUserVerifyingPlatformAuthenticatorAvailable(): Promise<boolean>;
12037};
12038
12039/** This Push API interface provides a way to receive notifications from third-party servers as well as request URLs for push notifications. */
12040interface PushManager {
12041 getSubscription(): Promise<PushSubscription | null>;
12042 permissionState(options?: PushSubscriptionOptionsInit): Promise<PushPermissionState>;
12043 subscribe(options?: PushSubscriptionOptionsInit): Promise<PushSubscription>;
12044}
12045
12046declare var PushManager: {
12047 prototype: PushManager;
12048 new(): PushManager;
12049 readonly supportedContentEncodings: ReadonlyArray<string>;
12050};
12051
12052/** This Push API interface provides a subcription's URL endpoint and allows unsubscription from a push service. */
12053interface PushSubscription {
12054 readonly endpoint: string;
12055 readonly expirationTime: number | null;
12056 readonly options: PushSubscriptionOptions;
12057 getKey(name: PushEncryptionKeyName): ArrayBuffer | null;
12058 toJSON(): PushSubscriptionJSON;
12059 unsubscribe(): Promise<boolean>;
12060}
12061
12062declare var PushSubscription: {
12063 prototype: PushSubscription;
12064 new(): PushSubscription;
12065};
12066
12067interface PushSubscriptionOptions {
12068 readonly applicationServerKey: ArrayBuffer | null;
12069 readonly userVisibleOnly: boolean;
12070}
12071
12072declare var PushSubscriptionOptions: {
12073 prototype: PushSubscriptionOptions;
12074 new(): PushSubscriptionOptions;
12075};
12076
12077interface RTCCertificate {
12078 readonly expires: number;
12079 getFingerprints(): RTCDtlsFingerprint[];
12080}
12081
12082declare var RTCCertificate: {
12083 prototype: RTCCertificate;
12084 new(): RTCCertificate;
12085 getSupportedAlgorithms(): AlgorithmIdentifier[];
12086};
12087
12088interface RTCDTMFSenderEventMap {
12089 "tonechange": RTCDTMFToneChangeEvent;
12090}
12091
12092interface RTCDTMFSender extends EventTarget {
12093 readonly canInsertDTMF: boolean;
12094 ontonechange: ((this: RTCDTMFSender, ev: RTCDTMFToneChangeEvent) => any) | null;
12095 readonly toneBuffer: string;
12096 insertDTMF(tones: string, duration?: number, interToneGap?: number): void;
12097 addEventListener<K extends keyof RTCDTMFSenderEventMap>(type: K, listener: (this: RTCDTMFSender, ev: RTCDTMFSenderEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
12098 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
12099 removeEventListener<K extends keyof RTCDTMFSenderEventMap>(type: K, listener: (this: RTCDTMFSender, ev: RTCDTMFSenderEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
12100 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
12101}
12102
12103declare var RTCDTMFSender: {
12104 prototype: RTCDTMFSender;
12105 new(): RTCDTMFSender;
12106};
12107
12108/** Events sent to indicate that DTMF tones have started or finished playing. This interface is used by the tonechange event. */
12109interface RTCDTMFToneChangeEvent extends Event {
12110 readonly tone: string;
12111}
12112
12113declare var RTCDTMFToneChangeEvent: {
12114 prototype: RTCDTMFToneChangeEvent;
12115 new(type: string, eventInitDict: RTCDTMFToneChangeEventInit): RTCDTMFToneChangeEvent;
12116};
12117
12118interface RTCDataChannelEventMap {
12119 "bufferedamountlow": Event;
12120 "close": Event;
12121 "error": RTCErrorEvent;
12122 "message": MessageEvent;
12123 "open": Event;
12124}
12125
12126interface RTCDataChannel extends EventTarget {
12127 binaryType: string;
12128 readonly bufferedAmount: number;
12129 bufferedAmountLowThreshold: number;
12130 readonly id: number | null;
12131 readonly label: string;
12132 readonly maxPacketLifeTime: number | null;
12133 readonly maxRetransmits: number | null;
12134 readonly negotiated: boolean;
12135 onbufferedamountlow: ((this: RTCDataChannel, ev: Event) => any) | null;
12136 onclose: ((this: RTCDataChannel, ev: Event) => any) | null;
12137 onerror: ((this: RTCDataChannel, ev: RTCErrorEvent) => any) | null;
12138 onmessage: ((this: RTCDataChannel, ev: MessageEvent) => any) | null;
12139 onopen: ((this: RTCDataChannel, ev: Event) => any) | null;
12140 readonly ordered: boolean;
12141 readonly priority: RTCPriorityType;
12142 readonly protocol: string;
12143 readonly readyState: RTCDataChannelState;
12144 close(): void;
12145 send(data: string): void;
12146 send(data: Blob): void;
12147 send(data: ArrayBuffer): void;
12148 send(data: ArrayBufferView): void;
12149 addEventListener<K extends keyof RTCDataChannelEventMap>(type: K, listener: (this: RTCDataChannel, ev: RTCDataChannelEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
12150 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
12151 removeEventListener<K extends keyof RTCDataChannelEventMap>(type: K, listener: (this: RTCDataChannel, ev: RTCDataChannelEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
12152 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
12153}
12154
12155declare var RTCDataChannel: {
12156 prototype: RTCDataChannel;
12157 new(): RTCDataChannel;
12158};
12159
12160interface RTCDataChannelEvent extends Event {
12161 readonly channel: RTCDataChannel;
12162}
12163
12164declare var RTCDataChannelEvent: {
12165 prototype: RTCDataChannelEvent;
12166 new(type: string, eventInitDict: RTCDataChannelEventInit): RTCDataChannelEvent;
12167};
12168
12169interface RTCDtlsTransportEventMap {
12170 "error": RTCErrorEvent;
12171 "statechange": Event;
12172}
12173
12174interface RTCDtlsTransport extends EventTarget {
12175 onerror: ((this: RTCDtlsTransport, ev: RTCErrorEvent) => any) | null;
12176 onstatechange: ((this: RTCDtlsTransport, ev: Event) => any) | null;
12177 readonly state: RTCDtlsTransportState;
12178 readonly transport: RTCIceTransport;
12179 getRemoteCertificates(): ArrayBuffer[];
12180 addEventListener<K extends keyof RTCDtlsTransportEventMap>(type: K, listener: (this: RTCDtlsTransport, ev: RTCDtlsTransportEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
12181 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
12182 removeEventListener<K extends keyof RTCDtlsTransportEventMap>(type: K, listener: (this: RTCDtlsTransport, ev: RTCDtlsTransportEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
12183 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
12184}
12185
12186declare var RTCDtlsTransport: {
12187 prototype: RTCDtlsTransport;
12188 new(): RTCDtlsTransport;
12189};
12190
12191interface RTCDtlsTransportStateChangedEvent extends Event {
12192 readonly state: RTCDtlsTransportState;
12193}
12194
12195declare var RTCDtlsTransportStateChangedEvent: {
12196 prototype: RTCDtlsTransportStateChangedEvent;
12197 new(): RTCDtlsTransportStateChangedEvent;
12198};
12199
12200interface RTCDtmfSenderEventMap {
12201 "tonechange": RTCDTMFToneChangeEvent;
12202}
12203
12204interface RTCDtmfSender extends EventTarget {
12205 readonly canInsertDTMF: boolean;
12206 readonly duration: number;
12207 readonly interToneGap: number;
12208 ontonechange: ((this: RTCDtmfSender, ev: RTCDTMFToneChangeEvent) => any) | null;
12209 readonly sender: RTCRtpSender;
12210 readonly toneBuffer: string;
12211 insertDTMF(tones: string, duration?: number, interToneGap?: number): void;
12212 addEventListener<K extends keyof RTCDtmfSenderEventMap>(type: K, listener: (this: RTCDtmfSender, ev: RTCDtmfSenderEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
12213 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
12214 removeEventListener<K extends keyof RTCDtmfSenderEventMap>(type: K, listener: (this: RTCDtmfSender, ev: RTCDtmfSenderEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
12215 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
12216}
12217
12218declare var RTCDtmfSender: {
12219 prototype: RTCDtmfSender;
12220 new(sender: RTCRtpSender): RTCDtmfSender;
12221};
12222
12223interface RTCError extends Error {
12224 errorDetail: string;
12225 httpRequestStatusCode: number;
12226 message: string;
12227 name: string;
12228 receivedAlert: number | null;
12229 sctpCauseCode: number;
12230 sdpLineNumber: number;
12231 sentAlert: number | null;
12232}
12233
12234declare var RTCError: {
12235 prototype: RTCError;
12236 new(errorDetail?: string, message?: string): RTCError;
12237};
12238
12239interface RTCErrorEvent extends Event {
12240 readonly error: RTCError | null;
12241}
12242
12243declare var RTCErrorEvent: {
12244 prototype: RTCErrorEvent;
12245 new(type: string, eventInitDict: RTCErrorEventInit): RTCErrorEvent;
12246};
12247
12248/** The RTCIceCandidate interface—part of the WebRTC API—represents a candidate Internet Connectivity Establishment (ICE) configuration which may be used to establish an RTCPeerConnection. */
12249interface RTCIceCandidate {
12250 readonly candidate: string;
12251 readonly component: RTCIceComponent | null;
12252 readonly foundation: string | null;
12253 readonly ip: string | null;
12254 readonly port: number | null;
12255 readonly priority: number | null;
12256 readonly protocol: RTCIceProtocol | null;
12257 readonly relatedAddress: string | null;
12258 readonly relatedPort: number | null;
12259 readonly sdpMLineIndex: number | null;
12260 readonly sdpMid: string | null;
12261 readonly tcpType: RTCIceTcpCandidateType | null;
12262 readonly type: RTCIceCandidateType | null;
12263 readonly usernameFragment: string | null;
12264 toJSON(): RTCIceCandidateInit;
12265}
12266
12267declare var RTCIceCandidate: {
12268 prototype: RTCIceCandidate;
12269 new(candidateInitDict?: RTCIceCandidateInit): RTCIceCandidate;
12270};
12271
12272interface RTCIceCandidatePairChangedEvent extends Event {
12273 readonly pair: RTCIceCandidatePair;
12274}
12275
12276declare var RTCIceCandidatePairChangedEvent: {
12277 prototype: RTCIceCandidatePairChangedEvent;
12278 new(): RTCIceCandidatePairChangedEvent;
12279};
12280
12281interface RTCIceGathererEventMap {
12282 "error": Event;
12283 "localcandidate": RTCIceGathererEvent;
12284}
12285
12286interface RTCIceGatherer extends RTCStatsProvider {
12287 readonly component: RTCIceComponent;
12288 onerror: ((this: RTCIceGatherer, ev: Event) => any) | null;
12289 onlocalcandidate: ((this: RTCIceGatherer, ev: RTCIceGathererEvent) => any) | null;
12290 createAssociatedGatherer(): RTCIceGatherer;
12291 getLocalCandidates(): RTCIceCandidateDictionary[];
12292 getLocalParameters(): RTCIceParameters;
12293 addEventListener<K extends keyof RTCIceGathererEventMap>(type: K, listener: (this: RTCIceGatherer, ev: RTCIceGathererEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
12294 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
12295 removeEventListener<K extends keyof RTCIceGathererEventMap>(type: K, listener: (this: RTCIceGatherer, ev: RTCIceGathererEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
12296 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
12297}
12298
12299declare var RTCIceGatherer: {
12300 prototype: RTCIceGatherer;
12301 new(options: RTCIceGatherOptions): RTCIceGatherer;
12302};
12303
12304interface RTCIceGathererEvent extends Event {
12305 readonly candidate: RTCIceCandidateDictionary | RTCIceCandidateComplete;
12306}
12307
12308declare var RTCIceGathererEvent: {
12309 prototype: RTCIceGathererEvent;
12310 new(): RTCIceGathererEvent;
12311};
12312
12313interface RTCIceTransportEventMap {
12314 "gatheringstatechange": Event;
12315 "selectedcandidatepairchange": Event;
12316 "statechange": Event;
12317}
12318
12319/** Provides access to information about the ICE transport layer over which the data is being sent and received. */
12320interface RTCIceTransport extends EventTarget {
12321 readonly component: RTCIceComponent;
12322 readonly gatheringState: RTCIceGathererState;
12323 ongatheringstatechange: ((this: RTCIceTransport, ev: Event) => any) | null;
12324 onselectedcandidatepairchange: ((this: RTCIceTransport, ev: Event) => any) | null;
12325 onstatechange: ((this: RTCIceTransport, ev: Event) => any) | null;
12326 readonly role: RTCIceRole;
12327 readonly state: RTCIceTransportState;
12328 getLocalCandidates(): RTCIceCandidate[];
12329 getLocalParameters(): RTCIceParameters | null;
12330 getRemoteCandidates(): RTCIceCandidate[];
12331 getRemoteParameters(): RTCIceParameters | null;
12332 getSelectedCandidatePair(): RTCIceCandidatePair | null;
12333 addEventListener<K extends keyof RTCIceTransportEventMap>(type: K, listener: (this: RTCIceTransport, ev: RTCIceTransportEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
12334 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
12335 removeEventListener<K extends keyof RTCIceTransportEventMap>(type: K, listener: (this: RTCIceTransport, ev: RTCIceTransportEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
12336 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
12337}
12338
12339declare var RTCIceTransport: {
12340 prototype: RTCIceTransport;
12341 new(): RTCIceTransport;
12342};
12343
12344interface RTCIceTransportStateChangedEvent extends Event {
12345 readonly state: RTCIceTransportState;
12346}
12347
12348declare var RTCIceTransportStateChangedEvent: {
12349 prototype: RTCIceTransportStateChangedEvent;
12350 new(): RTCIceTransportStateChangedEvent;
12351};
12352
12353interface RTCIdentityAssertion {
12354 idp: string;
12355 name: string;
12356}
12357
12358declare var RTCIdentityAssertion: {
12359 prototype: RTCIdentityAssertion;
12360 new(idp: string, name: string): RTCIdentityAssertion;
12361};
12362
12363interface RTCPeerConnectionEventMap {
12364 "connectionstatechange": Event;
12365 "datachannel": RTCDataChannelEvent;
12366 "icecandidate": RTCPeerConnectionIceEvent;
12367 "icecandidateerror": RTCPeerConnectionIceErrorEvent;
12368 "iceconnectionstatechange": Event;
12369 "icegatheringstatechange": Event;
12370 "negotiationneeded": Event;
12371 "signalingstatechange": Event;
12372 "statsended": RTCStatsEvent;
12373 "track": RTCTrackEvent;
12374}
12375
12376/** A WebRTC connection between the local computer and a remote peer. It provides methods to connect to a remote peer, maintain and monitor the connection, and close the connection once it's no longer needed. */
12377interface RTCPeerConnection extends EventTarget {
12378 readonly canTrickleIceCandidates: boolean | null;
12379 readonly connectionState: RTCPeerConnectionState;
12380 readonly currentLocalDescription: RTCSessionDescription | null;
12381 readonly currentRemoteDescription: RTCSessionDescription | null;
12382 readonly iceConnectionState: RTCIceConnectionState;
12383 readonly iceGatheringState: RTCIceGatheringState;
12384 readonly idpErrorInfo: string | null;
12385 readonly idpLoginUrl: string | null;
12386 readonly localDescription: RTCSessionDescription | null;
12387 onconnectionstatechange: ((this: RTCPeerConnection, ev: Event) => any) | null;
12388 ondatachannel: ((this: RTCPeerConnection, ev: RTCDataChannelEvent) => any) | null;
12389 onicecandidate: ((this: RTCPeerConnection, ev: RTCPeerConnectionIceEvent) => any) | null;
12390 onicecandidateerror: ((this: RTCPeerConnection, ev: RTCPeerConnectionIceErrorEvent) => any) | null;
12391 oniceconnectionstatechange: ((this: RTCPeerConnection, ev: Event) => any) | null;
12392 onicegatheringstatechange: ((this: RTCPeerConnection, ev: Event) => any) | null;
12393 onnegotiationneeded: ((this: RTCPeerConnection, ev: Event) => any) | null;
12394 onsignalingstatechange: ((this: RTCPeerConnection, ev: Event) => any) | null;
12395 onstatsended: ((this: RTCPeerConnection, ev: RTCStatsEvent) => any) | null;
12396 ontrack: ((this: RTCPeerConnection, ev: RTCTrackEvent) => any) | null;
12397 readonly peerIdentity: Promise<RTCIdentityAssertion>;
12398 readonly pendingLocalDescription: RTCSessionDescription | null;
12399 readonly pendingRemoteDescription: RTCSessionDescription | null;
12400 readonly remoteDescription: RTCSessionDescription | null;
12401 readonly sctp: RTCSctpTransport | null;
12402 readonly signalingState: RTCSignalingState;
12403 addIceCandidate(candidate: RTCIceCandidateInit | RTCIceCandidate): Promise<void>;
12404 addTrack(track: MediaStreamTrack, ...streams: MediaStream[]): RTCRtpSender;
12405 addTransceiver(trackOrKind: MediaStreamTrack | string, init?: RTCRtpTransceiverInit): RTCRtpTransceiver;
12406 close(): void;
12407 createAnswer(options?: RTCOfferOptions): Promise<RTCSessionDescriptionInit>;
12408 createDataChannel(label: string, dataChannelDict?: RTCDataChannelInit): RTCDataChannel;
12409 createOffer(options?: RTCOfferOptions): Promise<RTCSessionDescriptionInit>;
12410 getConfiguration(): RTCConfiguration;
12411 getIdentityAssertion(): Promise<string>;
12412 getReceivers(): RTCRtpReceiver[];
12413 getSenders(): RTCRtpSender[];
12414 getStats(selector?: MediaStreamTrack | null): Promise<RTCStatsReport>;
12415 getTransceivers(): RTCRtpTransceiver[];
12416 removeTrack(sender: RTCRtpSender): void;
12417 setConfiguration(configuration: RTCConfiguration): void;
12418 setIdentityProvider(provider: string, options?: RTCIdentityProviderOptions): void;
12419 setLocalDescription(description: RTCSessionDescriptionInit): Promise<void>;
12420 setRemoteDescription(description: RTCSessionDescriptionInit): Promise<void>;
12421 addEventListener<K extends keyof RTCPeerConnectionEventMap>(type: K, listener: (this: RTCPeerConnection, ev: RTCPeerConnectionEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
12422 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
12423 removeEventListener<K extends keyof RTCPeerConnectionEventMap>(type: K, listener: (this: RTCPeerConnection, ev: RTCPeerConnectionEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
12424 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
12425}
12426
12427declare var RTCPeerConnection: {
12428 prototype: RTCPeerConnection;
12429 new(configuration?: RTCConfiguration): RTCPeerConnection;
12430 generateCertificate(keygenAlgorithm: AlgorithmIdentifier): Promise<RTCCertificate>;
12431 getDefaultIceServers(): RTCIceServer[];
12432};
12433
12434interface RTCPeerConnectionIceErrorEvent extends Event {
12435 readonly errorCode: number;
12436 readonly errorText: string;
12437 readonly hostCandidate: string;
12438 readonly url: string;
12439}
12440
12441declare var RTCPeerConnectionIceErrorEvent: {
12442 prototype: RTCPeerConnectionIceErrorEvent;
12443 new(type: string, eventInitDict: RTCPeerConnectionIceErrorEventInit): RTCPeerConnectionIceErrorEvent;
12444};
12445
12446/** Events that occurs in relation to ICE candidates with the target, usually an RTCPeerConnection. Only one event is of this type: icecandidate. */
12447interface RTCPeerConnectionIceEvent extends Event {
12448 readonly candidate: RTCIceCandidate | null;
12449 readonly url: string | null;
12450}
12451
12452declare var RTCPeerConnectionIceEvent: {
12453 prototype: RTCPeerConnectionIceEvent;
12454 new(type: string, eventInitDict?: RTCPeerConnectionIceEventInit): RTCPeerConnectionIceEvent;
12455};
12456
12457/** This WebRTC API interface manages the reception and decoding of data for a MediaStreamTrack on an RTCPeerConnection. */
12458interface RTCRtpReceiver {
12459 readonly rtcpTransport: RTCDtlsTransport | null;
12460 readonly track: MediaStreamTrack;
12461 readonly transport: RTCDtlsTransport | null;
12462 getContributingSources(): RTCRtpContributingSource[];
12463 getParameters(): RTCRtpReceiveParameters;
12464 getStats(): Promise<RTCStatsReport>;
12465 getSynchronizationSources(): RTCRtpSynchronizationSource[];
12466}
12467
12468declare var RTCRtpReceiver: {
12469 prototype: RTCRtpReceiver;
12470 new(): RTCRtpReceiver;
12471 getCapabilities(kind: string): RTCRtpCapabilities | null;
12472};
12473
12474/** Provides the ability to control and obtain details about how a particular MediaStreamTrack is encoded and sent to a remote peer. */
12475interface RTCRtpSender {
12476 readonly dtmf: RTCDTMFSender | null;
12477 readonly rtcpTransport: RTCDtlsTransport | null;
12478 readonly track: MediaStreamTrack | null;
12479 readonly transport: RTCDtlsTransport | null;
12480 getParameters(): RTCRtpSendParameters;
12481 getStats(): Promise<RTCStatsReport>;
12482 replaceTrack(withTrack: MediaStreamTrack | null): Promise<void>;
12483 setParameters(parameters: RTCRtpSendParameters): Promise<void>;
12484 setStreams(...streams: MediaStream[]): void;
12485}
12486
12487declare var RTCRtpSender: {
12488 prototype: RTCRtpSender;
12489 new(): RTCRtpSender;
12490 getCapabilities(kind: string): RTCRtpCapabilities | null;
12491};
12492
12493interface RTCRtpTransceiver {
12494 readonly currentDirection: RTCRtpTransceiverDirection | null;
12495 direction: RTCRtpTransceiverDirection;
12496 readonly mid: string | null;
12497 readonly receiver: RTCRtpReceiver;
12498 readonly sender: RTCRtpSender;
12499 readonly stopped: boolean;
12500 setCodecPreferences(codecs: RTCRtpCodecCapability[]): void;
12501 stop(): void;
12502}
12503
12504declare var RTCRtpTransceiver: {
12505 prototype: RTCRtpTransceiver;
12506 new(): RTCRtpTransceiver;
12507};
12508
12509interface RTCSctpTransportEventMap {
12510 "statechange": Event;
12511}
12512
12513interface RTCSctpTransport {
12514 readonly maxChannels: number | null;
12515 readonly maxMessageSize: number;
12516 onstatechange: ((this: RTCSctpTransport, ev: Event) => any) | null;
12517 readonly state: RTCSctpTransportState;
12518 readonly transport: RTCDtlsTransport;
12519 addEventListener<K extends keyof RTCSctpTransportEventMap>(type: K, listener: (this: RTCSctpTransport, ev: RTCSctpTransportEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
12520 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
12521 removeEventListener<K extends keyof RTCSctpTransportEventMap>(type: K, listener: (this: RTCSctpTransport, ev: RTCSctpTransportEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
12522 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
12523}
12524
12525declare var RTCSctpTransport: {
12526 prototype: RTCSctpTransport;
12527 new(): RTCSctpTransport;
12528};
12529
12530/** 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. */
12531interface RTCSessionDescription {
12532 readonly sdp: string;
12533 readonly type: RTCSdpType;
12534 toJSON(): any;
12535}
12536
12537declare var RTCSessionDescription: {
12538 prototype: RTCSessionDescription;
12539 new(descriptionInitDict: RTCSessionDescriptionInit): RTCSessionDescription;
12540};
12541
12542interface RTCSrtpSdesTransportEventMap {
12543 "error": Event;
12544}
12545
12546interface RTCSrtpSdesTransport extends EventTarget {
12547 onerror: ((this: RTCSrtpSdesTransport, ev: Event) => any) | null;
12548 readonly transport: RTCIceTransport;
12549 addEventListener<K extends keyof RTCSrtpSdesTransportEventMap>(type: K, listener: (this: RTCSrtpSdesTransport, ev: RTCSrtpSdesTransportEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
12550 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
12551 removeEventListener<K extends keyof RTCSrtpSdesTransportEventMap>(type: K, listener: (this: RTCSrtpSdesTransport, ev: RTCSrtpSdesTransportEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
12552 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
12553}
12554
12555declare var RTCSrtpSdesTransport: {
12556 prototype: RTCSrtpSdesTransport;
12557 new(transport: RTCIceTransport, encryptParameters: RTCSrtpSdesParameters, decryptParameters: RTCSrtpSdesParameters): RTCSrtpSdesTransport;
12558 getLocalParameters(): RTCSrtpSdesParameters[];
12559};
12560
12561interface RTCSsrcConflictEvent extends Event {
12562 readonly ssrc: number;
12563}
12564
12565declare var RTCSsrcConflictEvent: {
12566 prototype: RTCSsrcConflictEvent;
12567 new(): RTCSsrcConflictEvent;
12568};
12569
12570interface RTCStatsEvent extends Event {
12571 readonly report: RTCStatsReport;
12572}
12573
12574declare var RTCStatsEvent: {
12575 prototype: RTCStatsEvent;
12576 new(type: string, eventInitDict: RTCStatsEventInit): RTCStatsEvent;
12577};
12578
12579interface RTCStatsProvider extends EventTarget {
12580 getStats(): Promise<RTCStatsReport>;
12581 msGetStats(): Promise<RTCStatsReport>;
12582}
12583
12584declare var RTCStatsProvider: {
12585 prototype: RTCStatsProvider;
12586 new(): RTCStatsProvider;
12587};
12588
12589interface RTCStatsReport {
12590 forEach(callbackfn: (value: any, key: string, parent: RTCStatsReport) => void, thisArg?: any): void;
12591}
12592
12593declare var RTCStatsReport: {
12594 prototype: RTCStatsReport;
12595 new(): RTCStatsReport;
12596};
12597
12598interface RTCTrackEvent extends Event {
12599 readonly receiver: RTCRtpReceiver;
12600 readonly streams: ReadonlyArray<MediaStream>;
12601 readonly track: MediaStreamTrack;
12602 readonly transceiver: RTCRtpTransceiver;
12603}
12604
12605declare var RTCTrackEvent: {
12606 prototype: RTCTrackEvent;
12607 new(type: string, eventInitDict: RTCTrackEventInit): RTCTrackEvent;
12608};
12609
12610interface RadioNodeList extends NodeList {
12611 value: string;
12612}
12613
12614declare var RadioNodeList: {
12615 prototype: RadioNodeList;
12616 new(): RadioNodeList;
12617};
12618
12619interface RandomSource {
12620 getRandomValues<T extends Int8Array | Uint8ClampedArray | Uint8Array | Int16Array | Uint16Array | Int32Array | Uint32Array>(array: T): T;
12621}
12622
12623declare var RandomSource: {
12624 prototype: RandomSource;
12625 new(): RandomSource;
12626};
12627
12628/** A fragment of a document that can contain nodes and parts of text nodes. */
12629interface Range extends AbstractRange {
12630 /**
12631 * Returns the node, furthest away from the document, that is an ancestor of both range's start node and end node.
12632 */
12633 readonly commonAncestorContainer: Node;
12634 cloneContents(): DocumentFragment;
12635 cloneRange(): Range;
12636 collapse(toStart?: boolean): void;
12637 compareBoundaryPoints(how: number, sourceRange: Range): number;
12638 /**
12639 * Returns −1 if the point is before the range, 0 if the point is in the range, and 1 if the point is after the range.
12640 */
12641 comparePoint(node: Node, offset: number): number;
12642 createContextualFragment(fragment: string): DocumentFragment;
12643 deleteContents(): void;
12644 detach(): void;
12645 extractContents(): DocumentFragment;
12646 getBoundingClientRect(): DOMRect;
12647 getClientRects(): DOMRectList;
12648 insertNode(node: Node): void;
12649 /**
12650 * Returns whether range intersects node.
12651 */
12652 intersectsNode(node: Node): boolean;
12653 isPointInRange(node: Node, offset: number): boolean;
12654 selectNode(node: Node): void;
12655 selectNodeContents(node: Node): void;
12656 setEnd(node: Node, offset: number): void;
12657 setEndAfter(node: Node): void;
12658 setEndBefore(node: Node): void;
12659 setStart(node: Node, offset: number): void;
12660 setStartAfter(node: Node): void;
12661 setStartBefore(node: Node): void;
12662 surroundContents(newParent: Node): void;
12663 readonly END_TO_END: number;
12664 readonly END_TO_START: number;
12665 readonly START_TO_END: number;
12666 readonly START_TO_START: number;
12667}
12668
12669declare var Range: {
12670 prototype: Range;
12671 new(): Range;
12672 readonly END_TO_END: number;
12673 readonly END_TO_START: number;
12674 readonly START_TO_END: number;
12675 readonly START_TO_START: number;
12676};
12677
12678interface ReadableByteStreamController {
12679 readonly byobRequest: ReadableStreamBYOBRequest | undefined;
12680 readonly desiredSize: number | null;
12681 close(): void;
12682 enqueue(chunk: ArrayBufferView): void;
12683 error(error?: any): void;
12684}
12685
12686/** This Streams API interface represents a readable stream of byte data. The Fetch API offers a concrete instance of a ReadableStream through the body property of a Response object. */
12687interface ReadableStream<R = any> {
12688 readonly locked: boolean;
12689 cancel(reason?: any): Promise<void>;
12690 getReader(options: { mode: "byob" }): ReadableStreamBYOBReader;
12691 getReader(): ReadableStreamDefaultReader<R>;
12692 pipeThrough<T>({ writable, readable }: { writable: WritableStream<R>, readable: ReadableStream<T> }, options?: PipeOptions): ReadableStream<T>;
12693 pipeTo(dest: WritableStream<R>, options?: PipeOptions): Promise<void>;
12694 tee(): [ReadableStream<R>, ReadableStream<R>];
12695}
12696
12697declare var ReadableStream: {
12698 prototype: ReadableStream;
12699 new(underlyingSource: UnderlyingByteSource, strategy?: { highWaterMark?: number, size?: undefined }): ReadableStream<Uint8Array>;
12700 new<R = any>(underlyingSource?: UnderlyingSource<R>, strategy?: QueuingStrategy<R>): ReadableStream<R>;
12701};
12702
12703interface ReadableStreamBYOBReader {
12704 readonly closed: Promise<void>;
12705 cancel(reason?: any): Promise<void>;
12706 read<T extends ArrayBufferView>(view: T): Promise<ReadableStreamReadResult<T>>;
12707 releaseLock(): void;
12708}
12709
12710interface ReadableStreamBYOBRequest {
12711 readonly view: ArrayBufferView;
12712 respond(bytesWritten: number): void;
12713 respondWithNewView(view: ArrayBufferView): void;
12714}
12715
12716interface ReadableStreamDefaultController<R = any> {
12717 readonly desiredSize: number | null;
12718 close(): void;
12719 enqueue(chunk: R): void;
12720 error(error?: any): void;
12721}
12722
12723interface ReadableStreamDefaultReader<R = any> {
12724 readonly closed: Promise<void>;
12725 cancel(reason?: any): Promise<void>;
12726 read(): Promise<ReadableStreamReadResult<R>>;
12727 releaseLock(): void;
12728}
12729
12730interface ReadableStreamReadResult<T> {
12731 done: boolean;
12732 value: T;
12733}
12734
12735interface ReadableStreamReader<R = any> {
12736 cancel(): Promise<void>;
12737 read(): Promise<ReadableStreamReadResult<R>>;
12738 releaseLock(): void;
12739}
12740
12741declare var ReadableStreamReader: {
12742 prototype: ReadableStreamReader;
12743 new(): ReadableStreamReader;
12744};
12745
12746/** This Fetch API interface represents a resource request. */
12747interface Request extends Body {
12748 /**
12749 * Returns the cache mode associated with request, which is a string indicating how the request will interact with the browser's cache when fetching.
12750 */
12751 readonly cache: RequestCache;
12752 /**
12753 * Returns the credentials mode associated with request, which is a string indicating whether credentials will be sent with the request always, never, or only when sent to a same-origin URL.
12754 */
12755 readonly credentials: RequestCredentials;
12756 /**
12757 * Returns the kind of resource requested by request, e.g., "document" or "script".
12758 */
12759 readonly destination: RequestDestination;
12760 /**
12761 * Returns a Headers object consisting of the headers associated with request. Note that headers added in the network layer by the user agent will not be accounted for in this object, e.g., the "Host" header.
12762 */
12763 readonly headers: Headers;
12764 /**
12765 * Returns request's subresource integrity metadata, which is a cryptographic hash of the resource being fetched. Its value consists of multiple hashes separated by whitespace. [SRI]
12766 */
12767 readonly integrity: string;
12768 /**
12769 * Returns a boolean indicating whether or not request is for a history navigation (a.k.a. back-foward navigation).
12770 */
12771 readonly isHistoryNavigation: boolean;
12772 /**
12773 * Returns a boolean indicating whether or not request is for a reload navigation.
12774 */
12775 readonly isReloadNavigation: boolean;
12776 /**
12777 * Returns a boolean indicating whether or not request can outlive the global in which it was created.
12778 */
12779 readonly keepalive: boolean;
12780 /**
12781 * Returns request's HTTP method, which is "GET" by default.
12782 */
12783 readonly method: string;
12784 /**
12785 * Returns the mode associated with request, which is a string indicating whether the request will use CORS, or will be restricted to same-origin URLs.
12786 */
12787 readonly mode: RequestMode;
12788 /**
12789 * Returns the redirect mode associated with request, which is a string indicating how redirects for the request will be handled during fetching. A request will follow redirects by default.
12790 */
12791 readonly redirect: RequestRedirect;
12792 /**
12793 * Returns the referrer of request. Its value can be a same-origin URL if explicitly set in init, the empty string to indicate no referrer, and "about:client" when defaulting to the global's default. This is used during fetching to determine the value of the `Referer` header of the request being made.
12794 */
12795 readonly referrer: string;
12796 /**
12797 * Returns the referrer policy associated with request. This is used during fetching to compute the value of the request's referrer.
12798 */
12799 readonly referrerPolicy: ReferrerPolicy;
12800 /**
12801 * Returns the signal associated with request, which is an AbortSignal object indicating whether or not request has been aborted, and its abort event handler.
12802 */
12803 readonly signal: AbortSignal;
12804 /**
12805 * Returns the URL of request as a string.
12806 */
12807 readonly url: string;
12808 clone(): Request;
12809}
12810
12811declare var Request: {
12812 prototype: Request;
12813 new(input: RequestInfo, init?: RequestInit): Request;
12814};
12815
12816/** This Fetch API interface represents the response to a request. */
12817interface Response extends Body {
12818 readonly headers: Headers;
12819 readonly ok: boolean;
12820 readonly redirected: boolean;
12821 readonly status: number;
12822 readonly statusText: string;
12823 readonly trailer: Promise<Headers>;
12824 readonly type: ResponseType;
12825 readonly url: string;
12826 clone(): Response;
12827}
12828
12829declare var Response: {
12830 prototype: Response;
12831 new(body?: BodyInit | null, init?: ResponseInit): Response;
12832 error(): Response;
12833 redirect(url: string, status?: number): Response;
12834};
12835
12836/** Provides access to the properties of <a> element, as well as methods to manipulate them. */
12837interface SVGAElement extends SVGGraphicsElement, SVGURIReference {
12838 readonly target: SVGAnimatedString;
12839 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGAElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
12840 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
12841 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGAElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
12842 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
12843}
12844
12845declare var SVGAElement: {
12846 prototype: SVGAElement;
12847 new(): SVGAElement;
12848};
12849
12850/** Used to represent a value that can be an <angle> or <number> value. An SVGAngle reflected through the animVal attribute is always read only. */
12851interface SVGAngle {
12852 readonly unitType: number;
12853 value: number;
12854 valueAsString: string;
12855 valueInSpecifiedUnits: number;
12856 convertToSpecifiedUnits(unitType: number): void;
12857 newValueSpecifiedUnits(unitType: number, valueInSpecifiedUnits: number): void;
12858 readonly SVG_ANGLETYPE_DEG: number;
12859 readonly SVG_ANGLETYPE_GRAD: number;
12860 readonly SVG_ANGLETYPE_RAD: number;
12861 readonly SVG_ANGLETYPE_UNKNOWN: number;
12862 readonly SVG_ANGLETYPE_UNSPECIFIED: number;
12863}
12864
12865declare var SVGAngle: {
12866 prototype: SVGAngle;
12867 new(): SVGAngle;
12868 readonly SVG_ANGLETYPE_DEG: number;
12869 readonly SVG_ANGLETYPE_GRAD: number;
12870 readonly SVG_ANGLETYPE_RAD: number;
12871 readonly SVG_ANGLETYPE_UNKNOWN: number;
12872 readonly SVG_ANGLETYPE_UNSPECIFIED: number;
12873};
12874
12875interface SVGAnimateElement extends SVGAnimationElement {
12876 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGAnimateElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
12877 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
12878 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGAnimateElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
12879 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
12880}
12881
12882declare var SVGAnimateElement: {
12883 prototype: SVGAnimateElement;
12884 new(): SVGAnimateElement;
12885};
12886
12887interface SVGAnimateMotionElement extends SVGAnimationElement {
12888 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGAnimateMotionElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
12889 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
12890 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGAnimateMotionElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
12891 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
12892}
12893
12894declare var SVGAnimateMotionElement: {
12895 prototype: SVGAnimateMotionElement;
12896 new(): SVGAnimateMotionElement;
12897};
12898
12899interface SVGAnimateTransformElement extends SVGAnimationElement {
12900 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGAnimateTransformElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
12901 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
12902 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGAnimateTransformElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
12903 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
12904}
12905
12906declare var SVGAnimateTransformElement: {
12907 prototype: SVGAnimateTransformElement;
12908 new(): SVGAnimateTransformElement;
12909};
12910
12911/** Used for attributes of basic type <angle> which can be animated. */
12912interface SVGAnimatedAngle {
12913 readonly animVal: SVGAngle;
12914 readonly baseVal: SVGAngle;
12915}
12916
12917declare var SVGAnimatedAngle: {
12918 prototype: SVGAnimatedAngle;
12919 new(): SVGAnimatedAngle;
12920};
12921
12922/** Used for attributes of type boolean which can be animated. */
12923interface SVGAnimatedBoolean {
12924 readonly animVal: boolean;
12925 baseVal: boolean;
12926}
12927
12928declare var SVGAnimatedBoolean: {
12929 prototype: SVGAnimatedBoolean;
12930 new(): SVGAnimatedBoolean;
12931};
12932
12933/** Used for attributes whose value must be a constant from a particular enumeration and which can be animated. */
12934interface SVGAnimatedEnumeration {
12935 readonly animVal: number;
12936 baseVal: number;
12937}
12938
12939declare var SVGAnimatedEnumeration: {
12940 prototype: SVGAnimatedEnumeration;
12941 new(): SVGAnimatedEnumeration;
12942};
12943
12944/** Used for attributes of basic type <integer> which can be animated. */
12945interface SVGAnimatedInteger {
12946 readonly animVal: number;
12947 baseVal: number;
12948}
12949
12950declare var SVGAnimatedInteger: {
12951 prototype: SVGAnimatedInteger;
12952 new(): SVGAnimatedInteger;
12953};
12954
12955/** Used for attributes of basic type <length> which can be animated. */
12956interface SVGAnimatedLength {
12957 readonly animVal: SVGLength;
12958 readonly baseVal: SVGLength;
12959}
12960
12961declare var SVGAnimatedLength: {
12962 prototype: SVGAnimatedLength;
12963 new(): SVGAnimatedLength;
12964};
12965
12966/** Used for attributes of type SVGLengthList which can be animated. */
12967interface SVGAnimatedLengthList {
12968 readonly animVal: SVGLengthList;
12969 readonly baseVal: SVGLengthList;
12970}
12971
12972declare var SVGAnimatedLengthList: {
12973 prototype: SVGAnimatedLengthList;
12974 new(): SVGAnimatedLengthList;
12975};
12976
12977/** Used for attributes of basic type <Number> which can be animated. */
12978interface SVGAnimatedNumber {
12979 readonly animVal: number;
12980 baseVal: number;
12981}
12982
12983declare var SVGAnimatedNumber: {
12984 prototype: SVGAnimatedNumber;
12985 new(): SVGAnimatedNumber;
12986};
12987
12988/** The SVGAnimatedNumber interface is used for attributes which take a list of numbers and which can be animated. */
12989interface SVGAnimatedNumberList {
12990 readonly animVal: SVGNumberList;
12991 readonly baseVal: SVGNumberList;
12992}
12993
12994declare var SVGAnimatedNumberList: {
12995 prototype: SVGAnimatedNumberList;
12996 new(): SVGAnimatedNumberList;
12997};
12998
12999interface SVGAnimatedPoints {
13000 readonly animatedPoints: SVGPointList;
13001 readonly points: SVGPointList;
13002}
13003
13004/** Used for attributes of type SVGPreserveAspectRatio which can be animated. */
13005interface SVGAnimatedPreserveAspectRatio {
13006 readonly animVal: SVGPreserveAspectRatio;
13007 readonly baseVal: SVGPreserveAspectRatio;
13008}
13009
13010declare var SVGAnimatedPreserveAspectRatio: {
13011 prototype: SVGAnimatedPreserveAspectRatio;
13012 new(): SVGAnimatedPreserveAspectRatio;
13013};
13014
13015/** Used for attributes of basic SVGRect which can be animated. */
13016interface SVGAnimatedRect {
13017 readonly animVal: DOMRectReadOnly;
13018 readonly baseVal: DOMRect;
13019}
13020
13021declare var SVGAnimatedRect: {
13022 prototype: SVGAnimatedRect;
13023 new(): SVGAnimatedRect;
13024};
13025
13026/** The SVGAnimatedString interface represents string attributes which can be animated from each SVG declaration. You need to create SVG attribute before doing anything else, everything should be declared inside this. */
13027interface SVGAnimatedString {
13028 readonly animVal: string;
13029 baseVal: string;
13030}
13031
13032declare var SVGAnimatedString: {
13033 prototype: SVGAnimatedString;
13034 new(): SVGAnimatedString;
13035};
13036
13037/** Used for attributes which take a list of numbers and which can be animated. */
13038interface SVGAnimatedTransformList {
13039 readonly animVal: SVGTransformList;
13040 readonly baseVal: SVGTransformList;
13041}
13042
13043declare var SVGAnimatedTransformList: {
13044 prototype: SVGAnimatedTransformList;
13045 new(): SVGAnimatedTransformList;
13046};
13047
13048interface SVGAnimationElement extends SVGElement {
13049 readonly targetElement: SVGElement;
13050 getCurrentTime(): number;
13051 getSimpleDuration(): number;
13052 getStartTime(): number;
13053 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGAnimationElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
13054 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
13055 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGAnimationElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
13056 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
13057}
13058
13059declare var SVGAnimationElement: {
13060 prototype: SVGAnimationElement;
13061 new(): SVGAnimationElement;
13062};
13063
13064/** An interface for the <circle> element. The circle element is defined by the cx and cy attributes that denote the coordinates of the centre of the circle. */
13065interface SVGCircleElement extends SVGGeometryElement {
13066 readonly cx: SVGAnimatedLength;
13067 readonly cy: SVGAnimatedLength;
13068 readonly r: SVGAnimatedLength;
13069 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGCircleElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
13070 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
13071 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGCircleElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
13072 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
13073}
13074
13075declare var SVGCircleElement: {
13076 prototype: SVGCircleElement;
13077 new(): SVGCircleElement;
13078};
13079
13080/** Provides access to the properties of <clipPath> elements, as well as methods to manipulate them. */
13081interface SVGClipPathElement extends SVGElement {
13082 readonly clipPathUnits: SVGAnimatedEnumeration;
13083 readonly transform: SVGAnimatedTransformList;
13084 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGClipPathElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
13085 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
13086 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGClipPathElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
13087 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
13088}
13089
13090declare var SVGClipPathElement: {
13091 prototype: SVGClipPathElement;
13092 new(): SVGClipPathElement;
13093};
13094
13095/** A base interface used by the component transfer function interfaces. */
13096interface SVGComponentTransferFunctionElement extends SVGElement {
13097 readonly amplitude: SVGAnimatedNumber;
13098 readonly exponent: SVGAnimatedNumber;
13099 readonly intercept: SVGAnimatedNumber;
13100 readonly offset: SVGAnimatedNumber;
13101 readonly slope: SVGAnimatedNumber;
13102 readonly tableValues: SVGAnimatedNumberList;
13103 readonly type: SVGAnimatedEnumeration;
13104 readonly SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE: number;
13105 readonly SVG_FECOMPONENTTRANSFER_TYPE_GAMMA: number;
13106 readonly SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY: number;
13107 readonly SVG_FECOMPONENTTRANSFER_TYPE_LINEAR: number;
13108 readonly SVG_FECOMPONENTTRANSFER_TYPE_TABLE: number;
13109 readonly SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN: number;
13110 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGComponentTransferFunctionElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
13111 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
13112 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGComponentTransferFunctionElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
13113 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
13114}
13115
13116declare var SVGComponentTransferFunctionElement: {
13117 prototype: SVGComponentTransferFunctionElement;
13118 new(): SVGComponentTransferFunctionElement;
13119 readonly SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE: number;
13120 readonly SVG_FECOMPONENTTRANSFER_TYPE_GAMMA: number;
13121 readonly SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY: number;
13122 readonly SVG_FECOMPONENTTRANSFER_TYPE_LINEAR: number;
13123 readonly SVG_FECOMPONENTTRANSFER_TYPE_TABLE: number;
13124 readonly SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN: number;
13125};
13126
13127interface SVGCursorElement extends SVGElement {
13128 readonly x: SVGAnimatedLength;
13129 readonly y: SVGAnimatedLength;
13130 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGCursorElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
13131 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
13132 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGCursorElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
13133 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
13134}
13135
13136declare var SVGCursorElement: {
13137 prototype: SVGCursorElement;
13138 new(): SVGCursorElement;
13139};
13140
13141/** Corresponds to the <defs> element. */
13142interface SVGDefsElement extends SVGGraphicsElement {
13143 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGDefsElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
13144 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
13145 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGDefsElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
13146 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
13147}
13148
13149declare var SVGDefsElement: {
13150 prototype: SVGDefsElement;
13151 new(): SVGDefsElement;
13152};
13153
13154/** Corresponds to the <desc> element. */
13155interface SVGDescElement extends SVGElement {
13156 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGDescElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
13157 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
13158 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGDescElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
13159 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
13160}
13161
13162declare var SVGDescElement: {
13163 prototype: SVGDescElement;
13164 new(): SVGDescElement;
13165};
13166
13167interface SVGElementEventMap extends ElementEventMap, GlobalEventHandlersEventMap, DocumentAndElementEventHandlersEventMap {
13168}
13169
13170/** All of the SVG DOM interfaces that correspond directly to elements in the SVG language derive from the SVGElement interface. */
13171interface SVGElement extends Element, DocumentAndElementEventHandlers, ElementCSSInlineStyle, GlobalEventHandlers, HTMLOrSVGElement, SVGElementInstance {
13172 /** @deprecated */
13173 readonly className: any;
13174 readonly ownerSVGElement: SVGSVGElement | null;
13175 readonly viewportElement: SVGElement | null;
13176 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
13177 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
13178 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
13179 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
13180}
13181
13182declare var SVGElement: {
13183 prototype: SVGElement;
13184 new(): SVGElement;
13185};
13186
13187interface SVGElementInstance extends EventTarget {
13188 readonly correspondingElement: SVGElement;
13189 readonly correspondingUseElement: SVGUseElement;
13190}
13191
13192declare var SVGElementInstance: {
13193 prototype: SVGElementInstance;
13194 new(): SVGElementInstance;
13195};
13196
13197interface SVGElementInstanceList {
13198 /** @deprecated */
13199 readonly length: number;
13200 /** @deprecated */
13201 item(index: number): SVGElementInstance;
13202}
13203
13204declare var SVGElementInstanceList: {
13205 prototype: SVGElementInstanceList;
13206 new(): SVGElementInstanceList;
13207};
13208
13209/** Provides access to the properties of <ellipse> elements. */
13210interface SVGEllipseElement extends SVGGeometryElement {
13211 readonly cx: SVGAnimatedLength;
13212 readonly cy: SVGAnimatedLength;
13213 readonly rx: SVGAnimatedLength;
13214 readonly ry: SVGAnimatedLength;
13215 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGEllipseElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
13216 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
13217 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGEllipseElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
13218 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
13219}
13220
13221declare var SVGEllipseElement: {
13222 prototype: SVGEllipseElement;
13223 new(): SVGEllipseElement;
13224};
13225
13226/** Corresponds to the <feBlend> element. */
13227interface SVGFEBlendElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {
13228 readonly in1: SVGAnimatedString;
13229 readonly in2: SVGAnimatedString;
13230 readonly mode: SVGAnimatedEnumeration;
13231 readonly SVG_FEBLEND_MODE_COLOR: number;
13232 readonly SVG_FEBLEND_MODE_COLOR_BURN: number;
13233 readonly SVG_FEBLEND_MODE_COLOR_DODGE: number;
13234 readonly SVG_FEBLEND_MODE_DARKEN: number;
13235 readonly SVG_FEBLEND_MODE_DIFFERENCE: number;
13236 readonly SVG_FEBLEND_MODE_EXCLUSION: number;
13237 readonly SVG_FEBLEND_MODE_HARD_LIGHT: number;
13238 readonly SVG_FEBLEND_MODE_HUE: number;
13239 readonly SVG_FEBLEND_MODE_LIGHTEN: number;
13240 readonly SVG_FEBLEND_MODE_LUMINOSITY: number;
13241 readonly SVG_FEBLEND_MODE_MULTIPLY: number;
13242 readonly SVG_FEBLEND_MODE_NORMAL: number;
13243 readonly SVG_FEBLEND_MODE_OVERLAY: number;
13244 readonly SVG_FEBLEND_MODE_SATURATION: number;
13245 readonly SVG_FEBLEND_MODE_SCREEN: number;
13246 readonly SVG_FEBLEND_MODE_SOFT_LIGHT: number;
13247 readonly SVG_FEBLEND_MODE_UNKNOWN: number;
13248 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEBlendElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
13249 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
13250 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEBlendElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
13251 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
13252}
13253
13254declare var SVGFEBlendElement: {
13255 prototype: SVGFEBlendElement;
13256 new(): SVGFEBlendElement;
13257 readonly SVG_FEBLEND_MODE_COLOR: number;
13258 readonly SVG_FEBLEND_MODE_COLOR_BURN: number;
13259 readonly SVG_FEBLEND_MODE_COLOR_DODGE: number;
13260 readonly SVG_FEBLEND_MODE_DARKEN: number;
13261 readonly SVG_FEBLEND_MODE_DIFFERENCE: number;
13262 readonly SVG_FEBLEND_MODE_EXCLUSION: number;
13263 readonly SVG_FEBLEND_MODE_HARD_LIGHT: number;
13264 readonly SVG_FEBLEND_MODE_HUE: number;
13265 readonly SVG_FEBLEND_MODE_LIGHTEN: number;
13266 readonly SVG_FEBLEND_MODE_LUMINOSITY: number;
13267 readonly SVG_FEBLEND_MODE_MULTIPLY: number;
13268 readonly SVG_FEBLEND_MODE_NORMAL: number;
13269 readonly SVG_FEBLEND_MODE_OVERLAY: number;
13270 readonly SVG_FEBLEND_MODE_SATURATION: number;
13271 readonly SVG_FEBLEND_MODE_SCREEN: number;
13272 readonly SVG_FEBLEND_MODE_SOFT_LIGHT: number;
13273 readonly SVG_FEBLEND_MODE_UNKNOWN: number;
13274};
13275
13276/** Corresponds to the <feColorMatrix> element. */
13277interface SVGFEColorMatrixElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {
13278 readonly in1: SVGAnimatedString;
13279 readonly type: SVGAnimatedEnumeration;
13280 readonly values: SVGAnimatedNumberList;
13281 readonly SVG_FECOLORMATRIX_TYPE_HUEROTATE: number;
13282 readonly SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA: number;
13283 readonly SVG_FECOLORMATRIX_TYPE_MATRIX: number;
13284 readonly SVG_FECOLORMATRIX_TYPE_SATURATE: number;
13285 readonly SVG_FECOLORMATRIX_TYPE_UNKNOWN: number;
13286 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEColorMatrixElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
13287 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
13288 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEColorMatrixElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
13289 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
13290}
13291
13292declare var SVGFEColorMatrixElement: {
13293 prototype: SVGFEColorMatrixElement;
13294 new(): SVGFEColorMatrixElement;
13295 readonly SVG_FECOLORMATRIX_TYPE_HUEROTATE: number;
13296 readonly SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA: number;
13297 readonly SVG_FECOLORMATRIX_TYPE_MATRIX: number;
13298 readonly SVG_FECOLORMATRIX_TYPE_SATURATE: number;
13299 readonly SVG_FECOLORMATRIX_TYPE_UNKNOWN: number;
13300};
13301
13302/** Corresponds to the <feComponentTransfer> element. */
13303interface SVGFEComponentTransferElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {
13304 readonly in1: SVGAnimatedString;
13305 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEComponentTransferElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
13306 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
13307 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEComponentTransferElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
13308 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
13309}
13310
13311declare var SVGFEComponentTransferElement: {
13312 prototype: SVGFEComponentTransferElement;
13313 new(): SVGFEComponentTransferElement;
13314};
13315
13316/** Corresponds to the <feComposite> element. */
13317interface SVGFECompositeElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {
13318 readonly in1: SVGAnimatedString;
13319 readonly in2: SVGAnimatedString;
13320 readonly k1: SVGAnimatedNumber;
13321 readonly k2: SVGAnimatedNumber;
13322 readonly k3: SVGAnimatedNumber;
13323 readonly k4: SVGAnimatedNumber;
13324 readonly operator: SVGAnimatedEnumeration;
13325 readonly SVG_FECOMPOSITE_OPERATOR_ARITHMETIC: number;
13326 readonly SVG_FECOMPOSITE_OPERATOR_ATOP: number;
13327 readonly SVG_FECOMPOSITE_OPERATOR_IN: number;
13328 readonly SVG_FECOMPOSITE_OPERATOR_OUT: number;
13329 readonly SVG_FECOMPOSITE_OPERATOR_OVER: number;
13330 readonly SVG_FECOMPOSITE_OPERATOR_UNKNOWN: number;
13331 readonly SVG_FECOMPOSITE_OPERATOR_XOR: number;
13332 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFECompositeElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
13333 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
13334 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFECompositeElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
13335 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
13336}
13337
13338declare var SVGFECompositeElement: {
13339 prototype: SVGFECompositeElement;
13340 new(): SVGFECompositeElement;
13341 readonly SVG_FECOMPOSITE_OPERATOR_ARITHMETIC: number;
13342 readonly SVG_FECOMPOSITE_OPERATOR_ATOP: number;
13343 readonly SVG_FECOMPOSITE_OPERATOR_IN: number;
13344 readonly SVG_FECOMPOSITE_OPERATOR_OUT: number;
13345 readonly SVG_FECOMPOSITE_OPERATOR_OVER: number;
13346 readonly SVG_FECOMPOSITE_OPERATOR_UNKNOWN: number;
13347 readonly SVG_FECOMPOSITE_OPERATOR_XOR: number;
13348};
13349
13350/** Corresponds to the <feConvolveMatrix> element. */
13351interface SVGFEConvolveMatrixElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {
13352 readonly bias: SVGAnimatedNumber;
13353 readonly divisor: SVGAnimatedNumber;
13354 readonly edgeMode: SVGAnimatedEnumeration;
13355 readonly in1: SVGAnimatedString;
13356 readonly kernelMatrix: SVGAnimatedNumberList;
13357 readonly kernelUnitLengthX: SVGAnimatedNumber;
13358 readonly kernelUnitLengthY: SVGAnimatedNumber;
13359 readonly orderX: SVGAnimatedInteger;
13360 readonly orderY: SVGAnimatedInteger;
13361 readonly preserveAlpha: SVGAnimatedBoolean;
13362 readonly targetX: SVGAnimatedInteger;
13363 readonly targetY: SVGAnimatedInteger;
13364 readonly SVG_EDGEMODE_DUPLICATE: number;
13365 readonly SVG_EDGEMODE_NONE: number;
13366 readonly SVG_EDGEMODE_UNKNOWN: number;
13367 readonly SVG_EDGEMODE_WRAP: number;
13368 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEConvolveMatrixElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
13369 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
13370 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEConvolveMatrixElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
13371 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
13372}
13373
13374declare var SVGFEConvolveMatrixElement: {
13375 prototype: SVGFEConvolveMatrixElement;
13376 new(): SVGFEConvolveMatrixElement;
13377 readonly SVG_EDGEMODE_DUPLICATE: number;
13378 readonly SVG_EDGEMODE_NONE: number;
13379 readonly SVG_EDGEMODE_UNKNOWN: number;
13380 readonly SVG_EDGEMODE_WRAP: number;
13381};
13382
13383/** Corresponds to the <feDiffuseLighting> element. */
13384interface SVGFEDiffuseLightingElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {
13385 readonly diffuseConstant: SVGAnimatedNumber;
13386 readonly in1: SVGAnimatedString;
13387 readonly kernelUnitLengthX: SVGAnimatedNumber;
13388 readonly kernelUnitLengthY: SVGAnimatedNumber;
13389 readonly surfaceScale: SVGAnimatedNumber;
13390 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEDiffuseLightingElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
13391 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
13392 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEDiffuseLightingElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
13393 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
13394}
13395
13396declare var SVGFEDiffuseLightingElement: {
13397 prototype: SVGFEDiffuseLightingElement;
13398 new(): SVGFEDiffuseLightingElement;
13399};
13400
13401/** Corresponds to the <feDisplacementMap> element. */
13402interface SVGFEDisplacementMapElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {
13403 readonly in1: SVGAnimatedString;
13404 readonly in2: SVGAnimatedString;
13405 readonly scale: SVGAnimatedNumber;
13406 readonly xChannelSelector: SVGAnimatedEnumeration;
13407 readonly yChannelSelector: SVGAnimatedEnumeration;
13408 readonly SVG_CHANNEL_A: number;
13409 readonly SVG_CHANNEL_B: number;
13410 readonly SVG_CHANNEL_G: number;
13411 readonly SVG_CHANNEL_R: number;
13412 readonly SVG_CHANNEL_UNKNOWN: number;
13413 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEDisplacementMapElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
13414 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
13415 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEDisplacementMapElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
13416 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
13417}
13418
13419declare var SVGFEDisplacementMapElement: {
13420 prototype: SVGFEDisplacementMapElement;
13421 new(): SVGFEDisplacementMapElement;
13422 readonly SVG_CHANNEL_A: number;
13423 readonly SVG_CHANNEL_B: number;
13424 readonly SVG_CHANNEL_G: number;
13425 readonly SVG_CHANNEL_R: number;
13426 readonly SVG_CHANNEL_UNKNOWN: number;
13427};
13428
13429/** Corresponds to the <feDistantLight> element. */
13430interface SVGFEDistantLightElement extends SVGElement {
13431 readonly azimuth: SVGAnimatedNumber;
13432 readonly elevation: SVGAnimatedNumber;
13433 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEDistantLightElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
13434 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
13435 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEDistantLightElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
13436 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
13437}
13438
13439declare var SVGFEDistantLightElement: {
13440 prototype: SVGFEDistantLightElement;
13441 new(): SVGFEDistantLightElement;
13442};
13443
13444interface SVGFEDropShadowElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {
13445 readonly dx: SVGAnimatedNumber;
13446 readonly dy: SVGAnimatedNumber;
13447 readonly in1: SVGAnimatedString;
13448 readonly stdDeviationX: SVGAnimatedNumber;
13449 readonly stdDeviationY: SVGAnimatedNumber;
13450 setStdDeviation(stdDeviationX: number, stdDeviationY: number): void;
13451 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEDropShadowElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
13452 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
13453 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEDropShadowElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
13454 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
13455}
13456
13457declare var SVGFEDropShadowElement: {
13458 prototype: SVGFEDropShadowElement;
13459 new(): SVGFEDropShadowElement;
13460};
13461
13462/** Corresponds to the <feFlood> element. */
13463interface SVGFEFloodElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {
13464 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEFloodElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
13465 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
13466 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEFloodElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
13467 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
13468}
13469
13470declare var SVGFEFloodElement: {
13471 prototype: SVGFEFloodElement;
13472 new(): SVGFEFloodElement;
13473};
13474
13475/** Corresponds to the <feFuncA> element. */
13476interface SVGFEFuncAElement extends SVGComponentTransferFunctionElement {
13477 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEFuncAElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
13478 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
13479 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEFuncAElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
13480 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
13481}
13482
13483declare var SVGFEFuncAElement: {
13484 prototype: SVGFEFuncAElement;
13485 new(): SVGFEFuncAElement;
13486};
13487
13488/** Corresponds to the <feFuncB> element. */
13489interface SVGFEFuncBElement extends SVGComponentTransferFunctionElement {
13490 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEFuncBElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
13491 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
13492 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEFuncBElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
13493 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
13494}
13495
13496declare var SVGFEFuncBElement: {
13497 prototype: SVGFEFuncBElement;
13498 new(): SVGFEFuncBElement;
13499};
13500
13501/** Corresponds to the <feFuncG> element. */
13502interface SVGFEFuncGElement extends SVGComponentTransferFunctionElement {
13503 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEFuncGElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
13504 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
13505 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEFuncGElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
13506 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
13507}
13508
13509declare var SVGFEFuncGElement: {
13510 prototype: SVGFEFuncGElement;
13511 new(): SVGFEFuncGElement;
13512};
13513
13514/** Corresponds to the <feFuncR> element. */
13515interface SVGFEFuncRElement extends SVGComponentTransferFunctionElement {
13516 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEFuncRElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
13517 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
13518 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEFuncRElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
13519 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
13520}
13521
13522declare var SVGFEFuncRElement: {
13523 prototype: SVGFEFuncRElement;
13524 new(): SVGFEFuncRElement;
13525};
13526
13527/** Corresponds to the <feGaussianBlur> element. */
13528interface SVGFEGaussianBlurElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {
13529 readonly in1: SVGAnimatedString;
13530 readonly stdDeviationX: SVGAnimatedNumber;
13531 readonly stdDeviationY: SVGAnimatedNumber;
13532 setStdDeviation(stdDeviationX: number, stdDeviationY: number): void;
13533 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEGaussianBlurElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
13534 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
13535 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEGaussianBlurElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
13536 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
13537}
13538
13539declare var SVGFEGaussianBlurElement: {
13540 prototype: SVGFEGaussianBlurElement;
13541 new(): SVGFEGaussianBlurElement;
13542};
13543
13544/** Corresponds to the <feImage> element. */
13545interface SVGFEImageElement extends SVGElement, SVGFilterPrimitiveStandardAttributes, SVGURIReference {
13546 readonly preserveAspectRatio: SVGAnimatedPreserveAspectRatio;
13547 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEImageElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
13548 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
13549 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEImageElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
13550 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
13551}
13552
13553declare var SVGFEImageElement: {
13554 prototype: SVGFEImageElement;
13555 new(): SVGFEImageElement;
13556};
13557
13558/** Corresponds to the <feMerge> element. */
13559interface SVGFEMergeElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {
13560 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEMergeElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
13561 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
13562 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEMergeElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
13563 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
13564}
13565
13566declare var SVGFEMergeElement: {
13567 prototype: SVGFEMergeElement;
13568 new(): SVGFEMergeElement;
13569};
13570
13571/** Corresponds to the <feMergeNode> element. */
13572interface SVGFEMergeNodeElement extends SVGElement {
13573 readonly in1: SVGAnimatedString;
13574 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEMergeNodeElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
13575 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
13576 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEMergeNodeElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
13577 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
13578}
13579
13580declare var SVGFEMergeNodeElement: {
13581 prototype: SVGFEMergeNodeElement;
13582 new(): SVGFEMergeNodeElement;
13583};
13584
13585/** Corresponds to the <feMorphology> element. */
13586interface SVGFEMorphologyElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {
13587 readonly in1: SVGAnimatedString;
13588 readonly operator: SVGAnimatedEnumeration;
13589 readonly radiusX: SVGAnimatedNumber;
13590 readonly radiusY: SVGAnimatedNumber;
13591 readonly SVG_MORPHOLOGY_OPERATOR_DILATE: number;
13592 readonly SVG_MORPHOLOGY_OPERATOR_ERODE: number;
13593 readonly SVG_MORPHOLOGY_OPERATOR_UNKNOWN: number;
13594 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEMorphologyElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
13595 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
13596 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEMorphologyElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
13597 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
13598}
13599
13600declare var SVGFEMorphologyElement: {
13601 prototype: SVGFEMorphologyElement;
13602 new(): SVGFEMorphologyElement;
13603 readonly SVG_MORPHOLOGY_OPERATOR_DILATE: number;
13604 readonly SVG_MORPHOLOGY_OPERATOR_ERODE: number;
13605 readonly SVG_MORPHOLOGY_OPERATOR_UNKNOWN: number;
13606};
13607
13608/** Corresponds to the <feOffset> element. */
13609interface SVGFEOffsetElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {
13610 readonly dx: SVGAnimatedNumber;
13611 readonly dy: SVGAnimatedNumber;
13612 readonly in1: SVGAnimatedString;
13613 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEOffsetElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
13614 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
13615 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEOffsetElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
13616 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
13617}
13618
13619declare var SVGFEOffsetElement: {
13620 prototype: SVGFEOffsetElement;
13621 new(): SVGFEOffsetElement;
13622};
13623
13624/** Corresponds to the <fePointLight> element. */
13625interface SVGFEPointLightElement extends SVGElement {
13626 readonly x: SVGAnimatedNumber;
13627 readonly y: SVGAnimatedNumber;
13628 readonly z: SVGAnimatedNumber;
13629 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEPointLightElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
13630 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
13631 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEPointLightElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
13632 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
13633}
13634
13635declare var SVGFEPointLightElement: {
13636 prototype: SVGFEPointLightElement;
13637 new(): SVGFEPointLightElement;
13638};
13639
13640/** Corresponds to the <feSpecularLighting> element. */
13641interface SVGFESpecularLightingElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {
13642 readonly in1: SVGAnimatedString;
13643 readonly kernelUnitLengthX: SVGAnimatedNumber;
13644 readonly kernelUnitLengthY: SVGAnimatedNumber;
13645 readonly specularConstant: SVGAnimatedNumber;
13646 readonly specularExponent: SVGAnimatedNumber;
13647 readonly surfaceScale: SVGAnimatedNumber;
13648 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFESpecularLightingElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
13649 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
13650 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFESpecularLightingElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
13651 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
13652}
13653
13654declare var SVGFESpecularLightingElement: {
13655 prototype: SVGFESpecularLightingElement;
13656 new(): SVGFESpecularLightingElement;
13657};
13658
13659/** Corresponds to the <feSpotLight> element. */
13660interface SVGFESpotLightElement extends SVGElement {
13661 readonly limitingConeAngle: SVGAnimatedNumber;
13662 readonly pointsAtX: SVGAnimatedNumber;
13663 readonly pointsAtY: SVGAnimatedNumber;
13664 readonly pointsAtZ: SVGAnimatedNumber;
13665 readonly specularExponent: SVGAnimatedNumber;
13666 readonly x: SVGAnimatedNumber;
13667 readonly y: SVGAnimatedNumber;
13668 readonly z: SVGAnimatedNumber;
13669 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFESpotLightElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
13670 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
13671 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFESpotLightElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
13672 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
13673}
13674
13675declare var SVGFESpotLightElement: {
13676 prototype: SVGFESpotLightElement;
13677 new(): SVGFESpotLightElement;
13678};
13679
13680/** Corresponds to the <feTile> element. */
13681interface SVGFETileElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {
13682 readonly in1: SVGAnimatedString;
13683 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFETileElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
13684 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
13685 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFETileElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
13686 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
13687}
13688
13689declare var SVGFETileElement: {
13690 prototype: SVGFETileElement;
13691 new(): SVGFETileElement;
13692};
13693
13694/** Corresponds to the <feTurbulence> element. */
13695interface SVGFETurbulenceElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {
13696 readonly baseFrequencyX: SVGAnimatedNumber;
13697 readonly baseFrequencyY: SVGAnimatedNumber;
13698 readonly numOctaves: SVGAnimatedInteger;
13699 readonly seed: SVGAnimatedNumber;
13700 readonly stitchTiles: SVGAnimatedEnumeration;
13701 readonly type: SVGAnimatedEnumeration;
13702 readonly SVG_STITCHTYPE_NOSTITCH: number;
13703 readonly SVG_STITCHTYPE_STITCH: number;
13704 readonly SVG_STITCHTYPE_UNKNOWN: number;
13705 readonly SVG_TURBULENCE_TYPE_FRACTALNOISE: number;
13706 readonly SVG_TURBULENCE_TYPE_TURBULENCE: number;
13707 readonly SVG_TURBULENCE_TYPE_UNKNOWN: number;
13708 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFETurbulenceElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
13709 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
13710 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFETurbulenceElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
13711 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
13712}
13713
13714declare var SVGFETurbulenceElement: {
13715 prototype: SVGFETurbulenceElement;
13716 new(): SVGFETurbulenceElement;
13717 readonly SVG_STITCHTYPE_NOSTITCH: number;
13718 readonly SVG_STITCHTYPE_STITCH: number;
13719 readonly SVG_STITCHTYPE_UNKNOWN: number;
13720 readonly SVG_TURBULENCE_TYPE_FRACTALNOISE: number;
13721 readonly SVG_TURBULENCE_TYPE_TURBULENCE: number;
13722 readonly SVG_TURBULENCE_TYPE_UNKNOWN: number;
13723};
13724
13725/** Provides access to the properties of <filter> elements, as well as methods to manipulate them. */
13726interface SVGFilterElement extends SVGElement, SVGURIReference {
13727 readonly filterUnits: SVGAnimatedEnumeration;
13728 readonly height: SVGAnimatedLength;
13729 readonly primitiveUnits: SVGAnimatedEnumeration;
13730 readonly width: SVGAnimatedLength;
13731 readonly x: SVGAnimatedLength;
13732 readonly y: SVGAnimatedLength;
13733 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFilterElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
13734 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
13735 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFilterElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
13736 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
13737}
13738
13739declare var SVGFilterElement: {
13740 prototype: SVGFilterElement;
13741 new(): SVGFilterElement;
13742};
13743
13744interface SVGFilterPrimitiveStandardAttributes {
13745 readonly height: SVGAnimatedLength;
13746 readonly result: SVGAnimatedString;
13747 readonly width: SVGAnimatedLength;
13748 readonly x: SVGAnimatedLength;
13749 readonly y: SVGAnimatedLength;
13750}
13751
13752interface SVGFitToViewBox {
13753 readonly preserveAspectRatio: SVGAnimatedPreserveAspectRatio;
13754 readonly viewBox: SVGAnimatedRect;
13755}
13756
13757/** Provides access to the properties of <foreignObject> elements, as well as methods to manipulate them. */
13758interface SVGForeignObjectElement extends SVGGraphicsElement {
13759 readonly height: SVGAnimatedLength;
13760 readonly width: SVGAnimatedLength;
13761 readonly x: SVGAnimatedLength;
13762 readonly y: SVGAnimatedLength;
13763 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGForeignObjectElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
13764 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
13765 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGForeignObjectElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
13766 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
13767}
13768
13769declare var SVGForeignObjectElement: {
13770 prototype: SVGForeignObjectElement;
13771 new(): SVGForeignObjectElement;
13772};
13773
13774/** Corresponds to the <g> element. */
13775interface SVGGElement extends SVGGraphicsElement {
13776 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGGElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
13777 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
13778 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGGElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
13779 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
13780}
13781
13782declare var SVGGElement: {
13783 prototype: SVGGElement;
13784 new(): SVGGElement;
13785};
13786
13787interface SVGGeometryElement extends SVGGraphicsElement {
13788 readonly pathLength: SVGAnimatedNumber;
13789 getPointAtLength(distance: number): DOMPoint;
13790 getTotalLength(): number;
13791 isPointInFill(point?: DOMPointInit): boolean;
13792 isPointInStroke(point?: DOMPointInit): boolean;
13793 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGGeometryElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
13794 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
13795 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGGeometryElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
13796 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
13797}
13798
13799declare var SVGGeometryElement: {
13800 prototype: SVGGeometryElement;
13801 new(): SVGGeometryElement;
13802};
13803
13804/** The SVGGradient interface is a base interface used by SVGLinearGradientElement and SVGRadialGradientElement. */
13805interface SVGGradientElement extends SVGElement, SVGURIReference {
13806 readonly gradientTransform: SVGAnimatedTransformList;
13807 readonly gradientUnits: SVGAnimatedEnumeration;
13808 readonly spreadMethod: SVGAnimatedEnumeration;
13809 readonly SVG_SPREADMETHOD_PAD: number;
13810 readonly SVG_SPREADMETHOD_REFLECT: number;
13811 readonly SVG_SPREADMETHOD_REPEAT: number;
13812 readonly SVG_SPREADMETHOD_UNKNOWN: number;
13813 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGGradientElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
13814 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
13815 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGGradientElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
13816 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
13817}
13818
13819declare var SVGGradientElement: {
13820 prototype: SVGGradientElement;
13821 new(): SVGGradientElement;
13822 readonly SVG_SPREADMETHOD_PAD: number;
13823 readonly SVG_SPREADMETHOD_REFLECT: number;
13824 readonly SVG_SPREADMETHOD_REPEAT: number;
13825 readonly SVG_SPREADMETHOD_UNKNOWN: number;
13826};
13827
13828/** SVG elements whose primary purpose is to directly render graphics into a group. */
13829interface SVGGraphicsElement extends SVGElement, SVGTests {
13830 readonly transform: SVGAnimatedTransformList;
13831 getBBox(options?: SVGBoundingBoxOptions): DOMRect;
13832 getCTM(): DOMMatrix | null;
13833 getScreenCTM(): DOMMatrix | null;
13834 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGGraphicsElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
13835 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
13836 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGGraphicsElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
13837 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
13838}
13839
13840declare var SVGGraphicsElement: {
13841 prototype: SVGGraphicsElement;
13842 new(): SVGGraphicsElement;
13843};
13844
13845/** Corresponds to the <image> element. */
13846interface SVGImageElement extends SVGGraphicsElement, SVGURIReference {
13847 readonly height: SVGAnimatedLength;
13848 readonly preserveAspectRatio: SVGAnimatedPreserveAspectRatio;
13849 readonly width: SVGAnimatedLength;
13850 readonly x: SVGAnimatedLength;
13851 readonly y: SVGAnimatedLength;
13852 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGImageElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
13853 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
13854 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGImageElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
13855 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
13856}
13857
13858declare var SVGImageElement: {
13859 prototype: SVGImageElement;
13860 new(): SVGImageElement;
13861};
13862
13863/** Correspond to the <length> basic data type. */
13864interface SVGLength {
13865 readonly unitType: number;
13866 value: number;
13867 valueAsString: string;
13868 valueInSpecifiedUnits: number;
13869 convertToSpecifiedUnits(unitType: number): void;
13870 newValueSpecifiedUnits(unitType: number, valueInSpecifiedUnits: number): void;
13871 readonly SVG_LENGTHTYPE_CM: number;
13872 readonly SVG_LENGTHTYPE_EMS: number;
13873 readonly SVG_LENGTHTYPE_EXS: number;
13874 readonly SVG_LENGTHTYPE_IN: number;
13875 readonly SVG_LENGTHTYPE_MM: number;
13876 readonly SVG_LENGTHTYPE_NUMBER: number;
13877 readonly SVG_LENGTHTYPE_PC: number;
13878 readonly SVG_LENGTHTYPE_PERCENTAGE: number;
13879 readonly SVG_LENGTHTYPE_PT: number;
13880 readonly SVG_LENGTHTYPE_PX: number;
13881 readonly SVG_LENGTHTYPE_UNKNOWN: number;
13882}
13883
13884declare var SVGLength: {
13885 prototype: SVGLength;
13886 new(): SVGLength;
13887 readonly SVG_LENGTHTYPE_CM: number;
13888 readonly SVG_LENGTHTYPE_EMS: number;
13889 readonly SVG_LENGTHTYPE_EXS: number;
13890 readonly SVG_LENGTHTYPE_IN: number;
13891 readonly SVG_LENGTHTYPE_MM: number;
13892 readonly SVG_LENGTHTYPE_NUMBER: number;
13893 readonly SVG_LENGTHTYPE_PC: number;
13894 readonly SVG_LENGTHTYPE_PERCENTAGE: number;
13895 readonly SVG_LENGTHTYPE_PT: number;
13896 readonly SVG_LENGTHTYPE_PX: number;
13897 readonly SVG_LENGTHTYPE_UNKNOWN: number;
13898};
13899
13900/** The SVGLengthList defines a list of SVGLength objects. */
13901interface SVGLengthList {
13902 readonly length: number;
13903 readonly numberOfItems: number;
13904 appendItem(newItem: SVGLength): SVGLength;
13905 clear(): void;
13906 getItem(index: number): SVGLength;
13907 initialize(newItem: SVGLength): SVGLength;
13908 insertItemBefore(newItem: SVGLength, index: number): SVGLength;
13909 removeItem(index: number): SVGLength;
13910 replaceItem(newItem: SVGLength, index: number): SVGLength;
13911 [index: number]: SVGLength;
13912}
13913
13914declare var SVGLengthList: {
13915 prototype: SVGLengthList;
13916 new(): SVGLengthList;
13917};
13918
13919/** Provides access to the properties of <line> elements, as well as methods to manipulate them. */
13920interface SVGLineElement extends SVGGeometryElement {
13921 readonly x1: SVGAnimatedLength;
13922 readonly x2: SVGAnimatedLength;
13923 readonly y1: SVGAnimatedLength;
13924 readonly y2: SVGAnimatedLength;
13925 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGLineElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
13926 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
13927 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGLineElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
13928 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
13929}
13930
13931declare var SVGLineElement: {
13932 prototype: SVGLineElement;
13933 new(): SVGLineElement;
13934};
13935
13936/** Corresponds to the <linearGradient> element. */
13937interface SVGLinearGradientElement extends SVGGradientElement {
13938 readonly x1: SVGAnimatedLength;
13939 readonly x2: SVGAnimatedLength;
13940 readonly y1: SVGAnimatedLength;
13941 readonly y2: SVGAnimatedLength;
13942 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGLinearGradientElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
13943 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
13944 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGLinearGradientElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
13945 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
13946}
13947
13948declare var SVGLinearGradientElement: {
13949 prototype: SVGLinearGradientElement;
13950 new(): SVGLinearGradientElement;
13951};
13952
13953interface SVGMarkerElement extends SVGElement, SVGFitToViewBox {
13954 readonly markerHeight: SVGAnimatedLength;
13955 readonly markerUnits: SVGAnimatedEnumeration;
13956 readonly markerWidth: SVGAnimatedLength;
13957 readonly orientAngle: SVGAnimatedAngle;
13958 readonly orientType: SVGAnimatedEnumeration;
13959 readonly refX: SVGAnimatedLength;
13960 readonly refY: SVGAnimatedLength;
13961 setOrientToAngle(angle: SVGAngle): void;
13962 setOrientToAuto(): void;
13963 readonly SVG_MARKERUNITS_STROKEWIDTH: number;
13964 readonly SVG_MARKERUNITS_UNKNOWN: number;
13965 readonly SVG_MARKERUNITS_USERSPACEONUSE: number;
13966 readonly SVG_MARKER_ORIENT_ANGLE: number;
13967 readonly SVG_MARKER_ORIENT_AUTO: number;
13968 readonly SVG_MARKER_ORIENT_UNKNOWN: number;
13969 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGMarkerElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
13970 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
13971 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGMarkerElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
13972 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
13973}
13974
13975declare var SVGMarkerElement: {
13976 prototype: SVGMarkerElement;
13977 new(): SVGMarkerElement;
13978 readonly SVG_MARKERUNITS_STROKEWIDTH: number;
13979 readonly SVG_MARKERUNITS_UNKNOWN: number;
13980 readonly SVG_MARKERUNITS_USERSPACEONUSE: number;
13981 readonly SVG_MARKER_ORIENT_ANGLE: number;
13982 readonly SVG_MARKER_ORIENT_AUTO: number;
13983 readonly SVG_MARKER_ORIENT_UNKNOWN: number;
13984};
13985
13986/** Provides access to the properties of <mask> elements, as well as methods to manipulate them. */
13987interface SVGMaskElement extends SVGElement {
13988 readonly height: SVGAnimatedLength;
13989 readonly maskContentUnits: SVGAnimatedEnumeration;
13990 readonly maskUnits: SVGAnimatedEnumeration;
13991 readonly width: SVGAnimatedLength;
13992 readonly x: SVGAnimatedLength;
13993 readonly y: SVGAnimatedLength;
13994 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGMaskElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
13995 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
13996 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGMaskElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
13997 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
13998}
13999
14000declare var SVGMaskElement: {
14001 prototype: SVGMaskElement;
14002 new(): SVGMaskElement;
14003};
14004
14005/** Corresponds to the <metadata> element. */
14006interface SVGMetadataElement extends SVGElement {
14007 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGMetadataElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
14008 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
14009 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGMetadataElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
14010 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
14011}
14012
14013declare var SVGMetadataElement: {
14014 prototype: SVGMetadataElement;
14015 new(): SVGMetadataElement;
14016};
14017
14018/** Corresponds to the <number> basic data type. */
14019interface SVGNumber {
14020 value: number;
14021}
14022
14023declare var SVGNumber: {
14024 prototype: SVGNumber;
14025 new(): SVGNumber;
14026};
14027
14028/** The SVGNumberList defines a list of SVGNumber objects. */
14029interface SVGNumberList {
14030 readonly length: number;
14031 readonly numberOfItems: number;
14032 appendItem(newItem: SVGNumber): SVGNumber;
14033 clear(): void;
14034 getItem(index: number): SVGNumber;
14035 initialize(newItem: SVGNumber): SVGNumber;
14036 insertItemBefore(newItem: SVGNumber, index: number): SVGNumber;
14037 removeItem(index: number): SVGNumber;
14038 replaceItem(newItem: SVGNumber, index: number): SVGNumber;
14039 [index: number]: SVGNumber;
14040}
14041
14042declare var SVGNumberList: {
14043 prototype: SVGNumberList;
14044 new(): SVGNumberList;
14045};
14046
14047/** Corresponds to the <path> element. */
14048interface SVGPathElement extends SVGGraphicsElement {
14049 /** @deprecated */
14050 readonly pathSegList: SVGPathSegList;
14051 /** @deprecated */
14052 createSVGPathSegArcAbs(x: number, y: number, r1: number, r2: number, angle: number, largeArcFlag: boolean, sweepFlag: boolean): SVGPathSegArcAbs;
14053 /** @deprecated */
14054 createSVGPathSegArcRel(x: number, y: number, r1: number, r2: number, angle: number, largeArcFlag: boolean, sweepFlag: boolean): SVGPathSegArcRel;
14055 /** @deprecated */
14056 createSVGPathSegClosePath(): SVGPathSegClosePath;
14057 /** @deprecated */
14058 createSVGPathSegCurvetoCubicAbs(x: number, y: number, x1: number, y1: number, x2: number, y2: number): SVGPathSegCurvetoCubicAbs;
14059 /** @deprecated */
14060 createSVGPathSegCurvetoCubicRel(x: number, y: number, x1: number, y1: number, x2: number, y2: number): SVGPathSegCurvetoCubicRel;
14061 /** @deprecated */
14062 createSVGPathSegCurvetoCubicSmoothAbs(x: number, y: number, x2: number, y2: number): SVGPathSegCurvetoCubicSmoothAbs;
14063 /** @deprecated */
14064 createSVGPathSegCurvetoCubicSmoothRel(x: number, y: number, x2: number, y2: number): SVGPathSegCurvetoCubicSmoothRel;
14065 /** @deprecated */
14066 createSVGPathSegCurvetoQuadraticAbs(x: number, y: number, x1: number, y1: number): SVGPathSegCurvetoQuadraticAbs;
14067 /** @deprecated */
14068 createSVGPathSegCurvetoQuadraticRel(x: number, y: number, x1: number, y1: number): SVGPathSegCurvetoQuadraticRel;
14069 /** @deprecated */
14070 createSVGPathSegCurvetoQuadraticSmoothAbs(x: number, y: number): SVGPathSegCurvetoQuadraticSmoothAbs;
14071 /** @deprecated */
14072 createSVGPathSegCurvetoQuadraticSmoothRel(x: number, y: number): SVGPathSegCurvetoQuadraticSmoothRel;
14073 /** @deprecated */
14074 createSVGPathSegLinetoAbs(x: number, y: number): SVGPathSegLinetoAbs;
14075 /** @deprecated */
14076 createSVGPathSegLinetoHorizontalAbs(x: number): SVGPathSegLinetoHorizontalAbs;
14077 /** @deprecated */
14078 createSVGPathSegLinetoHorizontalRel(x: number): SVGPathSegLinetoHorizontalRel;
14079 /** @deprecated */
14080 createSVGPathSegLinetoRel(x: number, y: number): SVGPathSegLinetoRel;
14081 /** @deprecated */
14082 createSVGPathSegLinetoVerticalAbs(y: number): SVGPathSegLinetoVerticalAbs;
14083 /** @deprecated */
14084 createSVGPathSegLinetoVerticalRel(y: number): SVGPathSegLinetoVerticalRel;
14085 /** @deprecated */
14086 createSVGPathSegMovetoAbs(x: number, y: number): SVGPathSegMovetoAbs;
14087 /** @deprecated */
14088 createSVGPathSegMovetoRel(x: number, y: number): SVGPathSegMovetoRel;
14089 /** @deprecated */
14090 getPathSegAtLength(distance: number): number;
14091 getPointAtLength(distance: number): SVGPoint;
14092 getTotalLength(): number;
14093 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGPathElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
14094 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
14095 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGPathElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
14096 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
14097}
14098
14099declare var SVGPathElement: {
14100 prototype: SVGPathElement;
14101 new(): SVGPathElement;
14102};
14103
14104interface SVGPathSeg {
14105 readonly pathSegType: number;
14106 readonly pathSegTypeAsLetter: string;
14107 readonly PATHSEG_ARC_ABS: number;
14108 readonly PATHSEG_ARC_REL: number;
14109 readonly PATHSEG_CLOSEPATH: number;
14110 readonly PATHSEG_CURVETO_CUBIC_ABS: number;
14111 readonly PATHSEG_CURVETO_CUBIC_REL: number;
14112 readonly PATHSEG_CURVETO_CUBIC_SMOOTH_ABS: number;
14113 readonly PATHSEG_CURVETO_CUBIC_SMOOTH_REL: number;
14114 readonly PATHSEG_CURVETO_QUADRATIC_ABS: number;
14115 readonly PATHSEG_CURVETO_QUADRATIC_REL: number;
14116 readonly PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS: number;
14117 readonly PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL: number;
14118 readonly PATHSEG_LINETO_ABS: number;
14119 readonly PATHSEG_LINETO_HORIZONTAL_ABS: number;
14120 readonly PATHSEG_LINETO_HORIZONTAL_REL: number;
14121 readonly PATHSEG_LINETO_REL: number;
14122 readonly PATHSEG_LINETO_VERTICAL_ABS: number;
14123 readonly PATHSEG_LINETO_VERTICAL_REL: number;
14124 readonly PATHSEG_MOVETO_ABS: number;
14125 readonly PATHSEG_MOVETO_REL: number;
14126 readonly PATHSEG_UNKNOWN: number;
14127}
14128
14129declare var SVGPathSeg: {
14130 prototype: SVGPathSeg;
14131 new(): SVGPathSeg;
14132 readonly PATHSEG_ARC_ABS: number;
14133 readonly PATHSEG_ARC_REL: number;
14134 readonly PATHSEG_CLOSEPATH: number;
14135 readonly PATHSEG_CURVETO_CUBIC_ABS: number;
14136 readonly PATHSEG_CURVETO_CUBIC_REL: number;
14137 readonly PATHSEG_CURVETO_CUBIC_SMOOTH_ABS: number;
14138 readonly PATHSEG_CURVETO_CUBIC_SMOOTH_REL: number;
14139 readonly PATHSEG_CURVETO_QUADRATIC_ABS: number;
14140 readonly PATHSEG_CURVETO_QUADRATIC_REL: number;
14141 readonly PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS: number;
14142 readonly PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL: number;
14143 readonly PATHSEG_LINETO_ABS: number;
14144 readonly PATHSEG_LINETO_HORIZONTAL_ABS: number;
14145 readonly PATHSEG_LINETO_HORIZONTAL_REL: number;
14146 readonly PATHSEG_LINETO_REL: number;
14147 readonly PATHSEG_LINETO_VERTICAL_ABS: number;
14148 readonly PATHSEG_LINETO_VERTICAL_REL: number;
14149 readonly PATHSEG_MOVETO_ABS: number;
14150 readonly PATHSEG_MOVETO_REL: number;
14151 readonly PATHSEG_UNKNOWN: number;
14152};
14153
14154interface SVGPathSegArcAbs extends SVGPathSeg {
14155 angle: number;
14156 largeArcFlag: boolean;
14157 r1: number;
14158 r2: number;
14159 sweepFlag: boolean;
14160 x: number;
14161 y: number;
14162}
14163
14164declare var SVGPathSegArcAbs: {
14165 prototype: SVGPathSegArcAbs;
14166 new(): SVGPathSegArcAbs;
14167};
14168
14169interface SVGPathSegArcRel extends SVGPathSeg {
14170 angle: number;
14171 largeArcFlag: boolean;
14172 r1: number;
14173 r2: number;
14174 sweepFlag: boolean;
14175 x: number;
14176 y: number;
14177}
14178
14179declare var SVGPathSegArcRel: {
14180 prototype: SVGPathSegArcRel;
14181 new(): SVGPathSegArcRel;
14182};
14183
14184interface SVGPathSegClosePath extends SVGPathSeg {
14185}
14186
14187declare var SVGPathSegClosePath: {
14188 prototype: SVGPathSegClosePath;
14189 new(): SVGPathSegClosePath;
14190};
14191
14192interface SVGPathSegCurvetoCubicAbs extends SVGPathSeg {
14193 x: number;
14194 x1: number;
14195 x2: number;
14196 y: number;
14197 y1: number;
14198 y2: number;
14199}
14200
14201declare var SVGPathSegCurvetoCubicAbs: {
14202 prototype: SVGPathSegCurvetoCubicAbs;
14203 new(): SVGPathSegCurvetoCubicAbs;
14204};
14205
14206interface SVGPathSegCurvetoCubicRel extends SVGPathSeg {
14207 x: number;
14208 x1: number;
14209 x2: number;
14210 y: number;
14211 y1: number;
14212 y2: number;
14213}
14214
14215declare var SVGPathSegCurvetoCubicRel: {
14216 prototype: SVGPathSegCurvetoCubicRel;
14217 new(): SVGPathSegCurvetoCubicRel;
14218};
14219
14220interface SVGPathSegCurvetoCubicSmoothAbs extends SVGPathSeg {
14221 x: number;
14222 x2: number;
14223 y: number;
14224 y2: number;
14225}
14226
14227declare var SVGPathSegCurvetoCubicSmoothAbs: {
14228 prototype: SVGPathSegCurvetoCubicSmoothAbs;
14229 new(): SVGPathSegCurvetoCubicSmoothAbs;
14230};
14231
14232interface SVGPathSegCurvetoCubicSmoothRel extends SVGPathSeg {
14233 x: number;
14234 x2: number;
14235 y: number;
14236 y2: number;
14237}
14238
14239declare var SVGPathSegCurvetoCubicSmoothRel: {
14240 prototype: SVGPathSegCurvetoCubicSmoothRel;
14241 new(): SVGPathSegCurvetoCubicSmoothRel;
14242};
14243
14244interface SVGPathSegCurvetoQuadraticAbs extends SVGPathSeg {
14245 x: number;
14246 x1: number;
14247 y: number;
14248 y1: number;
14249}
14250
14251declare var SVGPathSegCurvetoQuadraticAbs: {
14252 prototype: SVGPathSegCurvetoQuadraticAbs;
14253 new(): SVGPathSegCurvetoQuadraticAbs;
14254};
14255
14256interface SVGPathSegCurvetoQuadraticRel extends SVGPathSeg {
14257 x: number;
14258 x1: number;
14259 y: number;
14260 y1: number;
14261}
14262
14263declare var SVGPathSegCurvetoQuadraticRel: {
14264 prototype: SVGPathSegCurvetoQuadraticRel;
14265 new(): SVGPathSegCurvetoQuadraticRel;
14266};
14267
14268interface SVGPathSegCurvetoQuadraticSmoothAbs extends SVGPathSeg {
14269 x: number;
14270 y: number;
14271}
14272
14273declare var SVGPathSegCurvetoQuadraticSmoothAbs: {
14274 prototype: SVGPathSegCurvetoQuadraticSmoothAbs;
14275 new(): SVGPathSegCurvetoQuadraticSmoothAbs;
14276};
14277
14278interface SVGPathSegCurvetoQuadraticSmoothRel extends SVGPathSeg {
14279 x: number;
14280 y: number;
14281}
14282
14283declare var SVGPathSegCurvetoQuadraticSmoothRel: {
14284 prototype: SVGPathSegCurvetoQuadraticSmoothRel;
14285 new(): SVGPathSegCurvetoQuadraticSmoothRel;
14286};
14287
14288interface SVGPathSegLinetoAbs extends SVGPathSeg {
14289 x: number;
14290 y: number;
14291}
14292
14293declare var SVGPathSegLinetoAbs: {
14294 prototype: SVGPathSegLinetoAbs;
14295 new(): SVGPathSegLinetoAbs;
14296};
14297
14298interface SVGPathSegLinetoHorizontalAbs extends SVGPathSeg {
14299 x: number;
14300}
14301
14302declare var SVGPathSegLinetoHorizontalAbs: {
14303 prototype: SVGPathSegLinetoHorizontalAbs;
14304 new(): SVGPathSegLinetoHorizontalAbs;
14305};
14306
14307interface SVGPathSegLinetoHorizontalRel extends SVGPathSeg {
14308 x: number;
14309}
14310
14311declare var SVGPathSegLinetoHorizontalRel: {
14312 prototype: SVGPathSegLinetoHorizontalRel;
14313 new(): SVGPathSegLinetoHorizontalRel;
14314};
14315
14316interface SVGPathSegLinetoRel extends SVGPathSeg {
14317 x: number;
14318 y: number;
14319}
14320
14321declare var SVGPathSegLinetoRel: {
14322 prototype: SVGPathSegLinetoRel;
14323 new(): SVGPathSegLinetoRel;
14324};
14325
14326interface SVGPathSegLinetoVerticalAbs extends SVGPathSeg {
14327 y: number;
14328}
14329
14330declare var SVGPathSegLinetoVerticalAbs: {
14331 prototype: SVGPathSegLinetoVerticalAbs;
14332 new(): SVGPathSegLinetoVerticalAbs;
14333};
14334
14335interface SVGPathSegLinetoVerticalRel extends SVGPathSeg {
14336 y: number;
14337}
14338
14339declare var SVGPathSegLinetoVerticalRel: {
14340 prototype: SVGPathSegLinetoVerticalRel;
14341 new(): SVGPathSegLinetoVerticalRel;
14342};
14343
14344interface SVGPathSegList {
14345 readonly numberOfItems: number;
14346 appendItem(newItem: SVGPathSeg): SVGPathSeg;
14347 clear(): void;
14348 getItem(index: number): SVGPathSeg;
14349 initialize(newItem: SVGPathSeg): SVGPathSeg;
14350 insertItemBefore(newItem: SVGPathSeg, index: number): SVGPathSeg;
14351 removeItem(index: number): SVGPathSeg;
14352 replaceItem(newItem: SVGPathSeg, index: number): SVGPathSeg;
14353}
14354
14355declare var SVGPathSegList: {
14356 prototype: SVGPathSegList;
14357 new(): SVGPathSegList;
14358};
14359
14360interface SVGPathSegMovetoAbs extends SVGPathSeg {
14361 x: number;
14362 y: number;
14363}
14364
14365declare var SVGPathSegMovetoAbs: {
14366 prototype: SVGPathSegMovetoAbs;
14367 new(): SVGPathSegMovetoAbs;
14368};
14369
14370interface SVGPathSegMovetoRel extends SVGPathSeg {
14371 x: number;
14372 y: number;
14373}
14374
14375declare var SVGPathSegMovetoRel: {
14376 prototype: SVGPathSegMovetoRel;
14377 new(): SVGPathSegMovetoRel;
14378};
14379
14380/** Corresponds to the <pattern> element. */
14381interface SVGPatternElement extends SVGElement, SVGFitToViewBox, SVGTests, SVGURIReference {
14382 readonly height: SVGAnimatedLength;
14383 readonly patternContentUnits: SVGAnimatedEnumeration;
14384 readonly patternTransform: SVGAnimatedTransformList;
14385 readonly patternUnits: SVGAnimatedEnumeration;
14386 readonly width: SVGAnimatedLength;
14387 readonly x: SVGAnimatedLength;
14388 readonly y: SVGAnimatedLength;
14389 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGPatternElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
14390 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
14391 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGPatternElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
14392 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
14393}
14394
14395declare var SVGPatternElement: {
14396 prototype: SVGPatternElement;
14397 new(): SVGPatternElement;
14398};
14399
14400interface SVGPointList {
14401 readonly length: number;
14402 readonly numberOfItems: number;
14403 appendItem(newItem: DOMPoint): DOMPoint;
14404 clear(): void;
14405 getItem(index: number): DOMPoint;
14406 initialize(newItem: DOMPoint): DOMPoint;
14407 insertItemBefore(newItem: DOMPoint, index: number): DOMPoint;
14408 removeItem(index: number): DOMPoint;
14409 replaceItem(newItem: DOMPoint, index: number): DOMPoint;
14410 [index: number]: DOMPoint;
14411}
14412
14413declare var SVGPointList: {
14414 prototype: SVGPointList;
14415 new(): SVGPointList;
14416};
14417
14418/** Provides access to the properties of <polygon> elements, as well as methods to manipulate them. */
14419interface SVGPolygonElement extends SVGGeometryElement, SVGAnimatedPoints {
14420 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGPolygonElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
14421 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
14422 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGPolygonElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
14423 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
14424}
14425
14426declare var SVGPolygonElement: {
14427 prototype: SVGPolygonElement;
14428 new(): SVGPolygonElement;
14429};
14430
14431/** Provides access to the properties of <polyline> elements, as well as methods to manipulate them. */
14432interface SVGPolylineElement extends SVGGeometryElement, SVGAnimatedPoints {
14433 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGPolylineElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
14434 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
14435 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGPolylineElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
14436 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
14437}
14438
14439declare var SVGPolylineElement: {
14440 prototype: SVGPolylineElement;
14441 new(): SVGPolylineElement;
14442};
14443
14444/** Corresponds to the preserveAspectRatio attribute, which is available for some of SVG's elements. */
14445interface SVGPreserveAspectRatio {
14446 align: number;
14447 meetOrSlice: number;
14448 readonly SVG_MEETORSLICE_MEET: number;
14449 readonly SVG_MEETORSLICE_SLICE: number;
14450 readonly SVG_MEETORSLICE_UNKNOWN: number;
14451 readonly SVG_PRESERVEASPECTRATIO_NONE: number;
14452 readonly SVG_PRESERVEASPECTRATIO_UNKNOWN: number;
14453 readonly SVG_PRESERVEASPECTRATIO_XMAXYMAX: number;
14454 readonly SVG_PRESERVEASPECTRATIO_XMAXYMID: number;
14455 readonly SVG_PRESERVEASPECTRATIO_XMAXYMIN: number;
14456 readonly SVG_PRESERVEASPECTRATIO_XMIDYMAX: number;
14457 readonly SVG_PRESERVEASPECTRATIO_XMIDYMID: number;
14458 readonly SVG_PRESERVEASPECTRATIO_XMIDYMIN: number;
14459 readonly SVG_PRESERVEASPECTRATIO_XMINYMAX: number;
14460 readonly SVG_PRESERVEASPECTRATIO_XMINYMID: number;
14461 readonly SVG_PRESERVEASPECTRATIO_XMINYMIN: number;
14462}
14463
14464declare var SVGPreserveAspectRatio: {
14465 prototype: SVGPreserveAspectRatio;
14466 new(): SVGPreserveAspectRatio;
14467 readonly SVG_MEETORSLICE_MEET: number;
14468 readonly SVG_MEETORSLICE_SLICE: number;
14469 readonly SVG_MEETORSLICE_UNKNOWN: number;
14470 readonly SVG_PRESERVEASPECTRATIO_NONE: number;
14471 readonly SVG_PRESERVEASPECTRATIO_UNKNOWN: number;
14472 readonly SVG_PRESERVEASPECTRATIO_XMAXYMAX: number;
14473 readonly SVG_PRESERVEASPECTRATIO_XMAXYMID: number;
14474 readonly SVG_PRESERVEASPECTRATIO_XMAXYMIN: number;
14475 readonly SVG_PRESERVEASPECTRATIO_XMIDYMAX: number;
14476 readonly SVG_PRESERVEASPECTRATIO_XMIDYMID: number;
14477 readonly SVG_PRESERVEASPECTRATIO_XMIDYMIN: number;
14478 readonly SVG_PRESERVEASPECTRATIO_XMINYMAX: number;
14479 readonly SVG_PRESERVEASPECTRATIO_XMINYMID: number;
14480 readonly SVG_PRESERVEASPECTRATIO_XMINYMIN: number;
14481};
14482
14483/** Corresponds to the <RadialGradient> element. */
14484interface SVGRadialGradientElement extends SVGGradientElement {
14485 readonly cx: SVGAnimatedLength;
14486 readonly cy: SVGAnimatedLength;
14487 readonly fx: SVGAnimatedLength;
14488 readonly fy: SVGAnimatedLength;
14489 readonly r: SVGAnimatedLength;
14490 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGRadialGradientElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
14491 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
14492 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGRadialGradientElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
14493 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
14494}
14495
14496declare var SVGRadialGradientElement: {
14497 prototype: SVGRadialGradientElement;
14498 new(): SVGRadialGradientElement;
14499};
14500
14501/** Provides access to the properties of <rect> elements, as well as methods to manipulate them. */
14502interface SVGRectElement extends SVGGeometryElement {
14503 readonly height: SVGAnimatedLength;
14504 readonly rx: SVGAnimatedLength;
14505 readonly ry: SVGAnimatedLength;
14506 readonly width: SVGAnimatedLength;
14507 readonly x: SVGAnimatedLength;
14508 readonly y: SVGAnimatedLength;
14509 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGRectElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
14510 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
14511 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGRectElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
14512 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
14513}
14514
14515declare var SVGRectElement: {
14516 prototype: SVGRectElement;
14517 new(): SVGRectElement;
14518};
14519
14520interface SVGSVGElementEventMap extends SVGElementEventMap {
14521 "SVGUnload": Event;
14522 "SVGZoom": SVGZoomEvent;
14523}
14524
14525/** Provides access to the properties of <svg> elements, as well as methods to manipulate them. This interface contains also various miscellaneous commonly-used utility methods, such as matrix operations and the ability to control the time of redraw on visual rendering devices. */
14526interface SVGSVGElement extends SVGGraphicsElement, DocumentEvent, SVGFitToViewBox, SVGZoomAndPan {
14527 /** @deprecated */
14528 contentScriptType: string;
14529 /** @deprecated */
14530 contentStyleType: string;
14531 currentScale: number;
14532 readonly currentTranslate: SVGPoint;
14533 readonly height: SVGAnimatedLength;
14534 onunload: ((this: SVGSVGElement, ev: Event) => any) | null;
14535 onzoom: ((this: SVGSVGElement, ev: SVGZoomEvent) => any) | null;
14536 /** @deprecated */
14537 readonly pixelUnitToMillimeterX: number;
14538 /** @deprecated */
14539 readonly pixelUnitToMillimeterY: number;
14540 /** @deprecated */
14541 readonly screenPixelToMillimeterX: number;
14542 /** @deprecated */
14543 readonly screenPixelToMillimeterY: number;
14544 /** @deprecated */
14545 readonly viewport: SVGRect;
14546 readonly width: SVGAnimatedLength;
14547 readonly x: SVGAnimatedLength;
14548 readonly y: SVGAnimatedLength;
14549 animationsPaused(): boolean;
14550 checkEnclosure(element: SVGElement, rect: SVGRect): boolean;
14551 checkIntersection(element: SVGElement, rect: SVGRect): boolean;
14552 createSVGAngle(): SVGAngle;
14553 createSVGLength(): SVGLength;
14554 createSVGMatrix(): SVGMatrix;
14555 createSVGNumber(): SVGNumber;
14556 createSVGPoint(): SVGPoint;
14557 createSVGRect(): SVGRect;
14558 createSVGTransform(): SVGTransform;
14559 createSVGTransformFromMatrix(matrix: SVGMatrix): SVGTransform;
14560 deselectAll(): void;
14561 /** @deprecated */
14562 forceRedraw(): void;
14563 getComputedStyle(elt: Element, pseudoElt?: string | null): CSSStyleDeclaration;
14564 getCurrentTime(): number;
14565 getElementById(elementId: string): Element;
14566 getEnclosureList(rect: SVGRect, referenceElement: SVGElement): NodeListOf<SVGCircleElement | SVGEllipseElement | SVGImageElement | SVGLineElement | SVGPathElement | SVGPolygonElement | SVGPolylineElement | SVGRectElement | SVGTextElement | SVGUseElement>;
14567 getIntersectionList(rect: SVGRect, referenceElement: SVGElement): NodeListOf<SVGCircleElement | SVGEllipseElement | SVGImageElement | SVGLineElement | SVGPathElement | SVGPolygonElement | SVGPolylineElement | SVGRectElement | SVGTextElement | SVGUseElement>;
14568 pauseAnimations(): void;
14569 setCurrentTime(seconds: number): void;
14570 /** @deprecated */
14571 suspendRedraw(maxWaitMilliseconds: number): number;
14572 unpauseAnimations(): void;
14573 /** @deprecated */
14574 unsuspendRedraw(suspendHandleID: number): void;
14575 /** @deprecated */
14576 unsuspendRedrawAll(): void;
14577 addEventListener<K extends keyof SVGSVGElementEventMap>(type: K, listener: (this: SVGSVGElement, ev: SVGSVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
14578 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
14579 removeEventListener<K extends keyof SVGSVGElementEventMap>(type: K, listener: (this: SVGSVGElement, ev: SVGSVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
14580 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
14581}
14582
14583declare var SVGSVGElement: {
14584 prototype: SVGSVGElement;
14585 new(): SVGSVGElement;
14586 readonly SVG_ZOOMANDPAN_DISABLE: number;
14587 readonly SVG_ZOOMANDPAN_MAGNIFY: number;
14588 readonly SVG_ZOOMANDPAN_UNKNOWN: number;
14589};
14590
14591/** Corresponds to the SVG <script> element. */
14592interface SVGScriptElement extends SVGElement, SVGURIReference {
14593 type: string;
14594 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGScriptElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
14595 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
14596 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGScriptElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
14597 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
14598}
14599
14600declare var SVGScriptElement: {
14601 prototype: SVGScriptElement;
14602 new(): SVGScriptElement;
14603};
14604
14605/** Corresponds to the <stop> element. */
14606interface SVGStopElement extends SVGElement {
14607 readonly offset: SVGAnimatedNumber;
14608 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGStopElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
14609 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
14610 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGStopElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
14611 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
14612}
14613
14614declare var SVGStopElement: {
14615 prototype: SVGStopElement;
14616 new(): SVGStopElement;
14617};
14618
14619/** The SVGStringList defines a list of DOMString objects. */
14620interface SVGStringList {
14621 readonly length: number;
14622 readonly numberOfItems: number;
14623 appendItem(newItem: string): string;
14624 clear(): void;
14625 getItem(index: number): string;
14626 initialize(newItem: string): string;
14627 insertItemBefore(newItem: string, index: number): string;
14628 removeItem(index: number): string;
14629 replaceItem(newItem: string, index: number): string;
14630 [index: number]: string;
14631}
14632
14633declare var SVGStringList: {
14634 prototype: SVGStringList;
14635 new(): SVGStringList;
14636};
14637
14638/** Corresponds to the SVG <style> element. */
14639interface SVGStyleElement extends SVGElement {
14640 disabled: boolean;
14641 media: string;
14642 title: string;
14643 type: string;
14644 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGStyleElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
14645 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
14646 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGStyleElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
14647 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
14648}
14649
14650declare var SVGStyleElement: {
14651 prototype: SVGStyleElement;
14652 new(): SVGStyleElement;
14653};
14654
14655/** Corresponds to the <switch> element. */
14656interface SVGSwitchElement extends SVGGraphicsElement {
14657 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGSwitchElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
14658 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
14659 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGSwitchElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
14660 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
14661}
14662
14663declare var SVGSwitchElement: {
14664 prototype: SVGSwitchElement;
14665 new(): SVGSwitchElement;
14666};
14667
14668/** Corresponds to the <symbol> element. */
14669interface SVGSymbolElement extends SVGElement, SVGFitToViewBox {
14670 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGSymbolElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
14671 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
14672 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGSymbolElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
14673 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
14674}
14675
14676declare var SVGSymbolElement: {
14677 prototype: SVGSymbolElement;
14678 new(): SVGSymbolElement;
14679};
14680
14681/** A <tspan> element. */
14682interface SVGTSpanElement extends SVGTextPositioningElement {
14683 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGTSpanElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
14684 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
14685 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGTSpanElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
14686 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
14687}
14688
14689declare var SVGTSpanElement: {
14690 prototype: SVGTSpanElement;
14691 new(): SVGTSpanElement;
14692};
14693
14694interface SVGTests {
14695 readonly requiredExtensions: SVGStringList;
14696 readonly systemLanguage: SVGStringList;
14697}
14698
14699/** Implemented by elements that support rendering child text content. It is inherited by various text-related interfaces, such as SVGTextElement, SVGTSpanElement, SVGTRefElement, SVGAltGlyphElement and SVGTextPathElement. */
14700interface SVGTextContentElement extends SVGGraphicsElement {
14701 readonly lengthAdjust: SVGAnimatedEnumeration;
14702 readonly textLength: SVGAnimatedLength;
14703 getCharNumAtPosition(point: SVGPoint): number;
14704 getComputedTextLength(): number;
14705 getEndPositionOfChar(charnum: number): SVGPoint;
14706 getExtentOfChar(charnum: number): SVGRect;
14707 getNumberOfChars(): number;
14708 getRotationOfChar(charnum: number): number;
14709 getStartPositionOfChar(charnum: number): SVGPoint;
14710 getSubStringLength(charnum: number, nchars: number): number;
14711 selectSubString(charnum: number, nchars: number): void;
14712 readonly LENGTHADJUST_SPACING: number;
14713 readonly LENGTHADJUST_SPACINGANDGLYPHS: number;
14714 readonly LENGTHADJUST_UNKNOWN: number;
14715 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGTextContentElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
14716 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
14717 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGTextContentElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
14718 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
14719}
14720
14721declare var SVGTextContentElement: {
14722 prototype: SVGTextContentElement;
14723 new(): SVGTextContentElement;
14724 readonly LENGTHADJUST_SPACING: number;
14725 readonly LENGTHADJUST_SPACINGANDGLYPHS: number;
14726 readonly LENGTHADJUST_UNKNOWN: number;
14727};
14728
14729/** Corresponds to the <text> elements. */
14730interface SVGTextElement extends SVGTextPositioningElement {
14731 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGTextElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
14732 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
14733 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGTextElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
14734 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
14735}
14736
14737declare var SVGTextElement: {
14738 prototype: SVGTextElement;
14739 new(): SVGTextElement;
14740};
14741
14742/** Corresponds to the <textPath> element. */
14743interface SVGTextPathElement extends SVGTextContentElement, SVGURIReference {
14744 readonly method: SVGAnimatedEnumeration;
14745 readonly spacing: SVGAnimatedEnumeration;
14746 readonly startOffset: SVGAnimatedLength;
14747 readonly TEXTPATH_METHODTYPE_ALIGN: number;
14748 readonly TEXTPATH_METHODTYPE_STRETCH: number;
14749 readonly TEXTPATH_METHODTYPE_UNKNOWN: number;
14750 readonly TEXTPATH_SPACINGTYPE_AUTO: number;
14751 readonly TEXTPATH_SPACINGTYPE_EXACT: number;
14752 readonly TEXTPATH_SPACINGTYPE_UNKNOWN: number;
14753 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGTextPathElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
14754 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
14755 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGTextPathElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
14756 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
14757}
14758
14759declare var SVGTextPathElement: {
14760 prototype: SVGTextPathElement;
14761 new(): SVGTextPathElement;
14762 readonly TEXTPATH_METHODTYPE_ALIGN: number;
14763 readonly TEXTPATH_METHODTYPE_STRETCH: number;
14764 readonly TEXTPATH_METHODTYPE_UNKNOWN: number;
14765 readonly TEXTPATH_SPACINGTYPE_AUTO: number;
14766 readonly TEXTPATH_SPACINGTYPE_EXACT: number;
14767 readonly TEXTPATH_SPACINGTYPE_UNKNOWN: number;
14768};
14769
14770/** Implemented by elements that support attributes that position individual text glyphs. It is inherited by SVGTextElement, SVGTSpanElement, SVGTRefElement and SVGAltGlyphElement. */
14771interface SVGTextPositioningElement extends SVGTextContentElement {
14772 readonly dx: SVGAnimatedLengthList;
14773 readonly dy: SVGAnimatedLengthList;
14774 readonly rotate: SVGAnimatedNumberList;
14775 readonly x: SVGAnimatedLengthList;
14776 readonly y: SVGAnimatedLengthList;
14777 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGTextPositioningElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
14778 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
14779 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGTextPositioningElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
14780 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
14781}
14782
14783declare var SVGTextPositioningElement: {
14784 prototype: SVGTextPositioningElement;
14785 new(): SVGTextPositioningElement;
14786};
14787
14788/** Corresponds to the <title> element. */
14789interface SVGTitleElement extends SVGElement {
14790 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGTitleElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
14791 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
14792 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGTitleElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
14793 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
14794}
14795
14796declare var SVGTitleElement: {
14797 prototype: SVGTitleElement;
14798 new(): SVGTitleElement;
14799};
14800
14801/** SVGTransform is the interface for one of the component transformations within an SVGTransformList; thus, an SVGTransform object corresponds to a single component (e.g., scale(…) or matrix(…)) within a transform attribute. */
14802interface SVGTransform {
14803 readonly angle: number;
14804 readonly matrix: SVGMatrix;
14805 readonly type: number;
14806 setMatrix(matrix: SVGMatrix): void;
14807 setRotate(angle: number, cx: number, cy: number): void;
14808 setScale(sx: number, sy: number): void;
14809 setSkewX(angle: number): void;
14810 setSkewY(angle: number): void;
14811 setTranslate(tx: number, ty: number): void;
14812 readonly SVG_TRANSFORM_MATRIX: number;
14813 readonly SVG_TRANSFORM_ROTATE: number;
14814 readonly SVG_TRANSFORM_SCALE: number;
14815 readonly SVG_TRANSFORM_SKEWX: number;
14816 readonly SVG_TRANSFORM_SKEWY: number;
14817 readonly SVG_TRANSFORM_TRANSLATE: number;
14818 readonly SVG_TRANSFORM_UNKNOWN: number;
14819}
14820
14821declare var SVGTransform: {
14822 prototype: SVGTransform;
14823 new(): SVGTransform;
14824 readonly SVG_TRANSFORM_MATRIX: number;
14825 readonly SVG_TRANSFORM_ROTATE: number;
14826 readonly SVG_TRANSFORM_SCALE: number;
14827 readonly SVG_TRANSFORM_SKEWX: number;
14828 readonly SVG_TRANSFORM_SKEWY: number;
14829 readonly SVG_TRANSFORM_TRANSLATE: number;
14830 readonly SVG_TRANSFORM_UNKNOWN: number;
14831};
14832
14833/** The SVGTransformList defines a list of SVGTransform objects. */
14834interface SVGTransformList {
14835 readonly numberOfItems: number;
14836 appendItem(newItem: SVGTransform): SVGTransform;
14837 clear(): void;
14838 consolidate(): SVGTransform;
14839 createSVGTransformFromMatrix(matrix: SVGMatrix): SVGTransform;
14840 getItem(index: number): SVGTransform;
14841 initialize(newItem: SVGTransform): SVGTransform;
14842 insertItemBefore(newItem: SVGTransform, index: number): SVGTransform;
14843 removeItem(index: number): SVGTransform;
14844 replaceItem(newItem: SVGTransform, index: number): SVGTransform;
14845}
14846
14847declare var SVGTransformList: {
14848 prototype: SVGTransformList;
14849 new(): SVGTransformList;
14850};
14851
14852interface SVGURIReference {
14853 readonly href: SVGAnimatedString;
14854}
14855
14856/** A commonly used set of constants used for reflecting gradientUnits, patternContentUnits and other similar attributes. */
14857interface SVGUnitTypes {
14858 readonly SVG_UNIT_TYPE_OBJECTBOUNDINGBOX: number;
14859 readonly SVG_UNIT_TYPE_UNKNOWN: number;
14860 readonly SVG_UNIT_TYPE_USERSPACEONUSE: number;
14861}
14862
14863declare var SVGUnitTypes: {
14864 prototype: SVGUnitTypes;
14865 new(): SVGUnitTypes;
14866 readonly SVG_UNIT_TYPE_OBJECTBOUNDINGBOX: number;
14867 readonly SVG_UNIT_TYPE_UNKNOWN: number;
14868 readonly SVG_UNIT_TYPE_USERSPACEONUSE: number;
14869};
14870
14871/** Corresponds to the <use> element. */
14872interface SVGUseElement extends SVGGraphicsElement, SVGURIReference {
14873 readonly animatedInstanceRoot: SVGElementInstance | null;
14874 readonly height: SVGAnimatedLength;
14875 readonly instanceRoot: SVGElementInstance | null;
14876 readonly width: SVGAnimatedLength;
14877 readonly x: SVGAnimatedLength;
14878 readonly y: SVGAnimatedLength;
14879 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGUseElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
14880 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
14881 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGUseElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
14882 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
14883}
14884
14885declare var SVGUseElement: {
14886 prototype: SVGUseElement;
14887 new(): SVGUseElement;
14888};
14889
14890/** Provides access to the properties of <view> elements, as well as methods to manipulate them. */
14891interface SVGViewElement extends SVGElement, SVGFitToViewBox, SVGZoomAndPan {
14892 /** @deprecated */
14893 readonly viewTarget: SVGStringList;
14894 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGViewElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
14895 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
14896 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGViewElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
14897 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
14898}
14899
14900declare var SVGViewElement: {
14901 prototype: SVGViewElement;
14902 new(): SVGViewElement;
14903 readonly SVG_ZOOMANDPAN_DISABLE: number;
14904 readonly SVG_ZOOMANDPAN_MAGNIFY: number;
14905 readonly SVG_ZOOMANDPAN_UNKNOWN: number;
14906};
14907
14908/** Used to reflect the zoomAndPan attribute, and is mixed in to other interfaces for elements that support this attribute. */
14909interface SVGZoomAndPan {
14910 readonly zoomAndPan: number;
14911}
14912
14913declare var SVGZoomAndPan: {
14914 readonly SVG_ZOOMANDPAN_DISABLE: number;
14915 readonly SVG_ZOOMANDPAN_MAGNIFY: number;
14916 readonly SVG_ZOOMANDPAN_UNKNOWN: number;
14917};
14918
14919interface SVGZoomEvent extends UIEvent {
14920 readonly newScale: number;
14921 readonly newTranslate: SVGPoint;
14922 readonly previousScale: number;
14923 readonly previousTranslate: SVGPoint;
14924 readonly zoomRectScreen: SVGRect;
14925}
14926
14927declare var SVGZoomEvent: {
14928 prototype: SVGZoomEvent;
14929 new(): SVGZoomEvent;
14930};
14931
14932interface ScopedCredential {
14933 readonly id: ArrayBuffer;
14934 readonly type: ScopedCredentialType;
14935}
14936
14937declare var ScopedCredential: {
14938 prototype: ScopedCredential;
14939 new(): ScopedCredential;
14940};
14941
14942interface ScopedCredentialInfo {
14943 readonly credential: ScopedCredential;
14944 readonly publicKey: CryptoKey;
14945}
14946
14947declare var ScopedCredentialInfo: {
14948 prototype: ScopedCredentialInfo;
14949 new(): ScopedCredentialInfo;
14950};
14951
14952/** A screen, usually the one on which the current window is being rendered, and is obtained using window.screen. */
14953interface Screen {
14954 readonly availHeight: number;
14955 readonly availWidth: number;
14956 readonly colorDepth: number;
14957 readonly height: number;
14958 readonly orientation: ScreenOrientation;
14959 readonly pixelDepth: number;
14960 readonly width: number;
14961}
14962
14963declare var Screen: {
14964 prototype: Screen;
14965 new(): Screen;
14966};
14967
14968interface ScreenOrientationEventMap {
14969 "change": Event;
14970}
14971
14972interface ScreenOrientation extends EventTarget {
14973 readonly angle: number;
14974 onchange: ((this: ScreenOrientation, ev: Event) => any) | null;
14975 readonly type: OrientationType;
14976 lock(orientation: OrientationLockType): Promise<void>;
14977 unlock(): void;
14978 addEventListener<K extends keyof ScreenOrientationEventMap>(type: K, listener: (this: ScreenOrientation, ev: ScreenOrientationEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
14979 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
14980 removeEventListener<K extends keyof ScreenOrientationEventMap>(type: K, listener: (this: ScreenOrientation, ev: ScreenOrientationEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
14981 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
14982}
14983
14984declare var ScreenOrientation: {
14985 prototype: ScreenOrientation;
14986 new(): ScreenOrientation;
14987};
14988
14989interface ScriptProcessorNodeEventMap {
14990 "audioprocess": AudioProcessingEvent;
14991}
14992
14993/** Allows the generation, processing, or analyzing of audio using JavaScript. */
14994interface ScriptProcessorNode extends AudioNode {
14995 /** @deprecated */
14996 readonly bufferSize: number;
14997 /** @deprecated */
14998 onaudioprocess: ((this: ScriptProcessorNode, ev: AudioProcessingEvent) => any) | null;
14999 addEventListener<K extends keyof ScriptProcessorNodeEventMap>(type: K, listener: (this: ScriptProcessorNode, ev: ScriptProcessorNodeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
15000 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
15001 removeEventListener<K extends keyof ScriptProcessorNodeEventMap>(type: K, listener: (this: ScriptProcessorNode, ev: ScriptProcessorNodeEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
15002 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
15003}
15004
15005declare var ScriptProcessorNode: {
15006 prototype: ScriptProcessorNode;
15007 new(): ScriptProcessorNode;
15008};
15009
15010/** Inherits from Event, and represents the event object of an event sent on a document or worker when its content security policy is violated. */
15011interface SecurityPolicyViolationEvent extends Event {
15012 readonly blockedURI: string;
15013 readonly columnNumber: number;
15014 readonly documentURI: string;
15015 readonly effectiveDirective: string;
15016 readonly lineNumber: number;
15017 readonly originalPolicy: string;
15018 readonly referrer: string;
15019 readonly sourceFile: string;
15020 readonly statusCode: number;
15021 readonly violatedDirective: string;
15022}
15023
15024declare var SecurityPolicyViolationEvent: {
15025 prototype: SecurityPolicyViolationEvent;
15026 new(type: string, eventInitDict?: SecurityPolicyViolationEventInit): SecurityPolicyViolationEvent;
15027};
15028
15029/** A Selection object represents the range of text selected by the user or the current position of the caret. To obtain a Selection object for examination or modification, call Window.getSelection(). */
15030interface Selection {
15031 readonly anchorNode: Node | null;
15032 readonly anchorOffset: number;
15033 readonly focusNode: Node | null;
15034 readonly focusOffset: number;
15035 readonly isCollapsed: boolean;
15036 readonly rangeCount: number;
15037 readonly type: string;
15038 addRange(range: Range): void;
15039 collapse(node: Node | null, offset?: number): void;
15040 collapseToEnd(): void;
15041 collapseToStart(): void;
15042 containsNode(node: Node, allowPartialContainment?: boolean): boolean;
15043 deleteFromDocument(): void;
15044 empty(): void;
15045 extend(node: Node, offset?: number): void;
15046 getRangeAt(index: number): Range;
15047 removeAllRanges(): void;
15048 removeRange(range: Range): void;
15049 selectAllChildren(node: Node): void;
15050 setBaseAndExtent(anchorNode: Node, anchorOffset: number, focusNode: Node, focusOffset: number): void;
15051 setPosition(node: Node | null, offset?: number): void;
15052}
15053
15054declare var Selection: {
15055 prototype: Selection;
15056 new(): Selection;
15057};
15058
15059interface ServiceUIFrameContext {
15060 getCachedFrameMessage(key: string): string;
15061 postFrameMessage(key: string, data: string): void;
15062}
15063declare var ServiceUIFrameContext: ServiceUIFrameContext;
15064
15065interface ServiceWorkerEventMap extends AbstractWorkerEventMap {
15066 "statechange": Event;
15067}
15068
15069/** This ServiceWorker API interface provides a reference to a service worker. Multiple browsing contexts (e.g. pages, workers, etc.) can be associated with the same service worker, each through a unique ServiceWorker object. */
15070interface ServiceWorker extends EventTarget, AbstractWorker {
15071 onstatechange: ((this: ServiceWorker, ev: Event) => any) | null;
15072 readonly scriptURL: string;
15073 readonly state: ServiceWorkerState;
15074 postMessage(message: any, transfer: Transferable[]): void;
15075 postMessage(message: any, options?: PostMessageOptions): void;
15076 addEventListener<K extends keyof ServiceWorkerEventMap>(type: K, listener: (this: ServiceWorker, ev: ServiceWorkerEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
15077 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
15078 removeEventListener<K extends keyof ServiceWorkerEventMap>(type: K, listener: (this: ServiceWorker, ev: ServiceWorkerEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
15079 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
15080}
15081
15082declare var ServiceWorker: {
15083 prototype: ServiceWorker;
15084 new(): ServiceWorker;
15085};
15086
15087interface ServiceWorkerContainerEventMap {
15088 "controllerchange": Event;
15089 "message": MessageEvent;
15090 "messageerror": MessageEvent;
15091}
15092
15093/** The ServiceWorkerContainer interface of the ServiceWorker API provides an object representing the service worker as an overall unit in the network ecosystem, including facilities to register, unregister and update service workers, and access the state of service workers and their registrations. */
15094interface ServiceWorkerContainer extends EventTarget {
15095 readonly controller: ServiceWorker | null;
15096 oncontrollerchange: ((this: ServiceWorkerContainer, ev: Event) => any) | null;
15097 onmessage: ((this: ServiceWorkerContainer, ev: MessageEvent) => any) | null;
15098 onmessageerror: ((this: ServiceWorkerContainer, ev: MessageEvent) => any) | null;
15099 readonly ready: Promise<ServiceWorkerRegistration>;
15100 getRegistration(clientURL?: string): Promise<ServiceWorkerRegistration | undefined>;
15101 getRegistrations(): Promise<ReadonlyArray<ServiceWorkerRegistration>>;
15102 register(scriptURL: string, options?: RegistrationOptions): Promise<ServiceWorkerRegistration>;
15103 startMessages(): void;
15104 addEventListener<K extends keyof ServiceWorkerContainerEventMap>(type: K, listener: (this: ServiceWorkerContainer, ev: ServiceWorkerContainerEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
15105 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
15106 removeEventListener<K extends keyof ServiceWorkerContainerEventMap>(type: K, listener: (this: ServiceWorkerContainer, ev: ServiceWorkerContainerEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
15107 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
15108}
15109
15110declare var ServiceWorkerContainer: {
15111 prototype: ServiceWorkerContainer;
15112 new(): ServiceWorkerContainer;
15113};
15114
15115/** This ServiceWorker API interface contains information about an event sent to a ServiceWorkerContainer target. This extends the default message event to allow setting a ServiceWorker object as the source of a message. The event object is accessed via the handler function of a message event, when fired by a message received from a service worker. */
15116interface ServiceWorkerMessageEvent extends Event {
15117 readonly data: any;
15118 readonly lastEventId: string;
15119 readonly origin: string;
15120 readonly ports: ReadonlyArray<MessagePort> | null;
15121 readonly source: ServiceWorker | MessagePort | null;
15122}
15123
15124declare var ServiceWorkerMessageEvent: {
15125 prototype: ServiceWorkerMessageEvent;
15126 new(type: string, eventInitDict?: ServiceWorkerMessageEventInit): ServiceWorkerMessageEvent;
15127};
15128
15129interface ServiceWorkerRegistrationEventMap {
15130 "updatefound": Event;
15131}
15132
15133/** This ServiceWorker API interface represents the service worker registration. You register a service worker to control one or more pages that share the same origin. */
15134interface ServiceWorkerRegistration extends EventTarget {
15135 readonly active: ServiceWorker | null;
15136 readonly installing: ServiceWorker | null;
15137 readonly navigationPreload: NavigationPreloadManager;
15138 onupdatefound: ((this: ServiceWorkerRegistration, ev: Event) => any) | null;
15139 readonly pushManager: PushManager;
15140 readonly scope: string;
15141 readonly sync: SyncManager;
15142 readonly updateViaCache: ServiceWorkerUpdateViaCache;
15143 readonly waiting: ServiceWorker | null;
15144 getNotifications(filter?: GetNotificationOptions): Promise<Notification[]>;
15145 showNotification(title: string, options?: NotificationOptions): Promise<void>;
15146 unregister(): Promise<boolean>;
15147 update(): Promise<void>;
15148 addEventListener<K extends keyof ServiceWorkerRegistrationEventMap>(type: K, listener: (this: ServiceWorkerRegistration, ev: ServiceWorkerRegistrationEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
15149 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
15150 removeEventListener<K extends keyof ServiceWorkerRegistrationEventMap>(type: K, listener: (this: ServiceWorkerRegistration, ev: ServiceWorkerRegistrationEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
15151 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
15152}
15153
15154declare var ServiceWorkerRegistration: {
15155 prototype: ServiceWorkerRegistration;
15156 new(): ServiceWorkerRegistration;
15157};
15158
15159interface ShadowRoot extends DocumentFragment, DocumentOrShadowRoot, InnerHTML {
15160 readonly host: Element;
15161 readonly mode: ShadowRootMode;
15162}
15163
15164declare var ShadowRoot: {
15165 prototype: ShadowRoot;
15166 new(): ShadowRoot;
15167};
15168
15169interface Slotable {
15170 readonly assignedSlot: HTMLSlotElement | null;
15171}
15172
15173interface SourceBufferEventMap {
15174 "abort": Event;
15175 "error": Event;
15176 "update": Event;
15177 "updateend": Event;
15178 "updatestart": Event;
15179}
15180
15181/** A chunk of media to be passed into an HTMLMediaElement and played, via a MediaSource object. This can be made up of one or several media segments. */
15182interface SourceBuffer extends EventTarget {
15183 appendWindowEnd: number;
15184 appendWindowStart: number;
15185 readonly audioTracks: AudioTrackList;
15186 readonly buffered: TimeRanges;
15187 mode: AppendMode;
15188 onabort: ((this: SourceBuffer, ev: Event) => any) | null;
15189 onerror: ((this: SourceBuffer, ev: Event) => any) | null;
15190 onupdate: ((this: SourceBuffer, ev: Event) => any) | null;
15191 onupdateend: ((this: SourceBuffer, ev: Event) => any) | null;
15192 onupdatestart: ((this: SourceBuffer, ev: Event) => any) | null;
15193 readonly textTracks: TextTrackList;
15194 timestampOffset: number;
15195 readonly updating: boolean;
15196 readonly videoTracks: VideoTrackList;
15197 abort(): void;
15198 appendBuffer(data: BufferSource): void;
15199 remove(start: number, end: number): void;
15200 addEventListener<K extends keyof SourceBufferEventMap>(type: K, listener: (this: SourceBuffer, ev: SourceBufferEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
15201 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
15202 removeEventListener<K extends keyof SourceBufferEventMap>(type: K, listener: (this: SourceBuffer, ev: SourceBufferEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
15203 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
15204}
15205
15206declare var SourceBuffer: {
15207 prototype: SourceBuffer;
15208 new(): SourceBuffer;
15209};
15210
15211interface SourceBufferListEventMap {
15212 "addsourcebuffer": Event;
15213 "removesourcebuffer": Event;
15214}
15215
15216/** A simple container list for multiple SourceBuffer objects. */
15217interface SourceBufferList extends EventTarget {
15218 readonly length: number;
15219 onaddsourcebuffer: ((this: SourceBufferList, ev: Event) => any) | null;
15220 onremovesourcebuffer: ((this: SourceBufferList, ev: Event) => any) | null;
15221 addEventListener<K extends keyof SourceBufferListEventMap>(type: K, listener: (this: SourceBufferList, ev: SourceBufferListEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
15222 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
15223 removeEventListener<K extends keyof SourceBufferListEventMap>(type: K, listener: (this: SourceBufferList, ev: SourceBufferListEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
15224 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
15225 [index: number]: SourceBuffer;
15226}
15227
15228declare var SourceBufferList: {
15229 prototype: SourceBufferList;
15230 new(): SourceBufferList;
15231};
15232
15233interface SpeechGrammar {
15234 src: string;
15235 weight: number;
15236}
15237
15238declare var SpeechGrammar: {
15239 prototype: SpeechGrammar;
15240 new(): SpeechGrammar;
15241};
15242
15243interface SpeechGrammarList {
15244 readonly length: number;
15245 addFromString(string: string, weight?: number): void;
15246 addFromURI(src: string, weight?: number): void;
15247 item(index: number): SpeechGrammar;
15248 [index: number]: SpeechGrammar;
15249}
15250
15251declare var SpeechGrammarList: {
15252 prototype: SpeechGrammarList;
15253 new(): SpeechGrammarList;
15254};
15255
15256interface SpeechRecognitionEventMap {
15257 "audioend": Event;
15258 "audiostart": Event;
15259 "end": Event;
15260 "error": SpeechRecognitionError;
15261 "nomatch": SpeechRecognitionEvent;
15262 "result": SpeechRecognitionEvent;
15263 "soundend": Event;
15264 "soundstart": Event;
15265 "speechend": Event;
15266 "speechstart": Event;
15267 "start": Event;
15268}
15269
15270interface SpeechRecognition extends EventTarget {
15271 continuous: boolean;
15272 grammars: SpeechGrammarList;
15273 interimResults: boolean;
15274 lang: string;
15275 maxAlternatives: number;
15276 onaudioend: ((this: SpeechRecognition, ev: Event) => any) | null;
15277 onaudiostart: ((this: SpeechRecognition, ev: Event) => any) | null;
15278 onend: ((this: SpeechRecognition, ev: Event) => any) | null;
15279 onerror: ((this: SpeechRecognition, ev: SpeechRecognitionError) => any) | null;
15280 onnomatch: ((this: SpeechRecognition, ev: SpeechRecognitionEvent) => any) | null;
15281 onresult: ((this: SpeechRecognition, ev: SpeechRecognitionEvent) => any) | null;
15282 onsoundend: ((this: SpeechRecognition, ev: Event) => any) | null;
15283 onsoundstart: ((this: SpeechRecognition, ev: Event) => any) | null;
15284 onspeechend: ((this: SpeechRecognition, ev: Event) => any) | null;
15285 onspeechstart: ((this: SpeechRecognition, ev: Event) => any) | null;
15286 onstart: ((this: SpeechRecognition, ev: Event) => any) | null;
15287 serviceURI: string;
15288 abort(): void;
15289 start(): void;
15290 stop(): void;
15291 addEventListener<K extends keyof SpeechRecognitionEventMap>(type: K, listener: (this: SpeechRecognition, ev: SpeechRecognitionEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
15292 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
15293 removeEventListener<K extends keyof SpeechRecognitionEventMap>(type: K, listener: (this: SpeechRecognition, ev: SpeechRecognitionEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
15294 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
15295}
15296
15297declare var SpeechRecognition: {
15298 prototype: SpeechRecognition;
15299 new(): SpeechRecognition;
15300};
15301
15302interface SpeechRecognitionAlternative {
15303 readonly confidence: number;
15304 readonly transcript: string;
15305}
15306
15307declare var SpeechRecognitionAlternative: {
15308 prototype: SpeechRecognitionAlternative;
15309 new(): SpeechRecognitionAlternative;
15310};
15311
15312interface SpeechRecognitionError extends Event {
15313 readonly error: SpeechRecognitionErrorCode;
15314 readonly message: string;
15315}
15316
15317declare var SpeechRecognitionError: {
15318 prototype: SpeechRecognitionError;
15319 new(): SpeechRecognitionError;
15320};
15321
15322interface SpeechRecognitionEvent extends Event {
15323 readonly emma: Document | null;
15324 readonly interpretation: any;
15325 readonly resultIndex: number;
15326 readonly results: SpeechRecognitionResultList;
15327}
15328
15329declare var SpeechRecognitionEvent: {
15330 prototype: SpeechRecognitionEvent;
15331 new(): SpeechRecognitionEvent;
15332};
15333
15334interface SpeechRecognitionResult {
15335 readonly isFinal: boolean;
15336 readonly length: number;
15337 item(index: number): SpeechRecognitionAlternative;
15338 [index: number]: SpeechRecognitionAlternative;
15339}
15340
15341declare var SpeechRecognitionResult: {
15342 prototype: SpeechRecognitionResult;
15343 new(): SpeechRecognitionResult;
15344};
15345
15346interface SpeechRecognitionResultList {
15347 readonly length: number;
15348 item(index: number): SpeechRecognitionResult;
15349 [index: number]: SpeechRecognitionResult;
15350}
15351
15352declare var SpeechRecognitionResultList: {
15353 prototype: SpeechRecognitionResultList;
15354 new(): SpeechRecognitionResultList;
15355};
15356
15357interface SpeechSynthesisEventMap {
15358 "voiceschanged": Event;
15359}
15360
15361/** This Web Speech API interface is the controller interface for the speech service; this can be used to retrieve information about the synthesis voices available on the device, start and pause speech, and other commands besides. */
15362interface SpeechSynthesis extends EventTarget {
15363 onvoiceschanged: ((this: SpeechSynthesis, ev: Event) => any) | null;
15364 readonly paused: boolean;
15365 readonly pending: boolean;
15366 readonly speaking: boolean;
15367 cancel(): void;
15368 getVoices(): SpeechSynthesisVoice[];
15369 pause(): void;
15370 resume(): void;
15371 speak(utterance: SpeechSynthesisUtterance): void;
15372 addEventListener<K extends keyof SpeechSynthesisEventMap>(type: K, listener: (this: SpeechSynthesis, ev: SpeechSynthesisEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
15373 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
15374 removeEventListener<K extends keyof SpeechSynthesisEventMap>(type: K, listener: (this: SpeechSynthesis, ev: SpeechSynthesisEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
15375 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
15376}
15377
15378declare var SpeechSynthesis: {
15379 prototype: SpeechSynthesis;
15380 new(): SpeechSynthesis;
15381};
15382
15383interface SpeechSynthesisErrorEvent extends SpeechSynthesisEvent {
15384 readonly error: SpeechSynthesisErrorCode;
15385}
15386
15387declare var SpeechSynthesisErrorEvent: {
15388 prototype: SpeechSynthesisErrorEvent;
15389 new(): SpeechSynthesisErrorEvent;
15390};
15391
15392/** This Web Speech API interface contains information about the current state of SpeechSynthesisUtterance objects that have been processed in the speech service. */
15393interface SpeechSynthesisEvent extends Event {
15394 readonly charIndex: number;
15395 readonly elapsedTime: number;
15396 readonly name: string;
15397 readonly utterance: SpeechSynthesisUtterance;
15398}
15399
15400declare var SpeechSynthesisEvent: {
15401 prototype: SpeechSynthesisEvent;
15402 new(): SpeechSynthesisEvent;
15403};
15404
15405interface SpeechSynthesisUtteranceEventMap {
15406 "boundary": SpeechSynthesisEvent;
15407 "end": SpeechSynthesisEvent;
15408 "error": SpeechSynthesisErrorEvent;
15409 "mark": SpeechSynthesisEvent;
15410 "pause": SpeechSynthesisEvent;
15411 "resume": SpeechSynthesisEvent;
15412 "start": SpeechSynthesisEvent;
15413}
15414
15415/** This Web Speech API interface represents a speech request. It contains the content the speech service should read and information about how to read it (e.g. language, pitch and volume.) */
15416interface SpeechSynthesisUtterance extends EventTarget {
15417 lang: string;
15418 onboundary: ((this: SpeechSynthesisUtterance, ev: SpeechSynthesisEvent) => any) | null;
15419 onend: ((this: SpeechSynthesisUtterance, ev: SpeechSynthesisEvent) => any) | null;
15420 onerror: ((this: SpeechSynthesisUtterance, ev: SpeechSynthesisErrorEvent) => any) | null;
15421 onmark: ((this: SpeechSynthesisUtterance, ev: SpeechSynthesisEvent) => any) | null;
15422 onpause: ((this: SpeechSynthesisUtterance, ev: SpeechSynthesisEvent) => any) | null;
15423 onresume: ((this: SpeechSynthesisUtterance, ev: SpeechSynthesisEvent) => any) | null;
15424 onstart: ((this: SpeechSynthesisUtterance, ev: SpeechSynthesisEvent) => any) | null;
15425 pitch: number;
15426 rate: number;
15427 text: string;
15428 voice: SpeechSynthesisVoice;
15429 volume: number;
15430 addEventListener<K extends keyof SpeechSynthesisUtteranceEventMap>(type: K, listener: (this: SpeechSynthesisUtterance, ev: SpeechSynthesisUtteranceEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
15431 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
15432 removeEventListener<K extends keyof SpeechSynthesisUtteranceEventMap>(type: K, listener: (this: SpeechSynthesisUtterance, ev: SpeechSynthesisUtteranceEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
15433 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
15434}
15435
15436declare var SpeechSynthesisUtterance: {
15437 prototype: SpeechSynthesisUtterance;
15438 new(): SpeechSynthesisUtterance;
15439 new(text: string): SpeechSynthesisUtterance;
15440};
15441
15442/** This Web Speech API interface represents a voice that the system supports. Every SpeechSynthesisVoice has its own relative speech service including information about language, name and URI. */
15443interface SpeechSynthesisVoice {
15444 readonly default: boolean;
15445 readonly lang: string;
15446 readonly localService: boolean;
15447 readonly name: string;
15448 readonly voiceURI: string;
15449}
15450
15451declare var SpeechSynthesisVoice: {
15452 prototype: SpeechSynthesisVoice;
15453 new(): SpeechSynthesisVoice;
15454};
15455
15456interface StaticRange extends AbstractRange {
15457}
15458
15459declare var StaticRange: {
15460 prototype: StaticRange;
15461 new(): StaticRange;
15462};
15463
15464/** The pan property takes a unitless value between -1 (full left pan) and 1 (full right pan). This interface was introduced as a much simpler way to apply a simple panning effect than having to use a full PannerNode. */
15465interface StereoPannerNode extends AudioNode {
15466 readonly pan: AudioParam;
15467}
15468
15469declare var StereoPannerNode: {
15470 prototype: StereoPannerNode;
15471 new(context: BaseAudioContext, options?: StereoPannerOptions): StereoPannerNode;
15472};
15473
15474/** This Web Storage API interface provides access to a particular domain's session or local storage. It allows, for example, the addition, modification, or deletion of stored data items. */
15475interface Storage {
15476 /**
15477 * Returns the number of key/value pairs currently present in the list associated with the object.
15478 */
15479 readonly length: number;
15480 /**
15481 * Empties the list associated with the object of all key/value pairs, if there are any.
15482 */
15483 clear(): void;
15484 /**
15485 * Returns the current value associated with the given key, or null if the given key does not exist in the list associated with the object.
15486 */
15487 getItem(key: string): string | null;
15488 /**
15489 * Returns the name of the nth key in the list, or null if n is greater than or equal to the number of key/value pairs in the object.
15490 */
15491 key(index: number): string | null;
15492 /**
15493 * Removes the key/value pair with the given key from the list associated with the object, if a key/value pair with the given key exists.
15494 */
15495 removeItem(key: string): void;
15496 /**
15497 * Sets the value of the pair identified by key to value, creating a new key/value pair if none existed for key previously.
15498 *
15499 * Throws a "QuotaExceededError" DOMException exception if the new value couldn't be set. (Setting could fail if, e.g., the user has disabled storage for the site, or if the quota has been exceeded.)
15500 */
15501 setItem(key: string, value: string): void;
15502 [name: string]: any;
15503}
15504
15505declare var Storage: {
15506 prototype: Storage;
15507 new(): Storage;
15508};
15509
15510/** A StorageEvent is sent to a window when a storage area it has access to is changed within the context of another document. */
15511interface StorageEvent extends Event {
15512 /**
15513 * Returns the key of the storage item being changed.
15514 */
15515 readonly key: string | null;
15516 /**
15517 * Returns the new value of the key of the storage item whose value is being changed.
15518 */
15519 readonly newValue: string | null;
15520 /**
15521 * Returns the old value of the key of the storage item whose value is being changed.
15522 */
15523 readonly oldValue: string | null;
15524 /**
15525 * Returns the Storage object that was affected.
15526 */
15527 readonly storageArea: Storage | null;
15528 /**
15529 * Returns the URL of the document whose storage item changed.
15530 */
15531 readonly url: string;
15532}
15533
15534declare var StorageEvent: {
15535 prototype: StorageEvent;
15536 new(type: string, eventInitDict?: StorageEventInit): StorageEvent;
15537};
15538
15539interface StorageManager {
15540 estimate(): Promise<StorageEstimate>;
15541 persist(): Promise<boolean>;
15542 persisted(): Promise<boolean>;
15543}
15544
15545declare var StorageManager: {
15546 prototype: StorageManager;
15547 new(): StorageManager;
15548};
15549
15550interface StyleMedia {
15551 readonly type: string;
15552 matchMedium(mediaquery: string): boolean;
15553}
15554
15555declare var StyleMedia: {
15556 prototype: StyleMedia;
15557 new(): StyleMedia;
15558};
15559
15560/** A single style sheet. CSS style sheets will further implement the more specialized CSSStyleSheet interface. */
15561interface StyleSheet {
15562 disabled: boolean;
15563 readonly href: string | null;
15564 readonly media: MediaList;
15565 readonly ownerNode: Node;
15566 readonly parentStyleSheet: StyleSheet | null;
15567 readonly title: string | null;
15568 readonly type: string;
15569}
15570
15571declare var StyleSheet: {
15572 prototype: StyleSheet;
15573 new(): StyleSheet;
15574};
15575
15576/** A list of StyleSheet. */
15577interface StyleSheetList {
15578 readonly length: number;
15579 item(index: number): StyleSheet | null;
15580 [index: number]: StyleSheet;
15581}
15582
15583declare var StyleSheetList: {
15584 prototype: StyleSheetList;
15585 new(): StyleSheetList;
15586};
15587
15588/** This Web Crypto API interface provides a number of low-level cryptographic functions. It is accessed via the Crypto.subtle properties available in a window context (via Window.crypto). */
15589interface SubtleCrypto {
15590 decrypt(algorithm: string | RsaOaepParams | AesCtrParams | AesCbcParams | AesCmacParams | AesGcmParams | AesCfbParams, key: CryptoKey, data: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer): PromiseLike<ArrayBuffer>;
15591 deriveBits(algorithm: string | EcdhKeyDeriveParams | DhKeyDeriveParams | ConcatParams | HkdfCtrParams | Pbkdf2Params, baseKey: CryptoKey, length: number): PromiseLike<ArrayBuffer>;
15592 deriveKey(algorithm: string | EcdhKeyDeriveParams | DhKeyDeriveParams | ConcatParams | HkdfCtrParams | Pbkdf2Params, baseKey: CryptoKey, derivedKeyType: string | AesDerivedKeyParams | HmacImportParams | ConcatParams | HkdfCtrParams | Pbkdf2Params, extractable: boolean, keyUsages: string[]): PromiseLike<CryptoKey>;
15593 digest(algorithm: string | Algorithm, data: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer): PromiseLike<ArrayBuffer>;
15594 encrypt(algorithm: string | RsaOaepParams | AesCtrParams | AesCbcParams | AesCmacParams | AesGcmParams | AesCfbParams, key: CryptoKey, data: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer): PromiseLike<ArrayBuffer>;
15595 exportKey(format: "jwk", key: CryptoKey): PromiseLike<JsonWebKey>;
15596 exportKey(format: "raw" | "pkcs8" | "spki", key: CryptoKey): PromiseLike<ArrayBuffer>;
15597 exportKey(format: string, key: CryptoKey): PromiseLike<JsonWebKey | ArrayBuffer>;
15598 generateKey(algorithm: string, extractable: boolean, keyUsages: string[]): PromiseLike<CryptoKeyPair | CryptoKey>;
15599 generateKey(algorithm: RsaHashedKeyGenParams | EcKeyGenParams | DhKeyGenParams, extractable: boolean, keyUsages: string[]): PromiseLike<CryptoKeyPair>;
15600 generateKey(algorithm: AesKeyGenParams | HmacKeyGenParams | Pbkdf2Params, extractable: boolean, keyUsages: string[]): PromiseLike<CryptoKey>;
15601 importKey(format: "jwk", keyData: JsonWebKey, algorithm: string | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | DhImportKeyParams | AesKeyAlgorithm, extractable: boolean, keyUsages: string[]): PromiseLike<CryptoKey>;
15602 importKey(format: "raw" | "pkcs8" | "spki", keyData: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer, algorithm: string | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | DhImportKeyParams | AesKeyAlgorithm, extractable: boolean, keyUsages: string[]): PromiseLike<CryptoKey>;
15603 importKey(format: string, keyData: JsonWebKey | Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer, algorithm: string | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | DhImportKeyParams | AesKeyAlgorithm, extractable: boolean, keyUsages: string[]): PromiseLike<CryptoKey>;
15604 sign(algorithm: string | RsaPssParams | EcdsaParams | AesCmacParams, key: CryptoKey, data: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer): PromiseLike<ArrayBuffer>;
15605 unwrapKey(format: string, wrappedKey: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer, unwrappingKey: CryptoKey, unwrapAlgorithm: string | Algorithm, unwrappedKeyAlgorithm: string | Algorithm, extractable: boolean, keyUsages: string[]): PromiseLike<CryptoKey>;
15606 verify(algorithm: string | RsaPssParams | EcdsaParams | AesCmacParams, key: CryptoKey, signature: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer, data: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer): PromiseLike<boolean>;
15607 wrapKey(format: string, key: CryptoKey, wrappingKey: CryptoKey, wrapAlgorithm: string | Algorithm): PromiseLike<ArrayBuffer>;
15608}
15609
15610declare var SubtleCrypto: {
15611 prototype: SubtleCrypto;
15612 new(): SubtleCrypto;
15613};
15614
15615/** This ServiceWorker API interface provides an interface for registering and listing sync registrations. */
15616interface SyncManager {
15617 getTags(): Promise<string[]>;
15618 register(tag: string): Promise<void>;
15619}
15620
15621declare var SyncManager: {
15622 prototype: SyncManager;
15623 new(): SyncManager;
15624};
15625
15626/** The textual content of Element or Attr. If an element has no markup within its content, it has a single child implementing Text that contains the element's text. However, if the element contains markup, it is parsed into information items and Text nodes that form its children. */
15627interface Text extends CharacterData, Slotable {
15628 readonly assignedSlot: HTMLSlotElement | null;
15629 /**
15630 * Returns the combined data of all direct Text node siblings.
15631 */
15632 readonly wholeText: string;
15633 /**
15634 * Splits data at the given offset and returns the remainder as Text node.
15635 */
15636 splitText(offset: number): Text;
15637}
15638
15639declare var Text: {
15640 prototype: Text;
15641 new(data?: string): Text;
15642};
15643
15644/** A decoder for a specific method, that is a specific character encoding, like utf-8, iso-8859-2, koi8, cp1261, gbk, etc. A decoder takes a stream of bytes as input and emits a stream of code points. For a more scalable, non-native library, see StringView – a C-like representation of strings based on typed arrays. */
15645interface TextDecoder extends TextDecoderCommon {
15646 /**
15647 * Returns the result of running encoding's decoder. The method can be invoked zero or more times with options's stream set to true, and then once without options's stream (or set to false), to process a fragmented stream. If the invocation without options's stream (or set to false) has no input, it's clearest to omit both arguments.
15648 *
15649 * ```
15650 * var string = "", decoder = new TextDecoder(encoding), buffer;
15651 * while(buffer = next_chunk()) {
15652 * string += decoder.decode(buffer, {stream:true});
15653 * }
15654 * string += decoder.decode(); // end-of-stream
15655 * ```
15656 *
15657 * If the error mode is "fatal" and encoding's decoder returns error, throws a TypeError.
15658 */
15659 decode(input?: BufferSource, options?: TextDecodeOptions): string;
15660}
15661
15662declare var TextDecoder: {
15663 prototype: TextDecoder;
15664 new(label?: string, options?: TextDecoderOptions): TextDecoder;
15665};
15666
15667interface TextDecoderCommon {
15668 /**
15669 * Returns encoding's name, lowercased.
15670 */
15671 readonly encoding: string;
15672 /**
15673 * Returns true if error mode is "fatal", and false otherwise.
15674 */
15675 readonly fatal: boolean;
15676 /**
15677 * Returns true if ignore BOM flag is set, and false otherwise.
15678 */
15679 readonly ignoreBOM: boolean;
15680}
15681
15682interface TextDecoderStream extends GenericTransformStream, TextDecoderCommon {
15683}
15684
15685declare var TextDecoderStream: {
15686 prototype: TextDecoderStream;
15687 new(label?: string, options?: TextDecoderOptions): TextDecoderStream;
15688};
15689
15690/** TextEncoder takes a stream of code points as input and emits a stream of bytes. For a more scalable, non-native library, see StringView – a C-like representation of strings based on typed arrays. */
15691interface TextEncoder extends TextEncoderCommon {
15692 /**
15693 * Returns the result of running UTF-8's encoder.
15694 */
15695 encode(input?: string): Uint8Array;
15696 /**
15697 * Runs the UTF-8 encoder on source, stores the result of that operation into destination, and returns the progress made as a dictionary whereby read is the number of converted code units of source and written is the number of bytes modified in destination.
15698 */
15699 encodeInto(source: string, destination: Uint8Array): TextEncoderEncodeIntoResult;
15700}
15701
15702declare var TextEncoder: {
15703 prototype: TextEncoder;
15704 new(): TextEncoder;
15705};
15706
15707interface TextEncoderCommon {
15708 /**
15709 * Returns "utf-8".
15710 */
15711 readonly encoding: string;
15712}
15713
15714interface TextEncoderStream extends GenericTransformStream, TextEncoderCommon {
15715}
15716
15717declare var TextEncoderStream: {
15718 prototype: TextEncoderStream;
15719 new(): TextEncoderStream;
15720};
15721
15722interface TextEvent extends UIEvent {
15723 readonly data: string;
15724 initTextEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, dataArg: string, inputMethod: number, locale: string): void;
15725 readonly DOM_INPUT_METHOD_DROP: number;
15726 readonly DOM_INPUT_METHOD_HANDWRITING: number;
15727 readonly DOM_INPUT_METHOD_IME: number;
15728 readonly DOM_INPUT_METHOD_KEYBOARD: number;
15729 readonly DOM_INPUT_METHOD_MULTIMODAL: number;
15730 readonly DOM_INPUT_METHOD_OPTION: number;
15731 readonly DOM_INPUT_METHOD_PASTE: number;
15732 readonly DOM_INPUT_METHOD_SCRIPT: number;
15733 readonly DOM_INPUT_METHOD_UNKNOWN: number;
15734 readonly DOM_INPUT_METHOD_VOICE: number;
15735}
15736
15737declare var TextEvent: {
15738 prototype: TextEvent;
15739 new(): TextEvent;
15740 readonly DOM_INPUT_METHOD_DROP: number;
15741 readonly DOM_INPUT_METHOD_HANDWRITING: number;
15742 readonly DOM_INPUT_METHOD_IME: number;
15743 readonly DOM_INPUT_METHOD_KEYBOARD: number;
15744 readonly DOM_INPUT_METHOD_MULTIMODAL: number;
15745 readonly DOM_INPUT_METHOD_OPTION: number;
15746 readonly DOM_INPUT_METHOD_PASTE: number;
15747 readonly DOM_INPUT_METHOD_SCRIPT: number;
15748 readonly DOM_INPUT_METHOD_UNKNOWN: number;
15749 readonly DOM_INPUT_METHOD_VOICE: number;
15750};
15751
15752/** The dimensions of a piece of text in the canvas, as created by the CanvasRenderingContext2D.measureText() method. */
15753interface TextMetrics {
15754 /**
15755 * Returns the measurement described below.
15756 */
15757 readonly actualBoundingBoxAscent: number;
15758 /**
15759 * Returns the measurement described below.
15760 */
15761 readonly actualBoundingBoxDescent: number;
15762 /**
15763 * Returns the measurement described below.
15764 */
15765 readonly actualBoundingBoxLeft: number;
15766 /**
15767 * Returns the measurement described below.
15768 */
15769 readonly actualBoundingBoxRight: number;
15770 /**
15771 * Returns the measurement described below.
15772 */
15773 readonly alphabeticBaseline: number;
15774 /**
15775 * Returns the measurement described below.
15776 */
15777 readonly emHeightAscent: number;
15778 /**
15779 * Returns the measurement described below.
15780 */
15781 readonly emHeightDescent: number;
15782 /**
15783 * Returns the measurement described below.
15784 */
15785 readonly fontBoundingBoxAscent: number;
15786 /**
15787 * Returns the measurement described below.
15788 */
15789 readonly fontBoundingBoxDescent: number;
15790 /**
15791 * Returns the measurement described below.
15792 */
15793 readonly hangingBaseline: number;
15794 /**
15795 * Returns the measurement described below.
15796 */
15797 readonly ideographicBaseline: number;
15798 /**
15799 * Returns the measurement described below.
15800 */
15801 readonly width: number;
15802}
15803
15804declare var TextMetrics: {
15805 prototype: TextMetrics;
15806 new(): TextMetrics;
15807};
15808
15809interface TextTrackEventMap {
15810 "cuechange": Event;
15811 "error": Event;
15812 "load": Event;
15813}
15814
15815/** This interface also inherits properties from EventTarget. */
15816interface TextTrack extends EventTarget {
15817 readonly activeCues: TextTrackCueList;
15818 readonly cues: TextTrackCueList;
15819 readonly inBandMetadataTrackDispatchType: string;
15820 readonly kind: string;
15821 readonly label: string;
15822 readonly language: string;
15823 mode: TextTrackMode | number;
15824 oncuechange: ((this: TextTrack, ev: Event) => any) | null;
15825 onerror: ((this: TextTrack, ev: Event) => any) | null;
15826 onload: ((this: TextTrack, ev: Event) => any) | null;
15827 readonly readyState: number;
15828 readonly sourceBuffer: SourceBuffer | null;
15829 addCue(cue: TextTrackCue): void;
15830 removeCue(cue: TextTrackCue): void;
15831 readonly DISABLED: number;
15832 readonly ERROR: number;
15833 readonly HIDDEN: number;
15834 readonly LOADED: number;
15835 readonly LOADING: number;
15836 readonly NONE: number;
15837 readonly SHOWING: number;
15838 addEventListener<K extends keyof TextTrackEventMap>(type: K, listener: (this: TextTrack, ev: TextTrackEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
15839 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
15840 removeEventListener<K extends keyof TextTrackEventMap>(type: K, listener: (this: TextTrack, ev: TextTrackEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
15841 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
15842}
15843
15844declare var TextTrack: {
15845 prototype: TextTrack;
15846 new(): TextTrack;
15847 readonly DISABLED: number;
15848 readonly ERROR: number;
15849 readonly HIDDEN: number;
15850 readonly LOADED: number;
15851 readonly LOADING: number;
15852 readonly NONE: number;
15853 readonly SHOWING: number;
15854};
15855
15856interface TextTrackCueEventMap {
15857 "enter": Event;
15858 "exit": Event;
15859}
15860
15861/** TextTrackCues represent a string of text that will be displayed for some duration of time on a TextTrack. This includes the start and end times that the cue will be displayed. A TextTrackCue cannot be used directly, instead one of the derived types (e.g. VTTCue) must be used. */
15862interface TextTrackCue extends EventTarget {
15863 endTime: number;
15864 id: string;
15865 onenter: ((this: TextTrackCue, ev: Event) => any) | null;
15866 onexit: ((this: TextTrackCue, ev: Event) => any) | null;
15867 pauseOnExit: boolean;
15868 startTime: number;
15869 text: string;
15870 readonly track: TextTrack;
15871 getCueAsHTML(): DocumentFragment;
15872 addEventListener<K extends keyof TextTrackCueEventMap>(type: K, listener: (this: TextTrackCue, ev: TextTrackCueEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
15873 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
15874 removeEventListener<K extends keyof TextTrackCueEventMap>(type: K, listener: (this: TextTrackCue, ev: TextTrackCueEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
15875 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
15876}
15877
15878declare var TextTrackCue: {
15879 prototype: TextTrackCue;
15880 new(startTime: number, endTime: number, text: string): TextTrackCue;
15881};
15882
15883interface TextTrackCueList {
15884 readonly length: number;
15885 getCueById(id: string): TextTrackCue;
15886 item(index: number): TextTrackCue;
15887 [index: number]: TextTrackCue;
15888}
15889
15890declare var TextTrackCueList: {
15891 prototype: TextTrackCueList;
15892 new(): TextTrackCueList;
15893};
15894
15895interface TextTrackListEventMap {
15896 "addtrack": TrackEvent;
15897}
15898
15899interface TextTrackList extends EventTarget {
15900 readonly length: number;
15901 onaddtrack: ((this: TextTrackList, ev: TrackEvent) => any) | null;
15902 item(index: number): TextTrack;
15903 addEventListener<K extends keyof TextTrackListEventMap>(type: K, listener: (this: TextTrackList, ev: TextTrackListEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
15904 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
15905 removeEventListener<K extends keyof TextTrackListEventMap>(type: K, listener: (this: TextTrackList, ev: TextTrackListEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
15906 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
15907 [index: number]: TextTrack;
15908}
15909
15910declare var TextTrackList: {
15911 prototype: TextTrackList;
15912 new(): TextTrackList;
15913};
15914
15915/** Used to represent a set of time ranges, primarily for the purpose of tracking which portions of media have been buffered when loading it for use by the <audio> and <video> elements. */
15916interface TimeRanges {
15917 readonly length: number;
15918 end(index: number): number;
15919 start(index: number): number;
15920}
15921
15922declare var TimeRanges: {
15923 prototype: TimeRanges;
15924 new(): TimeRanges;
15925};
15926
15927/** A single contact point on a touch-sensitive device. The contact point is commonly a finger or stylus and the device may be a touchscreen or trackpad. */
15928interface Touch {
15929 readonly altitudeAngle: number;
15930 readonly azimuthAngle: number;
15931 readonly clientX: number;
15932 readonly clientY: number;
15933 readonly force: number;
15934 readonly identifier: number;
15935 readonly pageX: number;
15936 readonly pageY: number;
15937 readonly radiusX: number;
15938 readonly radiusY: number;
15939 readonly rotationAngle: number;
15940 readonly screenX: number;
15941 readonly screenY: number;
15942 readonly target: EventTarget;
15943 readonly touchType: TouchType;
15944}
15945
15946declare var Touch: {
15947 prototype: Touch;
15948 new(touchInitDict: TouchInit): Touch;
15949};
15950
15951/** An event sent when the state of contacts with a touch-sensitive surface changes. This surface can be a touch screen or trackpad, for example. The event can describe one or more points of contact with the screen and includes support for detecting movement, addition and removal of contact points, and so forth. */
15952interface TouchEvent extends UIEvent {
15953 readonly altKey: boolean;
15954 readonly changedTouches: TouchList;
15955 readonly ctrlKey: boolean;
15956 readonly metaKey: boolean;
15957 readonly shiftKey: boolean;
15958 readonly targetTouches: TouchList;
15959 readonly touches: TouchList;
15960}
15961
15962declare var TouchEvent: {
15963 prototype: TouchEvent;
15964 new(type: string, eventInitDict?: TouchEventInit): TouchEvent;
15965};
15966
15967/** A list of contact points on a touch surface. For example, if the user has three fingers on the touch surface (such as a screen or trackpad), the corresponding TouchList object would have one Touch object for each finger, for a total of three entries. */
15968interface TouchList {
15969 readonly length: number;
15970 item(index: number): Touch | null;
15971 [index: number]: Touch;
15972}
15973
15974declare var TouchList: {
15975 prototype: TouchList;
15976 new(): TouchList;
15977};
15978
15979/** The TrackEvent interface, part of the HTML DOM specification, is used for events which represent changes to the set of available tracks on an HTML media element; these events are addtrack and removetrack. */
15980interface TrackEvent extends Event {
15981 readonly track: VideoTrack | AudioTrack | TextTrack | null;
15982}
15983
15984declare var TrackEvent: {
15985 prototype: TrackEvent;
15986 new(typeArg: string, eventInitDict?: TrackEventInit): TrackEvent;
15987};
15988
15989interface TransformStream<I = any, O = any> {
15990 readonly readable: ReadableStream<O>;
15991 readonly writable: WritableStream<I>;
15992}
15993
15994declare var TransformStream: {
15995 prototype: TransformStream;
15996 new<I = any, O = any>(transformer?: Transformer<I, O>, writableStrategy?: QueuingStrategy<I>, readableStrategy?: QueuingStrategy<O>): TransformStream<I, O>;
15997};
15998
15999interface TransformStreamDefaultController<O = any> {
16000 readonly desiredSize: number | null;
16001 enqueue(chunk: O): void;
16002 error(reason?: any): void;
16003 terminate(): void;
16004}
16005
16006/** Events providing information related to transitions. */
16007interface TransitionEvent extends Event {
16008 readonly elapsedTime: number;
16009 readonly propertyName: string;
16010 readonly pseudoElement: string;
16011}
16012
16013declare var TransitionEvent: {
16014 prototype: TransitionEvent;
16015 new(type: string, transitionEventInitDict?: TransitionEventInit): TransitionEvent;
16016};
16017
16018/** The nodes of a document subtree and a position within them. */
16019interface TreeWalker {
16020 currentNode: Node;
16021 readonly filter: NodeFilter | null;
16022 readonly root: Node;
16023 readonly whatToShow: number;
16024 firstChild(): Node | null;
16025 lastChild(): Node | null;
16026 nextNode(): Node | null;
16027 nextSibling(): Node | null;
16028 parentNode(): Node | null;
16029 previousNode(): Node | null;
16030 previousSibling(): Node | null;
16031}
16032
16033declare var TreeWalker: {
16034 prototype: TreeWalker;
16035 new(): TreeWalker;
16036};
16037
16038/** Simple user interface events. */
16039interface UIEvent extends Event {
16040 readonly detail: number;
16041 readonly view: Window | null;
16042 /** @deprecated */
16043 readonly which: number;
16044}
16045
16046declare var UIEvent: {
16047 prototype: UIEvent;
16048 new(type: string, eventInitDict?: UIEventInit): UIEvent;
16049};
16050
16051/** The URL interface represents an object providing static methods used for creating object URLs. */
16052interface URL {
16053 hash: string;
16054 host: string;
16055 hostname: string;
16056 href: string;
16057 readonly origin: string;
16058 password: string;
16059 pathname: string;
16060 port: string;
16061 protocol: string;
16062 search: string;
16063 readonly searchParams: URLSearchParams;
16064 username: string;
16065 toJSON(): string;
16066}
16067
16068declare var URL: {
16069 prototype: URL;
16070 new(url: string, base?: string | URL): URL;
16071 createObjectURL(object: any): string;
16072 revokeObjectURL(url: string): void;
16073};
16074
16075type webkitURL = URL;
16076declare var webkitURL: typeof URL;
16077
16078interface URLSearchParams {
16079 /**
16080 * Appends a specified key/value pair as a new search parameter.
16081 */
16082 append(name: string, value: string): void;
16083 /**
16084 * Deletes the given search parameter, and its associated value, from the list of all search parameters.
16085 */
16086 delete(name: string): void;
16087 /**
16088 * Returns the first value associated to the given search parameter.
16089 */
16090 get(name: string): string | null;
16091 /**
16092 * Returns all the values association with a given search parameter.
16093 */
16094 getAll(name: string): string[];
16095 /**
16096 * Returns a Boolean indicating if such a search parameter exists.
16097 */
16098 has(name: string): boolean;
16099 /**
16100 * Sets the value associated to a given search parameter to the given value. If there were several values, delete the others.
16101 */
16102 set(name: string, value: string): void;
16103 sort(): void;
16104 forEach(callbackfn: (value: string, key: string, parent: URLSearchParams) => void, thisArg?: any): void;
16105}
16106
16107declare var URLSearchParams: {
16108 prototype: URLSearchParams;
16109 new(init?: string[][] | Record<string, string> | string | URLSearchParams): URLSearchParams;
16110};
16111
16112/** This WebVR API interface represents any VR device supported by this API. It includes generic information such as device IDs and descriptions, as well as methods for starting to present a VR scene, retrieving eye parameters and display capabilities, and other important functionality. */
16113interface VRDisplay extends EventTarget {
16114 readonly capabilities: VRDisplayCapabilities;
16115 depthFar: number;
16116 depthNear: number;
16117 readonly displayId: number;
16118 readonly displayName: string;
16119 readonly isConnected: boolean;
16120 readonly isPresenting: boolean;
16121 readonly stageParameters: VRStageParameters | null;
16122 cancelAnimationFrame(handle: number): void;
16123 exitPresent(): Promise<void>;
16124 getEyeParameters(whichEye: string): VREyeParameters;
16125 getFrameData(frameData: VRFrameData): boolean;
16126 getLayers(): VRLayer[];
16127 /** @deprecated */
16128 getPose(): VRPose;
16129 requestAnimationFrame(callback: FrameRequestCallback): number;
16130 requestPresent(layers: VRLayer[]): Promise<void>;
16131 resetPose(): void;
16132 submitFrame(pose?: VRPose): void;
16133}
16134
16135declare var VRDisplay: {
16136 prototype: VRDisplay;
16137 new(): VRDisplay;
16138};
16139
16140/** This WebVR API interface describes the capabilities of a VRDisplay — its features can be used to perform VR device capability tests, for example can it return position information. */
16141interface VRDisplayCapabilities {
16142 readonly canPresent: boolean;
16143 readonly hasExternalDisplay: boolean;
16144 readonly hasOrientation: boolean;
16145 readonly hasPosition: boolean;
16146 readonly maxLayers: number;
16147}
16148
16149declare var VRDisplayCapabilities: {
16150 prototype: VRDisplayCapabilities;
16151 new(): VRDisplayCapabilities;
16152};
16153
16154/** This WebVR API interface represents represents the event object of WebVR-related events (see the list of WebVR window extensions). */
16155interface VRDisplayEvent extends Event {
16156 readonly display: VRDisplay;
16157 readonly reason: VRDisplayEventReason | null;
16158}
16159
16160declare var VRDisplayEvent: {
16161 prototype: VRDisplayEvent;
16162 new(type: string, eventInitDict: VRDisplayEventInit): VRDisplayEvent;
16163};
16164
16165/** This WebVR API interface represents all the information required to correctly render a scene for a given eye, including field of view information. */
16166interface VREyeParameters {
16167 /** @deprecated */
16168 readonly fieldOfView: VRFieldOfView;
16169 readonly offset: Float32Array;
16170 readonly renderHeight: number;
16171 readonly renderWidth: number;
16172}
16173
16174declare var VREyeParameters: {
16175 prototype: VREyeParameters;
16176 new(): VREyeParameters;
16177};
16178
16179/** This WebVR API interface represents a field of view defined by 4 different degree values describing the view from a center point. */
16180interface VRFieldOfView {
16181 readonly downDegrees: number;
16182 readonly leftDegrees: number;
16183 readonly rightDegrees: number;
16184 readonly upDegrees: number;
16185}
16186
16187declare var VRFieldOfView: {
16188 prototype: VRFieldOfView;
16189 new(): VRFieldOfView;
16190};
16191
16192/** This WebVR API interface represents all the information needed to render a single frame of a VR scene; constructed by VRDisplay.getFrameData(). */
16193interface VRFrameData {
16194 readonly leftProjectionMatrix: Float32Array;
16195 readonly leftViewMatrix: Float32Array;
16196 readonly pose: VRPose;
16197 readonly rightProjectionMatrix: Float32Array;
16198 readonly rightViewMatrix: Float32Array;
16199 readonly timestamp: number;
16200}
16201
16202declare var VRFrameData: {
16203 prototype: VRFrameData;
16204 new(): VRFrameData;
16205};
16206
16207/** This WebVR API interface represents the state of a VR sensor at a given timestamp (which includes orientation, position, velocity, and acceleration information.) */
16208interface VRPose {
16209 readonly angularAcceleration: Float32Array | null;
16210 readonly angularVelocity: Float32Array | null;
16211 readonly linearAcceleration: Float32Array | null;
16212 readonly linearVelocity: Float32Array | null;
16213 readonly orientation: Float32Array | null;
16214 readonly position: Float32Array | null;
16215 readonly timestamp: number;
16216}
16217
16218declare var VRPose: {
16219 prototype: VRPose;
16220 new(): VRPose;
16221};
16222
16223interface VTTCue extends TextTrackCue {
16224 align: AlignSetting;
16225 line: LineAndPositionSetting;
16226 lineAlign: LineAlignSetting;
16227 position: LineAndPositionSetting;
16228 positionAlign: PositionAlignSetting;
16229 region: VTTRegion | null;
16230 size: number;
16231 snapToLines: boolean;
16232 text: string;
16233 vertical: DirectionSetting;
16234 getCueAsHTML(): DocumentFragment;
16235 addEventListener<K extends keyof TextTrackCueEventMap>(type: K, listener: (this: VTTCue, ev: TextTrackCueEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
16236 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
16237 removeEventListener<K extends keyof TextTrackCueEventMap>(type: K, listener: (this: VTTCue, ev: TextTrackCueEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
16238 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
16239}
16240
16241declare var VTTCue: {
16242 prototype: VTTCue;
16243 new(startTime: number, endTime: number, text: string): VTTCue;
16244};
16245
16246interface VTTRegion {
16247 id: string;
16248 lines: number;
16249 regionAnchorX: number;
16250 regionAnchorY: number;
16251 scroll: ScrollSetting;
16252 viewportAnchorX: number;
16253 viewportAnchorY: number;
16254 width: number;
16255}
16256
16257declare var VTTRegion: {
16258 prototype: VTTRegion;
16259 new(): VTTRegion;
16260};
16261
16262/** The validity states that an element can be in, with respect to constraint validation. Together, they help explain why an element's value fails to validate, if it's not valid. */
16263interface ValidityState {
16264 readonly badInput: boolean;
16265 readonly customError: boolean;
16266 readonly patternMismatch: boolean;
16267 readonly rangeOverflow: boolean;
16268 readonly rangeUnderflow: boolean;
16269 readonly stepMismatch: boolean;
16270 readonly tooLong: boolean;
16271 readonly tooShort: boolean;
16272 readonly typeMismatch: boolean;
16273 readonly valid: boolean;
16274 readonly valueMissing: boolean;
16275}
16276
16277declare var ValidityState: {
16278 prototype: ValidityState;
16279 new(): ValidityState;
16280};
16281
16282/** Returned by the HTMLVideoElement.getVideoPlaybackQuality() method and contains metrics that can be used to determine the playback quality of a video. */
16283interface VideoPlaybackQuality {
16284 readonly corruptedVideoFrames: number;
16285 readonly creationTime: number;
16286 readonly droppedVideoFrames: number;
16287 readonly totalFrameDelay: number;
16288 readonly totalVideoFrames: number;
16289}
16290
16291declare var VideoPlaybackQuality: {
16292 prototype: VideoPlaybackQuality;
16293 new(): VideoPlaybackQuality;
16294};
16295
16296/** A single video track from a <video> element. */
16297interface VideoTrack {
16298 readonly id: string;
16299 kind: string;
16300 readonly label: string;
16301 language: string;
16302 selected: boolean;
16303 readonly sourceBuffer: SourceBuffer | null;
16304}
16305
16306declare var VideoTrack: {
16307 prototype: VideoTrack;
16308 new(): VideoTrack;
16309};
16310
16311interface VideoTrackListEventMap {
16312 "addtrack": TrackEvent;
16313 "change": Event;
16314 "removetrack": TrackEvent;
16315}
16316
16317/** Used to represent a list of the video tracks contained within a <video> element, with each track represented by a separate VideoTrack object in the list. */
16318interface VideoTrackList extends EventTarget {
16319 readonly length: number;
16320 onaddtrack: ((this: VideoTrackList, ev: TrackEvent) => any) | null;
16321 onchange: ((this: VideoTrackList, ev: Event) => any) | null;
16322 onremovetrack: ((this: VideoTrackList, ev: TrackEvent) => any) | null;
16323 readonly selectedIndex: number;
16324 getTrackById(id: string): VideoTrack | null;
16325 item(index: number): VideoTrack;
16326 addEventListener<K extends keyof VideoTrackListEventMap>(type: K, listener: (this: VideoTrackList, ev: VideoTrackListEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
16327 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
16328 removeEventListener<K extends keyof VideoTrackListEventMap>(type: K, listener: (this: VideoTrackList, ev: VideoTrackListEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
16329 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
16330 [index: number]: VideoTrack;
16331}
16332
16333declare var VideoTrackList: {
16334 prototype: VideoTrackList;
16335 new(): VideoTrackList;
16336};
16337
16338interface WEBGL_color_buffer_float {
16339 readonly FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT: GLenum;
16340 readonly RGBA32F_EXT: GLenum;
16341 readonly UNSIGNED_NORMALIZED_EXT: GLenum;
16342}
16343
16344interface WEBGL_compressed_texture_astc {
16345 getSupportedProfiles(): string[];
16346 readonly COMPRESSED_RGBA_ASTC_10x10_KHR: GLenum;
16347 readonly COMPRESSED_RGBA_ASTC_10x5_KHR: GLenum;
16348 readonly COMPRESSED_RGBA_ASTC_10x6_KHR: GLenum;
16349 readonly COMPRESSED_RGBA_ASTC_10x8_KHR: GLenum;
16350 readonly COMPRESSED_RGBA_ASTC_12x10_KHR: GLenum;
16351 readonly COMPRESSED_RGBA_ASTC_12x12_KHR: GLenum;
16352 readonly COMPRESSED_RGBA_ASTC_4x4_KHR: GLenum;
16353 readonly COMPRESSED_RGBA_ASTC_5x4_KHR: GLenum;
16354 readonly COMPRESSED_RGBA_ASTC_5x5_KHR: GLenum;
16355 readonly COMPRESSED_RGBA_ASTC_6x5_KHR: GLenum;
16356 readonly COMPRESSED_RGBA_ASTC_6x6_KHR: GLenum;
16357 readonly COMPRESSED_RGBA_ASTC_8x5_KHR: GLenum;
16358 readonly COMPRESSED_RGBA_ASTC_8x6_KHR: GLenum;
16359 readonly COMPRESSED_RGBA_ASTC_8x8_KHR: GLenum;
16360 readonly COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR: GLenum;
16361 readonly COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR: GLenum;
16362 readonly COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR: GLenum;
16363 readonly COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR: GLenum;
16364 readonly COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR: GLenum;
16365 readonly COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR: GLenum;
16366 readonly COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR: GLenum;
16367 readonly COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR: GLenum;
16368 readonly COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR: GLenum;
16369 readonly COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR: GLenum;
16370 readonly COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR: GLenum;
16371 readonly COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR: GLenum;
16372 readonly COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR: GLenum;
16373 readonly COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR: GLenum;
16374}
16375
16376/** The WEBGL_compressed_texture_s3tc extension is part of the WebGL API and exposes four S3TC compressed texture formats. */
16377interface WEBGL_compressed_texture_s3tc {
16378 readonly COMPRESSED_RGBA_S3TC_DXT1_EXT: GLenum;
16379 readonly COMPRESSED_RGBA_S3TC_DXT3_EXT: GLenum;
16380 readonly COMPRESSED_RGBA_S3TC_DXT5_EXT: GLenum;
16381 readonly COMPRESSED_RGB_S3TC_DXT1_EXT: GLenum;
16382}
16383
16384interface WEBGL_compressed_texture_s3tc_srgb {
16385 readonly COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT: GLenum;
16386 readonly COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT: GLenum;
16387 readonly COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT: GLenum;
16388 readonly COMPRESSED_SRGB_S3TC_DXT1_EXT: GLenum;
16389}
16390
16391/** The WEBGL_debug_renderer_info extension is part of the WebGL API and exposes two constants with information about the graphics driver for debugging purposes. */
16392interface WEBGL_debug_renderer_info {
16393 readonly UNMASKED_RENDERER_WEBGL: GLenum;
16394 readonly UNMASKED_VENDOR_WEBGL: GLenum;
16395}
16396
16397interface WEBGL_debug_shaders {
16398 getTranslatedShaderSource(shader: WebGLShader): string;
16399}
16400
16401/** The WEBGL_depth_texture extension is part of the WebGL API and defines 2D depth and depth-stencil textures. */
16402interface WEBGL_depth_texture {
16403 readonly UNSIGNED_INT_24_8_WEBGL: GLenum;
16404}
16405
16406interface WEBGL_draw_buffers {
16407 drawBuffersWEBGL(buffers: GLenum[]): void;
16408 readonly COLOR_ATTACHMENT0_WEBGL: GLenum;
16409 readonly COLOR_ATTACHMENT10_WEBGL: GLenum;
16410 readonly COLOR_ATTACHMENT11_WEBGL: GLenum;
16411 readonly COLOR_ATTACHMENT12_WEBGL: GLenum;
16412 readonly COLOR_ATTACHMENT13_WEBGL: GLenum;
16413 readonly COLOR_ATTACHMENT14_WEBGL: GLenum;
16414 readonly COLOR_ATTACHMENT15_WEBGL: GLenum;
16415 readonly COLOR_ATTACHMENT1_WEBGL: GLenum;
16416 readonly COLOR_ATTACHMENT2_WEBGL: GLenum;
16417 readonly COLOR_ATTACHMENT3_WEBGL: GLenum;
16418 readonly COLOR_ATTACHMENT4_WEBGL: GLenum;
16419 readonly COLOR_ATTACHMENT5_WEBGL: GLenum;
16420 readonly COLOR_ATTACHMENT6_WEBGL: GLenum;
16421 readonly COLOR_ATTACHMENT7_WEBGL: GLenum;
16422 readonly COLOR_ATTACHMENT8_WEBGL: GLenum;
16423 readonly COLOR_ATTACHMENT9_WEBGL: GLenum;
16424 readonly DRAW_BUFFER0_WEBGL: GLenum;
16425 readonly DRAW_BUFFER10_WEBGL: GLenum;
16426 readonly DRAW_BUFFER11_WEBGL: GLenum;
16427 readonly DRAW_BUFFER12_WEBGL: GLenum;
16428 readonly DRAW_BUFFER13_WEBGL: GLenum;
16429 readonly DRAW_BUFFER14_WEBGL: GLenum;
16430 readonly DRAW_BUFFER15_WEBGL: GLenum;
16431 readonly DRAW_BUFFER1_WEBGL: GLenum;
16432 readonly DRAW_BUFFER2_WEBGL: GLenum;
16433 readonly DRAW_BUFFER3_WEBGL: GLenum;
16434 readonly DRAW_BUFFER4_WEBGL: GLenum;
16435 readonly DRAW_BUFFER5_WEBGL: GLenum;
16436 readonly DRAW_BUFFER6_WEBGL: GLenum;
16437 readonly DRAW_BUFFER7_WEBGL: GLenum;
16438 readonly DRAW_BUFFER8_WEBGL: GLenum;
16439 readonly DRAW_BUFFER9_WEBGL: GLenum;
16440 readonly MAX_COLOR_ATTACHMENTS_WEBGL: GLenum;
16441 readonly MAX_DRAW_BUFFERS_WEBGL: GLenum;
16442}
16443
16444interface WEBGL_lose_context {
16445 loseContext(): void;
16446 restoreContext(): void;
16447}
16448
16449/** A WaveShaperNode always has exactly one input and one output. */
16450interface WaveShaperNode extends AudioNode {
16451 curve: Float32Array | null;
16452 oversample: OverSampleType;
16453}
16454
16455declare var WaveShaperNode: {
16456 prototype: WaveShaperNode;
16457 new(context: BaseAudioContext, options?: WaveShaperOptions): WaveShaperNode;
16458};
16459
16460interface WebAuthentication {
16461 getAssertion(assertionChallenge: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer | null, options?: AssertionOptions): Promise<WebAuthnAssertion>;
16462 makeCredential(accountInformation: Account, cryptoParameters: ScopedCredentialParameters[], attestationChallenge: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer | null, options?: ScopedCredentialOptions): Promise<ScopedCredentialInfo>;
16463}
16464
16465declare var WebAuthentication: {
16466 prototype: WebAuthentication;
16467 new(): WebAuthentication;
16468};
16469
16470interface WebAuthnAssertion {
16471 readonly authenticatorData: ArrayBuffer;
16472 readonly clientData: ArrayBuffer;
16473 readonly credential: ScopedCredential;
16474 readonly signature: ArrayBuffer;
16475}
16476
16477declare var WebAuthnAssertion: {
16478 prototype: WebAuthnAssertion;
16479 new(): WebAuthnAssertion;
16480};
16481
16482interface WebGL2RenderingContext extends WebGL2RenderingContextBase, WebGL2RenderingContextOverloads, WebGLRenderingContextBase {
16483}
16484
16485declare var WebGL2RenderingContext: {
16486 prototype: WebGL2RenderingContext;
16487 new(): WebGL2RenderingContext;
16488 readonly ACTIVE_ATTRIBUTES: GLenum;
16489 readonly ACTIVE_TEXTURE: GLenum;
16490 readonly ACTIVE_UNIFORMS: GLenum;
16491 readonly ALIASED_LINE_WIDTH_RANGE: GLenum;
16492 readonly ALIASED_POINT_SIZE_RANGE: GLenum;
16493 readonly ALPHA: GLenum;
16494 readonly ALPHA_BITS: GLenum;
16495 readonly ALWAYS: GLenum;
16496 readonly ARRAY_BUFFER: GLenum;
16497 readonly ARRAY_BUFFER_BINDING: GLenum;
16498 readonly ATTACHED_SHADERS: GLenum;
16499 readonly BACK: GLenum;
16500 readonly BLEND: GLenum;
16501 readonly BLEND_COLOR: GLenum;
16502 readonly BLEND_DST_ALPHA: GLenum;
16503 readonly BLEND_DST_RGB: GLenum;
16504 readonly BLEND_EQUATION: GLenum;
16505 readonly BLEND_EQUATION_ALPHA: GLenum;
16506 readonly BLEND_EQUATION_RGB: GLenum;
16507 readonly BLEND_SRC_ALPHA: GLenum;
16508 readonly BLEND_SRC_RGB: GLenum;
16509 readonly BLUE_BITS: GLenum;
16510 readonly BOOL: GLenum;
16511 readonly BOOL_VEC2: GLenum;
16512 readonly BOOL_VEC3: GLenum;
16513 readonly BOOL_VEC4: GLenum;
16514 readonly BROWSER_DEFAULT_WEBGL: GLenum;
16515 readonly BUFFER_SIZE: GLenum;
16516 readonly BUFFER_USAGE: GLenum;
16517 readonly BYTE: GLenum;
16518 readonly CCW: GLenum;
16519 readonly CLAMP_TO_EDGE: GLenum;
16520 readonly COLOR_ATTACHMENT0: GLenum;
16521 readonly COLOR_BUFFER_BIT: GLenum;
16522 readonly COLOR_CLEAR_VALUE: GLenum;
16523 readonly COLOR_WRITEMASK: GLenum;
16524 readonly COMPILE_STATUS: GLenum;
16525 readonly COMPRESSED_TEXTURE_FORMATS: GLenum;
16526 readonly CONSTANT_ALPHA: GLenum;
16527 readonly CONSTANT_COLOR: GLenum;
16528 readonly CONTEXT_LOST_WEBGL: GLenum;
16529 readonly CULL_FACE: GLenum;
16530 readonly CULL_FACE_MODE: GLenum;
16531 readonly CURRENT_PROGRAM: GLenum;
16532 readonly CURRENT_VERTEX_ATTRIB: GLenum;
16533 readonly CW: GLenum;
16534 readonly DECR: GLenum;
16535 readonly DECR_WRAP: GLenum;
16536 readonly DELETE_STATUS: GLenum;
16537 readonly DEPTH_ATTACHMENT: GLenum;
16538 readonly DEPTH_BITS: GLenum;
16539 readonly DEPTH_BUFFER_BIT: GLenum;
16540 readonly DEPTH_CLEAR_VALUE: GLenum;
16541 readonly DEPTH_COMPONENT: GLenum;
16542 readonly DEPTH_COMPONENT16: GLenum;
16543 readonly DEPTH_FUNC: GLenum;
16544 readonly DEPTH_RANGE: GLenum;
16545 readonly DEPTH_STENCIL: GLenum;
16546 readonly DEPTH_STENCIL_ATTACHMENT: GLenum;
16547 readonly DEPTH_TEST: GLenum;
16548 readonly DEPTH_WRITEMASK: GLenum;
16549 readonly DITHER: GLenum;
16550 readonly DONT_CARE: GLenum;
16551 readonly DST_ALPHA: GLenum;
16552 readonly DST_COLOR: GLenum;
16553 readonly DYNAMIC_DRAW: GLenum;
16554 readonly ELEMENT_ARRAY_BUFFER: GLenum;
16555 readonly ELEMENT_ARRAY_BUFFER_BINDING: GLenum;
16556 readonly EQUAL: GLenum;
16557 readonly FASTEST: GLenum;
16558 readonly FLOAT: GLenum;
16559 readonly FLOAT_MAT2: GLenum;
16560 readonly FLOAT_MAT3: GLenum;
16561 readonly FLOAT_MAT4: GLenum;
16562 readonly FLOAT_VEC2: GLenum;
16563 readonly FLOAT_VEC3: GLenum;
16564 readonly FLOAT_VEC4: GLenum;
16565 readonly FRAGMENT_SHADER: GLenum;
16566 readonly FRAMEBUFFER: GLenum;
16567 readonly FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: GLenum;
16568 readonly FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: GLenum;
16569 readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: GLenum;
16570 readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: GLenum;
16571 readonly FRAMEBUFFER_BINDING: GLenum;
16572 readonly FRAMEBUFFER_COMPLETE: GLenum;
16573 readonly FRAMEBUFFER_INCOMPLETE_ATTACHMENT: GLenum;
16574 readonly FRAMEBUFFER_INCOMPLETE_DIMENSIONS: GLenum;
16575 readonly FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: GLenum;
16576 readonly FRAMEBUFFER_UNSUPPORTED: GLenum;
16577 readonly FRONT: GLenum;
16578 readonly FRONT_AND_BACK: GLenum;
16579 readonly FRONT_FACE: GLenum;
16580 readonly FUNC_ADD: GLenum;
16581 readonly FUNC_REVERSE_SUBTRACT: GLenum;
16582 readonly FUNC_SUBTRACT: GLenum;
16583 readonly GENERATE_MIPMAP_HINT: GLenum;
16584 readonly GEQUAL: GLenum;
16585 readonly GREATER: GLenum;
16586 readonly GREEN_BITS: GLenum;
16587 readonly HIGH_FLOAT: GLenum;
16588 readonly HIGH_INT: GLenum;
16589 readonly IMPLEMENTATION_COLOR_READ_FORMAT: GLenum;
16590 readonly IMPLEMENTATION_COLOR_READ_TYPE: GLenum;
16591 readonly INCR: GLenum;
16592 readonly INCR_WRAP: GLenum;
16593 readonly INT: GLenum;
16594 readonly INT_VEC2: GLenum;
16595 readonly INT_VEC3: GLenum;
16596 readonly INT_VEC4: GLenum;
16597 readonly INVALID_ENUM: GLenum;
16598 readonly INVALID_FRAMEBUFFER_OPERATION: GLenum;
16599 readonly INVALID_OPERATION: GLenum;
16600 readonly INVALID_VALUE: GLenum;
16601 readonly INVERT: GLenum;
16602 readonly KEEP: GLenum;
16603 readonly LEQUAL: GLenum;
16604 readonly LESS: GLenum;
16605 readonly LINEAR: GLenum;
16606 readonly LINEAR_MIPMAP_LINEAR: GLenum;
16607 readonly LINEAR_MIPMAP_NEAREST: GLenum;
16608 readonly LINES: GLenum;
16609 readonly LINE_LOOP: GLenum;
16610 readonly LINE_STRIP: GLenum;
16611 readonly LINE_WIDTH: GLenum;
16612 readonly LINK_STATUS: GLenum;
16613 readonly LOW_FLOAT: GLenum;
16614 readonly LOW_INT: GLenum;
16615 readonly LUMINANCE: GLenum;
16616 readonly LUMINANCE_ALPHA: GLenum;
16617 readonly MAX_COMBINED_TEXTURE_IMAGE_UNITS: GLenum;
16618 readonly MAX_CUBE_MAP_TEXTURE_SIZE: GLenum;
16619 readonly MAX_FRAGMENT_UNIFORM_VECTORS: GLenum;
16620 readonly MAX_RENDERBUFFER_SIZE: GLenum;
16621 readonly MAX_TEXTURE_IMAGE_UNITS: GLenum;
16622 readonly MAX_TEXTURE_SIZE: GLenum;
16623 readonly MAX_VARYING_VECTORS: GLenum;
16624 readonly MAX_VERTEX_ATTRIBS: GLenum;
16625 readonly MAX_VERTEX_TEXTURE_IMAGE_UNITS: GLenum;
16626 readonly MAX_VERTEX_UNIFORM_VECTORS: GLenum;
16627 readonly MAX_VIEWPORT_DIMS: GLenum;
16628 readonly MEDIUM_FLOAT: GLenum;
16629 readonly MEDIUM_INT: GLenum;
16630 readonly MIRRORED_REPEAT: GLenum;
16631 readonly NEAREST: GLenum;
16632 readonly NEAREST_MIPMAP_LINEAR: GLenum;
16633 readonly NEAREST_MIPMAP_NEAREST: GLenum;
16634 readonly NEVER: GLenum;
16635 readonly NICEST: GLenum;
16636 readonly NONE: GLenum;
16637 readonly NOTEQUAL: GLenum;
16638 readonly NO_ERROR: GLenum;
16639 readonly ONE: GLenum;
16640 readonly ONE_MINUS_CONSTANT_ALPHA: GLenum;
16641 readonly ONE_MINUS_CONSTANT_COLOR: GLenum;
16642 readonly ONE_MINUS_DST_ALPHA: GLenum;
16643 readonly ONE_MINUS_DST_COLOR: GLenum;
16644 readonly ONE_MINUS_SRC_ALPHA: GLenum;
16645 readonly ONE_MINUS_SRC_COLOR: GLenum;
16646 readonly OUT_OF_MEMORY: GLenum;
16647 readonly PACK_ALIGNMENT: GLenum;
16648 readonly POINTS: GLenum;
16649 readonly POLYGON_OFFSET_FACTOR: GLenum;
16650 readonly POLYGON_OFFSET_FILL: GLenum;
16651 readonly POLYGON_OFFSET_UNITS: GLenum;
16652 readonly RED_BITS: GLenum;
16653 readonly RENDERBUFFER: GLenum;
16654 readonly RENDERBUFFER_ALPHA_SIZE: GLenum;
16655 readonly RENDERBUFFER_BINDING: GLenum;
16656 readonly RENDERBUFFER_BLUE_SIZE: GLenum;
16657 readonly RENDERBUFFER_DEPTH_SIZE: GLenum;
16658 readonly RENDERBUFFER_GREEN_SIZE: GLenum;
16659 readonly RENDERBUFFER_HEIGHT: GLenum;
16660 readonly RENDERBUFFER_INTERNAL_FORMAT: GLenum;
16661 readonly RENDERBUFFER_RED_SIZE: GLenum;
16662 readonly RENDERBUFFER_STENCIL_SIZE: GLenum;
16663 readonly RENDERBUFFER_WIDTH: GLenum;
16664 readonly RENDERER: GLenum;
16665 readonly REPEAT: GLenum;
16666 readonly REPLACE: GLenum;
16667 readonly RGB: GLenum;
16668 readonly RGB565: GLenum;
16669 readonly RGB5_A1: GLenum;
16670 readonly RGBA: GLenum;
16671 readonly RGBA4: GLenum;
16672 readonly SAMPLER_2D: GLenum;
16673 readonly SAMPLER_CUBE: GLenum;
16674 readonly SAMPLES: GLenum;
16675 readonly SAMPLE_ALPHA_TO_COVERAGE: GLenum;
16676 readonly SAMPLE_BUFFERS: GLenum;
16677 readonly SAMPLE_COVERAGE: GLenum;
16678 readonly SAMPLE_COVERAGE_INVERT: GLenum;
16679 readonly SAMPLE_COVERAGE_VALUE: GLenum;
16680 readonly SCISSOR_BOX: GLenum;
16681 readonly SCISSOR_TEST: GLenum;
16682 readonly SHADER_TYPE: GLenum;
16683 readonly SHADING_LANGUAGE_VERSION: GLenum;
16684 readonly SHORT: GLenum;
16685 readonly SRC_ALPHA: GLenum;
16686 readonly SRC_ALPHA_SATURATE: GLenum;
16687 readonly SRC_COLOR: GLenum;
16688 readonly STATIC_DRAW: GLenum;
16689 readonly STENCIL_ATTACHMENT: GLenum;
16690 readonly STENCIL_BACK_FAIL: GLenum;
16691 readonly STENCIL_BACK_FUNC: GLenum;
16692 readonly STENCIL_BACK_PASS_DEPTH_FAIL: GLenum;
16693 readonly STENCIL_BACK_PASS_DEPTH_PASS: GLenum;
16694 readonly STENCIL_BACK_REF: GLenum;
16695 readonly STENCIL_BACK_VALUE_MASK: GLenum;
16696 readonly STENCIL_BACK_WRITEMASK: GLenum;
16697 readonly STENCIL_BITS: GLenum;
16698 readonly STENCIL_BUFFER_BIT: GLenum;
16699 readonly STENCIL_CLEAR_VALUE: GLenum;
16700 readonly STENCIL_FAIL: GLenum;
16701 readonly STENCIL_FUNC: GLenum;
16702 readonly STENCIL_INDEX8: GLenum;
16703 readonly STENCIL_PASS_DEPTH_FAIL: GLenum;
16704 readonly STENCIL_PASS_DEPTH_PASS: GLenum;
16705 readonly STENCIL_REF: GLenum;
16706 readonly STENCIL_TEST: GLenum;
16707 readonly STENCIL_VALUE_MASK: GLenum;
16708 readonly STENCIL_WRITEMASK: GLenum;
16709 readonly STREAM_DRAW: GLenum;
16710 readonly SUBPIXEL_BITS: GLenum;
16711 readonly TEXTURE: GLenum;
16712 readonly TEXTURE0: GLenum;
16713 readonly TEXTURE1: GLenum;
16714 readonly TEXTURE10: GLenum;
16715 readonly TEXTURE11: GLenum;
16716 readonly TEXTURE12: GLenum;
16717 readonly TEXTURE13: GLenum;
16718 readonly TEXTURE14: GLenum;
16719 readonly TEXTURE15: GLenum;
16720 readonly TEXTURE16: GLenum;
16721 readonly TEXTURE17: GLenum;
16722 readonly TEXTURE18: GLenum;
16723 readonly TEXTURE19: GLenum;
16724 readonly TEXTURE2: GLenum;
16725 readonly TEXTURE20: GLenum;
16726 readonly TEXTURE21: GLenum;
16727 readonly TEXTURE22: GLenum;
16728 readonly TEXTURE23: GLenum;
16729 readonly TEXTURE24: GLenum;
16730 readonly TEXTURE25: GLenum;
16731 readonly TEXTURE26: GLenum;
16732 readonly TEXTURE27: GLenum;
16733 readonly TEXTURE28: GLenum;
16734 readonly TEXTURE29: GLenum;
16735 readonly TEXTURE3: GLenum;
16736 readonly TEXTURE30: GLenum;
16737 readonly TEXTURE31: GLenum;
16738 readonly TEXTURE4: GLenum;
16739 readonly TEXTURE5: GLenum;
16740 readonly TEXTURE6: GLenum;
16741 readonly TEXTURE7: GLenum;
16742 readonly TEXTURE8: GLenum;
16743 readonly TEXTURE9: GLenum;
16744 readonly TEXTURE_2D: GLenum;
16745 readonly TEXTURE_BINDING_2D: GLenum;
16746 readonly TEXTURE_BINDING_CUBE_MAP: GLenum;
16747 readonly TEXTURE_CUBE_MAP: GLenum;
16748 readonly TEXTURE_CUBE_MAP_NEGATIVE_X: GLenum;
16749 readonly TEXTURE_CUBE_MAP_NEGATIVE_Y: GLenum;
16750 readonly TEXTURE_CUBE_MAP_NEGATIVE_Z: GLenum;
16751 readonly TEXTURE_CUBE_MAP_POSITIVE_X: GLenum;
16752 readonly TEXTURE_CUBE_MAP_POSITIVE_Y: GLenum;
16753 readonly TEXTURE_CUBE_MAP_POSITIVE_Z: GLenum;
16754 readonly TEXTURE_MAG_FILTER: GLenum;
16755 readonly TEXTURE_MIN_FILTER: GLenum;
16756 readonly TEXTURE_WRAP_S: GLenum;
16757 readonly TEXTURE_WRAP_T: GLenum;
16758 readonly TRIANGLES: GLenum;
16759 readonly TRIANGLE_FAN: GLenum;
16760 readonly TRIANGLE_STRIP: GLenum;
16761 readonly UNPACK_ALIGNMENT: GLenum;
16762 readonly UNPACK_COLORSPACE_CONVERSION_WEBGL: GLenum;
16763 readonly UNPACK_FLIP_Y_WEBGL: GLenum;
16764 readonly UNPACK_PREMULTIPLY_ALPHA_WEBGL: GLenum;
16765 readonly UNSIGNED_BYTE: GLenum;
16766 readonly UNSIGNED_INT: GLenum;
16767 readonly UNSIGNED_SHORT: GLenum;
16768 readonly UNSIGNED_SHORT_4_4_4_4: GLenum;
16769 readonly UNSIGNED_SHORT_5_5_5_1: GLenum;
16770 readonly UNSIGNED_SHORT_5_6_5: GLenum;
16771 readonly VALIDATE_STATUS: GLenum;
16772 readonly VENDOR: GLenum;
16773 readonly VERSION: GLenum;
16774 readonly VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: GLenum;
16775 readonly VERTEX_ATTRIB_ARRAY_ENABLED: GLenum;
16776 readonly VERTEX_ATTRIB_ARRAY_NORMALIZED: GLenum;
16777 readonly VERTEX_ATTRIB_ARRAY_POINTER: GLenum;
16778 readonly VERTEX_ATTRIB_ARRAY_SIZE: GLenum;
16779 readonly VERTEX_ATTRIB_ARRAY_STRIDE: GLenum;
16780 readonly VERTEX_ATTRIB_ARRAY_TYPE: GLenum;
16781 readonly VERTEX_SHADER: GLenum;
16782 readonly VIEWPORT: GLenum;
16783 readonly ZERO: GLenum;
16784 readonly ACTIVE_UNIFORM_BLOCKS: GLenum;
16785 readonly ALREADY_SIGNALED: GLenum;
16786 readonly ANY_SAMPLES_PASSED: GLenum;
16787 readonly ANY_SAMPLES_PASSED_CONSERVATIVE: GLenum;
16788 readonly COLOR: GLenum;
16789 readonly COLOR_ATTACHMENT1: GLenum;
16790 readonly COLOR_ATTACHMENT10: GLenum;
16791 readonly COLOR_ATTACHMENT11: GLenum;
16792 readonly COLOR_ATTACHMENT12: GLenum;
16793 readonly COLOR_ATTACHMENT13: GLenum;
16794 readonly COLOR_ATTACHMENT14: GLenum;
16795 readonly COLOR_ATTACHMENT15: GLenum;
16796 readonly COLOR_ATTACHMENT2: GLenum;
16797 readonly COLOR_ATTACHMENT3: GLenum;
16798 readonly COLOR_ATTACHMENT4: GLenum;
16799 readonly COLOR_ATTACHMENT5: GLenum;
16800 readonly COLOR_ATTACHMENT6: GLenum;
16801 readonly COLOR_ATTACHMENT7: GLenum;
16802 readonly COLOR_ATTACHMENT8: GLenum;
16803 readonly COLOR_ATTACHMENT9: GLenum;
16804 readonly COMPARE_REF_TO_TEXTURE: GLenum;
16805 readonly CONDITION_SATISFIED: GLenum;
16806 readonly COPY_READ_BUFFER: GLenum;
16807 readonly COPY_READ_BUFFER_BINDING: GLenum;
16808 readonly COPY_WRITE_BUFFER: GLenum;
16809 readonly COPY_WRITE_BUFFER_BINDING: GLenum;
16810 readonly CURRENT_QUERY: GLenum;
16811 readonly DEPTH: GLenum;
16812 readonly DEPTH24_STENCIL8: GLenum;
16813 readonly DEPTH32F_STENCIL8: GLenum;
16814 readonly DEPTH_COMPONENT24: GLenum;
16815 readonly DEPTH_COMPONENT32F: GLenum;
16816 readonly DRAW_BUFFER0: GLenum;
16817 readonly DRAW_BUFFER1: GLenum;
16818 readonly DRAW_BUFFER10: GLenum;
16819 readonly DRAW_BUFFER11: GLenum;
16820 readonly DRAW_BUFFER12: GLenum;
16821 readonly DRAW_BUFFER13: GLenum;
16822 readonly DRAW_BUFFER14: GLenum;
16823 readonly DRAW_BUFFER15: GLenum;
16824 readonly DRAW_BUFFER2: GLenum;
16825 readonly DRAW_BUFFER3: GLenum;
16826 readonly DRAW_BUFFER4: GLenum;
16827 readonly DRAW_BUFFER5: GLenum;
16828 readonly DRAW_BUFFER6: GLenum;
16829 readonly DRAW_BUFFER7: GLenum;
16830 readonly DRAW_BUFFER8: GLenum;
16831 readonly DRAW_BUFFER9: GLenum;
16832 readonly DRAW_FRAMEBUFFER: GLenum;
16833 readonly DRAW_FRAMEBUFFER_BINDING: GLenum;
16834 readonly DYNAMIC_COPY: GLenum;
16835 readonly DYNAMIC_READ: GLenum;
16836 readonly FLOAT_32_UNSIGNED_INT_24_8_REV: GLenum;
16837 readonly FLOAT_MAT2x3: GLenum;
16838 readonly FLOAT_MAT2x4: GLenum;
16839 readonly FLOAT_MAT3x2: GLenum;
16840 readonly FLOAT_MAT3x4: GLenum;
16841 readonly FLOAT_MAT4x2: GLenum;
16842 readonly FLOAT_MAT4x3: GLenum;
16843 readonly FRAGMENT_SHADER_DERIVATIVE_HINT: GLenum;
16844 readonly FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE: GLenum;
16845 readonly FRAMEBUFFER_ATTACHMENT_BLUE_SIZE: GLenum;
16846 readonly FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING: GLenum;
16847 readonly FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE: GLenum;
16848 readonly FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE: GLenum;
16849 readonly FRAMEBUFFER_ATTACHMENT_GREEN_SIZE: GLenum;
16850 readonly FRAMEBUFFER_ATTACHMENT_RED_SIZE: GLenum;
16851 readonly FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE: GLenum;
16852 readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER: GLenum;
16853 readonly FRAMEBUFFER_DEFAULT: GLenum;
16854 readonly FRAMEBUFFER_INCOMPLETE_MULTISAMPLE: GLenum;
16855 readonly HALF_FLOAT: GLenum;
16856 readonly INTERLEAVED_ATTRIBS: GLenum;
16857 readonly INT_2_10_10_10_REV: GLenum;
16858 readonly INT_SAMPLER_2D: GLenum;
16859 readonly INT_SAMPLER_2D_ARRAY: GLenum;
16860 readonly INT_SAMPLER_3D: GLenum;
16861 readonly INT_SAMPLER_CUBE: GLenum;
16862 readonly INVALID_INDEX: GLenum;
16863 readonly MAX: GLenum;
16864 readonly MAX_3D_TEXTURE_SIZE: GLenum;
16865 readonly MAX_ARRAY_TEXTURE_LAYERS: GLenum;
16866 readonly MAX_CLIENT_WAIT_TIMEOUT_WEBGL: GLenum;
16867 readonly MAX_COLOR_ATTACHMENTS: GLenum;
16868 readonly MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS: GLenum;
16869 readonly MAX_COMBINED_UNIFORM_BLOCKS: GLenum;
16870 readonly MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS: GLenum;
16871 readonly MAX_DRAW_BUFFERS: GLenum;
16872 readonly MAX_ELEMENTS_INDICES: GLenum;
16873 readonly MAX_ELEMENTS_VERTICES: GLenum;
16874 readonly MAX_ELEMENT_INDEX: GLenum;
16875 readonly MAX_FRAGMENT_INPUT_COMPONENTS: GLenum;
16876 readonly MAX_FRAGMENT_UNIFORM_BLOCKS: GLenum;
16877 readonly MAX_FRAGMENT_UNIFORM_COMPONENTS: GLenum;
16878 readonly MAX_PROGRAM_TEXEL_OFFSET: GLenum;
16879 readonly MAX_SAMPLES: GLenum;
16880 readonly MAX_SERVER_WAIT_TIMEOUT: GLenum;
16881 readonly MAX_TEXTURE_LOD_BIAS: GLenum;
16882 readonly MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS: GLenum;
16883 readonly MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS: GLenum;
16884 readonly MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS: GLenum;
16885 readonly MAX_UNIFORM_BLOCK_SIZE: GLenum;
16886 readonly MAX_UNIFORM_BUFFER_BINDINGS: GLenum;
16887 readonly MAX_VARYING_COMPONENTS: GLenum;
16888 readonly MAX_VERTEX_OUTPUT_COMPONENTS: GLenum;
16889 readonly MAX_VERTEX_UNIFORM_BLOCKS: GLenum;
16890 readonly MAX_VERTEX_UNIFORM_COMPONENTS: GLenum;
16891 readonly MIN: GLenum;
16892 readonly MIN_PROGRAM_TEXEL_OFFSET: GLenum;
16893 readonly OBJECT_TYPE: GLenum;
16894 readonly PACK_ROW_LENGTH: GLenum;
16895 readonly PACK_SKIP_PIXELS: GLenum;
16896 readonly PACK_SKIP_ROWS: GLenum;
16897 readonly PIXEL_PACK_BUFFER: GLenum;
16898 readonly PIXEL_PACK_BUFFER_BINDING: GLenum;
16899 readonly PIXEL_UNPACK_BUFFER: GLenum;
16900 readonly PIXEL_UNPACK_BUFFER_BINDING: GLenum;
16901 readonly QUERY_RESULT: GLenum;
16902 readonly QUERY_RESULT_AVAILABLE: GLenum;
16903 readonly R11F_G11F_B10F: GLenum;
16904 readonly R16F: GLenum;
16905 readonly R16I: GLenum;
16906 readonly R16UI: GLenum;
16907 readonly R32F: GLenum;
16908 readonly R32I: GLenum;
16909 readonly R32UI: GLenum;
16910 readonly R8: GLenum;
16911 readonly R8I: GLenum;
16912 readonly R8UI: GLenum;
16913 readonly R8_SNORM: GLenum;
16914 readonly RASTERIZER_DISCARD: GLenum;
16915 readonly READ_BUFFER: GLenum;
16916 readonly READ_FRAMEBUFFER: GLenum;
16917 readonly READ_FRAMEBUFFER_BINDING: GLenum;
16918 readonly RED: GLenum;
16919 readonly RED_INTEGER: GLenum;
16920 readonly RENDERBUFFER_SAMPLES: GLenum;
16921 readonly RG: GLenum;
16922 readonly RG16F: GLenum;
16923 readonly RG16I: GLenum;
16924 readonly RG16UI: GLenum;
16925 readonly RG32F: GLenum;
16926 readonly RG32I: GLenum;
16927 readonly RG32UI: GLenum;
16928 readonly RG8: GLenum;
16929 readonly RG8I: GLenum;
16930 readonly RG8UI: GLenum;
16931 readonly RG8_SNORM: GLenum;
16932 readonly RGB10_A2: GLenum;
16933 readonly RGB10_A2UI: GLenum;
16934 readonly RGB16F: GLenum;
16935 readonly RGB16I: GLenum;
16936 readonly RGB16UI: GLenum;
16937 readonly RGB32F: GLenum;
16938 readonly RGB32I: GLenum;
16939 readonly RGB32UI: GLenum;
16940 readonly RGB8: GLenum;
16941 readonly RGB8I: GLenum;
16942 readonly RGB8UI: GLenum;
16943 readonly RGB8_SNORM: GLenum;
16944 readonly RGB9_E5: GLenum;
16945 readonly RGBA16F: GLenum;
16946 readonly RGBA16I: GLenum;
16947 readonly RGBA16UI: GLenum;
16948 readonly RGBA32F: GLenum;
16949 readonly RGBA32I: GLenum;
16950 readonly RGBA32UI: GLenum;
16951 readonly RGBA8: GLenum;
16952 readonly RGBA8I: GLenum;
16953 readonly RGBA8UI: GLenum;
16954 readonly RGBA8_SNORM: GLenum;
16955 readonly RGBA_INTEGER: GLenum;
16956 readonly RGB_INTEGER: GLenum;
16957 readonly RG_INTEGER: GLenum;
16958 readonly SAMPLER_2D_ARRAY: GLenum;
16959 readonly SAMPLER_2D_ARRAY_SHADOW: GLenum;
16960 readonly SAMPLER_2D_SHADOW: GLenum;
16961 readonly SAMPLER_3D: GLenum;
16962 readonly SAMPLER_BINDING: GLenum;
16963 readonly SAMPLER_CUBE_SHADOW: GLenum;
16964 readonly SEPARATE_ATTRIBS: GLenum;
16965 readonly SIGNALED: GLenum;
16966 readonly SIGNED_NORMALIZED: GLenum;
16967 readonly SRGB: GLenum;
16968 readonly SRGB8: GLenum;
16969 readonly SRGB8_ALPHA8: GLenum;
16970 readonly STATIC_COPY: GLenum;
16971 readonly STATIC_READ: GLenum;
16972 readonly STENCIL: GLenum;
16973 readonly STREAM_COPY: GLenum;
16974 readonly STREAM_READ: GLenum;
16975 readonly SYNC_CONDITION: GLenum;
16976 readonly SYNC_FENCE: GLenum;
16977 readonly SYNC_FLAGS: GLenum;
16978 readonly SYNC_FLUSH_COMMANDS_BIT: GLenum;
16979 readonly SYNC_GPU_COMMANDS_COMPLETE: GLenum;
16980 readonly SYNC_STATUS: GLenum;
16981 readonly TEXTURE_2D_ARRAY: GLenum;
16982 readonly TEXTURE_3D: GLenum;
16983 readonly TEXTURE_BASE_LEVEL: GLenum;
16984 readonly TEXTURE_BINDING_2D_ARRAY: GLenum;
16985 readonly TEXTURE_BINDING_3D: GLenum;
16986 readonly TEXTURE_COMPARE_FUNC: GLenum;
16987 readonly TEXTURE_COMPARE_MODE: GLenum;
16988 readonly TEXTURE_IMMUTABLE_FORMAT: GLenum;
16989 readonly TEXTURE_IMMUTABLE_LEVELS: GLenum;
16990 readonly TEXTURE_MAX_LEVEL: GLenum;
16991 readonly TEXTURE_MAX_LOD: GLenum;
16992 readonly TEXTURE_MIN_LOD: GLenum;
16993 readonly TEXTURE_WRAP_R: GLenum;
16994 readonly TIMEOUT_EXPIRED: GLenum;
16995 readonly TIMEOUT_IGNORED: GLint64;
16996 readonly TRANSFORM_FEEDBACK: GLenum;
16997 readonly TRANSFORM_FEEDBACK_ACTIVE: GLenum;
16998 readonly TRANSFORM_FEEDBACK_BINDING: GLenum;
16999 readonly TRANSFORM_FEEDBACK_BUFFER: GLenum;
17000 readonly TRANSFORM_FEEDBACK_BUFFER_BINDING: GLenum;
17001 readonly TRANSFORM_FEEDBACK_BUFFER_MODE: GLenum;
17002 readonly TRANSFORM_FEEDBACK_BUFFER_SIZE: GLenum;
17003 readonly TRANSFORM_FEEDBACK_BUFFER_START: GLenum;
17004 readonly TRANSFORM_FEEDBACK_PAUSED: GLenum;
17005 readonly TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN: GLenum;
17006 readonly TRANSFORM_FEEDBACK_VARYINGS: GLenum;
17007 readonly UNIFORM_ARRAY_STRIDE: GLenum;
17008 readonly UNIFORM_BLOCK_ACTIVE_UNIFORMS: GLenum;
17009 readonly UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES: GLenum;
17010 readonly UNIFORM_BLOCK_BINDING: GLenum;
17011 readonly UNIFORM_BLOCK_DATA_SIZE: GLenum;
17012 readonly UNIFORM_BLOCK_INDEX: GLenum;
17013 readonly UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER: GLenum;
17014 readonly UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER: GLenum;
17015 readonly UNIFORM_BUFFER: GLenum;
17016 readonly UNIFORM_BUFFER_BINDING: GLenum;
17017 readonly UNIFORM_BUFFER_OFFSET_ALIGNMENT: GLenum;
17018 readonly UNIFORM_BUFFER_SIZE: GLenum;
17019 readonly UNIFORM_BUFFER_START: GLenum;
17020 readonly UNIFORM_IS_ROW_MAJOR: GLenum;
17021 readonly UNIFORM_MATRIX_STRIDE: GLenum;
17022 readonly UNIFORM_OFFSET: GLenum;
17023 readonly UNIFORM_SIZE: GLenum;
17024 readonly UNIFORM_TYPE: GLenum;
17025 readonly UNPACK_IMAGE_HEIGHT: GLenum;
17026 readonly UNPACK_ROW_LENGTH: GLenum;
17027 readonly UNPACK_SKIP_IMAGES: GLenum;
17028 readonly UNPACK_SKIP_PIXELS: GLenum;
17029 readonly UNPACK_SKIP_ROWS: GLenum;
17030 readonly UNSIGNALED: GLenum;
17031 readonly UNSIGNED_INT_10F_11F_11F_REV: GLenum;
17032 readonly UNSIGNED_INT_24_8: GLenum;
17033 readonly UNSIGNED_INT_2_10_10_10_REV: GLenum;
17034 readonly UNSIGNED_INT_5_9_9_9_REV: GLenum;
17035 readonly UNSIGNED_INT_SAMPLER_2D: GLenum;
17036 readonly UNSIGNED_INT_SAMPLER_2D_ARRAY: GLenum;
17037 readonly UNSIGNED_INT_SAMPLER_3D: GLenum;
17038 readonly UNSIGNED_INT_SAMPLER_CUBE: GLenum;
17039 readonly UNSIGNED_INT_VEC2: GLenum;
17040 readonly UNSIGNED_INT_VEC3: GLenum;
17041 readonly UNSIGNED_INT_VEC4: GLenum;
17042 readonly UNSIGNED_NORMALIZED: GLenum;
17043 readonly VERTEX_ARRAY_BINDING: GLenum;
17044 readonly VERTEX_ATTRIB_ARRAY_DIVISOR: GLenum;
17045 readonly VERTEX_ATTRIB_ARRAY_INTEGER: GLenum;
17046 readonly WAIT_FAILED: GLenum;
17047};
17048
17049interface WebGL2RenderingContextBase {
17050 beginQuery(target: GLenum, query: WebGLQuery): void;
17051 beginTransformFeedback(primitiveMode: GLenum): void;
17052 bindBufferBase(target: GLenum, index: GLuint, buffer: WebGLBuffer | null): void;
17053 bindBufferRange(target: GLenum, index: GLuint, buffer: WebGLBuffer | null, offset: GLintptr, size: GLsizeiptr): void;
17054 bindSampler(unit: GLuint, sampler: WebGLSampler | null): void;
17055 bindTransformFeedback(target: GLenum, tf: WebGLTransformFeedback | null): void;
17056 bindVertexArray(array: WebGLVertexArrayObject | null): void;
17057 blitFramebuffer(srcX0: GLint, srcY0: GLint, srcX1: GLint, srcY1: GLint, dstX0: GLint, dstY0: GLint, dstX1: GLint, dstY1: GLint, mask: GLbitfield, filter: GLenum): void;
17058 clearBufferfi(buffer: GLenum, drawbuffer: GLint, depth: GLfloat, stencil: GLint): void;
17059 clearBufferfv(buffer: GLenum, drawbuffer: GLint, values: Float32List, srcOffset?: GLuint): void;
17060 clearBufferiv(buffer: GLenum, drawbuffer: GLint, values: Int32List, srcOffset?: GLuint): void;
17061 clearBufferuiv(buffer: GLenum, drawbuffer: GLint, values: Uint32List, srcOffset?: GLuint): void;
17062 clientWaitSync(sync: WebGLSync, flags: GLbitfield, timeout: GLuint64): GLenum;
17063 compressedTexImage3D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, imageSize: GLsizei, offset: GLintptr): void;
17064 compressedTexImage3D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, srcData: ArrayBufferView, srcOffset?: GLuint, srcLengthOverride?: GLuint): void;
17065 compressedTexSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, imageSize: GLsizei, offset: GLintptr): void;
17066 compressedTexSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, srcData: ArrayBufferView, srcOffset?: GLuint, srcLengthOverride?: GLuint): void;
17067 copyBufferSubData(readTarget: GLenum, writeTarget: GLenum, readOffset: GLintptr, writeOffset: GLintptr, size: GLsizeiptr): void;
17068 copyTexSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, x: GLint, y: GLint, width: GLsizei, height: GLsizei): void;
17069 createQuery(): WebGLQuery | null;
17070 createSampler(): WebGLSampler | null;
17071 createTransformFeedback(): WebGLTransformFeedback | null;
17072 createVertexArray(): WebGLVertexArrayObject | null;
17073 deleteQuery(query: WebGLQuery | null): void;
17074 deleteSampler(sampler: WebGLSampler | null): void;
17075 deleteSync(sync: WebGLSync | null): void;
17076 deleteTransformFeedback(tf: WebGLTransformFeedback | null): void;
17077 deleteVertexArray(vertexArray: WebGLVertexArrayObject | null): void;
17078 drawArraysInstanced(mode: GLenum, first: GLint, count: GLsizei, instanceCount: GLsizei): void;
17079 drawBuffers(buffers: GLenum[]): void;
17080 drawElementsInstanced(mode: GLenum, count: GLsizei, type: GLenum, offset: GLintptr, instanceCount: GLsizei): void;
17081 drawRangeElements(mode: GLenum, start: GLuint, end: GLuint, count: GLsizei, type: GLenum, offset: GLintptr): void;
17082 endQuery(target: GLenum): void;
17083 endTransformFeedback(): void;
17084 fenceSync(condition: GLenum, flags: GLbitfield): WebGLSync | null;
17085 framebufferTextureLayer(target: GLenum, attachment: GLenum, texture: WebGLTexture | null, level: GLint, layer: GLint): void;
17086 getActiveUniformBlockName(program: WebGLProgram, uniformBlockIndex: GLuint): string | null;
17087 getActiveUniformBlockParameter(program: WebGLProgram, uniformBlockIndex: GLuint, pname: GLenum): any;
17088 getActiveUniforms(program: WebGLProgram, uniformIndices: GLuint[], pname: GLenum): any;
17089 getBufferSubData(target: GLenum, srcByteOffset: GLintptr, dstBuffer: ArrayBufferView, dstOffset?: GLuint, length?: GLuint): void;
17090 getFragDataLocation(program: WebGLProgram, name: string): GLint;
17091 getIndexedParameter(target: GLenum, index: GLuint): any;
17092 getInternalformatParameter(target: GLenum, internalformat: GLenum, pname: GLenum): any;
17093 getQuery(target: GLenum, pname: GLenum): WebGLQuery | null;
17094 getQueryParameter(query: WebGLQuery, pname: GLenum): any;
17095 getSamplerParameter(sampler: WebGLSampler, pname: GLenum): any;
17096 getSyncParameter(sync: WebGLSync, pname: GLenum): any;
17097 getTransformFeedbackVarying(program: WebGLProgram, index: GLuint): WebGLActiveInfo | null;
17098 getUniformBlockIndex(program: WebGLProgram, uniformBlockName: string): GLuint;
17099 getUniformIndices(program: WebGLProgram, uniformNames: string[]): GLuint[] | null;
17100 invalidateFramebuffer(target: GLenum, attachments: GLenum[]): void;
17101 invalidateSubFramebuffer(target: GLenum, attachments: GLenum[], x: GLint, y: GLint, width: GLsizei, height: GLsizei): void;
17102 isQuery(query: WebGLQuery | null): GLboolean;
17103 isSampler(sampler: WebGLSampler | null): GLboolean;
17104 isSync(sync: WebGLSync | null): GLboolean;
17105 isTransformFeedback(tf: WebGLTransformFeedback | null): GLboolean;
17106 isVertexArray(vertexArray: WebGLVertexArrayObject | null): GLboolean;
17107 pauseTransformFeedback(): void;
17108 readBuffer(src: GLenum): void;
17109 renderbufferStorageMultisample(target: GLenum, samples: GLsizei, internalformat: GLenum, width: GLsizei, height: GLsizei): void;
17110 resumeTransformFeedback(): void;
17111 samplerParameterf(sampler: WebGLSampler, pname: GLenum, param: GLfloat): void;
17112 samplerParameteri(sampler: WebGLSampler, pname: GLenum, param: GLint): void;
17113 texImage3D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type: GLenum, pboOffset: GLintptr): void;
17114 texImage3D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type: GLenum, source: TexImageSource): void;
17115 texImage3D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type: GLenum, srcData: ArrayBufferView | null): void;
17116 texImage3D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type: GLenum, srcData: ArrayBufferView, srcOffset: GLuint): void;
17117 texStorage2D(target: GLenum, levels: GLsizei, internalformat: GLenum, width: GLsizei, height: GLsizei): void;
17118 texStorage3D(target: GLenum, levels: GLsizei, internalformat: GLenum, width: GLsizei, height: GLsizei, depth: GLsizei): void;
17119 texSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, type: GLenum, pboOffset: GLintptr): void;
17120 texSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, type: GLenum, source: TexImageSource): void;
17121 texSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, type: GLenum, srcData: ArrayBufferView | null, srcOffset?: GLuint): void;
17122 transformFeedbackVaryings(program: WebGLProgram, varyings: string[], bufferMode: GLenum): void;
17123 uniform1ui(location: WebGLUniformLocation | null, v0: GLuint): void;
17124 uniform1uiv(location: WebGLUniformLocation | null, data: Uint32List, srcOffset?: GLuint, srcLength?: GLuint): void;
17125 uniform2ui(location: WebGLUniformLocation | null, v0: GLuint, v1: GLuint): void;
17126 uniform2uiv(location: WebGLUniformLocation | null, data: Uint32List, srcOffset?: GLuint, srcLength?: GLuint): void;
17127 uniform3ui(location: WebGLUniformLocation | null, v0: GLuint, v1: GLuint, v2: GLuint): void;
17128 uniform3uiv(location: WebGLUniformLocation | null, data: Uint32List, srcOffset?: GLuint, srcLength?: GLuint): void;
17129 uniform4ui(location: WebGLUniformLocation | null, v0: GLuint, v1: GLuint, v2: GLuint, v3: GLuint): void;
17130 uniform4uiv(location: WebGLUniformLocation | null, data: Uint32List, srcOffset?: GLuint, srcLength?: GLuint): void;
17131 uniformBlockBinding(program: WebGLProgram, uniformBlockIndex: GLuint, uniformBlockBinding: GLuint): void;
17132 uniformMatrix2x3fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint): void;
17133 uniformMatrix2x4fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint): void;
17134 uniformMatrix3x2fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint): void;
17135 uniformMatrix3x4fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint): void;
17136 uniformMatrix4x2fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint): void;
17137 uniformMatrix4x3fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint): void;
17138 vertexAttribDivisor(index: GLuint, divisor: GLuint): void;
17139 vertexAttribI4i(index: GLuint, x: GLint, y: GLint, z: GLint, w: GLint): void;
17140 vertexAttribI4iv(index: GLuint, values: Int32List): void;
17141 vertexAttribI4ui(index: GLuint, x: GLuint, y: GLuint, z: GLuint, w: GLuint): void;
17142 vertexAttribI4uiv(index: GLuint, values: Uint32List): void;
17143 vertexAttribIPointer(index: GLuint, size: GLint, type: GLenum, stride: GLsizei, offset: GLintptr): void;
17144 waitSync(sync: WebGLSync, flags: GLbitfield, timeout: GLint64): void;
17145 readonly ACTIVE_UNIFORM_BLOCKS: GLenum;
17146 readonly ALREADY_SIGNALED: GLenum;
17147 readonly ANY_SAMPLES_PASSED: GLenum;
17148 readonly ANY_SAMPLES_PASSED_CONSERVATIVE: GLenum;
17149 readonly COLOR: GLenum;
17150 readonly COLOR_ATTACHMENT1: GLenum;
17151 readonly COLOR_ATTACHMENT10: GLenum;
17152 readonly COLOR_ATTACHMENT11: GLenum;
17153 readonly COLOR_ATTACHMENT12: GLenum;
17154 readonly COLOR_ATTACHMENT13: GLenum;
17155 readonly COLOR_ATTACHMENT14: GLenum;
17156 readonly COLOR_ATTACHMENT15: GLenum;
17157 readonly COLOR_ATTACHMENT2: GLenum;
17158 readonly COLOR_ATTACHMENT3: GLenum;
17159 readonly COLOR_ATTACHMENT4: GLenum;
17160 readonly COLOR_ATTACHMENT5: GLenum;
17161 readonly COLOR_ATTACHMENT6: GLenum;
17162 readonly COLOR_ATTACHMENT7: GLenum;
17163 readonly COLOR_ATTACHMENT8: GLenum;
17164 readonly COLOR_ATTACHMENT9: GLenum;
17165 readonly COMPARE_REF_TO_TEXTURE: GLenum;
17166 readonly CONDITION_SATISFIED: GLenum;
17167 readonly COPY_READ_BUFFER: GLenum;
17168 readonly COPY_READ_BUFFER_BINDING: GLenum;
17169 readonly COPY_WRITE_BUFFER: GLenum;
17170 readonly COPY_WRITE_BUFFER_BINDING: GLenum;
17171 readonly CURRENT_QUERY: GLenum;
17172 readonly DEPTH: GLenum;
17173 readonly DEPTH24_STENCIL8: GLenum;
17174 readonly DEPTH32F_STENCIL8: GLenum;
17175 readonly DEPTH_COMPONENT24: GLenum;
17176 readonly DEPTH_COMPONENT32F: GLenum;
17177 readonly DRAW_BUFFER0: GLenum;
17178 readonly DRAW_BUFFER1: GLenum;
17179 readonly DRAW_BUFFER10: GLenum;
17180 readonly DRAW_BUFFER11: GLenum;
17181 readonly DRAW_BUFFER12: GLenum;
17182 readonly DRAW_BUFFER13: GLenum;
17183 readonly DRAW_BUFFER14: GLenum;
17184 readonly DRAW_BUFFER15: GLenum;
17185 readonly DRAW_BUFFER2: GLenum;
17186 readonly DRAW_BUFFER3: GLenum;
17187 readonly DRAW_BUFFER4: GLenum;
17188 readonly DRAW_BUFFER5: GLenum;
17189 readonly DRAW_BUFFER6: GLenum;
17190 readonly DRAW_BUFFER7: GLenum;
17191 readonly DRAW_BUFFER8: GLenum;
17192 readonly DRAW_BUFFER9: GLenum;
17193 readonly DRAW_FRAMEBUFFER: GLenum;
17194 readonly DRAW_FRAMEBUFFER_BINDING: GLenum;
17195 readonly DYNAMIC_COPY: GLenum;
17196 readonly DYNAMIC_READ: GLenum;
17197 readonly FLOAT_32_UNSIGNED_INT_24_8_REV: GLenum;
17198 readonly FLOAT_MAT2x3: GLenum;
17199 readonly FLOAT_MAT2x4: GLenum;
17200 readonly FLOAT_MAT3x2: GLenum;
17201 readonly FLOAT_MAT3x4: GLenum;
17202 readonly FLOAT_MAT4x2: GLenum;
17203 readonly FLOAT_MAT4x3: GLenum;
17204 readonly FRAGMENT_SHADER_DERIVATIVE_HINT: GLenum;
17205 readonly FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE: GLenum;
17206 readonly FRAMEBUFFER_ATTACHMENT_BLUE_SIZE: GLenum;
17207 readonly FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING: GLenum;
17208 readonly FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE: GLenum;
17209 readonly FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE: GLenum;
17210 readonly FRAMEBUFFER_ATTACHMENT_GREEN_SIZE: GLenum;
17211 readonly FRAMEBUFFER_ATTACHMENT_RED_SIZE: GLenum;
17212 readonly FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE: GLenum;
17213 readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER: GLenum;
17214 readonly FRAMEBUFFER_DEFAULT: GLenum;
17215 readonly FRAMEBUFFER_INCOMPLETE_MULTISAMPLE: GLenum;
17216 readonly HALF_FLOAT: GLenum;
17217 readonly INTERLEAVED_ATTRIBS: GLenum;
17218 readonly INT_2_10_10_10_REV: GLenum;
17219 readonly INT_SAMPLER_2D: GLenum;
17220 readonly INT_SAMPLER_2D_ARRAY: GLenum;
17221 readonly INT_SAMPLER_3D: GLenum;
17222 readonly INT_SAMPLER_CUBE: GLenum;
17223 readonly INVALID_INDEX: GLenum;
17224 readonly MAX: GLenum;
17225 readonly MAX_3D_TEXTURE_SIZE: GLenum;
17226 readonly MAX_ARRAY_TEXTURE_LAYERS: GLenum;
17227 readonly MAX_CLIENT_WAIT_TIMEOUT_WEBGL: GLenum;
17228 readonly MAX_COLOR_ATTACHMENTS: GLenum;
17229 readonly MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS: GLenum;
17230 readonly MAX_COMBINED_UNIFORM_BLOCKS: GLenum;
17231 readonly MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS: GLenum;
17232 readonly MAX_DRAW_BUFFERS: GLenum;
17233 readonly MAX_ELEMENTS_INDICES: GLenum;
17234 readonly MAX_ELEMENTS_VERTICES: GLenum;
17235 readonly MAX_ELEMENT_INDEX: GLenum;
17236 readonly MAX_FRAGMENT_INPUT_COMPONENTS: GLenum;
17237 readonly MAX_FRAGMENT_UNIFORM_BLOCKS: GLenum;
17238 readonly MAX_FRAGMENT_UNIFORM_COMPONENTS: GLenum;
17239 readonly MAX_PROGRAM_TEXEL_OFFSET: GLenum;
17240 readonly MAX_SAMPLES: GLenum;
17241 readonly MAX_SERVER_WAIT_TIMEOUT: GLenum;
17242 readonly MAX_TEXTURE_LOD_BIAS: GLenum;
17243 readonly MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS: GLenum;
17244 readonly MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS: GLenum;
17245 readonly MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS: GLenum;
17246 readonly MAX_UNIFORM_BLOCK_SIZE: GLenum;
17247 readonly MAX_UNIFORM_BUFFER_BINDINGS: GLenum;
17248 readonly MAX_VARYING_COMPONENTS: GLenum;
17249 readonly MAX_VERTEX_OUTPUT_COMPONENTS: GLenum;
17250 readonly MAX_VERTEX_UNIFORM_BLOCKS: GLenum;
17251 readonly MAX_VERTEX_UNIFORM_COMPONENTS: GLenum;
17252 readonly MIN: GLenum;
17253 readonly MIN_PROGRAM_TEXEL_OFFSET: GLenum;
17254 readonly OBJECT_TYPE: GLenum;
17255 readonly PACK_ROW_LENGTH: GLenum;
17256 readonly PACK_SKIP_PIXELS: GLenum;
17257 readonly PACK_SKIP_ROWS: GLenum;
17258 readonly PIXEL_PACK_BUFFER: GLenum;
17259 readonly PIXEL_PACK_BUFFER_BINDING: GLenum;
17260 readonly PIXEL_UNPACK_BUFFER: GLenum;
17261 readonly PIXEL_UNPACK_BUFFER_BINDING: GLenum;
17262 readonly QUERY_RESULT: GLenum;
17263 readonly QUERY_RESULT_AVAILABLE: GLenum;
17264 readonly R11F_G11F_B10F: GLenum;
17265 readonly R16F: GLenum;
17266 readonly R16I: GLenum;
17267 readonly R16UI: GLenum;
17268 readonly R32F: GLenum;
17269 readonly R32I: GLenum;
17270 readonly R32UI: GLenum;
17271 readonly R8: GLenum;
17272 readonly R8I: GLenum;
17273 readonly R8UI: GLenum;
17274 readonly R8_SNORM: GLenum;
17275 readonly RASTERIZER_DISCARD: GLenum;
17276 readonly READ_BUFFER: GLenum;
17277 readonly READ_FRAMEBUFFER: GLenum;
17278 readonly READ_FRAMEBUFFER_BINDING: GLenum;
17279 readonly RED: GLenum;
17280 readonly RED_INTEGER: GLenum;
17281 readonly RENDERBUFFER_SAMPLES: GLenum;
17282 readonly RG: GLenum;
17283 readonly RG16F: GLenum;
17284 readonly RG16I: GLenum;
17285 readonly RG16UI: GLenum;
17286 readonly RG32F: GLenum;
17287 readonly RG32I: GLenum;
17288 readonly RG32UI: GLenum;
17289 readonly RG8: GLenum;
17290 readonly RG8I: GLenum;
17291 readonly RG8UI: GLenum;
17292 readonly RG8_SNORM: GLenum;
17293 readonly RGB10_A2: GLenum;
17294 readonly RGB10_A2UI: GLenum;
17295 readonly RGB16F: GLenum;
17296 readonly RGB16I: GLenum;
17297 readonly RGB16UI: GLenum;
17298 readonly RGB32F: GLenum;
17299 readonly RGB32I: GLenum;
17300 readonly RGB32UI: GLenum;
17301 readonly RGB8: GLenum;
17302 readonly RGB8I: GLenum;
17303 readonly RGB8UI: GLenum;
17304 readonly RGB8_SNORM: GLenum;
17305 readonly RGB9_E5: GLenum;
17306 readonly RGBA16F: GLenum;
17307 readonly RGBA16I: GLenum;
17308 readonly RGBA16UI: GLenum;
17309 readonly RGBA32F: GLenum;
17310 readonly RGBA32I: GLenum;
17311 readonly RGBA32UI: GLenum;
17312 readonly RGBA8: GLenum;
17313 readonly RGBA8I: GLenum;
17314 readonly RGBA8UI: GLenum;
17315 readonly RGBA8_SNORM: GLenum;
17316 readonly RGBA_INTEGER: GLenum;
17317 readonly RGB_INTEGER: GLenum;
17318 readonly RG_INTEGER: GLenum;
17319 readonly SAMPLER_2D_ARRAY: GLenum;
17320 readonly SAMPLER_2D_ARRAY_SHADOW: GLenum;
17321 readonly SAMPLER_2D_SHADOW: GLenum;
17322 readonly SAMPLER_3D: GLenum;
17323 readonly SAMPLER_BINDING: GLenum;
17324 readonly SAMPLER_CUBE_SHADOW: GLenum;
17325 readonly SEPARATE_ATTRIBS: GLenum;
17326 readonly SIGNALED: GLenum;
17327 readonly SIGNED_NORMALIZED: GLenum;
17328 readonly SRGB: GLenum;
17329 readonly SRGB8: GLenum;
17330 readonly SRGB8_ALPHA8: GLenum;
17331 readonly STATIC_COPY: GLenum;
17332 readonly STATIC_READ: GLenum;
17333 readonly STENCIL: GLenum;
17334 readonly STREAM_COPY: GLenum;
17335 readonly STREAM_READ: GLenum;
17336 readonly SYNC_CONDITION: GLenum;
17337 readonly SYNC_FENCE: GLenum;
17338 readonly SYNC_FLAGS: GLenum;
17339 readonly SYNC_FLUSH_COMMANDS_BIT: GLenum;
17340 readonly SYNC_GPU_COMMANDS_COMPLETE: GLenum;
17341 readonly SYNC_STATUS: GLenum;
17342 readonly TEXTURE_2D_ARRAY: GLenum;
17343 readonly TEXTURE_3D: GLenum;
17344 readonly TEXTURE_BASE_LEVEL: GLenum;
17345 readonly TEXTURE_BINDING_2D_ARRAY: GLenum;
17346 readonly TEXTURE_BINDING_3D: GLenum;
17347 readonly TEXTURE_COMPARE_FUNC: GLenum;
17348 readonly TEXTURE_COMPARE_MODE: GLenum;
17349 readonly TEXTURE_IMMUTABLE_FORMAT: GLenum;
17350 readonly TEXTURE_IMMUTABLE_LEVELS: GLenum;
17351 readonly TEXTURE_MAX_LEVEL: GLenum;
17352 readonly TEXTURE_MAX_LOD: GLenum;
17353 readonly TEXTURE_MIN_LOD: GLenum;
17354 readonly TEXTURE_WRAP_R: GLenum;
17355 readonly TIMEOUT_EXPIRED: GLenum;
17356 readonly TIMEOUT_IGNORED: GLint64;
17357 readonly TRANSFORM_FEEDBACK: GLenum;
17358 readonly TRANSFORM_FEEDBACK_ACTIVE: GLenum;
17359 readonly TRANSFORM_FEEDBACK_BINDING: GLenum;
17360 readonly TRANSFORM_FEEDBACK_BUFFER: GLenum;
17361 readonly TRANSFORM_FEEDBACK_BUFFER_BINDING: GLenum;
17362 readonly TRANSFORM_FEEDBACK_BUFFER_MODE: GLenum;
17363 readonly TRANSFORM_FEEDBACK_BUFFER_SIZE: GLenum;
17364 readonly TRANSFORM_FEEDBACK_BUFFER_START: GLenum;
17365 readonly TRANSFORM_FEEDBACK_PAUSED: GLenum;
17366 readonly TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN: GLenum;
17367 readonly TRANSFORM_FEEDBACK_VARYINGS: GLenum;
17368 readonly UNIFORM_ARRAY_STRIDE: GLenum;
17369 readonly UNIFORM_BLOCK_ACTIVE_UNIFORMS: GLenum;
17370 readonly UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES: GLenum;
17371 readonly UNIFORM_BLOCK_BINDING: GLenum;
17372 readonly UNIFORM_BLOCK_DATA_SIZE: GLenum;
17373 readonly UNIFORM_BLOCK_INDEX: GLenum;
17374 readonly UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER: GLenum;
17375 readonly UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER: GLenum;
17376 readonly UNIFORM_BUFFER: GLenum;
17377 readonly UNIFORM_BUFFER_BINDING: GLenum;
17378 readonly UNIFORM_BUFFER_OFFSET_ALIGNMENT: GLenum;
17379 readonly UNIFORM_BUFFER_SIZE: GLenum;
17380 readonly UNIFORM_BUFFER_START: GLenum;
17381 readonly UNIFORM_IS_ROW_MAJOR: GLenum;
17382 readonly UNIFORM_MATRIX_STRIDE: GLenum;
17383 readonly UNIFORM_OFFSET: GLenum;
17384 readonly UNIFORM_SIZE: GLenum;
17385 readonly UNIFORM_TYPE: GLenum;
17386 readonly UNPACK_IMAGE_HEIGHT: GLenum;
17387 readonly UNPACK_ROW_LENGTH: GLenum;
17388 readonly UNPACK_SKIP_IMAGES: GLenum;
17389 readonly UNPACK_SKIP_PIXELS: GLenum;
17390 readonly UNPACK_SKIP_ROWS: GLenum;
17391 readonly UNSIGNALED: GLenum;
17392 readonly UNSIGNED_INT_10F_11F_11F_REV: GLenum;
17393 readonly UNSIGNED_INT_24_8: GLenum;
17394 readonly UNSIGNED_INT_2_10_10_10_REV: GLenum;
17395 readonly UNSIGNED_INT_5_9_9_9_REV: GLenum;
17396 readonly UNSIGNED_INT_SAMPLER_2D: GLenum;
17397 readonly UNSIGNED_INT_SAMPLER_2D_ARRAY: GLenum;
17398 readonly UNSIGNED_INT_SAMPLER_3D: GLenum;
17399 readonly UNSIGNED_INT_SAMPLER_CUBE: GLenum;
17400 readonly UNSIGNED_INT_VEC2: GLenum;
17401 readonly UNSIGNED_INT_VEC3: GLenum;
17402 readonly UNSIGNED_INT_VEC4: GLenum;
17403 readonly UNSIGNED_NORMALIZED: GLenum;
17404 readonly VERTEX_ARRAY_BINDING: GLenum;
17405 readonly VERTEX_ATTRIB_ARRAY_DIVISOR: GLenum;
17406 readonly VERTEX_ATTRIB_ARRAY_INTEGER: GLenum;
17407 readonly WAIT_FAILED: GLenum;
17408}
17409
17410interface WebGL2RenderingContextOverloads {
17411 bufferData(target: GLenum, size: GLsizeiptr, usage: GLenum): void;
17412 bufferData(target: GLenum, srcData: BufferSource | null, usage: GLenum): void;
17413 bufferData(target: GLenum, srcData: ArrayBufferView, usage: GLenum, srcOffset: GLuint, length?: GLuint): void;
17414 bufferSubData(target: GLenum, dstByteOffset: GLintptr, srcData: BufferSource): void;
17415 bufferSubData(target: GLenum, dstByteOffset: GLintptr, srcData: ArrayBufferView, srcOffset: GLuint, length?: GLuint): void;
17416 compressedTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, border: GLint, imageSize: GLsizei, offset: GLintptr): void;
17417 compressedTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, border: GLint, srcData: ArrayBufferView, srcOffset?: GLuint, srcLengthOverride?: GLuint): void;
17418 compressedTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, imageSize: GLsizei, offset: GLintptr): void;
17419 compressedTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, srcData: ArrayBufferView, srcOffset?: GLuint, srcLengthOverride?: GLuint): void;
17420 readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, dstData: ArrayBufferView | null): void;
17421 readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, offset: GLintptr): void;
17422 readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, dstData: ArrayBufferView, dstOffset: GLuint): void;
17423 texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, pixels: ArrayBufferView | null): void;
17424 texImage2D(target: GLenum, level: GLint, internalformat: GLint, format: GLenum, type: GLenum, source: TexImageSource): void;
17425 texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, pboOffset: GLintptr): void;
17426 texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, source: TexImageSource): void;
17427 texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, srcData: ArrayBufferView, srcOffset: GLuint): void;
17428 texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pixels: ArrayBufferView | null): void;
17429 texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, format: GLenum, type: GLenum, source: TexImageSource): void;
17430 texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pboOffset: GLintptr): void;
17431 texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, source: TexImageSource): void;
17432 texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, srcData: ArrayBufferView, srcOffset: GLuint): void;
17433 uniform1fv(location: WebGLUniformLocation | null, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint): void;
17434 uniform1iv(location: WebGLUniformLocation | null, data: Int32List, srcOffset?: GLuint, srcLength?: GLuint): void;
17435 uniform2fv(location: WebGLUniformLocation | null, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint): void;
17436 uniform2iv(location: WebGLUniformLocation | null, data: Int32List, srcOffset?: GLuint, srcLength?: GLuint): void;
17437 uniform3fv(location: WebGLUniformLocation | null, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint): void;
17438 uniform3iv(location: WebGLUniformLocation | null, data: Int32List, srcOffset?: GLuint, srcLength?: GLuint): void;
17439 uniform4fv(location: WebGLUniformLocation | null, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint): void;
17440 uniform4iv(location: WebGLUniformLocation | null, data: Int32List, srcOffset?: GLuint, srcLength?: GLuint): void;
17441 uniformMatrix2fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint): void;
17442 uniformMatrix3fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint): void;
17443 uniformMatrix4fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint): void;
17444}
17445
17446/** Part of the WebGL API and represents the information returned by calling the WebGLRenderingContext.getActiveAttrib() and WebGLRenderingContext.getActiveUniform() methods. */
17447interface WebGLActiveInfo {
17448 readonly name: string;
17449 readonly size: GLint;
17450 readonly type: GLenum;
17451}
17452
17453declare var WebGLActiveInfo: {
17454 prototype: WebGLActiveInfo;
17455 new(): WebGLActiveInfo;
17456};
17457
17458/** Part of the WebGL API and represents an opaque buffer object storing data such as vertices or colors. */
17459interface WebGLBuffer extends WebGLObject {
17460}
17461
17462declare var WebGLBuffer: {
17463 prototype: WebGLBuffer;
17464 new(): WebGLBuffer;
17465};
17466
17467/** The WebContextEvent interface is part of the WebGL API and is an interface for an event that is generated in response to a status change to the WebGL rendering context. */
17468interface WebGLContextEvent extends Event {
17469 readonly statusMessage: string;
17470}
17471
17472declare var WebGLContextEvent: {
17473 prototype: WebGLContextEvent;
17474 new(type: string, eventInit?: WebGLContextEventInit): WebGLContextEvent;
17475};
17476
17477/** Part of the WebGL API and represents a collection of buffers that serve as a rendering destination. */
17478interface WebGLFramebuffer extends WebGLObject {
17479}
17480
17481declare var WebGLFramebuffer: {
17482 prototype: WebGLFramebuffer;
17483 new(): WebGLFramebuffer;
17484};
17485
17486interface WebGLObject {
17487}
17488
17489declare var WebGLObject: {
17490 prototype: WebGLObject;
17491 new(): WebGLObject;
17492};
17493
17494/** The WebGLProgram is part of the WebGL API and is a combination of two compiled WebGLShaders consisting of a vertex shader and a fragment shader (both written in GLSL). */
17495interface WebGLProgram extends WebGLObject {
17496}
17497
17498declare var WebGLProgram: {
17499 prototype: WebGLProgram;
17500 new(): WebGLProgram;
17501};
17502
17503interface WebGLQuery extends WebGLObject {
17504}
17505
17506declare var WebGLQuery: {
17507 prototype: WebGLQuery;
17508 new(): WebGLQuery;
17509};
17510
17511/** Part of the WebGL API and represents a buffer that can contain an image, or can be source or target of an rendering operation. */
17512interface WebGLRenderbuffer extends WebGLObject {
17513}
17514
17515declare var WebGLRenderbuffer: {
17516 prototype: WebGLRenderbuffer;
17517 new(): WebGLRenderbuffer;
17518};
17519
17520/** Provides an interface to the OpenGL ES 2.0 graphics rendering context for the drawing surface of an HTML <canvas> element. */
17521interface WebGLRenderingContext extends WebGLRenderingContextBase, WebGLRenderingContextOverloads {
17522}
17523
17524declare var WebGLRenderingContext: {
17525 prototype: WebGLRenderingContext;
17526 new(): WebGLRenderingContext;
17527 readonly ACTIVE_ATTRIBUTES: GLenum;
17528 readonly ACTIVE_TEXTURE: GLenum;
17529 readonly ACTIVE_UNIFORMS: GLenum;
17530 readonly ALIASED_LINE_WIDTH_RANGE: GLenum;
17531 readonly ALIASED_POINT_SIZE_RANGE: GLenum;
17532 readonly ALPHA: GLenum;
17533 readonly ALPHA_BITS: GLenum;
17534 readonly ALWAYS: GLenum;
17535 readonly ARRAY_BUFFER: GLenum;
17536 readonly ARRAY_BUFFER_BINDING: GLenum;
17537 readonly ATTACHED_SHADERS: GLenum;
17538 readonly BACK: GLenum;
17539 readonly BLEND: GLenum;
17540 readonly BLEND_COLOR: GLenum;
17541 readonly BLEND_DST_ALPHA: GLenum;
17542 readonly BLEND_DST_RGB: GLenum;
17543 readonly BLEND_EQUATION: GLenum;
17544 readonly BLEND_EQUATION_ALPHA: GLenum;
17545 readonly BLEND_EQUATION_RGB: GLenum;
17546 readonly BLEND_SRC_ALPHA: GLenum;
17547 readonly BLEND_SRC_RGB: GLenum;
17548 readonly BLUE_BITS: GLenum;
17549 readonly BOOL: GLenum;
17550 readonly BOOL_VEC2: GLenum;
17551 readonly BOOL_VEC3: GLenum;
17552 readonly BOOL_VEC4: GLenum;
17553 readonly BROWSER_DEFAULT_WEBGL: GLenum;
17554 readonly BUFFER_SIZE: GLenum;
17555 readonly BUFFER_USAGE: GLenum;
17556 readonly BYTE: GLenum;
17557 readonly CCW: GLenum;
17558 readonly CLAMP_TO_EDGE: GLenum;
17559 readonly COLOR_ATTACHMENT0: GLenum;
17560 readonly COLOR_BUFFER_BIT: GLenum;
17561 readonly COLOR_CLEAR_VALUE: GLenum;
17562 readonly COLOR_WRITEMASK: GLenum;
17563 readonly COMPILE_STATUS: GLenum;
17564 readonly COMPRESSED_TEXTURE_FORMATS: GLenum;
17565 readonly CONSTANT_ALPHA: GLenum;
17566 readonly CONSTANT_COLOR: GLenum;
17567 readonly CONTEXT_LOST_WEBGL: GLenum;
17568 readonly CULL_FACE: GLenum;
17569 readonly CULL_FACE_MODE: GLenum;
17570 readonly CURRENT_PROGRAM: GLenum;
17571 readonly CURRENT_VERTEX_ATTRIB: GLenum;
17572 readonly CW: GLenum;
17573 readonly DECR: GLenum;
17574 readonly DECR_WRAP: GLenum;
17575 readonly DELETE_STATUS: GLenum;
17576 readonly DEPTH_ATTACHMENT: GLenum;
17577 readonly DEPTH_BITS: GLenum;
17578 readonly DEPTH_BUFFER_BIT: GLenum;
17579 readonly DEPTH_CLEAR_VALUE: GLenum;
17580 readonly DEPTH_COMPONENT: GLenum;
17581 readonly DEPTH_COMPONENT16: GLenum;
17582 readonly DEPTH_FUNC: GLenum;
17583 readonly DEPTH_RANGE: GLenum;
17584 readonly DEPTH_STENCIL: GLenum;
17585 readonly DEPTH_STENCIL_ATTACHMENT: GLenum;
17586 readonly DEPTH_TEST: GLenum;
17587 readonly DEPTH_WRITEMASK: GLenum;
17588 readonly DITHER: GLenum;
17589 readonly DONT_CARE: GLenum;
17590 readonly DST_ALPHA: GLenum;
17591 readonly DST_COLOR: GLenum;
17592 readonly DYNAMIC_DRAW: GLenum;
17593 readonly ELEMENT_ARRAY_BUFFER: GLenum;
17594 readonly ELEMENT_ARRAY_BUFFER_BINDING: GLenum;
17595 readonly EQUAL: GLenum;
17596 readonly FASTEST: GLenum;
17597 readonly FLOAT: GLenum;
17598 readonly FLOAT_MAT2: GLenum;
17599 readonly FLOAT_MAT3: GLenum;
17600 readonly FLOAT_MAT4: GLenum;
17601 readonly FLOAT_VEC2: GLenum;
17602 readonly FLOAT_VEC3: GLenum;
17603 readonly FLOAT_VEC4: GLenum;
17604 readonly FRAGMENT_SHADER: GLenum;
17605 readonly FRAMEBUFFER: GLenum;
17606 readonly FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: GLenum;
17607 readonly FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: GLenum;
17608 readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: GLenum;
17609 readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: GLenum;
17610 readonly FRAMEBUFFER_BINDING: GLenum;
17611 readonly FRAMEBUFFER_COMPLETE: GLenum;
17612 readonly FRAMEBUFFER_INCOMPLETE_ATTACHMENT: GLenum;
17613 readonly FRAMEBUFFER_INCOMPLETE_DIMENSIONS: GLenum;
17614 readonly FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: GLenum;
17615 readonly FRAMEBUFFER_UNSUPPORTED: GLenum;
17616 readonly FRONT: GLenum;
17617 readonly FRONT_AND_BACK: GLenum;
17618 readonly FRONT_FACE: GLenum;
17619 readonly FUNC_ADD: GLenum;
17620 readonly FUNC_REVERSE_SUBTRACT: GLenum;
17621 readonly FUNC_SUBTRACT: GLenum;
17622 readonly GENERATE_MIPMAP_HINT: GLenum;
17623 readonly GEQUAL: GLenum;
17624 readonly GREATER: GLenum;
17625 readonly GREEN_BITS: GLenum;
17626 readonly HIGH_FLOAT: GLenum;
17627 readonly HIGH_INT: GLenum;
17628 readonly IMPLEMENTATION_COLOR_READ_FORMAT: GLenum;
17629 readonly IMPLEMENTATION_COLOR_READ_TYPE: GLenum;
17630 readonly INCR: GLenum;
17631 readonly INCR_WRAP: GLenum;
17632 readonly INT: GLenum;
17633 readonly INT_VEC2: GLenum;
17634 readonly INT_VEC3: GLenum;
17635 readonly INT_VEC4: GLenum;
17636 readonly INVALID_ENUM: GLenum;
17637 readonly INVALID_FRAMEBUFFER_OPERATION: GLenum;
17638 readonly INVALID_OPERATION: GLenum;
17639 readonly INVALID_VALUE: GLenum;
17640 readonly INVERT: GLenum;
17641 readonly KEEP: GLenum;
17642 readonly LEQUAL: GLenum;
17643 readonly LESS: GLenum;
17644 readonly LINEAR: GLenum;
17645 readonly LINEAR_MIPMAP_LINEAR: GLenum;
17646 readonly LINEAR_MIPMAP_NEAREST: GLenum;
17647 readonly LINES: GLenum;
17648 readonly LINE_LOOP: GLenum;
17649 readonly LINE_STRIP: GLenum;
17650 readonly LINE_WIDTH: GLenum;
17651 readonly LINK_STATUS: GLenum;
17652 readonly LOW_FLOAT: GLenum;
17653 readonly LOW_INT: GLenum;
17654 readonly LUMINANCE: GLenum;
17655 readonly LUMINANCE_ALPHA: GLenum;
17656 readonly MAX_COMBINED_TEXTURE_IMAGE_UNITS: GLenum;
17657 readonly MAX_CUBE_MAP_TEXTURE_SIZE: GLenum;
17658 readonly MAX_FRAGMENT_UNIFORM_VECTORS: GLenum;
17659 readonly MAX_RENDERBUFFER_SIZE: GLenum;
17660 readonly MAX_TEXTURE_IMAGE_UNITS: GLenum;
17661 readonly MAX_TEXTURE_SIZE: GLenum;
17662 readonly MAX_VARYING_VECTORS: GLenum;
17663 readonly MAX_VERTEX_ATTRIBS: GLenum;
17664 readonly MAX_VERTEX_TEXTURE_IMAGE_UNITS: GLenum;
17665 readonly MAX_VERTEX_UNIFORM_VECTORS: GLenum;
17666 readonly MAX_VIEWPORT_DIMS: GLenum;
17667 readonly MEDIUM_FLOAT: GLenum;
17668 readonly MEDIUM_INT: GLenum;
17669 readonly MIRRORED_REPEAT: GLenum;
17670 readonly NEAREST: GLenum;
17671 readonly NEAREST_MIPMAP_LINEAR: GLenum;
17672 readonly NEAREST_MIPMAP_NEAREST: GLenum;
17673 readonly NEVER: GLenum;
17674 readonly NICEST: GLenum;
17675 readonly NONE: GLenum;
17676 readonly NOTEQUAL: GLenum;
17677 readonly NO_ERROR: GLenum;
17678 readonly ONE: GLenum;
17679 readonly ONE_MINUS_CONSTANT_ALPHA: GLenum;
17680 readonly ONE_MINUS_CONSTANT_COLOR: GLenum;
17681 readonly ONE_MINUS_DST_ALPHA: GLenum;
17682 readonly ONE_MINUS_DST_COLOR: GLenum;
17683 readonly ONE_MINUS_SRC_ALPHA: GLenum;
17684 readonly ONE_MINUS_SRC_COLOR: GLenum;
17685 readonly OUT_OF_MEMORY: GLenum;
17686 readonly PACK_ALIGNMENT: GLenum;
17687 readonly POINTS: GLenum;
17688 readonly POLYGON_OFFSET_FACTOR: GLenum;
17689 readonly POLYGON_OFFSET_FILL: GLenum;
17690 readonly POLYGON_OFFSET_UNITS: GLenum;
17691 readonly RED_BITS: GLenum;
17692 readonly RENDERBUFFER: GLenum;
17693 readonly RENDERBUFFER_ALPHA_SIZE: GLenum;
17694 readonly RENDERBUFFER_BINDING: GLenum;
17695 readonly RENDERBUFFER_BLUE_SIZE: GLenum;
17696 readonly RENDERBUFFER_DEPTH_SIZE: GLenum;
17697 readonly RENDERBUFFER_GREEN_SIZE: GLenum;
17698 readonly RENDERBUFFER_HEIGHT: GLenum;
17699 readonly RENDERBUFFER_INTERNAL_FORMAT: GLenum;
17700 readonly RENDERBUFFER_RED_SIZE: GLenum;
17701 readonly RENDERBUFFER_STENCIL_SIZE: GLenum;
17702 readonly RENDERBUFFER_WIDTH: GLenum;
17703 readonly RENDERER: GLenum;
17704 readonly REPEAT: GLenum;
17705 readonly REPLACE: GLenum;
17706 readonly RGB: GLenum;
17707 readonly RGB565: GLenum;
17708 readonly RGB5_A1: GLenum;
17709 readonly RGBA: GLenum;
17710 readonly RGBA4: GLenum;
17711 readonly SAMPLER_2D: GLenum;
17712 readonly SAMPLER_CUBE: GLenum;
17713 readonly SAMPLES: GLenum;
17714 readonly SAMPLE_ALPHA_TO_COVERAGE: GLenum;
17715 readonly SAMPLE_BUFFERS: GLenum;
17716 readonly SAMPLE_COVERAGE: GLenum;
17717 readonly SAMPLE_COVERAGE_INVERT: GLenum;
17718 readonly SAMPLE_COVERAGE_VALUE: GLenum;
17719 readonly SCISSOR_BOX: GLenum;
17720 readonly SCISSOR_TEST: GLenum;
17721 readonly SHADER_TYPE: GLenum;
17722 readonly SHADING_LANGUAGE_VERSION: GLenum;
17723 readonly SHORT: GLenum;
17724 readonly SRC_ALPHA: GLenum;
17725 readonly SRC_ALPHA_SATURATE: GLenum;
17726 readonly SRC_COLOR: GLenum;
17727 readonly STATIC_DRAW: GLenum;
17728 readonly STENCIL_ATTACHMENT: GLenum;
17729 readonly STENCIL_BACK_FAIL: GLenum;
17730 readonly STENCIL_BACK_FUNC: GLenum;
17731 readonly STENCIL_BACK_PASS_DEPTH_FAIL: GLenum;
17732 readonly STENCIL_BACK_PASS_DEPTH_PASS: GLenum;
17733 readonly STENCIL_BACK_REF: GLenum;
17734 readonly STENCIL_BACK_VALUE_MASK: GLenum;
17735 readonly STENCIL_BACK_WRITEMASK: GLenum;
17736 readonly STENCIL_BITS: GLenum;
17737 readonly STENCIL_BUFFER_BIT: GLenum;
17738 readonly STENCIL_CLEAR_VALUE: GLenum;
17739 readonly STENCIL_FAIL: GLenum;
17740 readonly STENCIL_FUNC: GLenum;
17741 readonly STENCIL_INDEX8: GLenum;
17742 readonly STENCIL_PASS_DEPTH_FAIL: GLenum;
17743 readonly STENCIL_PASS_DEPTH_PASS: GLenum;
17744 readonly STENCIL_REF: GLenum;
17745 readonly STENCIL_TEST: GLenum;
17746 readonly STENCIL_VALUE_MASK: GLenum;
17747 readonly STENCIL_WRITEMASK: GLenum;
17748 readonly STREAM_DRAW: GLenum;
17749 readonly SUBPIXEL_BITS: GLenum;
17750 readonly TEXTURE: GLenum;
17751 readonly TEXTURE0: GLenum;
17752 readonly TEXTURE1: GLenum;
17753 readonly TEXTURE10: GLenum;
17754 readonly TEXTURE11: GLenum;
17755 readonly TEXTURE12: GLenum;
17756 readonly TEXTURE13: GLenum;
17757 readonly TEXTURE14: GLenum;
17758 readonly TEXTURE15: GLenum;
17759 readonly TEXTURE16: GLenum;
17760 readonly TEXTURE17: GLenum;
17761 readonly TEXTURE18: GLenum;
17762 readonly TEXTURE19: GLenum;
17763 readonly TEXTURE2: GLenum;
17764 readonly TEXTURE20: GLenum;
17765 readonly TEXTURE21: GLenum;
17766 readonly TEXTURE22: GLenum;
17767 readonly TEXTURE23: GLenum;
17768 readonly TEXTURE24: GLenum;
17769 readonly TEXTURE25: GLenum;
17770 readonly TEXTURE26: GLenum;
17771 readonly TEXTURE27: GLenum;
17772 readonly TEXTURE28: GLenum;
17773 readonly TEXTURE29: GLenum;
17774 readonly TEXTURE3: GLenum;
17775 readonly TEXTURE30: GLenum;
17776 readonly TEXTURE31: GLenum;
17777 readonly TEXTURE4: GLenum;
17778 readonly TEXTURE5: GLenum;
17779 readonly TEXTURE6: GLenum;
17780 readonly TEXTURE7: GLenum;
17781 readonly TEXTURE8: GLenum;
17782 readonly TEXTURE9: GLenum;
17783 readonly TEXTURE_2D: GLenum;
17784 readonly TEXTURE_BINDING_2D: GLenum;
17785 readonly TEXTURE_BINDING_CUBE_MAP: GLenum;
17786 readonly TEXTURE_CUBE_MAP: GLenum;
17787 readonly TEXTURE_CUBE_MAP_NEGATIVE_X: GLenum;
17788 readonly TEXTURE_CUBE_MAP_NEGATIVE_Y: GLenum;
17789 readonly TEXTURE_CUBE_MAP_NEGATIVE_Z: GLenum;
17790 readonly TEXTURE_CUBE_MAP_POSITIVE_X: GLenum;
17791 readonly TEXTURE_CUBE_MAP_POSITIVE_Y: GLenum;
17792 readonly TEXTURE_CUBE_MAP_POSITIVE_Z: GLenum;
17793 readonly TEXTURE_MAG_FILTER: GLenum;
17794 readonly TEXTURE_MIN_FILTER: GLenum;
17795 readonly TEXTURE_WRAP_S: GLenum;
17796 readonly TEXTURE_WRAP_T: GLenum;
17797 readonly TRIANGLES: GLenum;
17798 readonly TRIANGLE_FAN: GLenum;
17799 readonly TRIANGLE_STRIP: GLenum;
17800 readonly UNPACK_ALIGNMENT: GLenum;
17801 readonly UNPACK_COLORSPACE_CONVERSION_WEBGL: GLenum;
17802 readonly UNPACK_FLIP_Y_WEBGL: GLenum;
17803 readonly UNPACK_PREMULTIPLY_ALPHA_WEBGL: GLenum;
17804 readonly UNSIGNED_BYTE: GLenum;
17805 readonly UNSIGNED_INT: GLenum;
17806 readonly UNSIGNED_SHORT: GLenum;
17807 readonly UNSIGNED_SHORT_4_4_4_4: GLenum;
17808 readonly UNSIGNED_SHORT_5_5_5_1: GLenum;
17809 readonly UNSIGNED_SHORT_5_6_5: GLenum;
17810 readonly VALIDATE_STATUS: GLenum;
17811 readonly VENDOR: GLenum;
17812 readonly VERSION: GLenum;
17813 readonly VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: GLenum;
17814 readonly VERTEX_ATTRIB_ARRAY_ENABLED: GLenum;
17815 readonly VERTEX_ATTRIB_ARRAY_NORMALIZED: GLenum;
17816 readonly VERTEX_ATTRIB_ARRAY_POINTER: GLenum;
17817 readonly VERTEX_ATTRIB_ARRAY_SIZE: GLenum;
17818 readonly VERTEX_ATTRIB_ARRAY_STRIDE: GLenum;
17819 readonly VERTEX_ATTRIB_ARRAY_TYPE: GLenum;
17820 readonly VERTEX_SHADER: GLenum;
17821 readonly VIEWPORT: GLenum;
17822 readonly ZERO: GLenum;
17823};
17824
17825interface WebGLRenderingContextBase {
17826 readonly canvas: HTMLCanvasElement | OffscreenCanvas;
17827 readonly drawingBufferHeight: GLsizei;
17828 readonly drawingBufferWidth: GLsizei;
17829 activeTexture(texture: GLenum): void;
17830 attachShader(program: WebGLProgram, shader: WebGLShader): void;
17831 bindAttribLocation(program: WebGLProgram, index: GLuint, name: string): void;
17832 bindBuffer(target: GLenum, buffer: WebGLBuffer | null): void;
17833 bindFramebuffer(target: GLenum, framebuffer: WebGLFramebuffer | null): void;
17834 bindRenderbuffer(target: GLenum, renderbuffer: WebGLRenderbuffer | null): void;
17835 bindTexture(target: GLenum, texture: WebGLTexture | null): void;
17836 blendColor(red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf): void;
17837 blendEquation(mode: GLenum): void;
17838 blendEquationSeparate(modeRGB: GLenum, modeAlpha: GLenum): void;
17839 blendFunc(sfactor: GLenum, dfactor: GLenum): void;
17840 blendFuncSeparate(srcRGB: GLenum, dstRGB: GLenum, srcAlpha: GLenum, dstAlpha: GLenum): void;
17841 checkFramebufferStatus(target: GLenum): GLenum;
17842 clear(mask: GLbitfield): void;
17843 clearColor(red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf): void;
17844 clearDepth(depth: GLclampf): void;
17845 clearStencil(s: GLint): void;
17846 colorMask(red: GLboolean, green: GLboolean, blue: GLboolean, alpha: GLboolean): void;
17847 compileShader(shader: WebGLShader): void;
17848 copyTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, x: GLint, y: GLint, width: GLsizei, height: GLsizei, border: GLint): void;
17849 copyTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, x: GLint, y: GLint, width: GLsizei, height: GLsizei): void;
17850 createBuffer(): WebGLBuffer | null;
17851 createFramebuffer(): WebGLFramebuffer | null;
17852 createProgram(): WebGLProgram | null;
17853 createRenderbuffer(): WebGLRenderbuffer | null;
17854 createShader(type: GLenum): WebGLShader | null;
17855 createTexture(): WebGLTexture | null;
17856 cullFace(mode: GLenum): void;
17857 deleteBuffer(buffer: WebGLBuffer | null): void;
17858 deleteFramebuffer(framebuffer: WebGLFramebuffer | null): void;
17859 deleteProgram(program: WebGLProgram | null): void;
17860 deleteRenderbuffer(renderbuffer: WebGLRenderbuffer | null): void;
17861 deleteShader(shader: WebGLShader | null): void;
17862 deleteTexture(texture: WebGLTexture | null): void;
17863 depthFunc(func: GLenum): void;
17864 depthMask(flag: GLboolean): void;
17865 depthRange(zNear: GLclampf, zFar: GLclampf): void;
17866 detachShader(program: WebGLProgram, shader: WebGLShader): void;
17867 disable(cap: GLenum): void;
17868 disableVertexAttribArray(index: GLuint): void;
17869 drawArrays(mode: GLenum, first: GLint, count: GLsizei): void;
17870 drawElements(mode: GLenum, count: GLsizei, type: GLenum, offset: GLintptr): void;
17871 enable(cap: GLenum): void;
17872 enableVertexAttribArray(index: GLuint): void;
17873 finish(): void;
17874 flush(): void;
17875 framebufferRenderbuffer(target: GLenum, attachment: GLenum, renderbuffertarget: GLenum, renderbuffer: WebGLRenderbuffer | null): void;
17876 framebufferTexture2D(target: GLenum, attachment: GLenum, textarget: GLenum, texture: WebGLTexture | null, level: GLint): void;
17877 frontFace(mode: GLenum): void;
17878 generateMipmap(target: GLenum): void;
17879 getActiveAttrib(program: WebGLProgram, index: GLuint): WebGLActiveInfo | null;
17880 getActiveUniform(program: WebGLProgram, index: GLuint): WebGLActiveInfo | null;
17881 getAttachedShaders(program: WebGLProgram): WebGLShader[] | null;
17882 getAttribLocation(program: WebGLProgram, name: string): GLint;
17883 getBufferParameter(target: GLenum, pname: GLenum): any;
17884 getContextAttributes(): WebGLContextAttributes | null;
17885 getError(): GLenum;
17886 getExtension(extensionName: "EXT_blend_minmax"): EXT_blend_minmax | null;
17887 getExtension(extensionName: "EXT_texture_filter_anisotropic"): EXT_texture_filter_anisotropic | null;
17888 getExtension(extensionName: "EXT_frag_depth"): EXT_frag_depth | null;
17889 getExtension(extensionName: "EXT_shader_texture_lod"): EXT_shader_texture_lod | null;
17890 getExtension(extensionName: "EXT_sRGB"): EXT_sRGB | null;
17891 getExtension(extensionName: "OES_vertex_array_object"): OES_vertex_array_object | null;
17892 getExtension(extensionName: "WEBGL_color_buffer_float"): WEBGL_color_buffer_float | null;
17893 getExtension(extensionName: "WEBGL_compressed_texture_astc"): WEBGL_compressed_texture_astc | null;
17894 getExtension(extensionName: "WEBGL_compressed_texture_s3tc_srgb"): WEBGL_compressed_texture_s3tc_srgb | null;
17895 getExtension(extensionName: "WEBGL_debug_shaders"): WEBGL_debug_shaders | null;
17896 getExtension(extensionName: "WEBGL_draw_buffers"): WEBGL_draw_buffers | null;
17897 getExtension(extensionName: "WEBGL_lose_context"): WEBGL_lose_context | null;
17898 getExtension(extensionName: "WEBGL_depth_texture"): WEBGL_depth_texture | null;
17899 getExtension(extensionName: "WEBGL_debug_renderer_info"): WEBGL_debug_renderer_info | null;
17900 getExtension(extensionName: "WEBGL_compressed_texture_s3tc"): WEBGL_compressed_texture_s3tc | null;
17901 getExtension(extensionName: "OES_texture_half_float_linear"): OES_texture_half_float_linear | null;
17902 getExtension(extensionName: "OES_texture_half_float"): OES_texture_half_float | null;
17903 getExtension(extensionName: "OES_texture_float_linear"): OES_texture_float_linear | null;
17904 getExtension(extensionName: "OES_texture_float"): OES_texture_float | null;
17905 getExtension(extensionName: "OES_standard_derivatives"): OES_standard_derivatives | null;
17906 getExtension(extensionName: "OES_element_index_uint"): OES_element_index_uint | null;
17907 getExtension(extensionName: "ANGLE_instanced_arrays"): ANGLE_instanced_arrays | null;
17908 getExtension(extensionName: string): any;
17909 getFramebufferAttachmentParameter(target: GLenum, attachment: GLenum, pname: GLenum): any;
17910 getParameter(pname: GLenum): any;
17911 getProgramInfoLog(program: WebGLProgram): string | null;
17912 getProgramParameter(program: WebGLProgram, pname: GLenum): any;
17913 getRenderbufferParameter(target: GLenum, pname: GLenum): any;
17914 getShaderInfoLog(shader: WebGLShader): string | null;
17915 getShaderParameter(shader: WebGLShader, pname: GLenum): any;
17916 getShaderPrecisionFormat(shadertype: GLenum, precisiontype: GLenum): WebGLShaderPrecisionFormat | null;
17917 getShaderSource(shader: WebGLShader): string | null;
17918 getSupportedExtensions(): string[] | null;
17919 getTexParameter(target: GLenum, pname: GLenum): any;
17920 getUniform(program: WebGLProgram, location: WebGLUniformLocation): any;
17921 getUniformLocation(program: WebGLProgram, name: string): WebGLUniformLocation | null;
17922 getVertexAttrib(index: GLuint, pname: GLenum): any;
17923 getVertexAttribOffset(index: GLuint, pname: GLenum): GLintptr;
17924 hint(target: GLenum, mode: GLenum): void;
17925 isBuffer(buffer: WebGLBuffer | null): GLboolean;
17926 isContextLost(): boolean;
17927 isEnabled(cap: GLenum): GLboolean;
17928 isFramebuffer(framebuffer: WebGLFramebuffer | null): GLboolean;
17929 isProgram(program: WebGLProgram | null): GLboolean;
17930 isRenderbuffer(renderbuffer: WebGLRenderbuffer | null): GLboolean;
17931 isShader(shader: WebGLShader | null): GLboolean;
17932 isTexture(texture: WebGLTexture | null): GLboolean;
17933 lineWidth(width: GLfloat): void;
17934 linkProgram(program: WebGLProgram): void;
17935 pixelStorei(pname: GLenum, param: GLint | GLboolean): void;
17936 polygonOffset(factor: GLfloat, units: GLfloat): void;
17937 renderbufferStorage(target: GLenum, internalformat: GLenum, width: GLsizei, height: GLsizei): void;
17938 sampleCoverage(value: GLclampf, invert: GLboolean): void;
17939 scissor(x: GLint, y: GLint, width: GLsizei, height: GLsizei): void;
17940 shaderSource(shader: WebGLShader, source: string): void;
17941 stencilFunc(func: GLenum, ref: GLint, mask: GLuint): void;
17942 stencilFuncSeparate(face: GLenum, func: GLenum, ref: GLint, mask: GLuint): void;
17943 stencilMask(mask: GLuint): void;
17944 stencilMaskSeparate(face: GLenum, mask: GLuint): void;
17945 stencilOp(fail: GLenum, zfail: GLenum, zpass: GLenum): void;
17946 stencilOpSeparate(face: GLenum, fail: GLenum, zfail: GLenum, zpass: GLenum): void;
17947 texParameterf(target: GLenum, pname: GLenum, param: GLfloat): void;
17948 texParameteri(target: GLenum, pname: GLenum, param: GLint): void;
17949 uniform1f(location: WebGLUniformLocation | null, x: GLfloat): void;
17950 uniform1i(location: WebGLUniformLocation | null, x: GLint): void;
17951 uniform2f(location: WebGLUniformLocation | null, x: GLfloat, y: GLfloat): void;
17952 uniform2i(location: WebGLUniformLocation | null, x: GLint, y: GLint): void;
17953 uniform3f(location: WebGLUniformLocation | null, x: GLfloat, y: GLfloat, z: GLfloat): void;
17954 uniform3i(location: WebGLUniformLocation | null, x: GLint, y: GLint, z: GLint): void;
17955 uniform4f(location: WebGLUniformLocation | null, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat): void;
17956 uniform4i(location: WebGLUniformLocation | null, x: GLint, y: GLint, z: GLint, w: GLint): void;
17957 useProgram(program: WebGLProgram | null): void;
17958 validateProgram(program: WebGLProgram): void;
17959 vertexAttrib1f(index: GLuint, x: GLfloat): void;
17960 vertexAttrib1fv(index: GLuint, values: Float32List): void;
17961 vertexAttrib2f(index: GLuint, x: GLfloat, y: GLfloat): void;
17962 vertexAttrib2fv(index: GLuint, values: Float32List): void;
17963 vertexAttrib3f(index: GLuint, x: GLfloat, y: GLfloat, z: GLfloat): void;
17964 vertexAttrib3fv(index: GLuint, values: Float32List): void;
17965 vertexAttrib4f(index: GLuint, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat): void;
17966 vertexAttrib4fv(index: GLuint, values: Float32List): void;
17967 vertexAttribPointer(index: GLuint, size: GLint, type: GLenum, normalized: GLboolean, stride: GLsizei, offset: GLintptr): void;
17968 viewport(x: GLint, y: GLint, width: GLsizei, height: GLsizei): void;
17969 readonly ACTIVE_ATTRIBUTES: GLenum;
17970 readonly ACTIVE_TEXTURE: GLenum;
17971 readonly ACTIVE_UNIFORMS: GLenum;
17972 readonly ALIASED_LINE_WIDTH_RANGE: GLenum;
17973 readonly ALIASED_POINT_SIZE_RANGE: GLenum;
17974 readonly ALPHA: GLenum;
17975 readonly ALPHA_BITS: GLenum;
17976 readonly ALWAYS: GLenum;
17977 readonly ARRAY_BUFFER: GLenum;
17978 readonly ARRAY_BUFFER_BINDING: GLenum;
17979 readonly ATTACHED_SHADERS: GLenum;
17980 readonly BACK: GLenum;
17981 readonly BLEND: GLenum;
17982 readonly BLEND_COLOR: GLenum;
17983 readonly BLEND_DST_ALPHA: GLenum;
17984 readonly BLEND_DST_RGB: GLenum;
17985 readonly BLEND_EQUATION: GLenum;
17986 readonly BLEND_EQUATION_ALPHA: GLenum;
17987 readonly BLEND_EQUATION_RGB: GLenum;
17988 readonly BLEND_SRC_ALPHA: GLenum;
17989 readonly BLEND_SRC_RGB: GLenum;
17990 readonly BLUE_BITS: GLenum;
17991 readonly BOOL: GLenum;
17992 readonly BOOL_VEC2: GLenum;
17993 readonly BOOL_VEC3: GLenum;
17994 readonly BOOL_VEC4: GLenum;
17995 readonly BROWSER_DEFAULT_WEBGL: GLenum;
17996 readonly BUFFER_SIZE: GLenum;
17997 readonly BUFFER_USAGE: GLenum;
17998 readonly BYTE: GLenum;
17999 readonly CCW: GLenum;
18000 readonly CLAMP_TO_EDGE: GLenum;
18001 readonly COLOR_ATTACHMENT0: GLenum;
18002 readonly COLOR_BUFFER_BIT: GLenum;
18003 readonly COLOR_CLEAR_VALUE: GLenum;
18004 readonly COLOR_WRITEMASK: GLenum;
18005 readonly COMPILE_STATUS: GLenum;
18006 readonly COMPRESSED_TEXTURE_FORMATS: GLenum;
18007 readonly CONSTANT_ALPHA: GLenum;
18008 readonly CONSTANT_COLOR: GLenum;
18009 readonly CONTEXT_LOST_WEBGL: GLenum;
18010 readonly CULL_FACE: GLenum;
18011 readonly CULL_FACE_MODE: GLenum;
18012 readonly CURRENT_PROGRAM: GLenum;
18013 readonly CURRENT_VERTEX_ATTRIB: GLenum;
18014 readonly CW: GLenum;
18015 readonly DECR: GLenum;
18016 readonly DECR_WRAP: GLenum;
18017 readonly DELETE_STATUS: GLenum;
18018 readonly DEPTH_ATTACHMENT: GLenum;
18019 readonly DEPTH_BITS: GLenum;
18020 readonly DEPTH_BUFFER_BIT: GLenum;
18021 readonly DEPTH_CLEAR_VALUE: GLenum;
18022 readonly DEPTH_COMPONENT: GLenum;
18023 readonly DEPTH_COMPONENT16: GLenum;
18024 readonly DEPTH_FUNC: GLenum;
18025 readonly DEPTH_RANGE: GLenum;
18026 readonly DEPTH_STENCIL: GLenum;
18027 readonly DEPTH_STENCIL_ATTACHMENT: GLenum;
18028 readonly DEPTH_TEST: GLenum;
18029 readonly DEPTH_WRITEMASK: GLenum;
18030 readonly DITHER: GLenum;
18031 readonly DONT_CARE: GLenum;
18032 readonly DST_ALPHA: GLenum;
18033 readonly DST_COLOR: GLenum;
18034 readonly DYNAMIC_DRAW: GLenum;
18035 readonly ELEMENT_ARRAY_BUFFER: GLenum;
18036 readonly ELEMENT_ARRAY_BUFFER_BINDING: GLenum;
18037 readonly EQUAL: GLenum;
18038 readonly FASTEST: GLenum;
18039 readonly FLOAT: GLenum;
18040 readonly FLOAT_MAT2: GLenum;
18041 readonly FLOAT_MAT3: GLenum;
18042 readonly FLOAT_MAT4: GLenum;
18043 readonly FLOAT_VEC2: GLenum;
18044 readonly FLOAT_VEC3: GLenum;
18045 readonly FLOAT_VEC4: GLenum;
18046 readonly FRAGMENT_SHADER: GLenum;
18047 readonly FRAMEBUFFER: GLenum;
18048 readonly FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: GLenum;
18049 readonly FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: GLenum;
18050 readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: GLenum;
18051 readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: GLenum;
18052 readonly FRAMEBUFFER_BINDING: GLenum;
18053 readonly FRAMEBUFFER_COMPLETE: GLenum;
18054 readonly FRAMEBUFFER_INCOMPLETE_ATTACHMENT: GLenum;
18055 readonly FRAMEBUFFER_INCOMPLETE_DIMENSIONS: GLenum;
18056 readonly FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: GLenum;
18057 readonly FRAMEBUFFER_UNSUPPORTED: GLenum;
18058 readonly FRONT: GLenum;
18059 readonly FRONT_AND_BACK: GLenum;
18060 readonly FRONT_FACE: GLenum;
18061 readonly FUNC_ADD: GLenum;
18062 readonly FUNC_REVERSE_SUBTRACT: GLenum;
18063 readonly FUNC_SUBTRACT: GLenum;
18064 readonly GENERATE_MIPMAP_HINT: GLenum;
18065 readonly GEQUAL: GLenum;
18066 readonly GREATER: GLenum;
18067 readonly GREEN_BITS: GLenum;
18068 readonly HIGH_FLOAT: GLenum;
18069 readonly HIGH_INT: GLenum;
18070 readonly IMPLEMENTATION_COLOR_READ_FORMAT: GLenum;
18071 readonly IMPLEMENTATION_COLOR_READ_TYPE: GLenum;
18072 readonly INCR: GLenum;
18073 readonly INCR_WRAP: GLenum;
18074 readonly INT: GLenum;
18075 readonly INT_VEC2: GLenum;
18076 readonly INT_VEC3: GLenum;
18077 readonly INT_VEC4: GLenum;
18078 readonly INVALID_ENUM: GLenum;
18079 readonly INVALID_FRAMEBUFFER_OPERATION: GLenum;
18080 readonly INVALID_OPERATION: GLenum;
18081 readonly INVALID_VALUE: GLenum;
18082 readonly INVERT: GLenum;
18083 readonly KEEP: GLenum;
18084 readonly LEQUAL: GLenum;
18085 readonly LESS: GLenum;
18086 readonly LINEAR: GLenum;
18087 readonly LINEAR_MIPMAP_LINEAR: GLenum;
18088 readonly LINEAR_MIPMAP_NEAREST: GLenum;
18089 readonly LINES: GLenum;
18090 readonly LINE_LOOP: GLenum;
18091 readonly LINE_STRIP: GLenum;
18092 readonly LINE_WIDTH: GLenum;
18093 readonly LINK_STATUS: GLenum;
18094 readonly LOW_FLOAT: GLenum;
18095 readonly LOW_INT: GLenum;
18096 readonly LUMINANCE: GLenum;
18097 readonly LUMINANCE_ALPHA: GLenum;
18098 readonly MAX_COMBINED_TEXTURE_IMAGE_UNITS: GLenum;
18099 readonly MAX_CUBE_MAP_TEXTURE_SIZE: GLenum;
18100 readonly MAX_FRAGMENT_UNIFORM_VECTORS: GLenum;
18101 readonly MAX_RENDERBUFFER_SIZE: GLenum;
18102 readonly MAX_TEXTURE_IMAGE_UNITS: GLenum;
18103 readonly MAX_TEXTURE_SIZE: GLenum;
18104 readonly MAX_VARYING_VECTORS: GLenum;
18105 readonly MAX_VERTEX_ATTRIBS: GLenum;
18106 readonly MAX_VERTEX_TEXTURE_IMAGE_UNITS: GLenum;
18107 readonly MAX_VERTEX_UNIFORM_VECTORS: GLenum;
18108 readonly MAX_VIEWPORT_DIMS: GLenum;
18109 readonly MEDIUM_FLOAT: GLenum;
18110 readonly MEDIUM_INT: GLenum;
18111 readonly MIRRORED_REPEAT: GLenum;
18112 readonly NEAREST: GLenum;
18113 readonly NEAREST_MIPMAP_LINEAR: GLenum;
18114 readonly NEAREST_MIPMAP_NEAREST: GLenum;
18115 readonly NEVER: GLenum;
18116 readonly NICEST: GLenum;
18117 readonly NONE: GLenum;
18118 readonly NOTEQUAL: GLenum;
18119 readonly NO_ERROR: GLenum;
18120 readonly ONE: GLenum;
18121 readonly ONE_MINUS_CONSTANT_ALPHA: GLenum;
18122 readonly ONE_MINUS_CONSTANT_COLOR: GLenum;
18123 readonly ONE_MINUS_DST_ALPHA: GLenum;
18124 readonly ONE_MINUS_DST_COLOR: GLenum;
18125 readonly ONE_MINUS_SRC_ALPHA: GLenum;
18126 readonly ONE_MINUS_SRC_COLOR: GLenum;
18127 readonly OUT_OF_MEMORY: GLenum;
18128 readonly PACK_ALIGNMENT: GLenum;
18129 readonly POINTS: GLenum;
18130 readonly POLYGON_OFFSET_FACTOR: GLenum;
18131 readonly POLYGON_OFFSET_FILL: GLenum;
18132 readonly POLYGON_OFFSET_UNITS: GLenum;
18133 readonly RED_BITS: GLenum;
18134 readonly RENDERBUFFER: GLenum;
18135 readonly RENDERBUFFER_ALPHA_SIZE: GLenum;
18136 readonly RENDERBUFFER_BINDING: GLenum;
18137 readonly RENDERBUFFER_BLUE_SIZE: GLenum;
18138 readonly RENDERBUFFER_DEPTH_SIZE: GLenum;
18139 readonly RENDERBUFFER_GREEN_SIZE: GLenum;
18140 readonly RENDERBUFFER_HEIGHT: GLenum;
18141 readonly RENDERBUFFER_INTERNAL_FORMAT: GLenum;
18142 readonly RENDERBUFFER_RED_SIZE: GLenum;
18143 readonly RENDERBUFFER_STENCIL_SIZE: GLenum;
18144 readonly RENDERBUFFER_WIDTH: GLenum;
18145 readonly RENDERER: GLenum;
18146 readonly REPEAT: GLenum;
18147 readonly REPLACE: GLenum;
18148 readonly RGB: GLenum;
18149 readonly RGB565: GLenum;
18150 readonly RGB5_A1: GLenum;
18151 readonly RGBA: GLenum;
18152 readonly RGBA4: GLenum;
18153 readonly SAMPLER_2D: GLenum;
18154 readonly SAMPLER_CUBE: GLenum;
18155 readonly SAMPLES: GLenum;
18156 readonly SAMPLE_ALPHA_TO_COVERAGE: GLenum;
18157 readonly SAMPLE_BUFFERS: GLenum;
18158 readonly SAMPLE_COVERAGE: GLenum;
18159 readonly SAMPLE_COVERAGE_INVERT: GLenum;
18160 readonly SAMPLE_COVERAGE_VALUE: GLenum;
18161 readonly SCISSOR_BOX: GLenum;
18162 readonly SCISSOR_TEST: GLenum;
18163 readonly SHADER_TYPE: GLenum;
18164 readonly SHADING_LANGUAGE_VERSION: GLenum;
18165 readonly SHORT: GLenum;
18166 readonly SRC_ALPHA: GLenum;
18167 readonly SRC_ALPHA_SATURATE: GLenum;
18168 readonly SRC_COLOR: GLenum;
18169 readonly STATIC_DRAW: GLenum;
18170 readonly STENCIL_ATTACHMENT: GLenum;
18171 readonly STENCIL_BACK_FAIL: GLenum;
18172 readonly STENCIL_BACK_FUNC: GLenum;
18173 readonly STENCIL_BACK_PASS_DEPTH_FAIL: GLenum;
18174 readonly STENCIL_BACK_PASS_DEPTH_PASS: GLenum;
18175 readonly STENCIL_BACK_REF: GLenum;
18176 readonly STENCIL_BACK_VALUE_MASK: GLenum;
18177 readonly STENCIL_BACK_WRITEMASK: GLenum;
18178 readonly STENCIL_BITS: GLenum;
18179 readonly STENCIL_BUFFER_BIT: GLenum;
18180 readonly STENCIL_CLEAR_VALUE: GLenum;
18181 readonly STENCIL_FAIL: GLenum;
18182 readonly STENCIL_FUNC: GLenum;
18183 readonly STENCIL_INDEX8: GLenum;
18184 readonly STENCIL_PASS_DEPTH_FAIL: GLenum;
18185 readonly STENCIL_PASS_DEPTH_PASS: GLenum;
18186 readonly STENCIL_REF: GLenum;
18187 readonly STENCIL_TEST: GLenum;
18188 readonly STENCIL_VALUE_MASK: GLenum;
18189 readonly STENCIL_WRITEMASK: GLenum;
18190 readonly STREAM_DRAW: GLenum;
18191 readonly SUBPIXEL_BITS: GLenum;
18192 readonly TEXTURE: GLenum;
18193 readonly TEXTURE0: GLenum;
18194 readonly TEXTURE1: GLenum;
18195 readonly TEXTURE10: GLenum;
18196 readonly TEXTURE11: GLenum;
18197 readonly TEXTURE12: GLenum;
18198 readonly TEXTURE13: GLenum;
18199 readonly TEXTURE14: GLenum;
18200 readonly TEXTURE15: GLenum;
18201 readonly TEXTURE16: GLenum;
18202 readonly TEXTURE17: GLenum;
18203 readonly TEXTURE18: GLenum;
18204 readonly TEXTURE19: GLenum;
18205 readonly TEXTURE2: GLenum;
18206 readonly TEXTURE20: GLenum;
18207 readonly TEXTURE21: GLenum;
18208 readonly TEXTURE22: GLenum;
18209 readonly TEXTURE23: GLenum;
18210 readonly TEXTURE24: GLenum;
18211 readonly TEXTURE25: GLenum;
18212 readonly TEXTURE26: GLenum;
18213 readonly TEXTURE27: GLenum;
18214 readonly TEXTURE28: GLenum;
18215 readonly TEXTURE29: GLenum;
18216 readonly TEXTURE3: GLenum;
18217 readonly TEXTURE30: GLenum;
18218 readonly TEXTURE31: GLenum;
18219 readonly TEXTURE4: GLenum;
18220 readonly TEXTURE5: GLenum;
18221 readonly TEXTURE6: GLenum;
18222 readonly TEXTURE7: GLenum;
18223 readonly TEXTURE8: GLenum;
18224 readonly TEXTURE9: GLenum;
18225 readonly TEXTURE_2D: GLenum;
18226 readonly TEXTURE_BINDING_2D: GLenum;
18227 readonly TEXTURE_BINDING_CUBE_MAP: GLenum;
18228 readonly TEXTURE_CUBE_MAP: GLenum;
18229 readonly TEXTURE_CUBE_MAP_NEGATIVE_X: GLenum;
18230 readonly TEXTURE_CUBE_MAP_NEGATIVE_Y: GLenum;
18231 readonly TEXTURE_CUBE_MAP_NEGATIVE_Z: GLenum;
18232 readonly TEXTURE_CUBE_MAP_POSITIVE_X: GLenum;
18233 readonly TEXTURE_CUBE_MAP_POSITIVE_Y: GLenum;
18234 readonly TEXTURE_CUBE_MAP_POSITIVE_Z: GLenum;
18235 readonly TEXTURE_MAG_FILTER: GLenum;
18236 readonly TEXTURE_MIN_FILTER: GLenum;
18237 readonly TEXTURE_WRAP_S: GLenum;
18238 readonly TEXTURE_WRAP_T: GLenum;
18239 readonly TRIANGLES: GLenum;
18240 readonly TRIANGLE_FAN: GLenum;
18241 readonly TRIANGLE_STRIP: GLenum;
18242 readonly UNPACK_ALIGNMENT: GLenum;
18243 readonly UNPACK_COLORSPACE_CONVERSION_WEBGL: GLenum;
18244 readonly UNPACK_FLIP_Y_WEBGL: GLenum;
18245 readonly UNPACK_PREMULTIPLY_ALPHA_WEBGL: GLenum;
18246 readonly UNSIGNED_BYTE: GLenum;
18247 readonly UNSIGNED_INT: GLenum;
18248 readonly UNSIGNED_SHORT: GLenum;
18249 readonly UNSIGNED_SHORT_4_4_4_4: GLenum;
18250 readonly UNSIGNED_SHORT_5_5_5_1: GLenum;
18251 readonly UNSIGNED_SHORT_5_6_5: GLenum;
18252 readonly VALIDATE_STATUS: GLenum;
18253 readonly VENDOR: GLenum;
18254 readonly VERSION: GLenum;
18255 readonly VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: GLenum;
18256 readonly VERTEX_ATTRIB_ARRAY_ENABLED: GLenum;
18257 readonly VERTEX_ATTRIB_ARRAY_NORMALIZED: GLenum;
18258 readonly VERTEX_ATTRIB_ARRAY_POINTER: GLenum;
18259 readonly VERTEX_ATTRIB_ARRAY_SIZE: GLenum;
18260 readonly VERTEX_ATTRIB_ARRAY_STRIDE: GLenum;
18261 readonly VERTEX_ATTRIB_ARRAY_TYPE: GLenum;
18262 readonly VERTEX_SHADER: GLenum;
18263 readonly VIEWPORT: GLenum;
18264 readonly ZERO: GLenum;
18265}
18266
18267interface WebGLRenderingContextOverloads {
18268 bufferData(target: GLenum, size: GLsizeiptr, usage: GLenum): void;
18269 bufferData(target: GLenum, data: BufferSource | null, usage: GLenum): void;
18270 bufferSubData(target: GLenum, offset: GLintptr, data: BufferSource): void;
18271 compressedTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, border: GLint, data: ArrayBufferView): void;
18272 compressedTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, data: ArrayBufferView): void;
18273 readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pixels: ArrayBufferView | null): void;
18274 texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, pixels: ArrayBufferView | null): void;
18275 texImage2D(target: GLenum, level: GLint, internalformat: GLint, format: GLenum, type: GLenum, source: TexImageSource): void;
18276 texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pixels: ArrayBufferView | null): void;
18277 texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, format: GLenum, type: GLenum, source: TexImageSource): void;
18278 uniform1fv(location: WebGLUniformLocation | null, v: Float32List): void;
18279 uniform1iv(location: WebGLUniformLocation | null, v: Int32List): void;
18280 uniform2fv(location: WebGLUniformLocation | null, v: Float32List): void;
18281 uniform2iv(location: WebGLUniformLocation | null, v: Int32List): void;
18282 uniform3fv(location: WebGLUniformLocation | null, v: Float32List): void;
18283 uniform3iv(location: WebGLUniformLocation | null, v: Int32List): void;
18284 uniform4fv(location: WebGLUniformLocation | null, v: Float32List): void;
18285 uniform4iv(location: WebGLUniformLocation | null, v: Int32List): void;
18286 uniformMatrix2fv(location: WebGLUniformLocation | null, transpose: GLboolean, value: Float32List): void;
18287 uniformMatrix3fv(location: WebGLUniformLocation | null, transpose: GLboolean, value: Float32List): void;
18288 uniformMatrix4fv(location: WebGLUniformLocation | null, transpose: GLboolean, value: Float32List): void;
18289}
18290
18291interface WebGLSampler extends WebGLObject {
18292}
18293
18294declare var WebGLSampler: {
18295 prototype: WebGLSampler;
18296 new(): WebGLSampler;
18297};
18298
18299/** The WebGLShader is part of the WebGL API and can either be a vertex or a fragment shader. A WebGLProgram requires both types of shaders. */
18300interface WebGLShader extends WebGLObject {
18301}
18302
18303declare var WebGLShader: {
18304 prototype: WebGLShader;
18305 new(): WebGLShader;
18306};
18307
18308/** Part of the WebGL API and represents the information returned by calling the WebGLRenderingContext.getShaderPrecisionFormat() method. */
18309interface WebGLShaderPrecisionFormat {
18310 readonly precision: GLint;
18311 readonly rangeMax: GLint;
18312 readonly rangeMin: GLint;
18313}
18314
18315declare var WebGLShaderPrecisionFormat: {
18316 prototype: WebGLShaderPrecisionFormat;
18317 new(): WebGLShaderPrecisionFormat;
18318};
18319
18320interface WebGLSync extends WebGLObject {
18321}
18322
18323declare var WebGLSync: {
18324 prototype: WebGLSync;
18325 new(): WebGLSync;
18326};
18327
18328/** Part of the WebGL API and represents an opaque texture object providing storage and state for texturing operations. */
18329interface WebGLTexture extends WebGLObject {
18330}
18331
18332declare var WebGLTexture: {
18333 prototype: WebGLTexture;
18334 new(): WebGLTexture;
18335};
18336
18337interface WebGLTransformFeedback extends WebGLObject {
18338}
18339
18340declare var WebGLTransformFeedback: {
18341 prototype: WebGLTransformFeedback;
18342 new(): WebGLTransformFeedback;
18343};
18344
18345/** Part of the WebGL API and represents the location of a uniform variable in a shader program. */
18346interface WebGLUniformLocation {
18347}
18348
18349declare var WebGLUniformLocation: {
18350 prototype: WebGLUniformLocation;
18351 new(): WebGLUniformLocation;
18352};
18353
18354interface WebGLVertexArrayObject extends WebGLObject {
18355}
18356
18357declare var WebGLVertexArrayObject: {
18358 prototype: WebGLVertexArrayObject;
18359 new(): WebGLVertexArrayObject;
18360};
18361
18362interface WebGLVertexArrayObjectOES extends WebGLObject {
18363}
18364
18365interface WebKitPoint {
18366 x: number;
18367 y: number;
18368}
18369
18370declare var WebKitPoint: {
18371 prototype: WebKitPoint;
18372 new(x?: number, y?: number): WebKitPoint;
18373};
18374
18375interface WebSocketEventMap {
18376 "close": CloseEvent;
18377 "error": Event;
18378 "message": MessageEvent;
18379 "open": Event;
18380}
18381
18382/** Provides the API for creating and managing a WebSocket connection to a server, as well as for sending and receiving data on the connection. */
18383interface WebSocket extends EventTarget {
18384 binaryType: BinaryType;
18385 readonly bufferedAmount: number;
18386 readonly extensions: string;
18387 onclose: ((this: WebSocket, ev: CloseEvent) => any) | null;
18388 onerror: ((this: WebSocket, ev: Event) => any) | null;
18389 onmessage: ((this: WebSocket, ev: MessageEvent) => any) | null;
18390 onopen: ((this: WebSocket, ev: Event) => any) | null;
18391 readonly protocol: string;
18392 readonly readyState: number;
18393 readonly url: string;
18394 close(code?: number, reason?: string): void;
18395 send(data: string | ArrayBufferLike | Blob | ArrayBufferView): void;
18396 readonly CLOSED: number;
18397 readonly CLOSING: number;
18398 readonly CONNECTING: number;
18399 readonly OPEN: number;
18400 addEventListener<K extends keyof WebSocketEventMap>(type: K, listener: (this: WebSocket, ev: WebSocketEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
18401 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
18402 removeEventListener<K extends keyof WebSocketEventMap>(type: K, listener: (this: WebSocket, ev: WebSocketEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
18403 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
18404}
18405
18406declare var WebSocket: {
18407 prototype: WebSocket;
18408 new(url: string, protocols?: string | string[]): WebSocket;
18409 readonly CLOSED: number;
18410 readonly CLOSING: number;
18411 readonly CONNECTING: number;
18412 readonly OPEN: number;
18413};
18414
18415/** Events that occur due to the user moving a mouse wheel or similar input device. */
18416interface WheelEvent extends MouseEvent {
18417 readonly deltaMode: number;
18418 readonly deltaX: number;
18419 readonly deltaY: number;
18420 readonly deltaZ: number;
18421 readonly DOM_DELTA_LINE: number;
18422 readonly DOM_DELTA_PAGE: number;
18423 readonly DOM_DELTA_PIXEL: number;
18424}
18425
18426declare var WheelEvent: {
18427 prototype: WheelEvent;
18428 new(type: string, eventInitDict?: WheelEventInit): WheelEvent;
18429 readonly DOM_DELTA_LINE: number;
18430 readonly DOM_DELTA_PAGE: number;
18431 readonly DOM_DELTA_PIXEL: number;
18432};
18433
18434interface WindowEventMap extends GlobalEventHandlersEventMap, WindowEventHandlersEventMap {
18435 "abort": UIEvent;
18436 "afterprint": Event;
18437 "beforeprint": Event;
18438 "beforeunload": BeforeUnloadEvent;
18439 "blur": FocusEvent;
18440 "canplay": Event;
18441 "canplaythrough": Event;
18442 "change": Event;
18443 "click": MouseEvent;
18444 "compassneedscalibration": Event;
18445 "contextmenu": MouseEvent;
18446 "dblclick": MouseEvent;
18447 "devicelight": DeviceLightEvent;
18448 "devicemotion": DeviceMotionEvent;
18449 "deviceorientation": DeviceOrientationEvent;
18450 "deviceorientationabsolute": DeviceOrientationEvent;
18451 "drag": DragEvent;
18452 "dragend": DragEvent;
18453 "dragenter": DragEvent;
18454 "dragleave": DragEvent;
18455 "dragover": DragEvent;
18456 "dragstart": DragEvent;
18457 "drop": DragEvent;
18458 "durationchange": Event;
18459 "emptied": Event;
18460 "ended": Event;
18461 "error": ErrorEvent;
18462 "focus": FocusEvent;
18463 "hashchange": HashChangeEvent;
18464 "input": Event;
18465 "invalid": Event;
18466 "keydown": KeyboardEvent;
18467 "keypress": KeyboardEvent;
18468 "keyup": KeyboardEvent;
18469 "load": Event;
18470 "loadeddata": Event;
18471 "loadedmetadata": Event;
18472 "loadstart": Event;
18473 "message": MessageEvent;
18474 "mousedown": MouseEvent;
18475 "mouseenter": MouseEvent;
18476 "mouseleave": MouseEvent;
18477 "mousemove": MouseEvent;
18478 "mouseout": MouseEvent;
18479 "mouseover": MouseEvent;
18480 "mouseup": MouseEvent;
18481 "mousewheel": Event;
18482 "MSGestureChange": Event;
18483 "MSGestureDoubleTap": Event;
18484 "MSGestureEnd": Event;
18485 "MSGestureHold": Event;
18486 "MSGestureStart": Event;
18487 "MSGestureTap": Event;
18488 "MSInertiaStart": Event;
18489 "MSPointerCancel": Event;
18490 "MSPointerDown": Event;
18491 "MSPointerEnter": Event;
18492 "MSPointerLeave": Event;
18493 "MSPointerMove": Event;
18494 "MSPointerOut": Event;
18495 "MSPointerOver": Event;
18496 "MSPointerUp": Event;
18497 "offline": Event;
18498 "online": Event;
18499 "orientationchange": Event;
18500 "pagehide": PageTransitionEvent;
18501 "pageshow": PageTransitionEvent;
18502 "pause": Event;
18503 "play": Event;
18504 "playing": Event;
18505 "popstate": PopStateEvent;
18506 "progress": ProgressEvent<Window>;
18507 "ratechange": Event;
18508 "readystatechange": ProgressEvent<Window>;
18509 "reset": Event;
18510 "resize": UIEvent;
18511 "scroll": Event;
18512 "seeked": Event;
18513 "seeking": Event;
18514 "select": Event;
18515 "stalled": Event;
18516 "storage": StorageEvent;
18517 "submit": Event;
18518 "suspend": Event;
18519 "timeupdate": Event;
18520 "unload": Event;
18521 "volumechange": Event;
18522 "vrdisplayactivate": Event;
18523 "vrdisplayblur": Event;
18524 "vrdisplayconnect": Event;
18525 "vrdisplaydeactivate": Event;
18526 "vrdisplaydisconnect": Event;
18527 "vrdisplayfocus": Event;
18528 "vrdisplaypointerrestricted": Event;
18529 "vrdisplaypointerunrestricted": Event;
18530 "vrdisplaypresentchange": Event;
18531 "waiting": Event;
18532}
18533
18534/** A window containing a DOM document; the document property points to the DOM document loaded in that window. */
18535interface Window extends EventTarget, AnimationFrameProvider, GlobalEventHandlers, IDBEnvironment, WindowBase64, WindowConsole, WindowEventHandlers, WindowLocalStorage, WindowOrWorkerGlobalScope, WindowSessionStorage, WindowTimers {
18536 readonly applicationCache: ApplicationCache;
18537 readonly caches: CacheStorage;
18538 readonly clientInformation: Navigator;
18539 readonly closed: boolean;
18540 readonly crypto: Crypto;
18541 customElements: CustomElementRegistry;
18542 defaultStatus: string;
18543 readonly devicePixelRatio: number;
18544 readonly doNotTrack: string;
18545 readonly document: Document;
18546 /** @deprecated */
18547 readonly event: Event | undefined;
18548 /** @deprecated */
18549 readonly external: External;
18550 readonly frameElement: Element;
18551 readonly frames: Window;
18552 readonly history: History;
18553 readonly innerHeight: number;
18554 readonly innerWidth: number;
18555 readonly isSecureContext: boolean;
18556 readonly length: number;
18557 location: Location;
18558 readonly locationbar: BarProp;
18559 readonly menubar: BarProp;
18560 readonly msContentScript: ExtensionScriptApis;
18561 name: string;
18562 readonly navigator: Navigator;
18563 offscreenBuffering: string | boolean;
18564 oncompassneedscalibration: ((this: Window, ev: Event) => any) | null;
18565 ondevicelight: ((this: Window, ev: DeviceLightEvent) => any) | null;
18566 ondevicemotion: ((this: Window, ev: DeviceMotionEvent) => any) | null;
18567 ondeviceorientation: ((this: Window, ev: DeviceOrientationEvent) => any) | null;
18568 ondeviceorientationabsolute: ((this: Window, ev: DeviceOrientationEvent) => any) | null;
18569 onmousewheel: ((this: Window, ev: Event) => any) | null;
18570 onmsgesturechange: ((this: Window, ev: Event) => any) | null;
18571 onmsgesturedoubletap: ((this: Window, ev: Event) => any) | null;
18572 onmsgestureend: ((this: Window, ev: Event) => any) | null;
18573 onmsgesturehold: ((this: Window, ev: Event) => any) | null;
18574 onmsgesturestart: ((this: Window, ev: Event) => any) | null;
18575 onmsgesturetap: ((this: Window, ev: Event) => any) | null;
18576 onmsinertiastart: ((this: Window, ev: Event) => any) | null;
18577 onmspointercancel: ((this: Window, ev: Event) => any) | null;
18578 onmspointerdown: ((this: Window, ev: Event) => any) | null;
18579 onmspointerenter: ((this: Window, ev: Event) => any) | null;
18580 onmspointerleave: ((this: Window, ev: Event) => any) | null;
18581 onmspointermove: ((this: Window, ev: Event) => any) | null;
18582 onmspointerout: ((this: Window, ev: Event) => any) | null;
18583 onmspointerover: ((this: Window, ev: Event) => any) | null;
18584 onmspointerup: ((this: Window, ev: Event) => any) | null;
18585 /** @deprecated */
18586 onorientationchange: ((this: Window, ev: Event) => any) | null;
18587 onreadystatechange: ((this: Window, ev: ProgressEvent<Window>) => any) | null;
18588 onvrdisplayactivate: ((this: Window, ev: Event) => any) | null;
18589 onvrdisplayblur: ((this: Window, ev: Event) => any) | null;
18590 onvrdisplayconnect: ((this: Window, ev: Event) => any) | null;
18591 onvrdisplaydeactivate: ((this: Window, ev: Event) => any) | null;
18592 onvrdisplaydisconnect: ((this: Window, ev: Event) => any) | null;
18593 onvrdisplayfocus: ((this: Window, ev: Event) => any) | null;
18594 onvrdisplaypointerrestricted: ((this: Window, ev: Event) => any) | null;
18595 onvrdisplaypointerunrestricted: ((this: Window, ev: Event) => any) | null;
18596 onvrdisplaypresentchange: ((this: Window, ev: Event) => any) | null;
18597 opener: any;
18598 /** @deprecated */
18599 readonly orientation: string | number;
18600 readonly outerHeight: number;
18601 readonly outerWidth: number;
18602 readonly pageXOffset: number;
18603 readonly pageYOffset: number;
18604 readonly parent: Window;
18605 readonly performance: Performance;
18606 readonly personalbar: BarProp;
18607 readonly screen: Screen;
18608 readonly screenLeft: number;
18609 readonly screenTop: number;
18610 readonly screenX: number;
18611 readonly screenY: number;
18612 readonly scrollX: number;
18613 readonly scrollY: number;
18614 readonly scrollbars: BarProp;
18615 readonly self: Window & typeof globalThis;
18616 readonly speechSynthesis: SpeechSynthesis;
18617 status: string;
18618 readonly statusbar: BarProp;
18619 readonly styleMedia: StyleMedia;
18620 readonly toolbar: BarProp;
18621 readonly top: Window;
18622 readonly window: Window & typeof globalThis;
18623 alert(message?: any): void;
18624 blur(): void;
18625 /** @deprecated */
18626 captureEvents(): void;
18627 close(): void;
18628 confirm(message?: string): boolean;
18629 departFocus(navigationReason: NavigationReason, origin: FocusNavigationOrigin): void;
18630 focus(): void;
18631 getComputedStyle(elt: Element, pseudoElt?: string | null): CSSStyleDeclaration;
18632 getMatchedCSSRules(elt: Element, pseudoElt?: string | null): CSSRuleList;
18633 getSelection(): Selection | null;
18634 matchMedia(query: string): MediaQueryList;
18635 moveBy(x: number, y: number): void;
18636 moveTo(x: number, y: number): void;
18637 msWriteProfilerMark(profilerMarkName: string): void;
18638 open(url?: string, target?: string, features?: string, replace?: boolean): Window | null;
18639 postMessage(message: any, targetOrigin: string, transfer?: Transferable[]): void;
18640 print(): void;
18641 prompt(message?: string, _default?: string): string | null;
18642 /** @deprecated */
18643 releaseEvents(): void;
18644 resizeBy(x: number, y: number): void;
18645 resizeTo(x: number, y: number): void;
18646 scroll(options?: ScrollToOptions): void;
18647 scroll(x: number, y: number): void;
18648 scrollBy(options?: ScrollToOptions): void;
18649 scrollBy(x: number, y: number): void;
18650 scrollTo(options?: ScrollToOptions): void;
18651 scrollTo(x: number, y: number): void;
18652 stop(): void;
18653 webkitCancelAnimationFrame(handle: number): void;
18654 webkitConvertPointFromNodeToPage(node: Node, pt: WebKitPoint): WebKitPoint;
18655 webkitConvertPointFromPageToNode(node: Node, pt: WebKitPoint): WebKitPoint;
18656 webkitRequestAnimationFrame(callback: FrameRequestCallback): number;
18657 addEventListener<K extends keyof WindowEventMap>(type: K, listener: (this: Window, ev: WindowEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
18658 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
18659 removeEventListener<K extends keyof WindowEventMap>(type: K, listener: (this: Window, ev: WindowEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
18660 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
18661 [index: number]: Window;
18662}
18663
18664declare var Window: {
18665 prototype: Window;
18666 new(): Window;
18667};
18668
18669interface WindowBase64 {
18670 atob(encodedString: string): string;
18671 btoa(rawString: string): string;
18672}
18673
18674interface WindowConsole {
18675 readonly console: Console;
18676}
18677
18678interface WindowEventHandlersEventMap {
18679 "afterprint": Event;
18680 "beforeprint": Event;
18681 "beforeunload": BeforeUnloadEvent;
18682 "hashchange": HashChangeEvent;
18683 "languagechange": Event;
18684 "message": MessageEvent;
18685 "messageerror": MessageEvent;
18686 "offline": Event;
18687 "online": Event;
18688 "pagehide": PageTransitionEvent;
18689 "pageshow": PageTransitionEvent;
18690 "popstate": PopStateEvent;
18691 "rejectionhandled": Event;
18692 "storage": StorageEvent;
18693 "unhandledrejection": PromiseRejectionEvent;
18694 "unload": Event;
18695}
18696
18697interface WindowEventHandlers {
18698 onafterprint: ((this: WindowEventHandlers, ev: Event) => any) | null;
18699 onbeforeprint: ((this: WindowEventHandlers, ev: Event) => any) | null;
18700 onbeforeunload: ((this: WindowEventHandlers, ev: BeforeUnloadEvent) => any) | null;
18701 onhashchange: ((this: WindowEventHandlers, ev: HashChangeEvent) => any) | null;
18702 onlanguagechange: ((this: WindowEventHandlers, ev: Event) => any) | null;
18703 onmessage: ((this: WindowEventHandlers, ev: MessageEvent) => any) | null;
18704 onmessageerror: ((this: WindowEventHandlers, ev: MessageEvent) => any) | null;
18705 onoffline: ((this: WindowEventHandlers, ev: Event) => any) | null;
18706 ononline: ((this: WindowEventHandlers, ev: Event) => any) | null;
18707 onpagehide: ((this: WindowEventHandlers, ev: PageTransitionEvent) => any) | null;
18708 onpageshow: ((this: WindowEventHandlers, ev: PageTransitionEvent) => any) | null;
18709 onpopstate: ((this: WindowEventHandlers, ev: PopStateEvent) => any) | null;
18710 onrejectionhandled: ((this: WindowEventHandlers, ev: Event) => any) | null;
18711 onstorage: ((this: WindowEventHandlers, ev: StorageEvent) => any) | null;
18712 onunhandledrejection: ((this: WindowEventHandlers, ev: PromiseRejectionEvent) => any) | null;
18713 onunload: ((this: WindowEventHandlers, ev: Event) => any) | null;
18714 addEventListener<K extends keyof WindowEventHandlersEventMap>(type: K, listener: (this: WindowEventHandlers, ev: WindowEventHandlersEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
18715 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
18716 removeEventListener<K extends keyof WindowEventHandlersEventMap>(type: K, listener: (this: WindowEventHandlers, ev: WindowEventHandlersEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
18717 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
18718}
18719
18720interface WindowLocalStorage {
18721 readonly localStorage: Storage;
18722}
18723
18724interface WindowOrWorkerGlobalScope {
18725 readonly caches: CacheStorage;
18726 readonly crypto: Crypto;
18727 readonly indexedDB: IDBFactory;
18728 readonly origin: string;
18729 readonly performance: Performance;
18730 atob(data: string): string;
18731 btoa(data: string): string;
18732 clearInterval(handle?: number): void;
18733 clearTimeout(handle?: number): void;
18734 createImageBitmap(image: ImageBitmapSource): Promise<ImageBitmap>;
18735 createImageBitmap(image: ImageBitmapSource, sx: number, sy: number, sw: number, sh: number): Promise<ImageBitmap>;
18736 fetch(input: RequestInfo, init?: RequestInit): Promise<Response>;
18737 queueMicrotask(callback: Function): void;
18738 setInterval(handler: TimerHandler, timeout?: number, ...arguments: any[]): number;
18739 setTimeout(handler: TimerHandler, timeout?: number, ...arguments: any[]): number;
18740}
18741
18742interface WindowSessionStorage {
18743 readonly sessionStorage: Storage;
18744}
18745
18746interface WindowTimers {
18747}
18748
18749interface WorkerEventMap extends AbstractWorkerEventMap {
18750 "message": MessageEvent;
18751}
18752
18753/** This Web Workers API interface represents a background task that can be easily created and can send messages back to its creator. Creating a worker is as simple as calling the Worker() constructor and specifying a script to be run in the worker thread. */
18754interface Worker extends EventTarget, AbstractWorker {
18755 onmessage: ((this: Worker, ev: MessageEvent) => any) | null;
18756 postMessage(message: any, transfer: Transferable[]): void;
18757 postMessage(message: any, options?: PostMessageOptions): void;
18758 terminate(): void;
18759 addEventListener<K extends keyof WorkerEventMap>(type: K, listener: (this: Worker, ev: WorkerEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
18760 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
18761 removeEventListener<K extends keyof WorkerEventMap>(type: K, listener: (this: Worker, ev: WorkerEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
18762 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
18763}
18764
18765declare var Worker: {
18766 prototype: Worker;
18767 new(stringUrl: string | URL, options?: WorkerOptions): Worker;
18768};
18769
18770interface Worklet {
18771 addModule(moduleURL: string, options?: WorkletOptions): Promise<void>;
18772}
18773
18774declare var Worklet: {
18775 prototype: Worklet;
18776 new(): Worklet;
18777};
18778
18779/** This Streams API interface provides a standard abstraction for writing streaming data to a destination, known as a sink. This object comes with built-in backpressure and queuing. */
18780interface WritableStream<W = any> {
18781 readonly locked: boolean;
18782 abort(reason?: any): Promise<void>;
18783 getWriter(): WritableStreamDefaultWriter<W>;
18784}
18785
18786declare var WritableStream: {
18787 prototype: WritableStream;
18788 new<W = any>(underlyingSink?: UnderlyingSink<W>, strategy?: QueuingStrategy<W>): WritableStream<W>;
18789};
18790
18791/** This Streams API interface represents a controller allowing control of a WritableStream's state. When constructing a WritableStream, the underlying sink is given a corresponding WritableStreamDefaultController instance to manipulate. */
18792interface WritableStreamDefaultController {
18793 error(error?: any): void;
18794}
18795
18796/** This Streams API interface is the object returned by WritableStream.getWriter() and once created locks the < writer to the WritableStream ensuring that no other streams can write to the underlying sink. */
18797interface WritableStreamDefaultWriter<W = any> {
18798 readonly closed: Promise<void>;
18799 readonly desiredSize: number | null;
18800 readonly ready: Promise<void>;
18801 abort(reason?: any): Promise<void>;
18802 close(): Promise<void>;
18803 releaseLock(): void;
18804 write(chunk: W): Promise<void>;
18805}
18806
18807/** An XML document. It inherits from the generic Document and does not add any specific methods or properties to it: nevertheless, several algorithms behave differently with the two types of documents. */
18808interface XMLDocument extends Document {
18809 addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: XMLDocument, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
18810 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
18811 removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: XMLDocument, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
18812 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
18813}
18814
18815declare var XMLDocument: {
18816 prototype: XMLDocument;
18817 new(): XMLDocument;
18818};
18819
18820interface XMLHttpRequestEventMap extends XMLHttpRequestEventTargetEventMap {
18821 "readystatechange": Event;
18822}
18823
18824/** Use XMLHttpRequest (XHR) objects to interact with servers. You can retrieve data from a URL without having to do a full page refresh. This enables a Web page to update just part of a page without disrupting what the user is doing. */
18825interface XMLHttpRequest extends XMLHttpRequestEventTarget {
18826 onreadystatechange: ((this: XMLHttpRequest, ev: Event) => any) | null;
18827 /**
18828 * Returns client's state.
18829 */
18830 readonly readyState: number;
18831 /**
18832 * Returns the response's body.
18833 */
18834 readonly response: any;
18835 /**
18836 * Returns the text response.
18837 *
18838 * Throws an "InvalidStateError" DOMException if responseType is not the empty string or "text".
18839 */
18840 readonly responseText: string;
18841 /**
18842 * Returns the response type.
18843 *
18844 * Can be set to change the response type. Values are: the empty string (default), "arraybuffer", "blob", "document", "json", and "text".
18845 *
18846 * When set: setting to "document" is ignored if current global object is not a Window object.
18847 *
18848 * When set: throws an "InvalidStateError" DOMException if state is loading or done.
18849 *
18850 * When set: throws an "InvalidAccessError" DOMException if the synchronous flag is set and current global object is a Window object.
18851 */
18852 responseType: XMLHttpRequestResponseType;
18853 readonly responseURL: string;
18854 /**
18855 * Returns the document response.
18856 *
18857 * Throws an "InvalidStateError" DOMException if responseType is not the empty string or "document".
18858 */
18859 readonly responseXML: Document | null;
18860 readonly status: number;
18861 readonly statusText: string;
18862 /**
18863 * Can be set to a time in milliseconds. When set to a non-zero value will cause fetching to terminate after the given time has passed. When the time has passed, the request has not yet completed, and the synchronous flag is unset, a timeout event will then be dispatched, or a "TimeoutError" DOMException will be thrown otherwise (for the send() method).
18864 *
18865 * When set: throws an "InvalidAccessError" DOMException if the synchronous flag is set and current global object is a Window object.
18866 */
18867 timeout: number;
18868 /**
18869 * Returns the associated XMLHttpRequestUpload object. It can be used to gather transmission information when data is transferred to a server.
18870 */
18871 readonly upload: XMLHttpRequestUpload;
18872 /**
18873 * True when credentials are to be included in a cross-origin request. False when they are to be excluded in a cross-origin request and when cookies are to be ignored in its response. Initially false.
18874 *
18875 * When set: throws an "InvalidStateError" DOMException if state is not unsent or opened, or if the send() flag is set.
18876 */
18877 withCredentials: boolean;
18878 /**
18879 * Cancels any network activity.
18880 */
18881 abort(): void;
18882 getAllResponseHeaders(): string;
18883 getResponseHeader(name: string): string | null;
18884 /**
18885 * Sets the request method, request URL, and synchronous flag.
18886 *
18887 * Throws a "SyntaxError" DOMException if either method is not a valid HTTP method or url cannot be parsed.
18888 *
18889 * Throws a "SecurityError" DOMException if method is a case-insensitive match for `CONNECT`, `TRACE`, or `TRACK`.
18890 *
18891 * Throws an "InvalidAccessError" DOMException if async is false, current global object is a Window object, and the timeout attribute is not zero or the responseType attribute is not the empty string.
18892 */
18893 open(method: string, url: string): void;
18894 open(method: string, url: string, async: boolean, username?: string | null, password?: string | null): void;
18895 /**
18896 * Acts as if the `Content-Type` header value for response is mime. (It does not actually change the header though.)
18897 *
18898 * Throws an "InvalidStateError" DOMException if state is loading or done.
18899 */
18900 overrideMimeType(mime: string): void;
18901 /**
18902 * Initiates the request. The body argument provides the request body, if any, and is ignored if the request method is GET or HEAD.
18903 *
18904 * Throws an "InvalidStateError" DOMException if either state is not opened or the send() flag is set.
18905 */
18906 send(body?: Document | BodyInit | null): void;
18907 /**
18908 * Combines a header in author request headers.
18909 *
18910 * Throws an "InvalidStateError" DOMException if either state is not opened or the send() flag is set.
18911 *
18912 * Throws a "SyntaxError" DOMException if name is not a header name or if value is not a header value.
18913 */
18914 setRequestHeader(name: string, value: string): void;
18915 readonly DONE: number;
18916 readonly HEADERS_RECEIVED: number;
18917 readonly LOADING: number;
18918 readonly OPENED: number;
18919 readonly UNSENT: number;
18920 addEventListener<K extends keyof XMLHttpRequestEventMap>(type: K, listener: (this: XMLHttpRequest, ev: XMLHttpRequestEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
18921 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
18922 removeEventListener<K extends keyof XMLHttpRequestEventMap>(type: K, listener: (this: XMLHttpRequest, ev: XMLHttpRequestEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
18923 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
18924}
18925
18926declare var XMLHttpRequest: {
18927 prototype: XMLHttpRequest;
18928 new(): XMLHttpRequest;
18929 readonly DONE: number;
18930 readonly HEADERS_RECEIVED: number;
18931 readonly LOADING: number;
18932 readonly OPENED: number;
18933 readonly UNSENT: number;
18934};
18935
18936interface XMLHttpRequestEventTargetEventMap {
18937 "abort": ProgressEvent<XMLHttpRequestEventTarget>;
18938 "error": ProgressEvent<XMLHttpRequestEventTarget>;
18939 "load": ProgressEvent<XMLHttpRequestEventTarget>;
18940 "loadend": ProgressEvent<XMLHttpRequestEventTarget>;
18941 "loadstart": ProgressEvent<XMLHttpRequestEventTarget>;
18942 "progress": ProgressEvent<XMLHttpRequestEventTarget>;
18943 "timeout": ProgressEvent<XMLHttpRequestEventTarget>;
18944}
18945
18946interface XMLHttpRequestEventTarget extends EventTarget {
18947 onabort: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;
18948 onerror: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;
18949 onload: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;
18950 onloadend: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;
18951 onloadstart: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;
18952 onprogress: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;
18953 ontimeout: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;
18954 addEventListener<K extends keyof XMLHttpRequestEventTargetEventMap>(type: K, listener: (this: XMLHttpRequestEventTarget, ev: XMLHttpRequestEventTargetEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
18955 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
18956 removeEventListener<K extends keyof XMLHttpRequestEventTargetEventMap>(type: K, listener: (this: XMLHttpRequestEventTarget, ev: XMLHttpRequestEventTargetEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
18957 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
18958}
18959
18960declare var XMLHttpRequestEventTarget: {
18961 prototype: XMLHttpRequestEventTarget;
18962 new(): XMLHttpRequestEventTarget;
18963};
18964
18965interface XMLHttpRequestUpload extends XMLHttpRequestEventTarget {
18966 addEventListener<K extends keyof XMLHttpRequestEventTargetEventMap>(type: K, listener: (this: XMLHttpRequestUpload, ev: XMLHttpRequestEventTargetEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
18967 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
18968 removeEventListener<K extends keyof XMLHttpRequestEventTargetEventMap>(type: K, listener: (this: XMLHttpRequestUpload, ev: XMLHttpRequestEventTargetEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
18969 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
18970}
18971
18972declare var XMLHttpRequestUpload: {
18973 prototype: XMLHttpRequestUpload;
18974 new(): XMLHttpRequestUpload;
18975};
18976
18977/** Provides the serializeToString() method to construct an XML string representing a DOM tree. */
18978interface XMLSerializer {
18979 serializeToString(root: Node): string;
18980}
18981
18982declare var XMLSerializer: {
18983 prototype: XMLSerializer;
18984 new(): XMLSerializer;
18985};
18986
18987/** The XPathEvaluator interface allows to compile and evaluate XPath expressions. */
18988interface XPathEvaluator extends XPathEvaluatorBase {
18989}
18990
18991declare var XPathEvaluator: {
18992 prototype: XPathEvaluator;
18993 new(): XPathEvaluator;
18994};
18995
18996interface XPathEvaluatorBase {
18997 createExpression(expression: string, resolver?: XPathNSResolver | null): XPathExpression;
18998 createNSResolver(nodeResolver: Node): XPathNSResolver;
18999 evaluate(expression: string, contextNode: Node, resolver?: XPathNSResolver | null, type?: number, result?: XPathResult | null): XPathResult;
19000}
19001
19002/** This interface is a compiled XPath expression that can be evaluated on a document or specific node to return information its DOM tree. */
19003interface XPathExpression {
19004 evaluate(contextNode: Node, type?: number, result?: XPathResult | null): XPathResult;
19005}
19006
19007declare var XPathExpression: {
19008 prototype: XPathExpression;
19009 new(): XPathExpression;
19010};
19011
19012/** The results generated by evaluating an XPath expression within the context of a given node. */
19013interface XPathResult {
19014 readonly booleanValue: boolean;
19015 readonly invalidIteratorState: boolean;
19016 readonly numberValue: number;
19017 readonly resultType: number;
19018 readonly singleNodeValue: Node | null;
19019 readonly snapshotLength: number;
19020 readonly stringValue: string;
19021 iterateNext(): Node | null;
19022 snapshotItem(index: number): Node | null;
19023 readonly ANY_TYPE: number;
19024 readonly ANY_UNORDERED_NODE_TYPE: number;
19025 readonly BOOLEAN_TYPE: number;
19026 readonly FIRST_ORDERED_NODE_TYPE: number;
19027 readonly NUMBER_TYPE: number;
19028 readonly ORDERED_NODE_ITERATOR_TYPE: number;
19029 readonly ORDERED_NODE_SNAPSHOT_TYPE: number;
19030 readonly STRING_TYPE: number;
19031 readonly UNORDERED_NODE_ITERATOR_TYPE: number;
19032 readonly UNORDERED_NODE_SNAPSHOT_TYPE: number;
19033}
19034
19035declare var XPathResult: {
19036 prototype: XPathResult;
19037 new(): XPathResult;
19038 readonly ANY_TYPE: number;
19039 readonly ANY_UNORDERED_NODE_TYPE: number;
19040 readonly BOOLEAN_TYPE: number;
19041 readonly FIRST_ORDERED_NODE_TYPE: number;
19042 readonly NUMBER_TYPE: number;
19043 readonly ORDERED_NODE_ITERATOR_TYPE: number;
19044 readonly ORDERED_NODE_SNAPSHOT_TYPE: number;
19045 readonly STRING_TYPE: number;
19046 readonly UNORDERED_NODE_ITERATOR_TYPE: number;
19047 readonly UNORDERED_NODE_SNAPSHOT_TYPE: number;
19048};
19049
19050/** An XSLTProcessor applies an XSLT stylesheet transformation to an XML document to produce a new XML document as output. It has methods to load the XSLT stylesheet, to manipulate <xsl:param> parameter values, and to apply the transformation to documents. */
19051interface XSLTProcessor {
19052 clearParameters(): void;
19053 getParameter(namespaceURI: string, localName: string): any;
19054 importStylesheet(style: Node): void;
19055 removeParameter(namespaceURI: string, localName: string): void;
19056 reset(): void;
19057 setParameter(namespaceURI: string, localName: string, value: any): void;
19058 transformToDocument(source: Node): Document;
19059 transformToFragment(source: Node, document: Document): DocumentFragment;
19060}
19061
19062declare var XSLTProcessor: {
19063 prototype: XSLTProcessor;
19064 new(): XSLTProcessor;
19065};
19066
19067interface webkitRTCPeerConnection extends RTCPeerConnection {
19068 addEventListener<K extends keyof RTCPeerConnectionEventMap>(type: K, listener: (this: webkitRTCPeerConnection, ev: RTCPeerConnectionEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
19069 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
19070 removeEventListener<K extends keyof RTCPeerConnectionEventMap>(type: K, listener: (this: webkitRTCPeerConnection, ev: RTCPeerConnectionEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
19071 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
19072}
19073
19074declare var webkitRTCPeerConnection: {
19075 prototype: webkitRTCPeerConnection;
19076 new(configuration: RTCConfiguration): webkitRTCPeerConnection;
19077};
19078
19079declare type EventListenerOrEventListenerObject = EventListener | EventListenerObject;
19080
19081declare namespace WebAssembly {
19082 interface CompileError {
19083 }
19084
19085 var CompileError: {
19086 prototype: CompileError;
19087 new(): CompileError;
19088 };
19089
19090 interface Global {
19091 value: any;
19092 valueOf(): any;
19093 }
19094
19095 var Global: {
19096 prototype: Global;
19097 new(descriptor: GlobalDescriptor, v?: any): Global;
19098 };
19099
19100 interface Instance {
19101 readonly exports: Exports;
19102 }
19103
19104 var Instance: {
19105 prototype: Instance;
19106 new(module: Module, importObject?: Imports): Instance;
19107 };
19108
19109 interface LinkError {
19110 }
19111
19112 var LinkError: {
19113 prototype: LinkError;
19114 new(): LinkError;
19115 };
19116
19117 interface Memory {
19118 readonly buffer: ArrayBuffer;
19119 grow(delta: number): number;
19120 }
19121
19122 var Memory: {
19123 prototype: Memory;
19124 new(descriptor: MemoryDescriptor): Memory;
19125 };
19126
19127 interface Module {
19128 }
19129
19130 var Module: {
19131 prototype: Module;
19132 new(bytes: BufferSource): Module;
19133 customSections(moduleObject: Module, sectionName: string): ArrayBuffer[];
19134 exports(moduleObject: Module): ModuleExportDescriptor[];
19135 imports(moduleObject: Module): ModuleImportDescriptor[];
19136 };
19137
19138 interface RuntimeError {
19139 }
19140
19141 var RuntimeError: {
19142 prototype: RuntimeError;
19143 new(): RuntimeError;
19144 };
19145
19146 interface Table {
19147 readonly length: number;
19148 get(index: number): Function | null;
19149 grow(delta: number): number;
19150 set(index: number, value: Function | null): void;
19151 }
19152
19153 var Table: {
19154 prototype: Table;
19155 new(descriptor: TableDescriptor): Table;
19156 };
19157
19158 interface GlobalDescriptor {
19159 mutable?: boolean;
19160 value: ValueType;
19161 }
19162
19163 interface MemoryDescriptor {
19164 initial: number;
19165 maximum?: number;
19166 }
19167
19168 interface ModuleExportDescriptor {
19169 kind: ImportExportKind;
19170 name: string;
19171 }
19172
19173 interface ModuleImportDescriptor {
19174 kind: ImportExportKind;
19175 module: string;
19176 name: string;
19177 }
19178
19179 interface TableDescriptor {
19180 element: TableKind;
19181 initial: number;
19182 maximum?: number;
19183 }
19184
19185 interface WebAssemblyInstantiatedSource {
19186 instance: Instance;
19187 module: Module;
19188 }
19189
19190 type ImportExportKind = "function" | "table" | "memory" | "global";
19191 type TableKind = "anyfunc";
19192 type ValueType = "i32" | "i64" | "f32" | "f64";
19193 type ExportValue = Function | Global | Memory | Table;
19194 type Exports = Record<string, ExportValue>;
19195 type ImportValue = ExportValue | number;
19196 type ModuleImports = Record<string, ImportValue>;
19197 type Imports = Record<string, ModuleImports>;
19198 function compile(bytes: BufferSource): Promise<Module>;
19199 function compileStreaming(source: Response | Promise<Response>): Promise<Module>;
19200 function instantiate(bytes: BufferSource, importObject?: Imports): Promise<WebAssemblyInstantiatedSource>;
19201 function instantiate(moduleObject: Module, importObject?: Imports): Promise<Instance>;
19202 function instantiateStreaming(response: Response | PromiseLike<Response>, importObject?: Imports): Promise<WebAssemblyInstantiatedSource>;
19203 function validate(bytes: BufferSource): boolean;
19204}
19205
19206interface BlobCallback {
19207 (blob: Blob | null): void;
19208}
19209
19210interface DecodeErrorCallback {
19211 (error: DOMException): void;
19212}
19213
19214interface DecodeSuccessCallback {
19215 (decodedData: AudioBuffer): void;
19216}
19217
19218interface EventHandlerNonNull {
19219 (event: Event): any;
19220}
19221
19222interface ForEachCallback {
19223 (keyId: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer | null, status: MediaKeyStatus): void;
19224}
19225
19226interface FrameRequestCallback {
19227 (time: number): void;
19228}
19229
19230interface FunctionStringCallback {
19231 (data: string): void;
19232}
19233
19234interface IntersectionObserverCallback {
19235 (entries: IntersectionObserverEntry[], observer: IntersectionObserver): void;
19236}
19237
19238interface MSLaunchUriCallback {
19239 (): void;
19240}
19241
19242interface MutationCallback {
19243 (mutations: MutationRecord[], observer: MutationObserver): void;
19244}
19245
19246interface NavigatorUserMediaErrorCallback {
19247 (error: MediaStreamError): void;
19248}
19249
19250interface NavigatorUserMediaSuccessCallback {
19251 (stream: MediaStream): void;
19252}
19253
19254interface NotificationPermissionCallback {
19255 (permission: NotificationPermission): void;
19256}
19257
19258interface OnBeforeUnloadEventHandlerNonNull {
19259 (event: Event): string | null;
19260}
19261
19262interface OnErrorEventHandlerNonNull {
19263 (event: Event | string, source?: string, lineno?: number, colno?: number, error?: Error): any;
19264}
19265
19266interface PerformanceObserverCallback {
19267 (entries: PerformanceObserverEntryList, observer: PerformanceObserver): void;
19268}
19269
19270interface PositionCallback {
19271 (position: Position): void;
19272}
19273
19274interface PositionErrorCallback {
19275 (positionError: PositionError): void;
19276}
19277
19278interface QueuingStrategySizeCallback<T = any> {
19279 (chunk: T): number;
19280}
19281
19282interface RTCPeerConnectionErrorCallback {
19283 (error: DOMException): void;
19284}
19285
19286interface RTCSessionDescriptionCallback {
19287 (description: RTCSessionDescriptionInit): void;
19288}
19289
19290interface RTCStatsCallback {
19291 (report: RTCStatsReport): void;
19292}
19293
19294interface ReadableByteStreamControllerCallback {
19295 (controller: ReadableByteStreamController): void | PromiseLike<void>;
19296}
19297
19298interface ReadableStreamDefaultControllerCallback<R> {
19299 (controller: ReadableStreamDefaultController<R>): void | PromiseLike<void>;
19300}
19301
19302interface ReadableStreamErrorCallback {
19303 (reason: any): void | PromiseLike<void>;
19304}
19305
19306interface TransformStreamDefaultControllerCallback<O> {
19307 (controller: TransformStreamDefaultController<O>): void | PromiseLike<void>;
19308}
19309
19310interface TransformStreamDefaultControllerTransformCallback<I, O> {
19311 (chunk: I, controller: TransformStreamDefaultController<O>): void | PromiseLike<void>;
19312}
19313
19314interface VoidFunction {
19315 (): void;
19316}
19317
19318interface WritableStreamDefaultControllerCloseCallback {
19319 (): void | PromiseLike<void>;
19320}
19321
19322interface WritableStreamDefaultControllerStartCallback {
19323 (controller: WritableStreamDefaultController): void | PromiseLike<void>;
19324}
19325
19326interface WritableStreamDefaultControllerWriteCallback<W> {
19327 (chunk: W, controller: WritableStreamDefaultController): void | PromiseLike<void>;
19328}
19329
19330interface WritableStreamErrorCallback {
19331 (reason: any): void | PromiseLike<void>;
19332}
19333
19334interface HTMLElementTagNameMap {
19335 "a": HTMLAnchorElement;
19336 "abbr": HTMLElement;
19337 "address": HTMLElement;
19338 "applet": HTMLAppletElement;
19339 "area": HTMLAreaElement;
19340 "article": HTMLElement;
19341 "aside": HTMLElement;
19342 "audio": HTMLAudioElement;
19343 "b": HTMLElement;
19344 "base": HTMLBaseElement;
19345 "basefont": HTMLBaseFontElement;
19346 "bdi": HTMLElement;
19347 "bdo": HTMLElement;
19348 "blockquote": HTMLQuoteElement;
19349 "body": HTMLBodyElement;
19350 "br": HTMLBRElement;
19351 "button": HTMLButtonElement;
19352 "canvas": HTMLCanvasElement;
19353 "caption": HTMLTableCaptionElement;
19354 "cite": HTMLElement;
19355 "code": HTMLElement;
19356 "col": HTMLTableColElement;
19357 "colgroup": HTMLTableColElement;
19358 "data": HTMLDataElement;
19359 "datalist": HTMLDataListElement;
19360 "dd": HTMLElement;
19361 "del": HTMLModElement;
19362 "details": HTMLDetailsElement;
19363 "dfn": HTMLElement;
19364 "dialog": HTMLDialogElement;
19365 "dir": HTMLDirectoryElement;
19366 "div": HTMLDivElement;
19367 "dl": HTMLDListElement;
19368 "dt": HTMLElement;
19369 "em": HTMLElement;
19370 "embed": HTMLEmbedElement;
19371 "fieldset": HTMLFieldSetElement;
19372 "figcaption": HTMLElement;
19373 "figure": HTMLElement;
19374 "font": HTMLFontElement;
19375 "footer": HTMLElement;
19376 "form": HTMLFormElement;
19377 "frame": HTMLFrameElement;
19378 "frameset": HTMLFrameSetElement;
19379 "h1": HTMLHeadingElement;
19380 "h2": HTMLHeadingElement;
19381 "h3": HTMLHeadingElement;
19382 "h4": HTMLHeadingElement;
19383 "h5": HTMLHeadingElement;
19384 "h6": HTMLHeadingElement;
19385 "head": HTMLHeadElement;
19386 "header": HTMLElement;
19387 "hgroup": HTMLElement;
19388 "hr": HTMLHRElement;
19389 "html": HTMLHtmlElement;
19390 "i": HTMLElement;
19391 "iframe": HTMLIFrameElement;
19392 "img": HTMLImageElement;
19393 "input": HTMLInputElement;
19394 "ins": HTMLModElement;
19395 "kbd": HTMLElement;
19396 "label": HTMLLabelElement;
19397 "legend": HTMLLegendElement;
19398 "li": HTMLLIElement;
19399 "link": HTMLLinkElement;
19400 "main": HTMLElement;
19401 "map": HTMLMapElement;
19402 "mark": HTMLElement;
19403 "marquee": HTMLMarqueeElement;
19404 "menu": HTMLMenuElement;
19405 "meta": HTMLMetaElement;
19406 "meter": HTMLMeterElement;
19407 "nav": HTMLElement;
19408 "noscript": HTMLElement;
19409 "object": HTMLObjectElement;
19410 "ol": HTMLOListElement;
19411 "optgroup": HTMLOptGroupElement;
19412 "option": HTMLOptionElement;
19413 "output": HTMLOutputElement;
19414 "p": HTMLParagraphElement;
19415 "param": HTMLParamElement;
19416 "picture": HTMLPictureElement;
19417 "pre": HTMLPreElement;
19418 "progress": HTMLProgressElement;
19419 "q": HTMLQuoteElement;
19420 "rp": HTMLElement;
19421 "rt": HTMLElement;
19422 "ruby": HTMLElement;
19423 "s": HTMLElement;
19424 "samp": HTMLElement;
19425 "script": HTMLScriptElement;
19426 "section": HTMLElement;
19427 "select": HTMLSelectElement;
19428 "slot": HTMLSlotElement;
19429 "small": HTMLElement;
19430 "source": HTMLSourceElement;
19431 "span": HTMLSpanElement;
19432 "strong": HTMLElement;
19433 "style": HTMLStyleElement;
19434 "sub": HTMLElement;
19435 "summary": HTMLElement;
19436 "sup": HTMLElement;
19437 "table": HTMLTableElement;
19438 "tbody": HTMLTableSectionElement;
19439 "td": HTMLTableDataCellElement;
19440 "template": HTMLTemplateElement;
19441 "textarea": HTMLTextAreaElement;
19442 "tfoot": HTMLTableSectionElement;
19443 "th": HTMLTableHeaderCellElement;
19444 "thead": HTMLTableSectionElement;
19445 "time": HTMLTimeElement;
19446 "title": HTMLTitleElement;
19447 "tr": HTMLTableRowElement;
19448 "track": HTMLTrackElement;
19449 "u": HTMLElement;
19450 "ul": HTMLUListElement;
19451 "var": HTMLElement;
19452 "video": HTMLVideoElement;
19453 "wbr": HTMLElement;
19454}
19455
19456interface HTMLElementDeprecatedTagNameMap {
19457 "listing": HTMLPreElement;
19458 "xmp": HTMLPreElement;
19459}
19460
19461interface SVGElementTagNameMap {
19462 "a": SVGAElement;
19463 "circle": SVGCircleElement;
19464 "clipPath": SVGClipPathElement;
19465 "defs": SVGDefsElement;
19466 "desc": SVGDescElement;
19467 "ellipse": SVGEllipseElement;
19468 "feBlend": SVGFEBlendElement;
19469 "feColorMatrix": SVGFEColorMatrixElement;
19470 "feComponentTransfer": SVGFEComponentTransferElement;
19471 "feComposite": SVGFECompositeElement;
19472 "feConvolveMatrix": SVGFEConvolveMatrixElement;
19473 "feDiffuseLighting": SVGFEDiffuseLightingElement;
19474 "feDisplacementMap": SVGFEDisplacementMapElement;
19475 "feDistantLight": SVGFEDistantLightElement;
19476 "feFlood": SVGFEFloodElement;
19477 "feFuncA": SVGFEFuncAElement;
19478 "feFuncB": SVGFEFuncBElement;
19479 "feFuncG": SVGFEFuncGElement;
19480 "feFuncR": SVGFEFuncRElement;
19481 "feGaussianBlur": SVGFEGaussianBlurElement;
19482 "feImage": SVGFEImageElement;
19483 "feMerge": SVGFEMergeElement;
19484 "feMergeNode": SVGFEMergeNodeElement;
19485 "feMorphology": SVGFEMorphologyElement;
19486 "feOffset": SVGFEOffsetElement;
19487 "fePointLight": SVGFEPointLightElement;
19488 "feSpecularLighting": SVGFESpecularLightingElement;
19489 "feSpotLight": SVGFESpotLightElement;
19490 "feTile": SVGFETileElement;
19491 "feTurbulence": SVGFETurbulenceElement;
19492 "filter": SVGFilterElement;
19493 "foreignObject": SVGForeignObjectElement;
19494 "g": SVGGElement;
19495 "image": SVGImageElement;
19496 "line": SVGLineElement;
19497 "linearGradient": SVGLinearGradientElement;
19498 "marker": SVGMarkerElement;
19499 "mask": SVGMaskElement;
19500 "metadata": SVGMetadataElement;
19501 "path": SVGPathElement;
19502 "pattern": SVGPatternElement;
19503 "polygon": SVGPolygonElement;
19504 "polyline": SVGPolylineElement;
19505 "radialGradient": SVGRadialGradientElement;
19506 "rect": SVGRectElement;
19507 "script": SVGScriptElement;
19508 "stop": SVGStopElement;
19509 "style": SVGStyleElement;
19510 "svg": SVGSVGElement;
19511 "switch": SVGSwitchElement;
19512 "symbol": SVGSymbolElement;
19513 "text": SVGTextElement;
19514 "textPath": SVGTextPathElement;
19515 "title": SVGTitleElement;
19516 "tspan": SVGTSpanElement;
19517 "use": SVGUseElement;
19518 "view": SVGViewElement;
19519}
19520
19521/** @deprecated Directly use HTMLElementTagNameMap or SVGElementTagNameMap as appropriate, instead. */
19522type ElementTagNameMap = HTMLElementTagNameMap & Pick<SVGElementTagNameMap, Exclude<keyof SVGElementTagNameMap, keyof HTMLElementTagNameMap>>;
19523
19524declare var Audio: {
19525 new(src?: string): HTMLAudioElement;
19526};
19527declare var Image: {
19528 new(width?: number, height?: number): HTMLImageElement;
19529};
19530declare var Option: {
19531 new(text?: string, value?: string, defaultSelected?: boolean, selected?: boolean): HTMLOptionElement;
19532};
19533declare var applicationCache: ApplicationCache;
19534declare var caches: CacheStorage;
19535declare var clientInformation: Navigator;
19536declare var closed: boolean;
19537declare var crypto: Crypto;
19538declare var customElements: CustomElementRegistry;
19539declare var defaultStatus: string;
19540declare var devicePixelRatio: number;
19541declare var doNotTrack: string;
19542declare var document: Document;
19543/** @deprecated */
19544declare var event: Event | undefined;
19545/** @deprecated */
19546declare var external: External;
19547declare var frameElement: Element;
19548declare var frames: Window;
19549declare var history: History;
19550declare var innerHeight: number;
19551declare var innerWidth: number;
19552declare var isSecureContext: boolean;
19553declare var length: number;
19554declare var location: Location;
19555declare var locationbar: BarProp;
19556declare var menubar: BarProp;
19557declare var msContentScript: ExtensionScriptApis;
19558declare const name: never;
19559declare var navigator: Navigator;
19560declare var offscreenBuffering: string | boolean;
19561declare var oncompassneedscalibration: ((this: Window, ev: Event) => any) | null;
19562declare var ondevicelight: ((this: Window, ev: DeviceLightEvent) => any) | null;
19563declare var ondevicemotion: ((this: Window, ev: DeviceMotionEvent) => any) | null;
19564declare var ondeviceorientation: ((this: Window, ev: DeviceOrientationEvent) => any) | null;
19565declare var ondeviceorientationabsolute: ((this: Window, ev: DeviceOrientationEvent) => any) | null;
19566declare var onmousewheel: ((this: Window, ev: Event) => any) | null;
19567declare var onmsgesturechange: ((this: Window, ev: Event) => any) | null;
19568declare var onmsgesturedoubletap: ((this: Window, ev: Event) => any) | null;
19569declare var onmsgestureend: ((this: Window, ev: Event) => any) | null;
19570declare var onmsgesturehold: ((this: Window, ev: Event) => any) | null;
19571declare var onmsgesturestart: ((this: Window, ev: Event) => any) | null;
19572declare var onmsgesturetap: ((this: Window, ev: Event) => any) | null;
19573declare var onmsinertiastart: ((this: Window, ev: Event) => any) | null;
19574declare var onmspointercancel: ((this: Window, ev: Event) => any) | null;
19575declare var onmspointerdown: ((this: Window, ev: Event) => any) | null;
19576declare var onmspointerenter: ((this: Window, ev: Event) => any) | null;
19577declare var onmspointerleave: ((this: Window, ev: Event) => any) | null;
19578declare var onmspointermove: ((this: Window, ev: Event) => any) | null;
19579declare var onmspointerout: ((this: Window, ev: Event) => any) | null;
19580declare var onmspointerover: ((this: Window, ev: Event) => any) | null;
19581declare var onmspointerup: ((this: Window, ev: Event) => any) | null;
19582/** @deprecated */
19583declare var onorientationchange: ((this: Window, ev: Event) => any) | null;
19584declare var onreadystatechange: ((this: Window, ev: ProgressEvent<Window>) => any) | null;
19585declare var onvrdisplayactivate: ((this: Window, ev: Event) => any) | null;
19586declare var onvrdisplayblur: ((this: Window, ev: Event) => any) | null;
19587declare var onvrdisplayconnect: ((this: Window, ev: Event) => any) | null;
19588declare var onvrdisplaydeactivate: ((this: Window, ev: Event) => any) | null;
19589declare var onvrdisplaydisconnect: ((this: Window, ev: Event) => any) | null;
19590declare var onvrdisplayfocus: ((this: Window, ev: Event) => any) | null;
19591declare var onvrdisplaypointerrestricted: ((this: Window, ev: Event) => any) | null;
19592declare var onvrdisplaypointerunrestricted: ((this: Window, ev: Event) => any) | null;
19593declare var onvrdisplaypresentchange: ((this: Window, ev: Event) => any) | null;
19594declare var opener: any;
19595/** @deprecated */
19596declare var orientation: string | number;
19597declare var outerHeight: number;
19598declare var outerWidth: number;
19599declare var pageXOffset: number;
19600declare var pageYOffset: number;
19601declare var parent: Window;
19602declare var performance: Performance;
19603declare var personalbar: BarProp;
19604declare var screen: Screen;
19605declare var screenLeft: number;
19606declare var screenTop: number;
19607declare var screenX: number;
19608declare var screenY: number;
19609declare var scrollX: number;
19610declare var scrollY: number;
19611declare var scrollbars: BarProp;
19612declare var self: Window & typeof globalThis;
19613declare var speechSynthesis: SpeechSynthesis;
19614declare var status: string;
19615declare var statusbar: BarProp;
19616declare var styleMedia: StyleMedia;
19617declare var toolbar: BarProp;
19618declare var top: Window;
19619declare var window: Window & typeof globalThis;
19620declare function alert(message?: any): void;
19621declare function blur(): void;
19622/** @deprecated */
19623declare function captureEvents(): void;
19624declare function close(): void;
19625declare function confirm(message?: string): boolean;
19626declare function departFocus(navigationReason: NavigationReason, origin: FocusNavigationOrigin): void;
19627declare function focus(): void;
19628declare function getComputedStyle(elt: Element, pseudoElt?: string | null): CSSStyleDeclaration;
19629declare function getMatchedCSSRules(elt: Element, pseudoElt?: string | null): CSSRuleList;
19630declare function getSelection(): Selection | null;
19631declare function matchMedia(query: string): MediaQueryList;
19632declare function moveBy(x: number, y: number): void;
19633declare function moveTo(x: number, y: number): void;
19634declare function msWriteProfilerMark(profilerMarkName: string): void;
19635declare function open(url?: string, target?: string, features?: string, replace?: boolean): Window | null;
19636declare function postMessage(message: any, targetOrigin: string, transfer?: Transferable[]): void;
19637declare function print(): void;
19638declare function prompt(message?: string, _default?: string): string | null;
19639/** @deprecated */
19640declare function releaseEvents(): void;
19641declare function resizeBy(x: number, y: number): void;
19642declare function resizeTo(x: number, y: number): void;
19643declare function scroll(options?: ScrollToOptions): void;
19644declare function scroll(x: number, y: number): void;
19645declare function scrollBy(options?: ScrollToOptions): void;
19646declare function scrollBy(x: number, y: number): void;
19647declare function scrollTo(options?: ScrollToOptions): void;
19648declare function scrollTo(x: number, y: number): void;
19649declare function stop(): void;
19650declare function webkitCancelAnimationFrame(handle: number): void;
19651declare function webkitConvertPointFromNodeToPage(node: Node, pt: WebKitPoint): WebKitPoint;
19652declare function webkitConvertPointFromPageToNode(node: Node, pt: WebKitPoint): WebKitPoint;
19653declare function webkitRequestAnimationFrame(callback: FrameRequestCallback): number;
19654declare function toString(): string;
19655/**
19656 * Dispatches a synthetic event event to target and returns true if either event's cancelable attribute value is false or its preventDefault() method was not invoked, and false otherwise.
19657 */
19658declare function dispatchEvent(event: Event): boolean;
19659declare var sessionStorage: Storage;
19660declare var localStorage: Storage;
19661declare var console: Console;
19662/**
19663 * Fires when the user aborts the download.
19664 * @param ev The event.
19665 */
19666declare var onabort: ((this: Window, ev: UIEvent) => any) | null;
19667declare var onanimationcancel: ((this: Window, ev: AnimationEvent) => any) | null;
19668declare var onanimationend: ((this: Window, ev: AnimationEvent) => any) | null;
19669declare var onanimationiteration: ((this: Window, ev: AnimationEvent) => any) | null;
19670declare var onanimationstart: ((this: Window, ev: AnimationEvent) => any) | null;
19671declare var onauxclick: ((this: Window, ev: MouseEvent) => any) | null;
19672/**
19673 * Fires when the object loses the input focus.
19674 * @param ev The focus event.
19675 */
19676declare var onblur: ((this: Window, ev: FocusEvent) => any) | null;
19677declare var oncancel: ((this: Window, ev: Event) => any) | null;
19678/**
19679 * Occurs when playback is possible, but would require further buffering.
19680 * @param ev The event.
19681 */
19682declare var oncanplay: ((this: Window, ev: Event) => any) | null;
19683declare var oncanplaythrough: ((this: Window, ev: Event) => any) | null;
19684/**
19685 * Fires when the contents of the object or selection have changed.
19686 * @param ev The event.
19687 */
19688declare var onchange: ((this: Window, ev: Event) => any) | null;
19689/**
19690 * Fires when the user clicks the left mouse button on the object
19691 * @param ev The mouse event.
19692 */
19693declare var onclick: ((this: Window, ev: MouseEvent) => any) | null;
19694declare var onclose: ((this: Window, ev: Event) => any) | null;
19695/**
19696 * Fires when the user clicks the right mouse button in the client area, opening the context menu.
19697 * @param ev The mouse event.
19698 */
19699declare var oncontextmenu: ((this: Window, ev: MouseEvent) => any) | null;
19700declare var oncuechange: ((this: Window, ev: Event) => any) | null;
19701/**
19702 * Fires when the user double-clicks the object.
19703 * @param ev The mouse event.
19704 */
19705declare var ondblclick: ((this: Window, ev: MouseEvent) => any) | null;
19706/**
19707 * Fires on the source object continuously during a drag operation.
19708 * @param ev The event.
19709 */
19710declare var ondrag: ((this: Window, ev: DragEvent) => any) | null;
19711/**
19712 * Fires on the source object when the user releases the mouse at the close of a drag operation.
19713 * @param ev The event.
19714 */
19715declare var ondragend: ((this: Window, ev: DragEvent) => any) | null;
19716/**
19717 * Fires on the target element when the user drags the object to a valid drop target.
19718 * @param ev The drag event.
19719 */
19720declare var ondragenter: ((this: Window, ev: DragEvent) => any) | null;
19721declare var ondragexit: ((this: Window, ev: Event) => any) | null;
19722/**
19723 * Fires on the target object when the user moves the mouse out of a valid drop target during a drag operation.
19724 * @param ev The drag event.
19725 */
19726declare var ondragleave: ((this: Window, ev: DragEvent) => any) | null;
19727/**
19728 * Fires on the target element continuously while the user drags the object over a valid drop target.
19729 * @param ev The event.
19730 */
19731declare var ondragover: ((this: Window, ev: DragEvent) => any) | null;
19732/**
19733 * Fires on the source object when the user starts to drag a text selection or selected object.
19734 * @param ev The event.
19735 */
19736declare var ondragstart: ((this: Window, ev: DragEvent) => any) | null;
19737declare var ondrop: ((this: Window, ev: DragEvent) => any) | null;
19738/**
19739 * Occurs when the duration attribute is updated.
19740 * @param ev The event.
19741 */
19742declare var ondurationchange: ((this: Window, ev: Event) => any) | null;
19743/**
19744 * Occurs when the media element is reset to its initial state.
19745 * @param ev The event.
19746 */
19747declare var onemptied: ((this: Window, ev: Event) => any) | null;
19748/**
19749 * Occurs when the end of playback is reached.
19750 * @param ev The event
19751 */
19752declare var onended: ((this: Window, ev: Event) => any) | null;
19753/**
19754 * Fires when an error occurs during object loading.
19755 * @param ev The event.
19756 */
19757declare var onerror: OnErrorEventHandler;
19758/**
19759 * Fires when the object receives focus.
19760 * @param ev The event.
19761 */
19762declare var onfocus: ((this: Window, ev: FocusEvent) => any) | null;
19763declare var ongotpointercapture: ((this: Window, ev: PointerEvent) => any) | null;
19764declare var oninput: ((this: Window, ev: Event) => any) | null;
19765declare var oninvalid: ((this: Window, ev: Event) => any) | null;
19766/**
19767 * Fires when the user presses a key.
19768 * @param ev The keyboard event
19769 */
19770declare var onkeydown: ((this: Window, ev: KeyboardEvent) => any) | null;
19771/**
19772 * Fires when the user presses an alphanumeric key.
19773 * @param ev The event.
19774 */
19775declare var onkeypress: ((this: Window, ev: KeyboardEvent) => any) | null;
19776/**
19777 * Fires when the user releases a key.
19778 * @param ev The keyboard event
19779 */
19780declare var onkeyup: ((this: Window, ev: KeyboardEvent) => any) | null;
19781/**
19782 * Fires immediately after the browser loads the object.
19783 * @param ev The event.
19784 */
19785declare var onload: ((this: Window, ev: Event) => any) | null;
19786/**
19787 * Occurs when media data is loaded at the current playback position.
19788 * @param ev The event.
19789 */
19790declare var onloadeddata: ((this: Window, ev: Event) => any) | null;
19791/**
19792 * Occurs when the duration and dimensions of the media have been determined.
19793 * @param ev The event.
19794 */
19795declare var onloadedmetadata: ((this: Window, ev: Event) => any) | null;
19796declare var onloadend: ((this: Window, ev: ProgressEvent) => any) | null;
19797/**
19798 * Occurs when Internet Explorer begins looking for media data.
19799 * @param ev The event.
19800 */
19801declare var onloadstart: ((this: Window, ev: Event) => any) | null;
19802declare var onlostpointercapture: ((this: Window, ev: PointerEvent) => any) | null;
19803/**
19804 * Fires when the user clicks the object with either mouse button.
19805 * @param ev The mouse event.
19806 */
19807declare var onmousedown: ((this: Window, ev: MouseEvent) => any) | null;
19808declare var onmouseenter: ((this: Window, ev: MouseEvent) => any) | null;
19809declare var onmouseleave: ((this: Window, ev: MouseEvent) => any) | null;
19810/**
19811 * Fires when the user moves the mouse over the object.
19812 * @param ev The mouse event.
19813 */
19814declare var onmousemove: ((this: Window, ev: MouseEvent) => any) | null;
19815/**
19816 * Fires when the user moves the mouse pointer outside the boundaries of the object.
19817 * @param ev The mouse event.
19818 */
19819declare var onmouseout: ((this: Window, ev: MouseEvent) => any) | null;
19820/**
19821 * Fires when the user moves the mouse pointer into the object.
19822 * @param ev The mouse event.
19823 */
19824declare var onmouseover: ((this: Window, ev: MouseEvent) => any) | null;
19825/**
19826 * Fires when the user releases a mouse button while the mouse is over the object.
19827 * @param ev The mouse event.
19828 */
19829declare var onmouseup: ((this: Window, ev: MouseEvent) => any) | null;
19830/**
19831 * Occurs when playback is paused.
19832 * @param ev The event.
19833 */
19834declare var onpause: ((this: Window, ev: Event) => any) | null;
19835/**
19836 * Occurs when the play method is requested.
19837 * @param ev The event.
19838 */
19839declare var onplay: ((this: Window, ev: Event) => any) | null;
19840/**
19841 * Occurs when the audio or video has started playing.
19842 * @param ev The event.
19843 */
19844declare var onplaying: ((this: Window, ev: Event) => any) | null;
19845declare var onpointercancel: ((this: Window, ev: PointerEvent) => any) | null;
19846declare var onpointerdown: ((this: Window, ev: PointerEvent) => any) | null;
19847declare var onpointerenter: ((this: Window, ev: PointerEvent) => any) | null;
19848declare var onpointerleave: ((this: Window, ev: PointerEvent) => any) | null;
19849declare var onpointermove: ((this: Window, ev: PointerEvent) => any) | null;
19850declare var onpointerout: ((this: Window, ev: PointerEvent) => any) | null;
19851declare var onpointerover: ((this: Window, ev: PointerEvent) => any) | null;
19852declare var onpointerup: ((this: Window, ev: PointerEvent) => any) | null;
19853/**
19854 * Occurs to indicate progress while downloading media data.
19855 * @param ev The event.
19856 */
19857declare var onprogress: ((this: Window, ev: ProgressEvent) => any) | null;
19858/**
19859 * Occurs when the playback rate is increased or decreased.
19860 * @param ev The event.
19861 */
19862declare var onratechange: ((this: Window, ev: Event) => any) | null;
19863/**
19864 * Fires when the user resets a form.
19865 * @param ev The event.
19866 */
19867declare var onreset: ((this: Window, ev: Event) => any) | null;
19868declare var onresize: ((this: Window, ev: UIEvent) => any) | null;
19869/**
19870 * Fires when the user repositions the scroll box in the scroll bar on the object.
19871 * @param ev The event.
19872 */
19873declare var onscroll: ((this: Window, ev: Event) => any) | null;
19874declare var onsecuritypolicyviolation: ((this: Window, ev: SecurityPolicyViolationEvent) => any) | null;
19875/**
19876 * Occurs when the seek operation ends.
19877 * @param ev The event.
19878 */
19879declare var onseeked: ((this: Window, ev: Event) => any) | null;
19880/**
19881 * Occurs when the current playback position is moved.
19882 * @param ev The event.
19883 */
19884declare var onseeking: ((this: Window, ev: Event) => any) | null;
19885/**
19886 * Fires when the current selection changes.
19887 * @param ev The event.
19888 */
19889declare var onselect: ((this: Window, ev: Event) => any) | null;
19890declare var onselectionchange: ((this: Window, ev: Event) => any) | null;
19891declare var onselectstart: ((this: Window, ev: Event) => any) | null;
19892/**
19893 * Occurs when the download has stopped.
19894 * @param ev The event.
19895 */
19896declare var onstalled: ((this: Window, ev: Event) => any) | null;
19897declare var onsubmit: ((this: Window, ev: Event) => any) | null;
19898/**
19899 * Occurs if the load operation has been intentionally halted.
19900 * @param ev The event.
19901 */
19902declare var onsuspend: ((this: Window, ev: Event) => any) | null;
19903/**
19904 * Occurs to indicate the current playback position.
19905 * @param ev The event.
19906 */
19907declare var ontimeupdate: ((this: Window, ev: Event) => any) | null;
19908declare var ontoggle: ((this: Window, ev: Event) => any) | null;
19909declare var ontouchcancel: ((this: Window, ev: TouchEvent) => any) | null;
19910declare var ontouchend: ((this: Window, ev: TouchEvent) => any) | null;
19911declare var ontouchmove: ((this: Window, ev: TouchEvent) => any) | null;
19912declare var ontouchstart: ((this: Window, ev: TouchEvent) => any) | null;
19913declare var ontransitioncancel: ((this: Window, ev: TransitionEvent) => any) | null;
19914declare var ontransitionend: ((this: Window, ev: TransitionEvent) => any) | null;
19915declare var ontransitionrun: ((this: Window, ev: TransitionEvent) => any) | null;
19916declare var ontransitionstart: ((this: Window, ev: TransitionEvent) => any) | null;
19917/**
19918 * Occurs when the volume is changed, or playback is muted or unmuted.
19919 * @param ev The event.
19920 */
19921declare var onvolumechange: ((this: Window, ev: Event) => any) | null;
19922/**
19923 * Occurs when playback stops because the next frame of a video resource is not available.
19924 * @param ev The event.
19925 */
19926declare var onwaiting: ((this: Window, ev: Event) => any) | null;
19927declare var onwheel: ((this: Window, ev: WheelEvent) => any) | null;
19928declare var indexedDB: IDBFactory;
19929declare function atob(encodedString: string): string;
19930declare function btoa(rawString: string): string;
19931declare function cancelAnimationFrame(handle: number): void;
19932declare function requestAnimationFrame(callback: FrameRequestCallback): number;
19933declare var caches: CacheStorage;
19934declare var crypto: Crypto;
19935declare var indexedDB: IDBFactory;
19936declare var origin: string;
19937declare var performance: Performance;
19938declare function atob(data: string): string;
19939declare function btoa(data: string): string;
19940declare function clearInterval(handle?: number): void;
19941declare function clearTimeout(handle?: number): void;
19942declare function createImageBitmap(image: ImageBitmapSource): Promise<ImageBitmap>;
19943declare function createImageBitmap(image: ImageBitmapSource, sx: number, sy: number, sw: number, sh: number): Promise<ImageBitmap>;
19944declare function fetch(input: RequestInfo, init?: RequestInit): Promise<Response>;
19945declare function queueMicrotask(callback: Function): void;
19946declare function setInterval(handler: TimerHandler, timeout?: number, ...arguments: any[]): number;
19947declare function setTimeout(handler: TimerHandler, timeout?: number, ...arguments: any[]): number;
19948declare var sessionStorage: Storage;
19949declare var localStorage: Storage;
19950declare var onafterprint: ((this: Window, ev: Event) => any) | null;
19951declare var onbeforeprint: ((this: Window, ev: Event) => any) | null;
19952declare var onbeforeunload: ((this: Window, ev: BeforeUnloadEvent) => any) | null;
19953declare var onhashchange: ((this: Window, ev: HashChangeEvent) => any) | null;
19954declare var onlanguagechange: ((this: Window, ev: Event) => any) | null;
19955declare var onmessage: ((this: Window, ev: MessageEvent) => any) | null;
19956declare var onmessageerror: ((this: Window, ev: MessageEvent) => any) | null;
19957declare var onoffline: ((this: Window, ev: Event) => any) | null;
19958declare var ononline: ((this: Window, ev: Event) => any) | null;
19959declare var onpagehide: ((this: Window, ev: PageTransitionEvent) => any) | null;
19960declare var onpageshow: ((this: Window, ev: PageTransitionEvent) => any) | null;
19961declare var onpopstate: ((this: Window, ev: PopStateEvent) => any) | null;
19962declare var onrejectionhandled: ((this: Window, ev: Event) => any) | null;
19963declare var onstorage: ((this: Window, ev: StorageEvent) => any) | null;
19964declare var onunhandledrejection: ((this: Window, ev: PromiseRejectionEvent) => any) | null;
19965declare var onunload: ((this: Window, ev: Event) => any) | null;
19966declare function addEventListener<K extends keyof WindowEventMap>(type: K, listener: (this: Window, ev: WindowEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
19967declare function addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
19968declare function removeEventListener<K extends keyof WindowEventMap>(type: K, listener: (this: Window, ev: WindowEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
19969declare function removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
19970type HeadersInit = Headers | string[][] | Record<string, string>;
19971type BodyInit = Blob | BufferSource | FormData | URLSearchParams | ReadableStream<Uint8Array> | string;
19972type RequestInfo = Request | string;
19973type BlobPart = BufferSource | Blob | string;
19974type DOMHighResTimeStamp = number;
19975type RenderingContext = CanvasRenderingContext2D | ImageBitmapRenderingContext | WebGLRenderingContext | WebGL2RenderingContext;
19976type HTMLOrSVGImageElement = HTMLImageElement | SVGImageElement;
19977type CanvasImageSource = HTMLOrSVGImageElement | HTMLVideoElement | HTMLCanvasElement | ImageBitmap | OffscreenCanvas;
19978type OffscreenRenderingContext = OffscreenCanvasRenderingContext2D | ImageBitmapRenderingContext | WebGLRenderingContext | WebGL2RenderingContext;
19979type MessageEventSource = WindowProxy | MessagePort | ServiceWorker;
19980type HTMLOrSVGScriptElement = HTMLScriptElement | SVGScriptElement;
19981type ImageBitmapSource = CanvasImageSource | Blob | ImageData;
19982type OnErrorEventHandler = OnErrorEventHandlerNonNull | null;
19983type OnBeforeUnloadEventHandler = OnBeforeUnloadEventHandlerNonNull | null;
19984type TimerHandler = string | Function;
19985type ConstrainULong = number | ConstrainULongRange;
19986type ConstrainDouble = number | ConstrainDoubleRange;
19987type ConstrainBoolean = boolean | ConstrainBooleanParameters;
19988type ConstrainDOMString = string | string[] | ConstrainDOMStringParameters;
19989type PerformanceEntryList = PerformanceEntry[];
19990type VibratePattern = number | number[];
19991type COSEAlgorithmIdentifier = number;
19992type AuthenticatorSelectionList = AAGUID[];
19993type AAGUID = BufferSource;
19994type AuthenticationExtensionsSupported = string[];
19995type UvmEntry = number[];
19996type UvmEntries = UvmEntry[];
19997type AlgorithmIdentifier = string | Algorithm;
19998type HashAlgorithmIdentifier = AlgorithmIdentifier;
19999type BigInteger = Uint8Array;
20000type NamedCurve = string;
20001type GLenum = number;
20002type GLboolean = boolean;
20003type GLbitfield = number;
20004type GLint = number;
20005type GLsizei = number;
20006type GLintptr = number;
20007type GLsizeiptr = number;
20008type GLuint = number;
20009type GLfloat = number;
20010type GLclampf = number;
20011type TexImageSource = ImageBitmap | ImageData | HTMLImageElement | HTMLCanvasElement | HTMLVideoElement | OffscreenCanvas;
20012type Float32List = Float32Array | GLfloat[];
20013type Int32List = Int32Array | GLint[];
20014type GLint64 = number;
20015type GLuint64 = number;
20016type Uint32List = Uint32Array | GLuint[];
20017type BufferSource = ArrayBufferView | ArrayBuffer;
20018type DOMTimeStamp = number;
20019type LineAndPositionSetting = number | AutoKeyword;
20020type FormDataEntryValue = File | string;
20021type InsertPosition = "beforebegin" | "afterbegin" | "beforeend" | "afterend";
20022type IDBValidKey = number | string | Date | BufferSource | IDBArrayKey;
20023type MutationRecordType = "attributes" | "characterData" | "childList";
20024type IDBKeyPath = string;
20025type Transferable = ArrayBuffer | MessagePort | ImageBitmap;
20026type RTCIceGatherCandidate = RTCIceCandidateDictionary | RTCIceCandidateComplete;
20027type RTCTransport = RTCDtlsTransport | RTCSrtpSdesTransport;
20028/** @deprecated */
20029type MouseWheelEvent = WheelEvent;
20030type WindowProxy = Window;
20031type AlignSetting = "start" | "center" | "end" | "left" | "right";
20032type AnimationPlayState = "idle" | "running" | "paused" | "finished";
20033type AppendMode = "segments" | "sequence";
20034type AttestationConveyancePreference = "none" | "indirect" | "direct";
20035type AudioContextLatencyCategory = "balanced" | "interactive" | "playback";
20036type AudioContextState = "suspended" | "running" | "closed";
20037type AuthenticatorAttachment = "platform" | "cross-platform";
20038type AuthenticatorTransport = "usb" | "nfc" | "ble" | "internal";
20039type AutoKeyword = "auto";
20040type AutomationRate = "a-rate" | "k-rate";
20041type BinaryType = "blob" | "arraybuffer";
20042type BiquadFilterType = "lowpass" | "highpass" | "bandpass" | "lowshelf" | "highshelf" | "peaking" | "notch" | "allpass";
20043type CanPlayTypeResult = "" | "maybe" | "probably";
20044type CanvasDirection = "ltr" | "rtl" | "inherit";
20045type CanvasFillRule = "nonzero" | "evenodd";
20046type CanvasLineCap = "butt" | "round" | "square";
20047type CanvasLineJoin = "round" | "bevel" | "miter";
20048type CanvasTextAlign = "start" | "end" | "left" | "right" | "center";
20049type CanvasTextBaseline = "top" | "hanging" | "middle" | "alphabetic" | "ideographic" | "bottom";
20050type ChannelCountMode = "max" | "clamped-max" | "explicit";
20051type ChannelInterpretation = "speakers" | "discrete";
20052type ClientTypes = "window" | "worker" | "sharedworker" | "all";
20053type CompositeOperation = "replace" | "add" | "accumulate";
20054type CompositeOperationOrAuto = "replace" | "add" | "accumulate" | "auto";
20055type CredentialMediationRequirement = "silent" | "optional" | "required";
20056type DirectionSetting = "" | "rl" | "lr";
20057type DisplayCaptureSurfaceType = "monitor" | "window" | "application" | "browser";
20058type DistanceModelType = "linear" | "inverse" | "exponential";
20059type DocumentReadyState = "loading" | "interactive" | "complete";
20060type EndOfStreamError = "network" | "decode";
20061type EndingType = "transparent" | "native";
20062type FillMode = "none" | "forwards" | "backwards" | "both" | "auto";
20063type FullscreenNavigationUI = "auto" | "show" | "hide";
20064type GamepadHand = "" | "left" | "right";
20065type GamepadHapticActuatorType = "vibration";
20066type GamepadMappingType = "" | "standard";
20067type IDBCursorDirection = "next" | "nextunique" | "prev" | "prevunique";
20068type IDBRequestReadyState = "pending" | "done";
20069type IDBTransactionMode = "readonly" | "readwrite" | "versionchange";
20070type ImageSmoothingQuality = "low" | "medium" | "high";
20071type IterationCompositeOperation = "replace" | "accumulate";
20072type KeyFormat = "raw" | "spki" | "pkcs8" | "jwk";
20073type KeyType = "public" | "private" | "secret";
20074type KeyUsage = "encrypt" | "decrypt" | "sign" | "verify" | "deriveKey" | "deriveBits" | "wrapKey" | "unwrapKey";
20075type LineAlignSetting = "start" | "center" | "end";
20076type ListeningState = "inactive" | "active" | "disambiguation";
20077type MSCredentialType = "FIDO_2_0";
20078type MSTransportType = "Embedded" | "USB" | "NFC" | "BT";
20079type MSWebViewPermissionState = "unknown" | "defer" | "allow" | "deny";
20080type MSWebViewPermissionType = "geolocation" | "unlimitedIndexedDBQuota" | "media" | "pointerlock" | "webnotifications";
20081type MediaDeviceKind = "audioinput" | "audiooutput" | "videoinput";
20082type MediaKeyMessageType = "license-request" | "license-renewal" | "license-release" | "individualization-request";
20083type MediaKeySessionType = "temporary" | "persistent-license";
20084type MediaKeyStatus = "usable" | "expired" | "released" | "output-restricted" | "output-downscaled" | "status-pending" | "internal-error";
20085type MediaKeysRequirement = "required" | "optional" | "not-allowed";
20086type MediaStreamTrackState = "live" | "ended";
20087type NavigationReason = "up" | "down" | "left" | "right";
20088type NavigationType = "navigate" | "reload" | "back_forward" | "prerender";
20089type NotificationDirection = "auto" | "ltr" | "rtl";
20090type NotificationPermission = "default" | "denied" | "granted";
20091type OffscreenRenderingContextId = "2d" | "bitmaprenderer" | "webgl" | "webgl2";
20092type OrientationLockType = "any" | "natural" | "landscape" | "portrait" | "portrait-primary" | "portrait-secondary" | "landscape-primary" | "landscape-secondary";
20093type OrientationType = "portrait-primary" | "portrait-secondary" | "landscape-primary" | "landscape-secondary";
20094type OscillatorType = "sine" | "square" | "sawtooth" | "triangle" | "custom";
20095type OverSampleType = "none" | "2x" | "4x";
20096type PanningModelType = "equalpower" | "HRTF";
20097type PaymentComplete = "success" | "fail" | "unknown";
20098type PaymentShippingType = "shipping" | "delivery" | "pickup";
20099type PermissionName = "geolocation" | "notifications" | "push" | "midi" | "camera" | "microphone" | "speaker" | "device-info" | "background-sync" | "bluetooth" | "persistent-storage" | "ambient-light-sensor" | "accelerometer" | "gyroscope" | "magnetometer" | "clipboard";
20100type PermissionState = "granted" | "denied" | "prompt";
20101type PlaybackDirection = "normal" | "reverse" | "alternate" | "alternate-reverse";
20102type PositionAlignSetting = "line-left" | "center" | "line-right" | "auto";
20103type PublicKeyCredentialType = "public-key";
20104type PushEncryptionKeyName = "p256dh" | "auth";
20105type PushPermissionState = "denied" | "granted" | "prompt";
20106type RTCBundlePolicy = "balanced" | "max-compat" | "max-bundle";
20107type RTCDataChannelState = "connecting" | "open" | "closing" | "closed";
20108type RTCDegradationPreference = "maintain-framerate" | "maintain-resolution" | "balanced";
20109type RTCDtlsRole = "auto" | "client" | "server";
20110type RTCDtlsTransportState = "new" | "connecting" | "connected" | "closed" | "failed";
20111type RTCDtxStatus = "disabled" | "enabled";
20112type RTCErrorDetailType = "data-channel-failure" | "dtls-failure" | "fingerprint-failure" | "idp-bad-script-failure" | "idp-execution-failure" | "idp-load-failure" | "idp-need-login" | "idp-timeout" | "idp-tls-failure" | "idp-token-expired" | "idp-token-invalid" | "sctp-failure" | "sdp-syntax-error" | "hardware-encoder-not-available" | "hardware-encoder-error";
20113type RTCIceCandidateType = "host" | "srflx" | "prflx" | "relay";
20114type RTCIceComponent = "rtp" | "rtcp";
20115type RTCIceConnectionState = "new" | "checking" | "connected" | "completed" | "disconnected" | "failed" | "closed";
20116type RTCIceCredentialType = "password" | "oauth";
20117type RTCIceGatherPolicy = "all" | "nohost" | "relay";
20118type RTCIceGathererState = "new" | "gathering" | "complete";
20119type RTCIceGatheringState = "new" | "gathering" | "complete";
20120type RTCIceProtocol = "udp" | "tcp";
20121type RTCIceRole = "controlling" | "controlled";
20122type RTCIceTcpCandidateType = "active" | "passive" | "so";
20123type RTCIceTransportPolicy = "relay" | "all";
20124type RTCIceTransportState = "new" | "checking" | "connected" | "completed" | "disconnected" | "failed" | "closed";
20125type RTCPeerConnectionState = "new" | "connecting" | "connected" | "disconnected" | "failed" | "closed";
20126type RTCPriorityType = "very-low" | "low" | "medium" | "high";
20127type RTCRtcpMuxPolicy = "negotiate" | "require";
20128type RTCRtpTransceiverDirection = "sendrecv" | "sendonly" | "recvonly" | "inactive";
20129type RTCSctpTransportState = "connecting" | "connected" | "closed";
20130type RTCSdpType = "offer" | "pranswer" | "answer" | "rollback";
20131type RTCSignalingState = "stable" | "have-local-offer" | "have-remote-offer" | "have-local-pranswer" | "have-remote-pranswer" | "closed";
20132type RTCStatsIceCandidatePairState = "frozen" | "waiting" | "inprogress" | "failed" | "succeeded" | "cancelled";
20133type RTCStatsIceCandidateType = "host" | "serverreflexive" | "peerreflexive" | "relayed";
20134type RTCStatsType = "inboundrtp" | "outboundrtp" | "session" | "datachannel" | "track" | "transport" | "candidatepair" | "localcandidate" | "remotecandidate";
20135type ReadyState = "closed" | "open" | "ended";
20136type ReferrerPolicy = "" | "no-referrer" | "no-referrer-when-downgrade" | "same-origin" | "origin" | "strict-origin" | "origin-when-cross-origin" | "strict-origin-when-cross-origin" | "unsafe-url";
20137type RequestCache = "default" | "no-store" | "reload" | "no-cache" | "force-cache" | "only-if-cached";
20138type RequestCredentials = "omit" | "same-origin" | "include";
20139type RequestDestination = "" | "audio" | "audioworklet" | "document" | "embed" | "font" | "image" | "manifest" | "object" | "paintworklet" | "report" | "script" | "sharedworker" | "style" | "track" | "video" | "worker" | "xslt";
20140type RequestMode = "navigate" | "same-origin" | "no-cors" | "cors";
20141type RequestRedirect = "follow" | "error" | "manual";
20142type ResponseType = "basic" | "cors" | "default" | "error" | "opaque" | "opaqueredirect";
20143type ScopedCredentialType = "ScopedCred";
20144type ScrollBehavior = "auto" | "smooth";
20145type ScrollLogicalPosition = "start" | "center" | "end" | "nearest";
20146type ScrollRestoration = "auto" | "manual";
20147type ScrollSetting = "" | "up";
20148type SelectionMode = "select" | "start" | "end" | "preserve";
20149type ServiceWorkerState = "installing" | "installed" | "activating" | "activated" | "redundant";
20150type ServiceWorkerUpdateViaCache = "imports" | "all" | "none";
20151type ShadowRootMode = "open" | "closed";
20152type SpeechRecognitionErrorCode = "no-speech" | "aborted" | "audio-capture" | "network" | "not-allowed" | "service-not-allowed" | "bad-grammar" | "language-not-supported";
20153type SpeechSynthesisErrorCode = "canceled" | "interrupted" | "audio-busy" | "audio-hardware" | "network" | "synthesis-unavailable" | "synthesis-failed" | "language-unavailable" | "voice-unavailable" | "text-too-long" | "invalid-argument";
20154type SupportedType = "text/html" | "text/xml" | "application/xml" | "application/xhtml+xml" | "image/svg+xml";
20155type TextTrackKind = "subtitles" | "captions" | "descriptions" | "chapters" | "metadata";
20156type TextTrackMode = "disabled" | "hidden" | "showing";
20157type TouchType = "direct" | "stylus";
20158type Transport = "usb" | "nfc" | "ble";
20159type UserVerificationRequirement = "required" | "preferred" | "discouraged";
20160type VRDisplayEventReason = "mounted" | "navigation" | "requested" | "unmounted";
20161type VideoFacingModeEnum = "user" | "environment" | "left" | "right";
20162type VisibilityState = "hidden" | "visible";
20163type WebGLPowerPreference = "default" | "low-power" | "high-performance";
20164type WorkerType = "classic" | "module";
20165type XMLHttpRequestResponseType = "" | "arraybuffer" | "blob" | "document" | "json" | "text";
20166
\No newline at end of file