1 /*! *****************************************************************************
2 Copyright (c) Microsoft Corporation. All rights reserved.
3 Licensed under the Apache License, Version 2.0 (the "License"); you may not use
4 this file except in compliance with the License. You may obtain a copy of the
5 License at http://www.apache.org/licenses/LICENSE-2.0
7 THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
8 KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
9 WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
10 MERCHANTABLITY OR NON-INFRINGEMENT.
12 See the Apache Version 2.0 License for specific language governing permissions
13 and limitations under the License.
14 ***************************************************************************** */
18 /// <reference no-default-lib="true"/>
\r
21 /////////////////////////////
23 /////////////////////////////
25 interface AddEventListenerOptions extends EventListenerOptions {
31 interface AesCbcParams extends Algorithm {
35 interface AesCtrParams extends Algorithm {
36 counter: BufferSource;
40 interface AesDerivedKeyParams extends Algorithm {
44 interface AesGcmParams extends Algorithm {
45 additionalData?: BufferSource;
50 interface AesKeyAlgorithm extends KeyAlgorithm {
54 interface AesKeyGenParams extends Algorithm {
62 interface AnalyserOptions extends AudioNodeOptions {
66 smoothingTimeConstant?: number;
69 interface AnimationEventInit extends EventInit {
70 animationName?: string;
72 pseudoElement?: string;
75 interface AnimationPlaybackEventInit extends EventInit {
76 currentTime?: CSSNumberish | null;
77 timelineTime?: CSSNumberish | null;
80 interface AssignedNodesOptions {
84 interface AudioBufferOptions {
86 numberOfChannels?: number;
90 interface AudioBufferSourceOptions {
91 buffer?: AudioBuffer | null;
96 playbackRate?: number;
99 interface AudioConfiguration {
104 spatialRendering?: boolean;
107 interface AudioContextOptions {
108 latencyHint?: AudioContextLatencyCategory | number;
112 interface AudioNodeOptions {
113 channelCount?: number;
114 channelCountMode?: ChannelCountMode;
115 channelInterpretation?: ChannelInterpretation;
118 interface AudioProcessingEventInit extends EventInit {
119 inputBuffer: AudioBuffer;
120 outputBuffer: AudioBuffer;
121 playbackTime: number;
124 interface AudioTimestamp {
125 contextTime?: number;
126 performanceTime?: DOMHighResTimeStamp;
129 interface AudioWorkletNodeOptions extends AudioNodeOptions {
130 numberOfInputs?: number;
131 numberOfOutputs?: number;
132 outputChannelCount?: number[];
133 parameterData?: Record<string, number>;
134 processorOptions?: any;
137 interface AuthenticationExtensionsClientInputs {
139 appidExclude?: string;
144 interface AuthenticationExtensionsClientOutputs {
146 credProps?: CredentialPropertiesOutput;
150 interface AuthenticatorSelectionCriteria {
151 authenticatorAttachment?: AuthenticatorAttachment;
152 requireResidentKey?: boolean;
153 residentKey?: ResidentKeyRequirement;
154 userVerification?: UserVerificationRequirement;
157 interface BiquadFilterOptions extends AudioNodeOptions {
162 type?: BiquadFilterType;
165 interface BlobEventInit {
167 timecode?: DOMHighResTimeStamp;
170 interface BlobPropertyBag {
171 endings?: EndingType;
175 interface CSSStyleSheetInit {
178 media?: MediaList | string;
181 interface CacheQueryOptions {
182 ignoreMethod?: boolean;
183 ignoreSearch?: boolean;
184 ignoreVary?: boolean;
187 interface CanvasRenderingContext2DSettings {
189 colorSpace?: PredefinedColorSpace;
190 desynchronized?: boolean;
191 willReadFrequently?: boolean;
194 interface ChannelMergerOptions extends AudioNodeOptions {
195 numberOfInputs?: number;
198 interface ChannelSplitterOptions extends AudioNodeOptions {
199 numberOfOutputs?: number;
202 interface ClientQueryOptions {
203 includeUncontrolled?: boolean;
207 interface ClipboardEventInit extends EventInit {
208 clipboardData?: DataTransfer | null;
211 interface ClipboardItemOptions {
212 presentationStyle?: PresentationStyle;
215 interface CloseEventInit extends EventInit {
221 interface CompositionEventInit extends UIEventInit {
225 interface ComputedEffectTiming extends EffectTiming {
226 activeDuration?: CSSNumberish;
227 currentIteration?: number | null;
228 endTime?: CSSNumberish;
229 localTime?: CSSNumberish | null;
230 progress?: CSSNumberish | null;
231 startTime?: CSSNumberish;
234 interface ComputedKeyframe {
235 composite: CompositeOperationOrAuto;
236 computedOffset: number;
238 offset: number | null;
239 [property: string]: string | number | null | undefined;
242 interface ConstantSourceOptions {
246 interface ConstrainBooleanParameters {
251 interface ConstrainDOMStringParameters {
252 exact?: string | string[];
253 ideal?: string | string[];
256 interface ConstrainDoubleRange extends DoubleRange {
261 interface ConstrainULongRange extends ULongRange {
266 interface ConvolverOptions extends AudioNodeOptions {
267 buffer?: AudioBuffer | null;
268 disableNormalization?: boolean;
271 interface CredentialCreationOptions {
272 publicKey?: PublicKeyCredentialCreationOptions;
273 signal?: AbortSignal;
276 interface CredentialPropertiesOutput {
280 interface CredentialRequestOptions {
281 mediation?: CredentialMediationRequirement;
282 publicKey?: PublicKeyCredentialRequestOptions;
283 signal?: AbortSignal;
286 interface CryptoKeyPair {
287 privateKey?: CryptoKey;
288 publicKey?: CryptoKey;
291 interface CustomEventInit<T = any> extends EventInit {
295 interface DOMMatrix2DInit {
310 interface DOMMatrixInit extends DOMMatrix2DInit {
324 interface DOMPointInit {
331 interface DOMQuadInit {
338 interface DOMRectInit {
345 interface DelayOptions extends AudioNodeOptions {
347 maxDelayTime?: number;
350 interface DeviceMotionEventAccelerationInit {
356 interface DeviceMotionEventInit extends EventInit {
357 acceleration?: DeviceMotionEventAccelerationInit;
358 accelerationIncludingGravity?: DeviceMotionEventAccelerationInit;
360 rotationRate?: DeviceMotionEventRotationRateInit;
363 interface DeviceMotionEventRotationRateInit {
364 alpha?: number | null;
365 beta?: number | null;
366 gamma?: number | null;
369 interface DeviceOrientationEventInit extends EventInit {
371 alpha?: number | null;
372 beta?: number | null;
373 gamma?: number | null;
376 interface DisplayMediaStreamConstraints {
377 audio?: boolean | MediaTrackConstraints;
378 video?: boolean | MediaTrackConstraints;
381 interface DocumentTimelineOptions {
382 originTime?: DOMHighResTimeStamp;
385 interface DoubleRange {
390 interface DragEventInit extends MouseEventInit {
391 dataTransfer?: DataTransfer | null;
394 interface DynamicsCompressorOptions extends AudioNodeOptions {
402 interface EcKeyAlgorithm extends KeyAlgorithm {
403 namedCurve: NamedCurve;
406 interface EcKeyGenParams extends Algorithm {
407 namedCurve: NamedCurve;
410 interface EcKeyImportParams extends Algorithm {
411 namedCurve: NamedCurve;
414 interface EcdhKeyDeriveParams extends Algorithm {
418 interface EcdsaParams extends Algorithm {
419 hash: HashAlgorithmIdentifier;
422 interface EffectTiming {
424 direction?: PlaybackDirection;
425 duration?: number | string;
429 iterationStart?: number;
431 playbackRate?: number;
434 interface ElementCreationOptions {
438 interface ElementDefinitionOptions {
442 interface ErrorEventInit extends EventInit {
450 interface EventInit {
452 cancelable?: boolean;
456 interface EventListenerOptions {
460 interface EventModifierInit extends UIEventInit {
464 modifierAltGraph?: boolean;
465 modifierCapsLock?: boolean;
466 modifierFn?: boolean;
467 modifierFnLock?: boolean;
468 modifierHyper?: boolean;
469 modifierNumLock?: boolean;
470 modifierScrollLock?: boolean;
471 modifierSuper?: boolean;
472 modifierSymbol?: boolean;
473 modifierSymbolLock?: boolean;
477 interface EventSourceInit {
478 withCredentials?: boolean;
481 interface FilePropertyBag extends BlobPropertyBag {
482 lastModified?: number;
485 interface FileSystemFlags {
490 interface FocusEventInit extends UIEventInit {
491 relatedTarget?: EventTarget | null;
494 interface FocusOptions {
495 preventScroll?: boolean;
498 interface FontFaceDescriptors {
500 featureSettings?: string;
503 unicodeRange?: string;
508 interface FontFaceSetLoadEventInit extends EventInit {
509 fontfaces?: FontFace[];
512 interface FormDataEventInit extends EventInit {
516 interface FullscreenOptions {
517 navigationUI?: FullscreenNavigationUI;
520 interface GainOptions extends AudioNodeOptions {
524 interface GamepadEventInit extends EventInit {
528 interface GetAnimationsOptions {
532 interface GetNotificationOptions {
536 interface GetRootNodeOptions {
540 interface HashChangeEventInit extends EventInit {
545 interface HkdfParams extends Algorithm {
546 hash: HashAlgorithmIdentifier;
551 interface HmacImportParams extends Algorithm {
552 hash: HashAlgorithmIdentifier;
556 interface HmacKeyAlgorithm extends KeyAlgorithm {
561 interface HmacKeyGenParams extends Algorithm {
562 hash: HashAlgorithmIdentifier;
566 interface IDBDatabaseInfo {
571 interface IDBIndexParameters {
572 multiEntry?: boolean;
576 interface IDBObjectStoreParameters {
577 autoIncrement?: boolean;
578 keyPath?: string | string[] | null;
581 interface IDBVersionChangeEventInit extends EventInit {
582 newVersion?: number | null;
586 interface IIRFilterOptions extends AudioNodeOptions {
588 feedforward: number[];
591 interface IdleRequestOptions {
595 interface ImageBitmapOptions {
596 colorSpaceConversion?: ColorSpaceConversion;
597 imageOrientation?: ImageOrientation;
598 premultiplyAlpha?: PremultiplyAlpha;
599 resizeHeight?: number;
600 resizeQuality?: ResizeQuality;
601 resizeWidth?: number;
604 interface ImageBitmapRenderingContextSettings {
608 interface ImageDataSettings {
609 colorSpace?: PredefinedColorSpace;
612 interface ImportMeta {
616 interface InputEventInit extends UIEventInit {
617 data?: string | null;
618 dataTransfer?: DataTransfer | null;
620 isComposing?: boolean;
621 targetRanges?: StaticRange[];
624 interface IntersectionObserverEntryInit {
625 boundingClientRect: DOMRectInit;
626 intersectionRatio: number;
627 intersectionRect: DOMRectInit;
628 isIntersecting: boolean;
629 rootBounds: DOMRectInit | null;
631 time: DOMHighResTimeStamp;
634 interface IntersectionObserverInit {
635 root?: Element | Document | null;
637 threshold?: number | number[];
640 interface JsonWebKey {
652 oth?: RsaOtherPrimesInfo[];
661 interface KeyAlgorithm {
665 interface KeyboardEventInit extends EventModifierInit {
669 isComposing?: boolean;
678 composite?: CompositeOperationOrAuto;
680 offset?: number | null;
681 [property: string]: string | number | null | undefined;
684 interface KeyframeAnimationOptions extends KeyframeEffectOptions {
688 interface KeyframeEffectOptions extends EffectTiming {
689 composite?: CompositeOperation;
690 iterationComposite?: IterationCompositeOperation;
691 pseudoElement?: string | null;
694 interface MediaCapabilitiesDecodingInfo extends MediaCapabilitiesInfo {
695 configuration?: MediaDecodingConfiguration;
698 interface MediaCapabilitiesEncodingInfo extends MediaCapabilitiesInfo {
699 configuration?: MediaEncodingConfiguration;
702 interface MediaCapabilitiesInfo {
703 powerEfficient: boolean;
708 interface MediaConfiguration {
709 audio?: AudioConfiguration;
710 video?: VideoConfiguration;
713 interface MediaDecodingConfiguration extends MediaConfiguration {
714 type: MediaDecodingType;
717 interface MediaElementAudioSourceOptions {
718 mediaElement: HTMLMediaElement;
721 interface MediaEncodingConfiguration extends MediaConfiguration {
722 type: MediaEncodingType;
725 interface MediaEncryptedEventInit extends EventInit {
726 initData?: ArrayBuffer | null;
727 initDataType?: string;
730 interface MediaImage {
736 interface MediaKeyMessageEventInit extends EventInit {
737 message: ArrayBuffer;
738 messageType: MediaKeyMessageType;
741 interface MediaKeySystemConfiguration {
742 audioCapabilities?: MediaKeySystemMediaCapability[];
743 distinctiveIdentifier?: MediaKeysRequirement;
744 initDataTypes?: string[];
746 persistentState?: MediaKeysRequirement;
747 sessionTypes?: string[];
748 videoCapabilities?: MediaKeySystemMediaCapability[];
751 interface MediaKeySystemMediaCapability {
752 contentType?: string;
753 encryptionScheme?: string | null;
757 interface MediaMetadataInit {
760 artwork?: MediaImage[];
764 interface MediaPositionState {
766 playbackRate?: number;
770 interface MediaQueryListEventInit extends EventInit {
775 interface MediaRecorderErrorEventInit extends EventInit {
779 interface MediaRecorderOptions {
780 audioBitsPerSecond?: number;
781 bitsPerSecond?: number;
783 videoBitsPerSecond?: number;
786 interface MediaSessionActionDetails {
787 action: MediaSessionAction;
788 fastSeek?: boolean | null;
789 seekOffset?: number | null;
790 seekTime?: number | null;
793 interface MediaStreamAudioSourceOptions {
794 mediaStream: MediaStream;
797 interface MediaStreamConstraints {
798 audio?: boolean | MediaTrackConstraints;
799 peerIdentity?: string;
800 preferCurrentTab?: boolean;
801 video?: boolean | MediaTrackConstraints;
804 interface MediaStreamTrackEventInit extends EventInit {
805 track: MediaStreamTrack;
808 interface MediaTrackCapabilities {
809 aspectRatio?: DoubleRange;
810 autoGainControl?: boolean[];
811 channelCount?: ULongRange;
814 displaySurface?: string;
815 echoCancellation?: boolean[];
816 facingMode?: string[];
817 frameRate?: DoubleRange;
820 latency?: DoubleRange;
821 logicalSurface?: boolean;
822 noiseSuppression?: boolean[];
823 resizeMode?: string[];
824 sampleRate?: ULongRange;
825 sampleSize?: ULongRange;
829 interface MediaTrackConstraintSet {
830 aspectRatio?: ConstrainDouble;
831 autoGainControl?: ConstrainBoolean;
832 channelCount?: ConstrainULong;
833 deviceId?: ConstrainDOMString;
834 echoCancellation?: ConstrainBoolean;
835 facingMode?: ConstrainDOMString;
836 frameRate?: ConstrainDouble;
837 groupId?: ConstrainDOMString;
838 height?: ConstrainULong;
839 latency?: ConstrainDouble;
840 noiseSuppression?: ConstrainBoolean;
841 sampleRate?: ConstrainULong;
842 sampleSize?: ConstrainULong;
843 suppressLocalAudioPlayback?: ConstrainBoolean;
844 width?: ConstrainULong;
847 interface MediaTrackConstraints extends MediaTrackConstraintSet {
848 advanced?: MediaTrackConstraintSet[];
851 interface MediaTrackSettings {
852 aspectRatio?: number;
853 autoGainControl?: boolean;
855 echoCancellation?: boolean;
860 noiseSuppression?: boolean;
861 restrictOwnAudio?: boolean;
867 interface MediaTrackSupportedConstraints {
868 aspectRatio?: boolean;
869 autoGainControl?: boolean;
871 echoCancellation?: boolean;
872 facingMode?: boolean;
876 noiseSuppression?: boolean;
877 sampleRate?: boolean;
878 sampleSize?: boolean;
879 suppressLocalAudioPlayback?: boolean;
883 interface MessageEventInit<T = any> extends EventInit {
885 lastEventId?: string;
887 ports?: MessagePort[];
888 source?: MessageEventSource | null;
891 interface MouseEventInit extends EventModifierInit {
898 relatedTarget?: EventTarget | null;
903 interface MultiCacheQueryOptions extends CacheQueryOptions {
907 interface MutationObserverInit {
908 /** 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. */
909 attributeFilter?: string[];
910 /** Set to true if attributes is true or omitted and target's attribute value before the mutation needs to be recorded. */
911 attributeOldValue?: boolean;
912 /** Set to true if mutations to target's attributes are to be observed. Can be omitted if attributeOldValue or attributeFilter is specified. */
913 attributes?: boolean;
914 /** Set to true if mutations to target's data are to be observed. Can be omitted if characterDataOldValue is specified. */
915 characterData?: boolean;
916 /** Set to true if characterData is set to true or omitted and target's data before the mutation needs to be recorded. */
917 characterDataOldValue?: boolean;
918 /** Set to true if mutations to target's children are to be observed. */
920 /** Set to true if mutations to not just target, but also target's descendants are to be observed. */
924 interface NotificationAction {
930 interface NotificationOptions {
931 actions?: NotificationAction[];
935 dir?: NotificationDirection;
940 requireInteraction?: boolean;
943 timestamp?: DOMTimeStamp;
944 vibrate?: VibratePattern;
947 interface OfflineAudioCompletionEventInit extends EventInit {
948 renderedBuffer: AudioBuffer;
951 interface OfflineAudioContextOptions {
953 numberOfChannels?: number;
957 interface OptionalEffectTiming {
959 direction?: PlaybackDirection;
960 duration?: number | string;
964 iterationStart?: number;
966 playbackRate?: number;
969 interface OscillatorOptions extends AudioNodeOptions {
972 periodicWave?: PeriodicWave;
973 type?: OscillatorType;
976 interface PageTransitionEventInit extends EventInit {
980 interface PannerOptions extends AudioNodeOptions {
981 coneInnerAngle?: number;
982 coneOuterAngle?: number;
983 coneOuterGain?: number;
984 distanceModel?: DistanceModelType;
985 maxDistance?: number;
986 orientationX?: number;
987 orientationY?: number;
988 orientationZ?: number;
989 panningModel?: PanningModelType;
993 refDistance?: number;
994 rolloffFactor?: number;
997 interface PaymentCurrencyAmount {
1002 interface PaymentDetailsBase {
1003 displayItems?: PaymentItem[];
1004 modifiers?: PaymentDetailsModifier[];
1007 interface PaymentDetailsInit extends PaymentDetailsBase {
1012 interface PaymentDetailsModifier {
1013 additionalDisplayItems?: PaymentItem[];
1015 supportedMethods: string;
1016 total?: PaymentItem;
1019 interface PaymentDetailsUpdate extends PaymentDetailsBase {
1020 paymentMethodErrors?: any;
1021 total?: PaymentItem;
1024 interface PaymentItem {
1025 amount: PaymentCurrencyAmount;
1030 interface PaymentMethodChangeEventInit extends PaymentRequestUpdateEventInit {
1031 methodDetails?: any;
1032 methodName?: string;
1035 interface PaymentMethodData {
1037 supportedMethods: string;
1040 interface PaymentRequestUpdateEventInit extends EventInit {
1043 interface PaymentValidationErrors {
1045 paymentMethod?: any;
1048 interface Pbkdf2Params extends Algorithm {
1049 hash: HashAlgorithmIdentifier;
1054 interface PerformanceMarkOptions {
1056 startTime?: DOMHighResTimeStamp;
1059 interface PerformanceMeasureOptions {
1061 duration?: DOMHighResTimeStamp;
1062 end?: string | DOMHighResTimeStamp;
1063 start?: string | DOMHighResTimeStamp;
1066 interface PerformanceObserverInit {
1068 entryTypes?: string[];
1072 interface PeriodicWaveConstraints {
1073 disableNormalization?: boolean;
1076 interface PeriodicWaveOptions extends PeriodicWaveConstraints {
1077 imag?: number[] | Float32Array;
1078 real?: number[] | Float32Array;
1081 interface PermissionDescriptor {
1082 name: PermissionName;
1085 interface PointerEventInit extends MouseEventInit {
1086 coalescedEvents?: PointerEvent[];
1088 isPrimary?: boolean;
1090 pointerType?: string;
1091 predictedEvents?: PointerEvent[];
1093 tangentialPressure?: number;
1100 interface PopStateEventInit extends EventInit {
1104 interface PositionOptions {
1105 enableHighAccuracy?: boolean;
1106 maximumAge?: number;
1110 interface ProgressEventInit extends EventInit {
1111 lengthComputable?: boolean;
1116 interface PromiseRejectionEventInit extends EventInit {
1117 promise: Promise<any>;
1121 interface PropertyIndexedKeyframes {
1122 composite?: CompositeOperationOrAuto | CompositeOperationOrAuto[];
1123 easing?: string | string[];
1124 offset?: number | (number | null)[];
1125 [property: string]: string | string[] | number | null | (number | null)[] | undefined;
1128 interface PublicKeyCredentialCreationOptions {
1129 attestation?: AttestationConveyancePreference;
1130 authenticatorSelection?: AuthenticatorSelectionCriteria;
1131 challenge: BufferSource;
1132 excludeCredentials?: PublicKeyCredentialDescriptor[];
1133 extensions?: AuthenticationExtensionsClientInputs;
1134 pubKeyCredParams: PublicKeyCredentialParameters[];
1135 rp: PublicKeyCredentialRpEntity;
1137 user: PublicKeyCredentialUserEntity;
1140 interface PublicKeyCredentialDescriptor {
1142 transports?: AuthenticatorTransport[];
1143 type: PublicKeyCredentialType;
1146 interface PublicKeyCredentialEntity {
1150 interface PublicKeyCredentialParameters {
1151 alg: COSEAlgorithmIdentifier;
1152 type: PublicKeyCredentialType;
1155 interface PublicKeyCredentialRequestOptions {
1156 allowCredentials?: PublicKeyCredentialDescriptor[];
1157 challenge: BufferSource;
1158 extensions?: AuthenticationExtensionsClientInputs;
1161 userVerification?: UserVerificationRequirement;
1164 interface PublicKeyCredentialRpEntity extends PublicKeyCredentialEntity {
1168 interface PublicKeyCredentialUserEntity extends PublicKeyCredentialEntity {
1169 displayName: string;
1173 interface PushSubscriptionJSON {
1175 expirationTime?: DOMTimeStamp | null;
1176 keys?: Record<string, string>;
1179 interface PushSubscriptionOptionsInit {
1180 applicationServerKey?: BufferSource | string | null;
1181 userVisibleOnly?: boolean;
1184 interface QueuingStrategy<T = any> {
1185 highWaterMark?: number;
1186 size?: QueuingStrategySize<T>;
1189 interface QueuingStrategyInit {
1191 * Creates a new ByteLengthQueuingStrategy with the provided high water mark.
1193 * Note that the provided high water mark will not be validated ahead of time. Instead, if it is negative, NaN, or not a number, the resulting ByteLengthQueuingStrategy will cause the corresponding stream constructor to throw.
1195 highWaterMark: number;
1198 interface RTCAnswerOptions extends RTCOfferAnswerOptions {
1201 interface RTCCertificateExpiration {
1202 expires?: DOMTimeStamp;
1205 interface RTCConfiguration {
1206 bundlePolicy?: RTCBundlePolicy;
1207 certificates?: RTCCertificate[];
1208 iceCandidatePoolSize?: number;
1209 iceServers?: RTCIceServer[];
1210 iceTransportPolicy?: RTCIceTransportPolicy;
1211 rtcpMuxPolicy?: RTCRtcpMuxPolicy;
1214 interface RTCDTMFToneChangeEventInit extends EventInit {
1218 interface RTCDataChannelEventInit extends EventInit {
1219 channel: RTCDataChannel;
1222 interface RTCDataChannelInit {
1224 maxPacketLifeTime?: number;
1225 maxRetransmits?: number;
1226 negotiated?: boolean;
1231 interface RTCDtlsFingerprint {
1236 interface RTCIceCandidateInit {
1238 sdpMLineIndex?: number | null;
1239 sdpMid?: string | null;
1240 usernameFragment?: string | null;
1243 interface RTCIceCandidatePairStats extends RTCStats {
1244 availableIncomingBitrate?: number;
1245 availableOutgoingBitrate?: number;
1246 bytesReceived?: number;
1248 currentRoundTripTime?: number;
1249 localCandidateId: string;
1250 nominated?: boolean;
1251 remoteCandidateId: string;
1252 requestsReceived?: number;
1253 requestsSent?: number;
1254 responsesReceived?: number;
1255 responsesSent?: number;
1256 state: RTCStatsIceCandidatePairState;
1257 totalRoundTripTime?: number;
1258 transportId: string;
1261 interface RTCIceServer {
1262 credential?: string;
1263 credentialType?: RTCIceCredentialType;
1264 urls: string | string[];
1268 interface RTCInboundRtpStreamStats extends RTCReceivedRtpStreamStats {
1270 framesDecoded?: number;
1277 interface RTCLocalSessionDescriptionInit {
1282 interface RTCOfferAnswerOptions {
1285 interface RTCOfferOptions extends RTCOfferAnswerOptions {
1286 iceRestart?: boolean;
1287 offerToReceiveAudio?: boolean;
1288 offerToReceiveVideo?: boolean;
1291 interface RTCOutboundRtpStreamStats extends RTCSentRtpStreamStats {
1293 framesEncoded?: number;
1300 interface RTCPeerConnectionIceErrorEventInit extends EventInit {
1301 address?: string | null;
1304 port?: number | null;
1308 interface RTCPeerConnectionIceEventInit extends EventInit {
1309 candidate?: RTCIceCandidate | null;
1310 url?: string | null;
1313 interface RTCReceivedRtpStreamStats extends RTCRtpStreamStats {
1315 packetsDiscarded?: number;
1316 packetsLost?: number;
1317 packetsReceived?: number;
1320 interface RTCRtcpParameters {
1322 reducedSize?: boolean;
1325 interface RTCRtpCapabilities {
1326 codecs: RTCRtpCodecCapability[];
1327 headerExtensions: RTCRtpHeaderExtensionCapability[];
1330 interface RTCRtpCodecCapability {
1334 sdpFmtpLine?: string;
1337 interface RTCRtpCodecParameters {
1341 payloadType: number;
1342 sdpFmtpLine?: string;
1345 interface RTCRtpCodingParameters {
1349 interface RTCRtpContributingSource {
1350 audioLevel?: number;
1351 rtpTimestamp: number;
1353 timestamp: DOMHighResTimeStamp;
1356 interface RTCRtpEncodingParameters extends RTCRtpCodingParameters {
1358 maxBitrate?: number;
1359 priority?: RTCPriorityType;
1360 scaleResolutionDownBy?: number;
1363 interface RTCRtpHeaderExtensionCapability {
1367 interface RTCRtpHeaderExtensionParameters {
1368 encrypted?: boolean;
1373 interface RTCRtpParameters {
1374 codecs: RTCRtpCodecParameters[];
1375 headerExtensions: RTCRtpHeaderExtensionParameters[];
1376 rtcp: RTCRtcpParameters;
1379 interface RTCRtpReceiveParameters extends RTCRtpParameters {
1382 interface RTCRtpSendParameters extends RTCRtpParameters {
1383 degradationPreference?: RTCDegradationPreference;
1384 encodings: RTCRtpEncodingParameters[];
1385 transactionId: string;
1388 interface RTCRtpStreamStats extends RTCStats {
1392 transportId?: string;
1395 interface RTCRtpSynchronizationSource extends RTCRtpContributingSource {
1398 interface RTCRtpTransceiverInit {
1399 direction?: RTCRtpTransceiverDirection;
1400 sendEncodings?: RTCRtpEncodingParameters[];
1401 streams?: MediaStream[];
1404 interface RTCSentRtpStreamStats extends RTCRtpStreamStats {
1406 packetsSent?: number;
1409 interface RTCSessionDescriptionInit {
1414 interface RTCStats {
1416 timestamp: DOMHighResTimeStamp;
1420 interface RTCTrackEventInit extends EventInit {
1421 receiver: RTCRtpReceiver;
1422 streams?: MediaStream[];
1423 track: MediaStreamTrack;
1424 transceiver: RTCRtpTransceiver;
1427 interface RTCTransportStats extends RTCStats {
1428 bytesReceived?: number;
1430 dtlsCipher?: string;
1431 dtlsState: RTCDtlsTransportState;
1432 localCertificateId?: string;
1433 remoteCertificateId?: string;
1434 rtcpTransportStatsId?: string;
1435 selectedCandidatePairId?: string;
1436 srtpCipher?: string;
1437 tlsVersion?: string;
1440 interface ReadableStreamDefaultReadDoneResult {
1445 interface ReadableStreamDefaultReadValueResult<T> {
1450 interface ReadableWritablePair<R = any, W = any> {
1451 readable: ReadableStream<R>;
1453 * Provides a convenient, chainable way of piping this readable stream through a transform stream (or any other { writable, readable } pair). It simply pipes the stream into the writable side of the supplied pair, and returns the readable side for further use.
1455 * Piping a stream will lock it for the duration of the pipe, preventing any other consumer from acquiring a reader.
1457 writable: WritableStream<W>;
1460 interface RegistrationOptions {
1463 updateViaCache?: ServiceWorkerUpdateViaCache;
1466 interface RequestInit {
1467 /** A BodyInit object or null to set request's body. */
1468 body?: BodyInit | null;
1469 /** A string indicating how the request will interact with the browser's cache to set request's cache. */
1470 cache?: RequestCache;
1471 /** 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. */
1472 credentials?: RequestCredentials;
1473 /** A Headers object, an object literal, or an array of two-item arrays to set request's headers. */
1474 headers?: HeadersInit;
1475 /** A cryptographic hash of the resource to be fetched by request. Sets request's integrity. */
1477 /** A boolean to set request's keepalive. */
1478 keepalive?: boolean;
1479 /** A string to set request's method. */
1481 /** A string to indicate whether the request will use CORS, or will be restricted to same-origin URLs. Sets request's mode. */
1483 /** 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. */
1484 redirect?: RequestRedirect;
1485 /** A string whose value is a same-origin URL, "about:client", or the empty string, to set request's referrer. */
1487 /** A referrer policy to set request's referrerPolicy. */
1488 referrerPolicy?: ReferrerPolicy;
1489 /** An AbortSignal to set request's signal. */
1490 signal?: AbortSignal | null;
1491 /** Can only be null. Used to disassociate request from any Window. */
1495 interface ResizeObserverOptions {
1496 box?: ResizeObserverBoxOptions;
1499 interface ResponseInit {
1500 headers?: HeadersInit;
1502 statusText?: string;
1505 interface RsaHashedImportParams extends Algorithm {
1506 hash: HashAlgorithmIdentifier;
1509 interface RsaHashedKeyAlgorithm extends RsaKeyAlgorithm {
1513 interface RsaHashedKeyGenParams extends RsaKeyGenParams {
1514 hash: HashAlgorithmIdentifier;
1517 interface RsaKeyAlgorithm extends KeyAlgorithm {
1518 modulusLength: number;
1519 publicExponent: BigInteger;
1522 interface RsaKeyGenParams extends Algorithm {
1523 modulusLength: number;
1524 publicExponent: BigInteger;
1527 interface RsaOaepParams extends Algorithm {
1528 label?: BufferSource;
1531 interface RsaOtherPrimesInfo {
1537 interface RsaPssParams extends Algorithm {
1541 interface SVGBoundingBoxOptions {
1548 interface ScrollIntoViewOptions extends ScrollOptions {
1549 block?: ScrollLogicalPosition;
1550 inline?: ScrollLogicalPosition;
1553 interface ScrollOptions {
1554 behavior?: ScrollBehavior;
1557 interface ScrollToOptions extends ScrollOptions {
1562 interface SecurityPolicyViolationEventInit extends EventInit {
1563 blockedURI?: string;
1564 columnNumber?: number;
1565 disposition: SecurityPolicyViolationEventDisposition;
1566 documentURI: string;
1567 effectiveDirective: string;
1568 lineNumber?: number;
1569 originalPolicy: string;
1572 sourceFile?: string;
1574 violatedDirective: string;
1577 interface ShadowRootInit {
1578 delegatesFocus?: boolean;
1579 mode: ShadowRootMode;
1580 slotAssignment?: SlotAssignmentMode;
1583 interface ShareData {
1590 interface SpeechSynthesisErrorEventInit extends SpeechSynthesisEventInit {
1591 error: SpeechSynthesisErrorCode;
1594 interface SpeechSynthesisEventInit extends EventInit {
1596 charLength?: number;
1597 elapsedTime?: number;
1599 utterance: SpeechSynthesisUtterance;
1602 interface StaticRangeInit {
1605 startContainer: Node;
1606 startOffset: number;
1609 interface StereoPannerOptions extends AudioNodeOptions {
1613 interface StorageEstimate {
1618 interface StorageEventInit extends EventInit {
1619 key?: string | null;
1620 newValue?: string | null;
1621 oldValue?: string | null;
1622 storageArea?: Storage | null;
1626 interface StreamPipeOptions {
1627 preventAbort?: boolean;
1628 preventCancel?: boolean;
1630 * Pipes this readable stream to a given writable stream destination. The way in which the piping process behaves under various error conditions can be customized with a number of passed options. It returns a promise that fulfills when the piping process completes successfully, or rejects if any errors were encountered.
1632 * Piping a stream will lock it for the duration of the pipe, preventing any other consumer from acquiring a reader.
1634 * Errors and closures of the source and destination streams propagate as follows:
1636 * An error in this source readable stream will abort destination, unless preventAbort is truthy. The returned promise will be rejected with the source's error, or with any error that occurs during aborting the destination.
1638 * An error in destination will cancel this source readable stream, unless preventCancel is truthy. The returned promise will be rejected with the destination's error, or with any error that occurs during canceling the source.
1640 * When this source readable stream closes, destination will be closed, unless preventClose is truthy. The returned promise will be fulfilled once this process completes, unless an error is encountered while closing the destination, in which case it will be rejected with that error.
1642 * If destination starts out closed or closing, this source readable stream will be canceled, unless preventCancel is true. The returned promise will be rejected with an error indicating piping to a closed stream failed, or with any error that occurs during canceling the source.
1644 * The signal option can be set to an AbortSignal to allow aborting an ongoing pipe operation via the corresponding AbortController. In this case, this source readable stream will be canceled, and destination aborted, unless the respective options preventCancel or preventAbort are set.
1646 preventClose?: boolean;
1647 signal?: AbortSignal;
1650 interface StructuredSerializeOptions {
1654 interface SubmitEventInit extends EventInit {
1655 submitter?: HTMLElement | null;
1658 interface TextDecodeOptions {
1662 interface TextDecoderOptions {
1664 ignoreBOM?: boolean;
1667 interface TextEncoderEncodeIntoResult {
1672 interface TouchEventInit extends EventModifierInit {
1673 changedTouches?: Touch[];
1674 targetTouches?: Touch[];
1678 interface TouchInit {
1679 altitudeAngle?: number;
1680 azimuthAngle?: number;
1689 rotationAngle?: number;
1692 target: EventTarget;
1693 touchType?: TouchType;
1696 interface TrackEventInit extends EventInit {
1697 track?: TextTrack | null;
1700 interface Transformer<I = any, O = any> {
1701 flush?: TransformerFlushCallback<O>;
1702 readableType?: undefined;
1703 start?: TransformerStartCallback<O>;
1704 transform?: TransformerTransformCallback<I, O>;
1705 writableType?: undefined;
1708 interface TransitionEventInit extends EventInit {
1709 elapsedTime?: number;
1710 propertyName?: string;
1711 pseudoElement?: string;
1714 interface UIEventInit extends EventInit {
1716 view?: Window | null;
1721 interface ULongRange {
1726 interface UnderlyingSink<W = any> {
1727 abort?: UnderlyingSinkAbortCallback;
1728 close?: UnderlyingSinkCloseCallback;
1729 start?: UnderlyingSinkStartCallback;
1731 write?: UnderlyingSinkWriteCallback<W>;
1734 interface UnderlyingSource<R = any> {
1735 cancel?: UnderlyingSourceCancelCallback;
1736 pull?: UnderlyingSourcePullCallback<R>;
1737 start?: UnderlyingSourceStartCallback<R>;
1741 interface VideoConfiguration {
1743 colorGamut?: ColorGamut;
1744 contentType: string;
1746 hdrMetadataType?: HdrMetadataType;
1748 scalabilityMode?: string;
1749 transferFunction?: TransferFunction;
1753 interface WaveShaperOptions extends AudioNodeOptions {
1754 curve?: number[] | Float32Array;
1755 oversample?: OverSampleType;
1758 interface WebGLContextAttributes {
1760 antialias?: boolean;
1762 desynchronized?: boolean;
1763 failIfMajorPerformanceCaveat?: boolean;
1764 powerPreference?: WebGLPowerPreference;
1765 premultipliedAlpha?: boolean;
1766 preserveDrawingBuffer?: boolean;
1770 interface WebGLContextEventInit extends EventInit {
1771 statusMessage?: string;
1774 interface WheelEventInit extends MouseEventInit {
1781 interface WindowPostMessageOptions extends StructuredSerializeOptions {
1782 targetOrigin?: string;
1785 interface WorkerOptions {
1786 credentials?: RequestCredentials;
1791 interface WorkletOptions {
1792 credentials?: RequestCredentials;
1795 type NodeFilter = ((node: Node) => number) | { acceptNode(node: Node): number; };
1797 declare var NodeFilter: {
1798 readonly FILTER_ACCEPT: number;
1799 readonly FILTER_REJECT: number;
1800 readonly FILTER_SKIP: number;
1801 readonly SHOW_ALL: number;
1802 readonly SHOW_ATTRIBUTE: number;
1803 readonly SHOW_CDATA_SECTION: number;
1804 readonly SHOW_COMMENT: number;
1805 readonly SHOW_DOCUMENT: number;
1806 readonly SHOW_DOCUMENT_FRAGMENT: number;
1807 readonly SHOW_DOCUMENT_TYPE: number;
1808 readonly SHOW_ELEMENT: number;
1809 readonly SHOW_ENTITY: number;
1810 readonly SHOW_ENTITY_REFERENCE: number;
1811 readonly SHOW_NOTATION: number;
1812 readonly SHOW_PROCESSING_INSTRUCTION: number;
1813 readonly SHOW_TEXT: number;
1816 type XPathNSResolver = ((prefix: string | null) => string | null) | { lookupNamespaceURI(prefix: string | null): string | null; };
1818 /** 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. */
1819 interface ANGLE_instanced_arrays {
1820 drawArraysInstancedANGLE(mode: GLenum, first: GLint, count: GLsizei, primcount: GLsizei): void;
1821 drawElementsInstancedANGLE(mode: GLenum, count: GLsizei, type: GLenum, offset: GLintptr, primcount: GLsizei): void;
1822 vertexAttribDivisorANGLE(index: GLuint, divisor: GLuint): void;
1823 readonly VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE: GLenum;
1826 interface ARIAMixin {
1828 ariaAutoComplete: string;
1830 ariaChecked: string;
1831 ariaColCount: string;
1832 ariaColIndex: string;
1833 ariaColSpan: string;
1834 ariaCurrent: string;
1835 ariaDisabled: string;
1836 ariaExpanded: string;
1837 ariaHasPopup: string;
1839 ariaKeyShortcuts: string;
1844 ariaMultiLine: string;
1845 ariaMultiSelectable: string;
1846 ariaOrientation: string;
1847 ariaPlaceholder: string;
1848 ariaPosInSet: string;
1849 ariaPressed: string;
1850 ariaReadOnly: string;
1851 ariaRequired: string;
1852 ariaRoleDescription: string;
1853 ariaRowCount: string;
1854 ariaRowIndex: string;
1855 ariaRowSpan: string;
1856 ariaSelected: string;
1857 ariaSetSize: string;
1859 ariaValueMax: string;
1860 ariaValueMin: string;
1861 ariaValueNow: string;
1862 ariaValueText: string;
1865 /** A controller object that allows you to abort one or more DOM requests as and when desired. */
1866 interface AbortController {
1867 /** Returns the AbortSignal object associated with this object. */
1868 readonly signal: AbortSignal;
1869 /** 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. */
1873 declare var AbortController: {
1874 prototype: AbortController;
1875 new(): AbortController;
1878 interface AbortSignalEventMap {
1882 /** 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. */
1883 interface AbortSignal extends EventTarget {
1884 /** Returns true if this AbortSignal's AbortController has signaled to abort, and false otherwise. */
1885 readonly aborted: boolean;
1886 onabort: ((this: AbortSignal, ev: Event) => any) | null;
1887 addEventListener<K extends keyof AbortSignalEventMap>(type: K, listener: (this: AbortSignal, ev: AbortSignalEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1888 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1889 removeEventListener<K extends keyof AbortSignalEventMap>(type: K, listener: (this: AbortSignal, ev: AbortSignalEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1890 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1893 declare var AbortSignal: {
1894 prototype: AbortSignal;
1896 // abort(): AbortSignal; - To be re-added in the future
1899 interface AbstractRange {
1900 /** Returns true if range is collapsed, and false otherwise. */
1901 readonly collapsed: boolean;
1902 /** Returns range's end node. */
1903 readonly endContainer: Node;
1904 /** Returns range's end offset. */
1905 readonly endOffset: number;
1906 /** Returns range's start node. */
1907 readonly startContainer: Node;
1908 /** Returns range's start offset. */
1909 readonly startOffset: number;
1912 declare var AbstractRange: {
1913 prototype: AbstractRange;
1914 new(): AbstractRange;
1917 interface AbstractWorkerEventMap {
1918 "error": ErrorEvent;
1921 interface AbstractWorker {
1922 onerror: ((this: AbstractWorker, ev: ErrorEvent) => any) | null;
1923 addEventListener<K extends keyof AbstractWorkerEventMap>(type: K, listener: (this: AbstractWorker, ev: AbstractWorkerEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1924 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1925 removeEventListener<K extends keyof AbstractWorkerEventMap>(type: K, listener: (this: AbstractWorker, ev: AbstractWorkerEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1926 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1929 /** 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. */
1930 interface AnalyserNode extends AudioNode {
1932 readonly frequencyBinCount: number;
1933 maxDecibels: number;
1934 minDecibels: number;
1935 smoothingTimeConstant: number;
1936 getByteFrequencyData(array: Uint8Array): void;
1937 getByteTimeDomainData(array: Uint8Array): void;
1938 getFloatFrequencyData(array: Float32Array): void;
1939 getFloatTimeDomainData(array: Float32Array): void;
1942 declare var AnalyserNode: {
1943 prototype: AnalyserNode;
1944 new(context: BaseAudioContext, options?: AnalyserOptions): AnalyserNode;
1947 interface Animatable {
1948 animate(keyframes: Keyframe[] | PropertyIndexedKeyframes | null, options?: number | KeyframeAnimationOptions): Animation;
1949 getAnimations(options?: GetAnimationsOptions): Animation[];
1952 interface AnimationEventMap {
1953 "cancel": AnimationPlaybackEvent;
1954 "finish": AnimationPlaybackEvent;
1958 interface Animation extends EventTarget {
1959 currentTime: CSSNumberish | null;
1960 effect: AnimationEffect | null;
1961 readonly finished: Promise<Animation>;
1963 oncancel: ((this: Animation, ev: AnimationPlaybackEvent) => any) | null;
1964 onfinish: ((this: Animation, ev: AnimationPlaybackEvent) => any) | null;
1965 onremove: ((this: Animation, ev: Event) => any) | null;
1966 readonly pending: boolean;
1967 readonly playState: AnimationPlayState;
1968 playbackRate: number;
1969 readonly ready: Promise<Animation>;
1970 readonly replaceState: AnimationReplaceState;
1971 startTime: CSSNumberish | null;
1972 timeline: AnimationTimeline | null;
1974 commitStyles(): void;
1980 updatePlaybackRate(playbackRate: number): void;
1981 addEventListener<K extends keyof AnimationEventMap>(type: K, listener: (this: Animation, ev: AnimationEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1982 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1983 removeEventListener<K extends keyof AnimationEventMap>(type: K, listener: (this: Animation, ev: AnimationEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1984 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1987 declare var Animation: {
1988 prototype: Animation;
1989 new(effect?: AnimationEffect | null, timeline?: AnimationTimeline | null): Animation;
1992 interface AnimationEffect {
1993 getComputedTiming(): ComputedEffectTiming;
1994 getTiming(): EffectTiming;
1995 updateTiming(timing?: OptionalEffectTiming): void;
1998 declare var AnimationEffect: {
1999 prototype: AnimationEffect;
2000 new(): AnimationEffect;
2003 /** Events providing information related to animations. */
2004 interface AnimationEvent extends Event {
2005 readonly animationName: string;
2006 readonly elapsedTime: number;
2007 readonly pseudoElement: string;
2010 declare var AnimationEvent: {
2011 prototype: AnimationEvent;
2012 new(type: string, animationEventInitDict?: AnimationEventInit): AnimationEvent;
2015 interface AnimationFrameProvider {
2016 cancelAnimationFrame(handle: number): void;
2017 requestAnimationFrame(callback: FrameRequestCallback): number;
2020 interface AnimationPlaybackEvent extends Event {
2021 readonly currentTime: CSSNumberish | null;
2022 readonly timelineTime: CSSNumberish | null;
2025 declare var AnimationPlaybackEvent: {
2026 prototype: AnimationPlaybackEvent;
2027 new(type: string, eventInitDict?: AnimationPlaybackEventInit): AnimationPlaybackEvent;
2030 interface AnimationTimeline {
2031 readonly currentTime: number | null;
2034 declare var AnimationTimeline: {
2035 prototype: AnimationTimeline;
2036 new(): AnimationTimeline;
2039 /** 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. */
2040 interface Attr extends Node {
2041 readonly localName: string;
2042 readonly name: string;
2043 readonly namespaceURI: string | null;
2044 readonly ownerDocument: Document;
2045 readonly ownerElement: Element | null;
2046 readonly prefix: string | null;
2047 readonly specified: boolean;
2056 /** 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. */
2057 interface AudioBuffer {
2058 readonly duration: number;
2059 readonly length: number;
2060 readonly numberOfChannels: number;
2061 readonly sampleRate: number;
2062 copyFromChannel(destination: Float32Array, channelNumber: number, bufferOffset?: number): void;
2063 copyToChannel(source: Float32Array, channelNumber: number, bufferOffset?: number): void;
2064 getChannelData(channel: number): Float32Array;
2067 declare var AudioBuffer: {
2068 prototype: AudioBuffer;
2069 new(options: AudioBufferOptions): AudioBuffer;
2072 /** 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. */
2073 interface AudioBufferSourceNode extends AudioScheduledSourceNode {
2074 buffer: AudioBuffer | null;
2075 readonly detune: AudioParam;
2079 readonly playbackRate: AudioParam;
2080 start(when?: number, offset?: number, duration?: number): void;
2081 addEventListener<K extends keyof AudioScheduledSourceNodeEventMap>(type: K, listener: (this: AudioBufferSourceNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2082 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
2083 removeEventListener<K extends keyof AudioScheduledSourceNodeEventMap>(type: K, listener: (this: AudioBufferSourceNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2084 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
2087 declare var AudioBufferSourceNode: {
2088 prototype: AudioBufferSourceNode;
2089 new(context: BaseAudioContext, options?: AudioBufferSourceOptions): AudioBufferSourceNode;
2092 /** An audio-processing graph built from audio modules linked together, each represented by an AudioNode. */
2093 interface AudioContext extends BaseAudioContext {
2094 readonly baseLatency: number;
2095 close(): Promise<void>;
2096 createMediaElementSource(mediaElement: HTMLMediaElement): MediaElementAudioSourceNode;
2097 createMediaStreamDestination(): MediaStreamAudioDestinationNode;
2098 createMediaStreamSource(mediaStream: MediaStream): MediaStreamAudioSourceNode;
2099 getOutputTimestamp(): AudioTimestamp;
2100 resume(): Promise<void>;
2101 suspend(): Promise<void>;
2102 addEventListener<K extends keyof BaseAudioContextEventMap>(type: K, listener: (this: AudioContext, ev: BaseAudioContextEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2103 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
2104 removeEventListener<K extends keyof BaseAudioContextEventMap>(type: K, listener: (this: AudioContext, ev: BaseAudioContextEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2105 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
2108 declare var AudioContext: {
2109 prototype: AudioContext;
2110 new(contextOptions?: AudioContextOptions): AudioContext;
2113 /** 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. */
2114 interface AudioDestinationNode extends AudioNode {
2115 readonly maxChannelCount: number;
2118 declare var AudioDestinationNode: {
2119 prototype: AudioDestinationNode;
2120 new(): AudioDestinationNode;
2123 /** 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. */
2124 interface AudioListener {
2125 readonly forwardX: AudioParam;
2126 readonly forwardY: AudioParam;
2127 readonly forwardZ: AudioParam;
2128 readonly positionX: AudioParam;
2129 readonly positionY: AudioParam;
2130 readonly positionZ: AudioParam;
2131 readonly upX: AudioParam;
2132 readonly upY: AudioParam;
2133 readonly upZ: AudioParam;
2135 setOrientation(x: number, y: number, z: number, xUp: number, yUp: number, zUp: number): void;
2137 setPosition(x: number, y: number, z: number): void;
2140 declare var AudioListener: {
2141 prototype: AudioListener;
2142 new(): AudioListener;
2145 /** A generic interface for representing an audio processing module. Examples include: */
2146 interface AudioNode extends EventTarget {
2147 channelCount: number;
2148 channelCountMode: ChannelCountMode;
2149 channelInterpretation: ChannelInterpretation;
2150 readonly context: BaseAudioContext;
2151 readonly numberOfInputs: number;
2152 readonly numberOfOutputs: number;
2153 connect(destinationNode: AudioNode, output?: number, input?: number): AudioNode;
2154 connect(destinationParam: AudioParam, output?: number): void;
2156 disconnect(output: number): void;
2157 disconnect(destinationNode: AudioNode): void;
2158 disconnect(destinationNode: AudioNode, output: number): void;
2159 disconnect(destinationNode: AudioNode, output: number, input: number): void;
2160 disconnect(destinationParam: AudioParam): void;
2161 disconnect(destinationParam: AudioParam, output: number): void;
2164 declare var AudioNode: {
2165 prototype: AudioNode;
2169 /** The Web Audio API's AudioParam interface represents an audio-related parameter, usually a parameter of an AudioNode (such as GainNode.gain). */
2170 interface AudioParam {
2171 automationRate: AutomationRate;
2172 readonly defaultValue: number;
2173 readonly maxValue: number;
2174 readonly minValue: number;
2176 cancelAndHoldAtTime(cancelTime: number): AudioParam;
2177 cancelScheduledValues(cancelTime: number): AudioParam;
2178 exponentialRampToValueAtTime(value: number, endTime: number): AudioParam;
2179 linearRampToValueAtTime(value: number, endTime: number): AudioParam;
2180 setTargetAtTime(target: number, startTime: number, timeConstant: number): AudioParam;
2181 setValueAtTime(value: number, startTime: number): AudioParam;
2182 setValueCurveAtTime(values: number[] | Float32Array, startTime: number, duration: number): AudioParam;
2185 declare var AudioParam: {
2186 prototype: AudioParam;
2190 interface AudioParamMap {
2191 forEach(callbackfn: (value: AudioParam, key: string, parent: AudioParamMap) => void, thisArg?: any): void;
2194 declare var AudioParamMap: {
2195 prototype: AudioParamMap;
2196 new(): AudioParamMap;
2200 * The Web Audio API events that occur when a ScriptProcessorNode input buffer is ready to be processed.
2201 * @deprecated As of the August 29 2014 Web Audio API spec publication, this feature has been marked as deprecated, and is soon to be replaced by AudioWorklet.
2203 interface AudioProcessingEvent extends Event {
2205 readonly inputBuffer: AudioBuffer;
2207 readonly outputBuffer: AudioBuffer;
2209 readonly playbackTime: number;
2213 declare var AudioProcessingEvent: {
2214 prototype: AudioProcessingEvent;
2215 new(type: string, eventInitDict: AudioProcessingEventInit): AudioProcessingEvent;
2218 interface AudioScheduledSourceNodeEventMap {
2222 interface AudioScheduledSourceNode extends AudioNode {
2223 onended: ((this: AudioScheduledSourceNode, ev: Event) => any) | null;
2224 start(when?: number): void;
2225 stop(when?: number): void;
2226 addEventListener<K extends keyof AudioScheduledSourceNodeEventMap>(type: K, listener: (this: AudioScheduledSourceNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2227 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
2228 removeEventListener<K extends keyof AudioScheduledSourceNodeEventMap>(type: K, listener: (this: AudioScheduledSourceNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2229 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
2232 declare var AudioScheduledSourceNode: {
2233 prototype: AudioScheduledSourceNode;
2234 new(): AudioScheduledSourceNode;
2237 /** Available only in secure contexts. */
2238 interface AudioWorklet extends Worklet {
2241 declare var AudioWorklet: {
2242 prototype: AudioWorklet;
2243 new(): AudioWorklet;
2246 interface AudioWorkletNodeEventMap {
2247 "processorerror": Event;
2250 /** Available only in secure contexts. */
2251 interface AudioWorkletNode extends AudioNode {
2252 onprocessorerror: ((this: AudioWorkletNode, ev: Event) => any) | null;
2253 readonly parameters: AudioParamMap;
2254 readonly port: MessagePort;
2255 addEventListener<K extends keyof AudioWorkletNodeEventMap>(type: K, listener: (this: AudioWorkletNode, ev: AudioWorkletNodeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2256 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
2257 removeEventListener<K extends keyof AudioWorkletNodeEventMap>(type: K, listener: (this: AudioWorkletNode, ev: AudioWorkletNodeEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2258 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
2261 declare var AudioWorkletNode: {
2262 prototype: AudioWorkletNode;
2263 new(context: BaseAudioContext, name: string, options?: AudioWorkletNodeOptions): AudioWorkletNode;
2266 /** Available only in secure contexts. */
2267 interface AuthenticatorAssertionResponse extends AuthenticatorResponse {
2268 readonly authenticatorData: ArrayBuffer;
2269 readonly signature: ArrayBuffer;
2270 readonly userHandle: ArrayBuffer | null;
2273 declare var AuthenticatorAssertionResponse: {
2274 prototype: AuthenticatorAssertionResponse;
2275 new(): AuthenticatorAssertionResponse;
2278 /** Available only in secure contexts. */
2279 interface AuthenticatorAttestationResponse extends AuthenticatorResponse {
2280 readonly attestationObject: ArrayBuffer;
2283 declare var AuthenticatorAttestationResponse: {
2284 prototype: AuthenticatorAttestationResponse;
2285 new(): AuthenticatorAttestationResponse;
2288 /** Available only in secure contexts. */
2289 interface AuthenticatorResponse {
2290 readonly clientDataJSON: ArrayBuffer;
2293 declare var AuthenticatorResponse: {
2294 prototype: AuthenticatorResponse;
2295 new(): AuthenticatorResponse;
2299 readonly visible: boolean;
2302 declare var BarProp: {
2307 interface BaseAudioContextEventMap {
2308 "statechange": Event;
2311 interface BaseAudioContext extends EventTarget {
2312 /** Available only in secure contexts. */
2313 readonly audioWorklet: AudioWorklet;
2314 readonly currentTime: number;
2315 readonly destination: AudioDestinationNode;
2316 readonly listener: AudioListener;
2317 onstatechange: ((this: BaseAudioContext, ev: Event) => any) | null;
2318 readonly sampleRate: number;
2319 readonly state: AudioContextState;
2320 createAnalyser(): AnalyserNode;
2321 createBiquadFilter(): BiquadFilterNode;
2322 createBuffer(numberOfChannels: number, length: number, sampleRate: number): AudioBuffer;
2323 createBufferSource(): AudioBufferSourceNode;
2324 createChannelMerger(numberOfInputs?: number): ChannelMergerNode;
2325 createChannelSplitter(numberOfOutputs?: number): ChannelSplitterNode;
2326 createConstantSource(): ConstantSourceNode;
2327 createConvolver(): ConvolverNode;
2328 createDelay(maxDelayTime?: number): DelayNode;
2329 createDynamicsCompressor(): DynamicsCompressorNode;
2330 createGain(): GainNode;
2331 createIIRFilter(feedforward: number[], feedback: number[]): IIRFilterNode;
2332 createOscillator(): OscillatorNode;
2333 createPanner(): PannerNode;
2334 createPeriodicWave(real: number[] | Float32Array, imag: number[] | Float32Array, constraints?: PeriodicWaveConstraints): PeriodicWave;
2336 createScriptProcessor(bufferSize?: number, numberOfInputChannels?: number, numberOfOutputChannels?: number): ScriptProcessorNode;
2337 createStereoPanner(): StereoPannerNode;
2338 createWaveShaper(): WaveShaperNode;
2339 decodeAudioData(audioData: ArrayBuffer, successCallback?: DecodeSuccessCallback | null, errorCallback?: DecodeErrorCallback | null): Promise<AudioBuffer>;
2340 addEventListener<K extends keyof BaseAudioContextEventMap>(type: K, listener: (this: BaseAudioContext, ev: BaseAudioContextEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2341 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
2342 removeEventListener<K extends keyof BaseAudioContextEventMap>(type: K, listener: (this: BaseAudioContext, ev: BaseAudioContextEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2343 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
2346 declare var BaseAudioContext: {
2347 prototype: BaseAudioContext;
2348 new(): BaseAudioContext;
2351 /** The beforeunload event is fired when the window, the document and its resources are about to be unloaded. */
2352 interface BeforeUnloadEvent extends Event {
2356 declare var BeforeUnloadEvent: {
2357 prototype: BeforeUnloadEvent;
2358 new(): BeforeUnloadEvent;
2361 /** 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. */
2362 interface BiquadFilterNode extends AudioNode {
2363 readonly Q: AudioParam;
2364 readonly detune: AudioParam;
2365 readonly frequency: AudioParam;
2366 readonly gain: AudioParam;
2367 type: BiquadFilterType;
2368 getFrequencyResponse(frequencyHz: Float32Array, magResponse: Float32Array, phaseResponse: Float32Array): void;
2371 declare var BiquadFilterNode: {
2372 prototype: BiquadFilterNode;
2373 new(context: BaseAudioContext, options?: BiquadFilterOptions): BiquadFilterNode;
2376 /** 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. */
2378 readonly size: number;
2379 readonly type: string;
2380 arrayBuffer(): Promise<ArrayBuffer>;
2381 slice(start?: number, end?: number, contentType?: string): Blob;
2382 stream(): ReadableStream;
2383 text(): Promise<string>;
2388 new(blobParts?: BlobPart[], options?: BlobPropertyBag): Blob;
2391 interface BlobEvent extends Event {
2392 readonly data: Blob;
2393 readonly timecode: DOMHighResTimeStamp;
2396 declare var BlobEvent: {
2397 prototype: BlobEvent;
2398 new(type: string, eventInitDict: BlobEventInit): BlobEvent;
2402 readonly body: ReadableStream<Uint8Array> | null;
2403 readonly bodyUsed: boolean;
2404 arrayBuffer(): Promise<ArrayBuffer>;
2405 blob(): Promise<Blob>;
2406 formData(): Promise<FormData>;
2407 json(): Promise<any>;
2408 text(): Promise<string>;
2411 interface BroadcastChannelEventMap {
2412 "message": MessageEvent;
2413 "messageerror": MessageEvent;
2416 interface BroadcastChannel extends EventTarget {
2417 /** Returns the channel name (as passed to the constructor). */
2418 readonly name: string;
2419 onmessage: ((this: BroadcastChannel, ev: MessageEvent) => any) | null;
2420 onmessageerror: ((this: BroadcastChannel, ev: MessageEvent) => any) | null;
2421 /** Closes the BroadcastChannel object, opening it up to garbage collection. */
2423 /** Sends the given message to other BroadcastChannel objects set up for this channel. Messages can be structured objects, e.g. nested objects and arrays. */
2424 postMessage(message: any): void;
2425 addEventListener<K extends keyof BroadcastChannelEventMap>(type: K, listener: (this: BroadcastChannel, ev: BroadcastChannelEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2426 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
2427 removeEventListener<K extends keyof BroadcastChannelEventMap>(type: K, listener: (this: BroadcastChannel, ev: BroadcastChannelEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2428 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
2431 declare var BroadcastChannel: {
2432 prototype: BroadcastChannel;
2433 new(name: string): BroadcastChannel;
2436 /** This Streams API interface provides a built-in byte length queuing strategy that can be used when constructing streams. */
2437 interface ByteLengthQueuingStrategy extends QueuingStrategy<ArrayBufferView> {
2438 readonly highWaterMark: number;
2439 readonly size: QueuingStrategySize<ArrayBufferView>;
2442 declare var ByteLengthQueuingStrategy: {
2443 prototype: ByteLengthQueuingStrategy;
2444 new(init: QueuingStrategyInit): ByteLengthQueuingStrategy;
2447 /** 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. */
2448 interface CDATASection extends Text {
2451 declare var CDATASection: {
2452 prototype: CDATASection;
2453 new(): CDATASection;
2456 interface CSSAnimation extends Animation {
2457 readonly animationName: string;
2458 addEventListener<K extends keyof AnimationEventMap>(type: K, listener: (this: CSSAnimation, ev: AnimationEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2459 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
2460 removeEventListener<K extends keyof AnimationEventMap>(type: K, listener: (this: CSSAnimation, ev: AnimationEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2461 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
2464 declare var CSSAnimation: {
2465 prototype: CSSAnimation;
2466 new(): CSSAnimation;
2469 /** A single condition CSS at-rule, which consists of a condition and a statement block. It is a child of CSSGroupingRule. */
2470 interface CSSConditionRule extends CSSGroupingRule {
2471 conditionText: string;
2474 declare var CSSConditionRule: {
2475 prototype: CSSConditionRule;
2476 new(): CSSConditionRule;
2479 interface CSSCounterStyleRule extends CSSRule {
2480 additiveSymbols: string;
2493 declare var CSSCounterStyleRule: {
2494 prototype: CSSCounterStyleRule;
2495 new(): CSSCounterStyleRule;
2498 interface CSSFontFaceRule extends CSSRule {
2499 readonly style: CSSStyleDeclaration;
2502 declare var CSSFontFaceRule: {
2503 prototype: CSSFontFaceRule;
2504 new(): CSSFontFaceRule;
2507 /** Any CSS at-rule that contains other rules nested within it. */
2508 interface CSSGroupingRule extends CSSRule {
2509 readonly cssRules: CSSRuleList;
2510 deleteRule(index: number): void;
2511 insertRule(rule: string, index?: number): number;
2514 declare var CSSGroupingRule: {
2515 prototype: CSSGroupingRule;
2516 new(): CSSGroupingRule;
2519 interface CSSImportRule extends CSSRule {
2520 readonly href: string;
2521 readonly media: MediaList;
2522 readonly styleSheet: CSSStyleSheet;
2525 declare var CSSImportRule: {
2526 prototype: CSSImportRule;
2527 new(): CSSImportRule;
2530 /** 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). */
2531 interface CSSKeyframeRule extends CSSRule {
2533 readonly style: CSSStyleDeclaration;
2536 declare var CSSKeyframeRule: {
2537 prototype: CSSKeyframeRule;
2538 new(): CSSKeyframeRule;
2541 /** 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). */
2542 interface CSSKeyframesRule extends CSSRule {
2543 readonly cssRules: CSSRuleList;
2545 appendRule(rule: string): void;
2546 deleteRule(select: string): void;
2547 findRule(select: string): CSSKeyframeRule | null;
2550 declare var CSSKeyframesRule: {
2551 prototype: CSSKeyframesRule;
2552 new(): CSSKeyframesRule;
2555 /** 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). */
2556 interface CSSMediaRule extends CSSConditionRule {
2557 readonly media: MediaList;
2560 declare var CSSMediaRule: {
2561 prototype: CSSMediaRule;
2562 new(): CSSMediaRule;
2565 /** An object representing a single CSS @namespace at-rule. It implements the CSSRule interface, with a type value of 10 (CSSRule.NAMESPACE_RULE). */
2566 interface CSSNamespaceRule extends CSSRule {
2567 readonly namespaceURI: string;
2568 readonly prefix: string;
2571 declare var CSSNamespaceRule: {
2572 prototype: CSSNamespaceRule;
2573 new(): CSSNamespaceRule;
2576 /** CSSPageRule is an interface representing a single CSS @page rule. It implements the CSSRule interface with a type value of 6 (CSSRule.PAGE_RULE). */
2577 interface CSSPageRule extends CSSGroupingRule {
2578 selectorText: string;
2579 readonly style: CSSStyleDeclaration;
2582 declare var CSSPageRule: {
2583 prototype: CSSPageRule;
2587 /** A single CSS rule. There are several types of rules, listed in the Type constants section below. */
2590 readonly parentRule: CSSRule | null;
2591 readonly parentStyleSheet: CSSStyleSheet | null;
2593 readonly type: number;
2594 readonly CHARSET_RULE: number;
2595 readonly FONT_FACE_RULE: number;
2596 readonly IMPORT_RULE: number;
2597 readonly KEYFRAMES_RULE: number;
2598 readonly KEYFRAME_RULE: number;
2599 readonly MEDIA_RULE: number;
2600 readonly NAMESPACE_RULE: number;
2601 readonly PAGE_RULE: number;
2602 readonly STYLE_RULE: number;
2603 readonly SUPPORTS_RULE: number;
2606 declare var CSSRule: {
2609 readonly CHARSET_RULE: number;
2610 readonly FONT_FACE_RULE: number;
2611 readonly IMPORT_RULE: number;
2612 readonly KEYFRAMES_RULE: number;
2613 readonly KEYFRAME_RULE: number;
2614 readonly MEDIA_RULE: number;
2615 readonly NAMESPACE_RULE: number;
2616 readonly PAGE_RULE: number;
2617 readonly STYLE_RULE: number;
2618 readonly SUPPORTS_RULE: number;
2621 /** A CSSRuleList is an (indirect-modify only) array-like object containing an ordered collection of CSSRule objects. */
2622 interface CSSRuleList {
2623 readonly length: number;
2624 item(index: number): CSSRule | null;
2625 [index: number]: CSSRule;
2628 declare var CSSRuleList: {
2629 prototype: CSSRuleList;
2633 /** An object that is a CSS declaration block, and exposes style information and various style-related methods and properties. */
2634 interface CSSStyleDeclaration {
2635 accentColor: string;
2636 alignContent: string;
2639 alignmentBaseline: string;
2642 animationDelay: string;
2643 animationDirection: string;
2644 animationDuration: string;
2645 animationFillMode: string;
2646 animationIterationCount: string;
2647 animationName: string;
2648 animationPlayState: string;
2649 animationTimingFunction: string;
2651 aspectRatio: string;
2652 backfaceVisibility: string;
2654 backgroundAttachment: string;
2655 backgroundBlendMode: string;
2656 backgroundClip: string;
2657 backgroundColor: string;
2658 backgroundImage: string;
2659 backgroundOrigin: string;
2660 backgroundPosition: string;
2661 backgroundPositionX: string;
2662 backgroundPositionY: string;
2663 backgroundRepeat: string;
2664 backgroundSize: string;
2665 baselineShift: string;
2668 borderBlock: string;
2669 borderBlockColor: string;
2670 borderBlockEnd: string;
2671 borderBlockEndColor: string;
2672 borderBlockEndStyle: string;
2673 borderBlockEndWidth: string;
2674 borderBlockStart: string;
2675 borderBlockStartColor: string;
2676 borderBlockStartStyle: string;
2677 borderBlockStartWidth: string;
2678 borderBlockStyle: string;
2679 borderBlockWidth: string;
2680 borderBottom: string;
2681 borderBottomColor: string;
2682 borderBottomLeftRadius: string;
2683 borderBottomRightRadius: string;
2684 borderBottomStyle: string;
2685 borderBottomWidth: string;
2686 borderCollapse: string;
2687 borderColor: string;
2688 borderEndEndRadius: string;
2689 borderEndStartRadius: string;
2690 borderImage: string;
2691 borderImageOutset: string;
2692 borderImageRepeat: string;
2693 borderImageSlice: string;
2694 borderImageSource: string;
2695 borderImageWidth: string;
2696 borderInline: string;
2697 borderInlineColor: string;
2698 borderInlineEnd: string;
2699 borderInlineEndColor: string;
2700 borderInlineEndStyle: string;
2701 borderInlineEndWidth: string;
2702 borderInlineStart: string;
2703 borderInlineStartColor: string;
2704 borderInlineStartStyle: string;
2705 borderInlineStartWidth: string;
2706 borderInlineStyle: string;
2707 borderInlineWidth: string;
2709 borderLeftColor: string;
2710 borderLeftStyle: string;
2711 borderLeftWidth: string;
2712 borderRadius: string;
2713 borderRight: string;
2714 borderRightColor: string;
2715 borderRightStyle: string;
2716 borderRightWidth: string;
2717 borderSpacing: string;
2718 borderStartEndRadius: string;
2719 borderStartStartRadius: string;
2720 borderStyle: string;
2722 borderTopColor: string;
2723 borderTopLeftRadius: string;
2724 borderTopRightRadius: string;
2725 borderTopStyle: string;
2726 borderTopWidth: string;
2727 borderWidth: string;
2732 breakBefore: string;
2733 breakInside: string;
2734 captionSide: string;
2742 colorInterpolation: string;
2743 colorInterpolationFilters: string;
2744 colorScheme: string;
2745 columnCount: string;
2749 columnRuleColor: string;
2750 columnRuleStyle: string;
2751 columnRuleWidth: string;
2753 columnWidth: string;
2757 counterIncrement: string;
2758 counterReset: string;
2765 dominantBaseline: string;
2768 fillOpacity: string;
2773 flexDirection: string;
2780 floodOpacity: string;
2783 fontFeatureSettings: string;
2784 fontKerning: string;
2785 fontOpticalSizing: string;
2787 fontSizeAdjust: string;
2788 fontStretch: string;
2790 fontSynthesis: string;
2791 fontVariant: string;
2793 fontVariantAlternates: string;
2794 fontVariantCaps: string;
2795 fontVariantEastAsian: string;
2796 fontVariantLigatures: string;
2797 fontVariantNumeric: string;
2798 fontVariantPosition: string;
2799 fontVariationSettings: string;
2804 gridAutoColumns: string;
2805 gridAutoFlow: string;
2806 gridAutoRows: string;
2808 gridColumnEnd: string;
2809 /** @deprecated This is a legacy alias of `columnGap`. */
2810 gridColumnGap: string;
2811 gridColumnStart: string;
2812 /** @deprecated This is a legacy alias of `gap`. */
2816 /** @deprecated This is a legacy alias of `rowGap`. */
2818 gridRowStart: string;
2819 gridTemplate: string;
2820 gridTemplateAreas: string;
2821 gridTemplateColumns: string;
2822 gridTemplateRows: string;
2826 imageOrientation: string;
2827 imageRendering: string;
2831 insetBlockEnd: string;
2832 insetBlockStart: string;
2833 insetInline: string;
2834 insetInlineEnd: string;
2835 insetInlineStart: string;
2837 justifyContent: string;
2838 justifyItems: string;
2839 justifySelf: string;
2841 readonly length: number;
2842 letterSpacing: string;
2843 lightingColor: string;
2847 listStyleImage: string;
2848 listStylePosition: string;
2849 listStyleType: string;
2851 marginBlock: string;
2852 marginBlockEnd: string;
2853 marginBlockStart: string;
2854 marginBottom: string;
2855 marginInline: string;
2856 marginInlineEnd: string;
2857 marginInlineStart: string;
2859 marginRight: string;
2864 markerStart: string;
2867 maxBlockSize: string;
2869 maxInlineSize: string;
2871 minBlockSize: string;
2873 minInlineSize: string;
2875 mixBlendMode: string;
2877 objectPosition: string;
2879 offsetAnchor: string;
2880 offsetDistance: string;
2882 offsetRotate: string;
2887 outlineColor: string;
2888 outlineOffset: string;
2889 outlineStyle: string;
2890 outlineWidth: string;
2892 overflowAnchor: string;
2893 overflowWrap: string;
2896 overscrollBehavior: string;
2897 overscrollBehaviorBlock: string;
2898 overscrollBehaviorInline: string;
2899 overscrollBehaviorX: string;
2900 overscrollBehaviorY: string;
2902 paddingBlock: string;
2903 paddingBlockEnd: string;
2904 paddingBlockStart: string;
2905 paddingBottom: string;
2906 paddingInline: string;
2907 paddingInlineEnd: string;
2908 paddingInlineStart: string;
2909 paddingLeft: string;
2910 paddingRight: string;
2912 pageBreakAfter: string;
2913 pageBreakBefore: string;
2914 pageBreakInside: string;
2916 readonly parentRule: CSSRule | null;
2917 perspective: string;
2918 perspectiveOrigin: string;
2919 placeContent: string;
2922 pointerEvents: string;
2929 rubyPosition: string;
2931 scrollBehavior: string;
2932 scrollMargin: string;
2933 scrollMarginBlock: string;
2934 scrollMarginBlockEnd: string;
2935 scrollMarginBlockStart: string;
2936 scrollMarginBottom: string;
2937 scrollMarginInline: string;
2938 scrollMarginInlineEnd: string;
2939 scrollMarginInlineStart: string;
2940 scrollMarginLeft: string;
2941 scrollMarginRight: string;
2942 scrollMarginTop: string;
2943 scrollPadding: string;
2944 scrollPaddingBlock: string;
2945 scrollPaddingBlockEnd: string;
2946 scrollPaddingBlockStart: string;
2947 scrollPaddingBottom: string;
2948 scrollPaddingInline: string;
2949 scrollPaddingInlineEnd: string;
2950 scrollPaddingInlineStart: string;
2951 scrollPaddingLeft: string;
2952 scrollPaddingRight: string;
2953 scrollPaddingTop: string;
2954 scrollSnapAlign: string;
2955 scrollSnapStop: string;
2956 scrollSnapType: string;
2957 shapeImageThreshold: string;
2958 shapeMargin: string;
2959 shapeOutside: string;
2960 shapeRendering: string;
2962 stopOpacity: string;
2964 strokeDasharray: string;
2965 strokeDashoffset: string;
2966 strokeLinecap: string;
2967 strokeLinejoin: string;
2968 strokeMiterlimit: string;
2969 strokeOpacity: string;
2970 strokeWidth: string;
2972 tableLayout: string;
2974 textAlignLast: string;
2976 textCombineUpright: string;
2977 textDecoration: string;
2978 textDecorationColor: string;
2979 textDecorationLine: string;
2980 textDecorationSkipInk: string;
2981 textDecorationStyle: string;
2982 textDecorationThickness: string;
2983 textEmphasis: string;
2984 textEmphasisColor: string;
2985 textEmphasisPosition: string;
2986 textEmphasisStyle: string;
2988 textOrientation: string;
2989 textOverflow: string;
2990 textRendering: string;
2992 textTransform: string;
2993 textUnderlineOffset: string;
2994 textUnderlinePosition: string;
2996 touchAction: string;
2998 transformBox: string;
2999 transformOrigin: string;
3000 transformStyle: string;
3002 transitionDelay: string;
3003 transitionDuration: string;
3004 transitionProperty: string;
3005 transitionTimingFunction: string;
3007 unicodeBidi: string;
3009 verticalAlign: string;
3011 /** @deprecated This is a legacy alias of `alignContent`. */
3012 webkitAlignContent: string;
3013 /** @deprecated This is a legacy alias of `alignItems`. */
3014 webkitAlignItems: string;
3015 /** @deprecated This is a legacy alias of `alignSelf`. */
3016 webkitAlignSelf: string;
3017 /** @deprecated This is a legacy alias of `animation`. */
3018 webkitAnimation: string;
3019 /** @deprecated This is a legacy alias of `animationDelay`. */
3020 webkitAnimationDelay: string;
3021 /** @deprecated This is a legacy alias of `animationDirection`. */
3022 webkitAnimationDirection: string;
3023 /** @deprecated This is a legacy alias of `animationDuration`. */
3024 webkitAnimationDuration: string;
3025 /** @deprecated This is a legacy alias of `animationFillMode`. */
3026 webkitAnimationFillMode: string;
3027 /** @deprecated This is a legacy alias of `animationIterationCount`. */
3028 webkitAnimationIterationCount: string;
3029 /** @deprecated This is a legacy alias of `animationName`. */
3030 webkitAnimationName: string;
3031 /** @deprecated This is a legacy alias of `animationPlayState`. */
3032 webkitAnimationPlayState: string;
3033 /** @deprecated This is a legacy alias of `animationTimingFunction`. */
3034 webkitAnimationTimingFunction: string;
3035 /** @deprecated This is a legacy alias of `appearance`. */
3036 webkitAppearance: string;
3037 /** @deprecated This is a legacy alias of `backfaceVisibility`. */
3038 webkitBackfaceVisibility: string;
3039 /** @deprecated This is a legacy alias of `backgroundClip`. */
3040 webkitBackgroundClip: string;
3041 /** @deprecated This is a legacy alias of `backgroundOrigin`. */
3042 webkitBackgroundOrigin: string;
3043 /** @deprecated This is a legacy alias of `backgroundSize`. */
3044 webkitBackgroundSize: string;
3045 /** @deprecated This is a legacy alias of `borderBottomLeftRadius`. */
3046 webkitBorderBottomLeftRadius: string;
3047 /** @deprecated This is a legacy alias of `borderBottomRightRadius`. */
3048 webkitBorderBottomRightRadius: string;
3049 /** @deprecated This is a legacy alias of `borderRadius`. */
3050 webkitBorderRadius: string;
3051 /** @deprecated This is a legacy alias of `borderTopLeftRadius`. */
3052 webkitBorderTopLeftRadius: string;
3053 /** @deprecated This is a legacy alias of `borderTopRightRadius`. */
3054 webkitBorderTopRightRadius: string;
3055 /** @deprecated This is a legacy alias of `boxAlign`. */
3056 webkitBoxAlign: string;
3057 /** @deprecated This is a legacy alias of `boxFlex`. */
3058 webkitBoxFlex: string;
3059 /** @deprecated This is a legacy alias of `boxOrdinalGroup`. */
3060 webkitBoxOrdinalGroup: string;
3061 /** @deprecated This is a legacy alias of `boxOrient`. */
3062 webkitBoxOrient: string;
3063 /** @deprecated This is a legacy alias of `boxPack`. */
3064 webkitBoxPack: string;
3065 /** @deprecated This is a legacy alias of `boxShadow`. */
3066 webkitBoxShadow: string;
3067 /** @deprecated This is a legacy alias of `boxSizing`. */
3068 webkitBoxSizing: string;
3069 /** @deprecated This is a legacy alias of `filter`. */
3070 webkitFilter: string;
3071 /** @deprecated This is a legacy alias of `flex`. */
3073 /** @deprecated This is a legacy alias of `flexBasis`. */
3074 webkitFlexBasis: string;
3075 /** @deprecated This is a legacy alias of `flexDirection`. */
3076 webkitFlexDirection: string;
3077 /** @deprecated This is a legacy alias of `flexFlow`. */
3078 webkitFlexFlow: string;
3079 /** @deprecated This is a legacy alias of `flexGrow`. */
3080 webkitFlexGrow: string;
3081 /** @deprecated This is a legacy alias of `flexShrink`. */
3082 webkitFlexShrink: string;
3083 /** @deprecated This is a legacy alias of `flexWrap`. */
3084 webkitFlexWrap: string;
3085 /** @deprecated This is a legacy alias of `justifyContent`. */
3086 webkitJustifyContent: string;
3087 webkitLineClamp: string;
3088 /** @deprecated This is a legacy alias of `mask`. */
3090 /** @deprecated This is a legacy alias of `maskBorder`. */
3091 webkitMaskBoxImage: string;
3092 /** @deprecated This is a legacy alias of `maskBorderOutset`. */
3093 webkitMaskBoxImageOutset: string;
3094 /** @deprecated This is a legacy alias of `maskBorderRepeat`. */
3095 webkitMaskBoxImageRepeat: string;
3096 /** @deprecated This is a legacy alias of `maskBorderSlice`. */
3097 webkitMaskBoxImageSlice: string;
3098 /** @deprecated This is a legacy alias of `maskBorderSource`. */
3099 webkitMaskBoxImageSource: string;
3100 /** @deprecated This is a legacy alias of `maskBorderWidth`. */
3101 webkitMaskBoxImageWidth: string;
3102 /** @deprecated This is a legacy alias of `maskClip`. */
3103 webkitMaskClip: string;
3104 webkitMaskComposite: string;
3105 /** @deprecated This is a legacy alias of `maskImage`. */
3106 webkitMaskImage: string;
3107 /** @deprecated This is a legacy alias of `maskOrigin`. */
3108 webkitMaskOrigin: string;
3109 /** @deprecated This is a legacy alias of `maskPosition`. */
3110 webkitMaskPosition: string;
3111 /** @deprecated This is a legacy alias of `maskRepeat`. */
3112 webkitMaskRepeat: string;
3113 /** @deprecated This is a legacy alias of `maskSize`. */
3114 webkitMaskSize: string;
3115 /** @deprecated This is a legacy alias of `order`. */
3116 webkitOrder: string;
3117 /** @deprecated This is a legacy alias of `perspective`. */
3118 webkitPerspective: string;
3119 /** @deprecated This is a legacy alias of `perspectiveOrigin`. */
3120 webkitPerspectiveOrigin: string;
3121 webkitTextFillColor: string;
3122 webkitTextStroke: string;
3123 webkitTextStrokeColor: string;
3124 webkitTextStrokeWidth: string;
3125 /** @deprecated This is a legacy alias of `transform`. */
3126 webkitTransform: string;
3127 /** @deprecated This is a legacy alias of `transformOrigin`. */
3128 webkitTransformOrigin: string;
3129 /** @deprecated This is a legacy alias of `transformStyle`. */
3130 webkitTransformStyle: string;
3131 /** @deprecated This is a legacy alias of `transition`. */
3132 webkitTransition: string;
3133 /** @deprecated This is a legacy alias of `transitionDelay`. */
3134 webkitTransitionDelay: string;
3135 /** @deprecated This is a legacy alias of `transitionDuration`. */
3136 webkitTransitionDuration: string;
3137 /** @deprecated This is a legacy alias of `transitionProperty`. */
3138 webkitTransitionProperty: string;
3139 /** @deprecated This is a legacy alias of `transitionTimingFunction`. */
3140 webkitTransitionTimingFunction: string;
3141 /** @deprecated This is a legacy alias of `userSelect`. */
3142 webkitUserSelect: string;
3148 wordSpacing: string;
3151 writingMode: string;
3153 getPropertyPriority(property: string): string;
3154 getPropertyValue(property: string): string;
3155 item(index: number): string;
3156 removeProperty(property: string): string;
3157 setProperty(property: string, value: string | null, priority?: string): void;
3158 [index: number]: string;
3161 declare var CSSStyleDeclaration: {
3162 prototype: CSSStyleDeclaration;
3163 new(): CSSStyleDeclaration;
3166 /** CSSStyleRule represents a single CSS style rule. It implements the CSSRule interface with a type value of 1 (CSSRule.STYLE_RULE). */
3167 interface CSSStyleRule extends CSSRule {
3168 selectorText: string;
3169 readonly style: CSSStyleDeclaration;
3172 declare var CSSStyleRule: {
3173 prototype: CSSStyleRule;
3174 new(): CSSStyleRule;
3177 /** A single CSS style sheet. It inherits properties and methods from its parent, StyleSheet. */
3178 interface CSSStyleSheet extends StyleSheet {
3179 readonly cssRules: CSSRuleList;
3180 readonly ownerRule: CSSRule | null;
3182 readonly rules: CSSRuleList;
3184 addRule(selector?: string, style?: string, index?: number): number;
3185 deleteRule(index: number): void;
3186 insertRule(rule: string, index?: number): number;
3188 removeRule(index?: number): void;
3191 declare var CSSStyleSheet: {
3192 prototype: CSSStyleSheet;
3193 new(options?: CSSStyleSheetInit): CSSStyleSheet;
3196 /** 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). */
3197 interface CSSSupportsRule extends CSSConditionRule {
3200 declare var CSSSupportsRule: {
3201 prototype: CSSSupportsRule;
3202 new(): CSSSupportsRule;
3205 interface CSSTransition extends Animation {
3206 readonly transitionProperty: string;
3207 addEventListener<K extends keyof AnimationEventMap>(type: K, listener: (this: CSSTransition, ev: AnimationEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
3208 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
3209 removeEventListener<K extends keyof AnimationEventMap>(type: K, listener: (this: CSSTransition, ev: AnimationEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
3210 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
3213 declare var CSSTransition: {
3214 prototype: CSSTransition;
3215 new(): CSSTransition;
3219 * 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.
3220 * Available only in secure contexts.
3223 add(request: RequestInfo): Promise<void>;
3224 addAll(requests: RequestInfo[]): Promise<void>;
3225 delete(request: RequestInfo, options?: CacheQueryOptions): Promise<boolean>;
3226 keys(request?: RequestInfo, options?: CacheQueryOptions): Promise<ReadonlyArray<Request>>;
3227 match(request: RequestInfo, options?: CacheQueryOptions): Promise<Response | undefined>;
3228 matchAll(request?: RequestInfo, options?: CacheQueryOptions): Promise<ReadonlyArray<Response>>;
3229 put(request: RequestInfo, response: Response): Promise<void>;
3232 declare var Cache: {
3238 * The storage for Cache objects.
3239 * Available only in secure contexts.
3241 interface CacheStorage {
3242 delete(cacheName: string): Promise<boolean>;
3243 has(cacheName: string): Promise<boolean>;
3244 keys(): Promise<string[]>;
3245 match(request: RequestInfo, options?: MultiCacheQueryOptions): Promise<Response | undefined>;
3246 open(cacheName: string): Promise<Cache>;
3249 declare var CacheStorage: {
3250 prototype: CacheStorage;
3251 new(): CacheStorage;
3254 interface CanvasCompositing {
3255 globalAlpha: number;
3256 globalCompositeOperation: string;
3259 interface CanvasDrawImage {
3260 drawImage(image: CanvasImageSource, dx: number, dy: number): void;
3261 drawImage(image: CanvasImageSource, dx: number, dy: number, dw: number, dh: number): void;
3262 drawImage(image: CanvasImageSource, sx: number, sy: number, sw: number, sh: number, dx: number, dy: number, dw: number, dh: number): void;
3265 interface CanvasDrawPath {
3267 clip(fillRule?: CanvasFillRule): void;
3268 clip(path: Path2D, fillRule?: CanvasFillRule): void;
3269 fill(fillRule?: CanvasFillRule): void;
3270 fill(path: Path2D, fillRule?: CanvasFillRule): void;
3271 isPointInPath(x: number, y: number, fillRule?: CanvasFillRule): boolean;
3272 isPointInPath(path: Path2D, x: number, y: number, fillRule?: CanvasFillRule): boolean;
3273 isPointInStroke(x: number, y: number): boolean;
3274 isPointInStroke(path: Path2D, x: number, y: number): boolean;
3276 stroke(path: Path2D): void;
3279 interface CanvasFillStrokeStyles {
3280 fillStyle: string | CanvasGradient | CanvasPattern;
3281 strokeStyle: string | CanvasGradient | CanvasPattern;
3282 createLinearGradient(x0: number, y0: number, x1: number, y1: number): CanvasGradient;
3283 createPattern(image: CanvasImageSource, repetition: string | null): CanvasPattern | null;
3284 createRadialGradient(x0: number, y0: number, r0: number, x1: number, y1: number, r1: number): CanvasGradient;
3287 interface CanvasFilters {
3291 /** An opaque object describing a gradient. It is returned by the methods CanvasRenderingContext2D.createLinearGradient() or CanvasRenderingContext2D.createRadialGradient(). */
3292 interface CanvasGradient {
3294 * 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.
3296 * Throws an "IndexSizeError" DOMException if the offset is out of range. Throws a "SyntaxError" DOMException if the color cannot be parsed.
3298 addColorStop(offset: number, color: string): void;
3301 declare var CanvasGradient: {
3302 prototype: CanvasGradient;
3303 new(): CanvasGradient;
3306 interface CanvasImageData {
3307 createImageData(sw: number, sh: number, settings?: ImageDataSettings): ImageData;
3308 createImageData(imagedata: ImageData): ImageData;
3309 getImageData(sx: number, sy: number, sw: number, sh: number, settings?: ImageDataSettings): ImageData;
3310 putImageData(imagedata: ImageData, dx: number, dy: number): void;
3311 putImageData(imagedata: ImageData, dx: number, dy: number, dirtyX: number, dirtyY: number, dirtyWidth: number, dirtyHeight: number): void;
3314 interface CanvasImageSmoothing {
3315 imageSmoothingEnabled: boolean;
3316 imageSmoothingQuality: ImageSmoothingQuality;
3319 interface CanvasPath {
3320 arc(x: number, y: number, radius: number, startAngle: number, endAngle: number, counterclockwise?: boolean): void;
3321 arcTo(x1: number, y1: number, x2: number, y2: number, radius: number): void;
3322 bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number): void;
3324 ellipse(x: number, y: number, radiusX: number, radiusY: number, rotation: number, startAngle: number, endAngle: number, counterclockwise?: boolean): void;
3325 lineTo(x: number, y: number): void;
3326 moveTo(x: number, y: number): void;
3327 quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): void;
3328 rect(x: number, y: number, w: number, h: number): void;
3331 interface CanvasPathDrawingStyles {
3332 lineCap: CanvasLineCap;
3333 lineDashOffset: number;
3334 lineJoin: CanvasLineJoin;
3337 getLineDash(): number[];
3338 setLineDash(segments: number[]): void;
3341 /** An opaque object describing a pattern, based on an image, a canvas, or a video, created by the CanvasRenderingContext2D.createPattern() method. */
3342 interface CanvasPattern {
3343 /** Sets the transformation matrix that will be used when rendering the pattern during a fill or stroke painting operation. */
3344 setTransform(transform?: DOMMatrix2DInit): void;
3347 declare var CanvasPattern: {
3348 prototype: CanvasPattern;
3349 new(): CanvasPattern;
3352 interface CanvasRect {
3353 clearRect(x: number, y: number, w: number, h: number): void;
3354 fillRect(x: number, y: number, w: number, h: number): void;
3355 strokeRect(x: number, y: number, w: number, h: number): void;
3358 /** 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. */
3359 interface CanvasRenderingContext2D extends CanvasCompositing, CanvasDrawImage, CanvasDrawPath, CanvasFillStrokeStyles, CanvasFilters, CanvasImageData, CanvasImageSmoothing, CanvasPath, CanvasPathDrawingStyles, CanvasRect, CanvasShadowStyles, CanvasState, CanvasText, CanvasTextDrawingStyles, CanvasTransform, CanvasUserInterface {
3360 readonly canvas: HTMLCanvasElement;
3361 getContextAttributes(): CanvasRenderingContext2DSettings;
3364 declare var CanvasRenderingContext2D: {
3365 prototype: CanvasRenderingContext2D;
3366 new(): CanvasRenderingContext2D;
3369 interface CanvasShadowStyles {
3371 shadowColor: string;
3372 shadowOffsetX: number;
3373 shadowOffsetY: number;
3376 interface CanvasState {
3381 interface CanvasText {
3382 fillText(text: string, x: number, y: number, maxWidth?: number): void;
3383 measureText(text: string): TextMetrics;
3384 strokeText(text: string, x: number, y: number, maxWidth?: number): void;
3387 interface CanvasTextDrawingStyles {
3388 direction: CanvasDirection;
3390 textAlign: CanvasTextAlign;
3391 textBaseline: CanvasTextBaseline;
3394 interface CanvasTransform {
3395 getTransform(): DOMMatrix;
3396 resetTransform(): void;
3397 rotate(angle: number): void;
3398 scale(x: number, y: number): void;
3399 setTransform(a: number, b: number, c: number, d: number, e: number, f: number): void;
3400 setTransform(transform?: DOMMatrix2DInit): void;
3401 transform(a: number, b: number, c: number, d: number, e: number, f: number): void;
3402 translate(x: number, y: number): void;
3405 interface CanvasUserInterface {
3406 drawFocusIfNeeded(element: Element): void;
3407 drawFocusIfNeeded(path: Path2D, element: Element): void;
3410 /** 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. */
3411 interface ChannelMergerNode extends AudioNode {
3414 declare var ChannelMergerNode: {
3415 prototype: ChannelMergerNode;
3416 new(context: BaseAudioContext, options?: ChannelMergerOptions): ChannelMergerNode;
3419 /** 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. */
3420 interface ChannelSplitterNode extends AudioNode {
3423 declare var ChannelSplitterNode: {
3424 prototype: ChannelSplitterNode;
3425 new(context: BaseAudioContext, options?: ChannelSplitterOptions): ChannelSplitterNode;
3428 /** 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. */
3429 interface CharacterData extends Node, ChildNode, NonDocumentTypeChildNode {
3431 readonly length: number;
3432 readonly ownerDocument: Document;
3433 appendData(data: string): void;
3434 deleteData(offset: number, count: number): void;
3435 insertData(offset: number, data: string): void;
3436 replaceData(offset: number, count: number, data: string): void;
3437 substringData(offset: number, count: number): string;
3440 declare var CharacterData: {
3441 prototype: CharacterData;
3442 new(): CharacterData;
3445 interface ChildNode extends Node {
3447 * Inserts nodes just after node, while replacing strings in nodes with equivalent Text nodes.
3449 * Throws a "HierarchyRequestError" DOMException if the constraints of the node tree are violated.
3451 after(...nodes: (Node | string)[]): void;
3453 * Inserts nodes just before node, while replacing strings in nodes with equivalent Text nodes.
3455 * Throws a "HierarchyRequestError" DOMException if the constraints of the node tree are violated.
3457 before(...nodes: (Node | string)[]): void;
3458 /** Removes node. */
3461 * Replaces node with nodes, while replacing strings in nodes with equivalent Text nodes.
3463 * Throws a "HierarchyRequestError" DOMException if the constraints of the node tree are violated.
3465 replaceWith(...nodes: (Node | string)[]): void;
3469 interface ClientRect extends DOMRect {
3472 /** Available only in secure contexts. */
3473 interface Clipboard extends EventTarget {
3474 read(): Promise<ClipboardItems>;
3475 readText(): Promise<string>;
3476 write(data: ClipboardItems): Promise<void>;
3477 writeText(data: string): Promise<void>;
3480 declare var Clipboard: {
3481 prototype: Clipboard;
3485 /** Events providing information related to modification of the clipboard, that is cut, copy, and paste events. */
3486 interface ClipboardEvent extends Event {
3487 readonly clipboardData: DataTransfer | null;
3490 declare var ClipboardEvent: {
3491 prototype: ClipboardEvent;
3492 new(type: string, eventInitDict?: ClipboardEventInit): ClipboardEvent;
3495 interface ClipboardItem {
3496 readonly types: ReadonlyArray<string>;
3497 getType(type: string): Promise<Blob>;
3500 declare var ClipboardItem: {
3501 prototype: ClipboardItem;
3502 new(items: Record<string, ClipboardItemDataType | PromiseLike<ClipboardItemDataType>>, options?: ClipboardItemOptions): ClipboardItem;
3505 /** 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. */
3506 interface CloseEvent extends Event {
3507 /** Returns the WebSocket connection close code provided by the server. */
3508 readonly code: number;
3509 /** Returns the WebSocket connection close reason provided by the server. */
3510 readonly reason: string;
3511 /** Returns true if the connection closed cleanly; false otherwise. */
3512 readonly wasClean: boolean;
3515 declare var CloseEvent: {
3516 prototype: CloseEvent;
3517 new(type: string, eventInitDict?: CloseEventInit): CloseEvent;
3520 /** Textual notations within markup; although it is generally not visually shown, such comments are available to be read in the source view. */
3521 interface Comment extends CharacterData {
3524 declare var Comment: {
3526 new(data?: string): Comment;
3529 /** The DOM CompositionEvent represents events that occur due to the user indirectly entering text. */
3530 interface CompositionEvent extends UIEvent {
3531 readonly data: string;
3533 initCompositionEvent(typeArg: string, bubblesArg?: boolean, cancelableArg?: boolean, viewArg?: WindowProxy | null, dataArg?: string): void;
3536 declare var CompositionEvent: {
3537 prototype: CompositionEvent;
3538 new(type: string, eventInitDict?: CompositionEventInit): CompositionEvent;
3541 interface ConstantSourceNode extends AudioScheduledSourceNode {
3542 readonly offset: AudioParam;
3543 addEventListener<K extends keyof AudioScheduledSourceNodeEventMap>(type: K, listener: (this: ConstantSourceNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
3544 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
3545 removeEventListener<K extends keyof AudioScheduledSourceNodeEventMap>(type: K, listener: (this: ConstantSourceNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
3546 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
3549 declare var ConstantSourceNode: {
3550 prototype: ConstantSourceNode;
3551 new(context: BaseAudioContext, options?: ConstantSourceOptions): ConstantSourceNode;
3554 /** 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. */
3555 interface ConvolverNode extends AudioNode {
3556 buffer: AudioBuffer | null;
3560 declare var ConvolverNode: {
3561 prototype: ConvolverNode;
3562 new(context: BaseAudioContext, options?: ConvolverOptions): ConvolverNode;
3565 /** This Streams API interface provides a built-in byte length queuing strategy that can be used when constructing streams. */
3566 interface CountQueuingStrategy extends QueuingStrategy {
3567 readonly highWaterMark: number;
3568 readonly size: QueuingStrategySize;
3571 declare var CountQueuingStrategy: {
3572 prototype: CountQueuingStrategy;
3573 new(init: QueuingStrategyInit): CountQueuingStrategy;
3576 /** Available only in secure contexts. */
3577 interface Credential {
3578 readonly id: string;
3579 readonly type: string;
3582 declare var Credential: {
3583 prototype: Credential;
3587 /** Available only in secure contexts. */
3588 interface CredentialsContainer {
3589 create(options?: CredentialCreationOptions): Promise<Credential | null>;
3590 get(options?: CredentialRequestOptions): Promise<Credential | null>;
3591 preventSilentAccess(): Promise<void>;
3592 store(credential: Credential): Promise<Credential>;
3595 declare var CredentialsContainer: {
3596 prototype: CredentialsContainer;
3597 new(): CredentialsContainer;
3600 /** Basic cryptography features available in the current context. It allows access to a cryptographically strong random number generator and to cryptographic primitives. */
3602 /** Available only in secure contexts. */
3603 readonly subtle: SubtleCrypto;
3604 getRandomValues<T extends ArrayBufferView | null>(array: T): T;
3607 declare var Crypto: {
3613 * The CryptoKey dictionary of the Web Crypto API represents a cryptographic key.
3614 * Available only in secure contexts.
3616 interface CryptoKey {
3617 readonly algorithm: KeyAlgorithm;
3618 readonly extractable: boolean;
3619 readonly type: KeyType;
3620 readonly usages: KeyUsage[];
3623 declare var CryptoKey: {
3624 prototype: CryptoKey;
3628 interface CustomElementRegistry {
3629 define(name: string, constructor: CustomElementConstructor, options?: ElementDefinitionOptions): void;
3630 get(name: string): CustomElementConstructor | undefined;
3631 upgrade(root: Node): void;
3632 whenDefined(name: string): Promise<CustomElementConstructor>;
3635 declare var CustomElementRegistry: {
3636 prototype: CustomElementRegistry;
3637 new(): CustomElementRegistry;
3640 interface CustomEvent<T = any> extends Event {
3641 /** Returns any custom data event was created with. Typically used for synthetic events. */
3644 initCustomEvent(type: string, bubbles?: boolean, cancelable?: boolean, detail?: T): void;
3647 declare var CustomEvent: {
3648 prototype: CustomEvent;
3649 new<T>(type: string, eventInitDict?: CustomEventInit<T>): CustomEvent<T>;
3652 /** An abnormal event (called an exception) which occurs as a result of calling a method or accessing a property of a web API. */
3653 interface DOMException extends Error {
3654 readonly code: number;
3655 readonly message: string;
3656 readonly name: string;
3657 readonly ABORT_ERR: number;
3658 readonly DATA_CLONE_ERR: number;
3659 readonly DOMSTRING_SIZE_ERR: number;
3660 readonly HIERARCHY_REQUEST_ERR: number;
3661 readonly INDEX_SIZE_ERR: number;
3662 readonly INUSE_ATTRIBUTE_ERR: number;
3663 readonly INVALID_ACCESS_ERR: number;
3664 readonly INVALID_CHARACTER_ERR: number;
3665 readonly INVALID_MODIFICATION_ERR: number;
3666 readonly INVALID_NODE_TYPE_ERR: number;
3667 readonly INVALID_STATE_ERR: number;
3668 readonly NAMESPACE_ERR: number;
3669 readonly NETWORK_ERR: number;
3670 readonly NOT_FOUND_ERR: number;
3671 readonly NOT_SUPPORTED_ERR: number;
3672 readonly NO_DATA_ALLOWED_ERR: number;
3673 readonly NO_MODIFICATION_ALLOWED_ERR: number;
3674 readonly QUOTA_EXCEEDED_ERR: number;
3675 readonly SECURITY_ERR: number;
3676 readonly SYNTAX_ERR: number;
3677 readonly TIMEOUT_ERR: number;
3678 readonly TYPE_MISMATCH_ERR: number;
3679 readonly URL_MISMATCH_ERR: number;
3680 readonly VALIDATION_ERR: number;
3681 readonly WRONG_DOCUMENT_ERR: number;
3684 declare var DOMException: {
3685 prototype: DOMException;
3686 new(message?: string, name?: string): DOMException;
3687 readonly ABORT_ERR: number;
3688 readonly DATA_CLONE_ERR: number;
3689 readonly DOMSTRING_SIZE_ERR: number;
3690 readonly HIERARCHY_REQUEST_ERR: number;
3691 readonly INDEX_SIZE_ERR: number;
3692 readonly INUSE_ATTRIBUTE_ERR: number;
3693 readonly INVALID_ACCESS_ERR: number;
3694 readonly INVALID_CHARACTER_ERR: number;
3695 readonly INVALID_MODIFICATION_ERR: number;
3696 readonly INVALID_NODE_TYPE_ERR: number;
3697 readonly INVALID_STATE_ERR: number;
3698 readonly NAMESPACE_ERR: number;
3699 readonly NETWORK_ERR: number;
3700 readonly NOT_FOUND_ERR: number;
3701 readonly NOT_SUPPORTED_ERR: number;
3702 readonly NO_DATA_ALLOWED_ERR: number;
3703 readonly NO_MODIFICATION_ALLOWED_ERR: number;
3704 readonly QUOTA_EXCEEDED_ERR: number;
3705 readonly SECURITY_ERR: number;
3706 readonly SYNTAX_ERR: number;
3707 readonly TIMEOUT_ERR: number;
3708 readonly TYPE_MISMATCH_ERR: number;
3709 readonly URL_MISMATCH_ERR: number;
3710 readonly VALIDATION_ERR: number;
3711 readonly WRONG_DOCUMENT_ERR: number;
3714 /** An object providing methods which are not dependent on any particular document. Such an object is returned by the Document.implementation property. */
3715 interface DOMImplementation {
3716 createDocument(namespace: string | null, qualifiedName: string | null, doctype?: DocumentType | null): XMLDocument;
3717 createDocumentType(qualifiedName: string, publicId: string, systemId: string): DocumentType;
3718 createHTMLDocument(title?: string): Document;
3720 hasFeature(...args: any[]): true;
3723 declare var DOMImplementation: {
3724 prototype: DOMImplementation;
3725 new(): DOMImplementation;
3728 interface DOMMatrix extends DOMMatrixReadOnly {
3751 invertSelf(): DOMMatrix;
3752 multiplySelf(other?: DOMMatrixInit): DOMMatrix;
3753 preMultiplySelf(other?: DOMMatrixInit): DOMMatrix;
3754 rotateAxisAngleSelf(x?: number, y?: number, z?: number, angle?: number): DOMMatrix;
3755 rotateFromVectorSelf(x?: number, y?: number): DOMMatrix;
3756 rotateSelf(rotX?: number, rotY?: number, rotZ?: number): DOMMatrix;
3757 scale3dSelf(scale?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix;
3758 scaleSelf(scaleX?: number, scaleY?: number, scaleZ?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix;
3759 setMatrixValue(transformList: string): DOMMatrix;
3760 skewXSelf(sx?: number): DOMMatrix;
3761 skewYSelf(sy?: number): DOMMatrix;
3762 translateSelf(tx?: number, ty?: number, tz?: number): DOMMatrix;
3765 declare var DOMMatrix: {
3766 prototype: DOMMatrix;
3767 new(init?: string | number[]): DOMMatrix;
3768 fromFloat32Array(array32: Float32Array): DOMMatrix;
3769 fromFloat64Array(array64: Float64Array): DOMMatrix;
3770 fromMatrix(other?: DOMMatrixInit): DOMMatrix;
3773 type SVGMatrix = DOMMatrix;
3774 declare var SVGMatrix: typeof DOMMatrix;
3776 type WebKitCSSMatrix = DOMMatrix;
3777 declare var WebKitCSSMatrix: typeof DOMMatrix;
3779 interface DOMMatrixReadOnly {
3786 readonly is2D: boolean;
3787 readonly isIdentity: boolean;
3788 readonly m11: number;
3789 readonly m12: number;
3790 readonly m13: number;
3791 readonly m14: number;
3792 readonly m21: number;
3793 readonly m22: number;
3794 readonly m23: number;
3795 readonly m24: number;
3796 readonly m31: number;
3797 readonly m32: number;
3798 readonly m33: number;
3799 readonly m34: number;
3800 readonly m41: number;
3801 readonly m42: number;
3802 readonly m43: number;
3803 readonly m44: number;
3806 inverse(): DOMMatrix;
3807 multiply(other?: DOMMatrixInit): DOMMatrix;
3808 rotate(rotX?: number, rotY?: number, rotZ?: number): DOMMatrix;
3809 rotateAxisAngle(x?: number, y?: number, z?: number, angle?: number): DOMMatrix;
3810 rotateFromVector(x?: number, y?: number): DOMMatrix;
3811 scale(scaleX?: number, scaleY?: number, scaleZ?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix;
3812 scale3d(scale?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix;
3814 scaleNonUniform(scaleX?: number, scaleY?: number): DOMMatrix;
3815 skewX(sx?: number): DOMMatrix;
3816 skewY(sy?: number): DOMMatrix;
3817 toFloat32Array(): Float32Array;
3818 toFloat64Array(): Float64Array;
3820 transformPoint(point?: DOMPointInit): DOMPoint;
3821 translate(tx?: number, ty?: number, tz?: number): DOMMatrix;
3825 declare var DOMMatrixReadOnly: {
3826 prototype: DOMMatrixReadOnly;
3827 new(init?: string | number[]): DOMMatrixReadOnly;
3828 fromFloat32Array(array32: Float32Array): DOMMatrixReadOnly;
3829 fromFloat64Array(array64: Float64Array): DOMMatrixReadOnly;
3830 fromMatrix(other?: DOMMatrixInit): DOMMatrixReadOnly;
3834 /** Provides the ability to parse XML or HTML source code from a string into a DOM Document. */
3835 interface DOMParser {
3837 * Parses string using either the HTML or XML parser, according to type, and returns the resulting Document. type can be "text/html" (which will invoke the HTML parser), or any of "text/xml", "application/xml", "application/xhtml+xml", or "image/svg+xml" (which will invoke the XML parser).
3839 * For the XML parser, if string cannot be parsed, then the returned Document will contain elements describing the resulting error.
3841 * Note that script elements are not evaluated during parsing, and the resulting document's encoding will always be UTF-8.
3843 * Values other than the above for type will cause a TypeError exception to be thrown.
3845 parseFromString(string: string, type: DOMParserSupportedType): Document;
3848 declare var DOMParser: {
3849 prototype: DOMParser;
3853 interface DOMPoint extends DOMPointReadOnly {
3860 declare var DOMPoint: {
3861 prototype: DOMPoint;
3862 new(x?: number, y?: number, z?: number, w?: number): DOMPoint;
3863 fromPoint(other?: DOMPointInit): DOMPoint;
3866 type SVGPoint = DOMPoint;
3867 declare var SVGPoint: typeof DOMPoint;
3869 interface DOMPointReadOnly {
3874 matrixTransform(matrix?: DOMMatrixInit): DOMPoint;
3878 declare var DOMPointReadOnly: {
3879 prototype: DOMPointReadOnly;
3880 new(x?: number, y?: number, z?: number, w?: number): DOMPointReadOnly;
3881 fromPoint(other?: DOMPointInit): DOMPointReadOnly;
3885 readonly p1: DOMPoint;
3886 readonly p2: DOMPoint;
3887 readonly p3: DOMPoint;
3888 readonly p4: DOMPoint;
3889 getBounds(): DOMRect;
3893 declare var DOMQuad: {
3895 new(p1?: DOMPointInit, p2?: DOMPointInit, p3?: DOMPointInit, p4?: DOMPointInit): DOMQuad;
3896 fromQuad(other?: DOMQuadInit): DOMQuad;
3897 fromRect(other?: DOMRectInit): DOMQuad;
3900 interface DOMRect extends DOMRectReadOnly {
3907 declare var DOMRect: {
3909 new(x?: number, y?: number, width?: number, height?: number): DOMRect;
3910 fromRect(other?: DOMRectInit): DOMRect;
3913 type SVGRect = DOMRect;
3914 declare var SVGRect: typeof DOMRect;
3916 interface DOMRectList {
3917 readonly length: number;
3918 item(index: number): DOMRect | null;
3919 [index: number]: DOMRect;
3922 declare var DOMRectList: {
3923 prototype: DOMRectList;
3927 interface DOMRectReadOnly {
3928 readonly bottom: number;
3929 readonly height: number;
3930 readonly left: number;
3931 readonly right: number;
3932 readonly top: number;
3933 readonly width: number;
3939 declare var DOMRectReadOnly: {
3940 prototype: DOMRectReadOnly;
3941 new(x?: number, y?: number, width?: number, height?: number): DOMRectReadOnly;
3942 fromRect(other?: DOMRectInit): DOMRectReadOnly;
3945 /** A type returned by some APIs which contains a list of DOMString (strings). */
3946 interface DOMStringList {
3947 /** Returns the number of strings in strings. */
3948 readonly length: number;
3949 /** Returns true if strings contains string, and false otherwise. */
3950 contains(string: string): boolean;
3951 /** Returns the string with index index from strings. */
3952 item(index: number): string | null;
3953 [index: number]: string;
3956 declare var DOMStringList: {
3957 prototype: DOMStringList;
3958 new(): DOMStringList;
3961 /** Used by the dataset HTML attribute to represent data for custom attributes added to elements. */
3962 interface DOMStringMap {
3963 [name: string]: string | undefined;
3966 declare var DOMStringMap: {
3967 prototype: DOMStringMap;
3968 new(): DOMStringMap;
3971 /** 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. */
3972 interface DOMTokenList {
3973 /** Returns the number of tokens. */
3974 readonly length: number;
3976 * Returns the associated set as string.
3978 * Can be set, to change the associated attribute.
3983 * Adds all arguments passed, except those already present.
3985 * Throws a "SyntaxError" DOMException if one of the arguments is the empty string.
3987 * Throws an "InvalidCharacterError" DOMException if one of the arguments contains any ASCII whitespace.
3989 add(...tokens: string[]): void;
3990 /** Returns true if token is present, and false otherwise. */
3991 contains(token: string): boolean;
3992 /** Returns the token with index index. */
3993 item(index: number): string | null;
3995 * Removes arguments passed, if they are present.
3997 * Throws a "SyntaxError" DOMException if one of the arguments is the empty string.
3999 * Throws an "InvalidCharacterError" DOMException if one of the arguments contains any ASCII whitespace.
4001 remove(...tokens: string[]): void;
4003 * Replaces token with newToken.
4005 * Returns true if token was replaced with newToken, and false otherwise.
4007 * Throws a "SyntaxError" DOMException if one of the arguments is the empty string.
4009 * Throws an "InvalidCharacterError" DOMException if one of the arguments contains any ASCII whitespace.
4011 replace(token: string, newToken: string): boolean;
4013 * Returns true if token is in the associated attribute's supported tokens. Returns false otherwise.
4015 * Throws a TypeError if the associated attribute has no supported tokens defined.
4017 supports(token: string): boolean;
4019 * 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()).
4021 * Returns true if token is now present, and false otherwise.
4023 * Throws a "SyntaxError" DOMException if token is empty.
4025 * Throws an "InvalidCharacterError" DOMException if token contains any spaces.
4027 toggle(token: string, force?: boolean): boolean;
4028 forEach(callbackfn: (value: string, key: number, parent: DOMTokenList) => void, thisArg?: any): void;
4029 [index: number]: string;
4032 declare var DOMTokenList: {
4033 prototype: DOMTokenList;
4034 new(): DOMTokenList;
4037 /** 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. */
4038 interface DataTransfer {
4040 * 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.
4042 * Can be set, to change the selected operation.
4044 * The possible values are "none", "copy", "link", and "move".
4046 dropEffect: "none" | "copy" | "link" | "move";
4048 * Returns the kinds of operations that are to be allowed.
4050 * Can be set (during the dragstart event), to change the allowed operations.
4052 * The possible values are "none", "copy", "copyLink", "copyMove", "link", "linkMove", "move", "all", and "uninitialized",
4054 effectAllowed: "none" | "copy" | "copyLink" | "copyMove" | "link" | "linkMove" | "move" | "all" | "uninitialized";
4055 /** Returns a FileList of the files being dragged, if any. */
4056 readonly files: FileList;
4057 /** Returns a DataTransferItemList object, with the drag data. */
4058 readonly items: DataTransferItemList;
4059 /** 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". */
4060 readonly types: ReadonlyArray<string>;
4061 /** Removes the data of the specified formats. Removes all data if the argument is omitted. */
4062 clearData(format?: string): void;
4063 /** Returns the specified data. If there is no such data, returns the empty string. */
4064 getData(format: string): string;
4065 /** Adds the specified data. */
4066 setData(format: string, data: string): void;
4067 /** Uses the given element to update the drag feedback, replacing any previously specified feedback. */
4068 setDragImage(image: Element, x: number, y: number): void;
4071 declare var DataTransfer: {
4072 prototype: DataTransfer;
4073 new(): DataTransfer;
4076 /** 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. */
4077 interface DataTransferItem {
4078 /** Returns the drag data item kind, one of: "string", "file". */
4079 readonly kind: string;
4080 /** Returns the drag data item type string. */
4081 readonly type: string;
4082 /** Returns a File object, if the drag data item kind is File. */
4083 getAsFile(): File | null;
4084 /** Invokes the callback with the string data as the argument, if the drag data item kind is text. */
4085 getAsString(callback: FunctionStringCallback | null): void;
4086 webkitGetAsEntry(): FileSystemEntry | null;
4089 declare var DataTransferItem: {
4090 prototype: DataTransferItem;
4091 new(): DataTransferItem;
4094 /** 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. */
4095 interface DataTransferItemList {
4096 /** Returns the number of items in the drag data store. */
4097 readonly length: number;
4098 /** 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. */
4099 add(data: string, type: string): DataTransferItem | null;
4100 add(data: File): DataTransferItem | null;
4101 /** Removes all the entries in the drag data store. */
4103 /** Removes the indexth entry in the drag data store. */
4104 remove(index: number): void;
4105 [index: number]: DataTransferItem;
4108 declare var DataTransferItemList: {
4109 prototype: DataTransferItemList;
4110 new(): DataTransferItemList;
4113 /** 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. */
4114 interface DelayNode extends AudioNode {
4115 readonly delayTime: AudioParam;
4118 declare var DelayNode: {
4119 prototype: DelayNode;
4120 new(context: BaseAudioContext, options?: DelayOptions): DelayNode;
4124 * The DeviceMotionEvent provides web developers with information about the speed of changes for the device's position and orientation.
4125 * Available only in secure contexts.
4127 interface DeviceMotionEvent extends Event {
4128 readonly acceleration: DeviceMotionEventAcceleration | null;
4129 readonly accelerationIncludingGravity: DeviceMotionEventAcceleration | null;
4130 readonly interval: number;
4131 readonly rotationRate: DeviceMotionEventRotationRate | null;
4134 declare var DeviceMotionEvent: {
4135 prototype: DeviceMotionEvent;
4136 new(type: string, eventInitDict?: DeviceMotionEventInit): DeviceMotionEvent;
4139 /** Available only in secure contexts. */
4140 interface DeviceMotionEventAcceleration {
4141 readonly x: number | null;
4142 readonly y: number | null;
4143 readonly z: number | null;
4146 /** Available only in secure contexts. */
4147 interface DeviceMotionEventRotationRate {
4148 readonly alpha: number | null;
4149 readonly beta: number | null;
4150 readonly gamma: number | null;
4154 * The DeviceOrientationEvent provides web developers with information from the physical orientation of the device running the web page.
4155 * Available only in secure contexts.
4157 interface DeviceOrientationEvent extends Event {
4158 readonly absolute: boolean;
4159 readonly alpha: number | null;
4160 readonly beta: number | null;
4161 readonly gamma: number | null;
4164 declare var DeviceOrientationEvent: {
4165 prototype: DeviceOrientationEvent;
4166 new(type: string, eventInitDict?: DeviceOrientationEventInit): DeviceOrientationEvent;
4169 interface DocumentEventMap extends DocumentAndElementEventHandlersEventMap, GlobalEventHandlersEventMap {
4170 "fullscreenchange": Event;
4171 "fullscreenerror": Event;
4172 "pointerlockchange": Event;
4173 "pointerlockerror": Event;
4174 "readystatechange": Event;
4175 "visibilitychange": Event;
4178 /** Any web page loaded in the browser and serves as an entry point into the web page's content, which is the DOM tree. */
4179 interface Document extends Node, DocumentAndElementEventHandlers, DocumentOrShadowRoot, FontFaceSource, GlobalEventHandlers, NonElementParentNode, ParentNode, XPathEvaluatorBase {
4180 /** Sets or gets the URL for the current document. */
4181 readonly URL: string;
4183 * Sets or gets the color of all active links in the document.
4188 * Returns a reference to the collection of elements contained by the object.
4191 readonly all: HTMLAllCollection;
4193 * Retrieves a collection of all a objects that have a name and/or id property. Objects in this collection are in HTML source order.
4196 readonly anchors: HTMLCollectionOf<HTMLAnchorElement>;
4198 * Retrieves a collection of all applet objects in the document.
4201 readonly applets: HTMLCollection;
4203 * Deprecated. Sets or retrieves a value that indicates the background color behind the object.
4207 /** Specifies the beginning and end of the document body. */
4209 /** Returns document's encoding. */
4210 readonly characterSet: string;
4212 * Gets or sets the character set used to encode the object.
4213 * @deprecated This is a legacy alias of `characterSet`.
4215 readonly charset: string;
4216 /** Gets a value that indicates whether standards-compliant mode is switched on for the object. */
4217 readonly compatMode: string;
4218 /** Returns document's content type. */
4219 readonly contentType: string;
4221 * 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.
4223 * Can be set, to add a new cookie to the element's set of HTTP cookies.
4225 * 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.
4229 * 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.
4231 * 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.
4233 readonly currentScript: HTMLOrSVGScriptElement | null;
4234 /** Returns the Window object of the active document. */
4235 readonly defaultView: (WindowProxy & typeof globalThis) | null;
4236 /** Sets or gets a value that indicates whether the document can be edited. */
4238 /** Sets or retrieves a value that indicates the reading order of the object. */
4240 /** Gets an object representing the document type declaration associated with the current document. */
4241 readonly doctype: DocumentType | null;
4242 /** Gets a reference to the root node of the document. */
4243 readonly documentElement: HTMLElement;
4244 /** Returns document's URL. */
4245 readonly documentURI: string;
4246 /** Sets or gets the security domain of the document. */
4248 /** Retrieves a collection of all embed objects in the document. */
4249 readonly embeds: HTMLCollectionOf<HTMLEmbedElement>;
4251 * Sets or gets the foreground (text) color of the document.
4255 /** Retrieves a collection, in source order, of all form objects in the document. */
4256 readonly forms: HTMLCollectionOf<HTMLFormElement>;
4258 readonly fullscreen: boolean;
4259 /** Returns true if document has the ability to display elements fullscreen and fullscreen is supported, or false otherwise. */
4260 readonly fullscreenEnabled: boolean;
4261 /** Returns the head element. */
4262 readonly head: HTMLHeadElement;
4263 readonly hidden: boolean;
4264 /** Retrieves a collection, in source order, of img objects in the document. */
4265 readonly images: HTMLCollectionOf<HTMLImageElement>;
4266 /** Gets the implementation object of the current document. */
4267 readonly implementation: DOMImplementation;
4269 * Returns the character encoding used to create the webpage that is loaded into the document object.
4270 * @deprecated This is a legacy alias of `characterSet`.
4272 readonly inputEncoding: string;
4273 /** Gets the date that the page was last modified, if the page supplies one. */
4274 readonly lastModified: string;
4276 * Sets or gets the color of the document links.
4280 /** Retrieves a collection of all a objects that specify the href property and all area objects in the document. */
4281 readonly links: HTMLCollectionOf<HTMLAnchorElement | HTMLAreaElement>;
4282 /** Contains information about the current URL. */
4283 get location(): Location;
4284 set location(href: string | Location);
4285 onfullscreenchange: ((this: Document, ev: Event) => any) | null;
4286 onfullscreenerror: ((this: Document, ev: Event) => any) | null;
4287 onpointerlockchange: ((this: Document, ev: Event) => any) | null;
4288 onpointerlockerror: ((this: Document, ev: Event) => any) | null;
4290 * Fires when the state of the object has changed.
4291 * @param ev The event
4293 onreadystatechange: ((this: Document, ev: Event) => any) | null;
4294 onvisibilitychange: ((this: Document, ev: Event) => any) | null;
4295 readonly ownerDocument: null;
4296 readonly pictureInPictureEnabled: boolean;
4297 /** Return an HTMLCollection of the embed elements in the Document. */
4298 readonly plugins: HTMLCollectionOf<HTMLEmbedElement>;
4299 /** Retrieves a value that indicates the current state of the object. */
4300 readonly readyState: DocumentReadyState;
4301 /** Gets the URL of the location that referred the user to the current page. */
4302 readonly referrer: string;
4304 readonly rootElement: SVGSVGElement | null;
4305 /** Retrieves a collection of all script objects in the document. */
4306 readonly scripts: HTMLCollectionOf<HTMLScriptElement>;
4307 readonly scrollingElement: Element | null;
4308 readonly timeline: DocumentTimeline;
4309 /** Contains the title of the document. */
4311 readonly visibilityState: VisibilityState;
4313 * Sets or gets the color of the links that the user has visited.
4318 * Moves node from another document and returns it.
4320 * If node is a document, throws a "NotSupportedError" DOMException or, if node is a shadow root, throws a "HierarchyRequestError" DOMException.
4322 adoptNode<T extends Node>(node: T): T;
4324 captureEvents(): void;
4326 caretRangeFromPoint(x: number, y: number): Range | null;
4329 /** Closes an output stream and forces the sent data to display. */
4332 * Creates an attribute object with a specified name.
4333 * @param name String that sets the attribute object's name.
4335 createAttribute(localName: string): Attr;
4336 createAttributeNS(namespace: string | null, qualifiedName: string): Attr;
4337 /** Returns a CDATASection node whose data is data. */
4338 createCDATASection(data: string): CDATASection;
4340 * Creates a comment object with the specified data.
4341 * @param data Sets the comment object's data.
4343 createComment(data: string): Comment;
4344 /** Creates a new document. */
4345 createDocumentFragment(): DocumentFragment;
4347 * Creates an instance of the element for the specified tag.
4348 * @param tagName The name of an element.
4350 createElement<K extends keyof HTMLElementTagNameMap>(tagName: K, options?: ElementCreationOptions): HTMLElementTagNameMap[K];
4352 createElement<K extends keyof HTMLElementDeprecatedTagNameMap>(tagName: K, options?: ElementCreationOptions): HTMLElementDeprecatedTagNameMap[K];
4353 createElement(tagName: string, options?: ElementCreationOptions): HTMLElement;
4355 * 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.
4357 * If localName does not match the Name production an "InvalidCharacterError" DOMException will be thrown.
4359 * If one of the following conditions is true a "NamespaceError" DOMException will be thrown:
4361 * localName does not match the QName production.
4362 * Namespace prefix is not null and namespace is the empty string.
4363 * Namespace prefix is "xml" and namespace is not the XML namespace.
4364 * qualifiedName or namespace prefix is "xmlns" and namespace is not the XMLNS namespace.
4365 * namespace is the XMLNS namespace and neither qualifiedName nor namespace prefix is "xmlns".
4367 * When supplied, options's is can be used to create a customized built-in element.
4369 createElementNS(namespaceURI: "http://www.w3.org/1999/xhtml", qualifiedName: string): HTMLElement;
4370 createElementNS<K extends keyof SVGElementTagNameMap>(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: K): SVGElementTagNameMap[K];
4371 createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: string): SVGElement;
4372 createElementNS(namespaceURI: string | null, qualifiedName: string, options?: ElementCreationOptions): Element;
4373 createElementNS(namespace: string | null, qualifiedName: string, options?: string | ElementCreationOptions): Element;
4374 createEvent(eventInterface: "AnimationEvent"): AnimationEvent;
4375 createEvent(eventInterface: "AnimationPlaybackEvent"): AnimationPlaybackEvent;
4376 createEvent(eventInterface: "AudioProcessingEvent"): AudioProcessingEvent;
4377 createEvent(eventInterface: "BeforeUnloadEvent"): BeforeUnloadEvent;
4378 createEvent(eventInterface: "BlobEvent"): BlobEvent;
4379 createEvent(eventInterface: "ClipboardEvent"): ClipboardEvent;
4380 createEvent(eventInterface: "CloseEvent"): CloseEvent;
4381 createEvent(eventInterface: "CompositionEvent"): CompositionEvent;
4382 createEvent(eventInterface: "CustomEvent"): CustomEvent;
4383 createEvent(eventInterface: "DeviceMotionEvent"): DeviceMotionEvent;
4384 createEvent(eventInterface: "DeviceOrientationEvent"): DeviceOrientationEvent;
4385 createEvent(eventInterface: "DragEvent"): DragEvent;
4386 createEvent(eventInterface: "ErrorEvent"): ErrorEvent;
4387 createEvent(eventInterface: "FocusEvent"): FocusEvent;
4388 createEvent(eventInterface: "FontFaceSetLoadEvent"): FontFaceSetLoadEvent;
4389 createEvent(eventInterface: "FormDataEvent"): FormDataEvent;
4390 createEvent(eventInterface: "GamepadEvent"): GamepadEvent;
4391 createEvent(eventInterface: "HashChangeEvent"): HashChangeEvent;
4392 createEvent(eventInterface: "IDBVersionChangeEvent"): IDBVersionChangeEvent;
4393 createEvent(eventInterface: "InputEvent"): InputEvent;
4394 createEvent(eventInterface: "KeyboardEvent"): KeyboardEvent;
4395 createEvent(eventInterface: "MediaEncryptedEvent"): MediaEncryptedEvent;
4396 createEvent(eventInterface: "MediaKeyMessageEvent"): MediaKeyMessageEvent;
4397 createEvent(eventInterface: "MediaQueryListEvent"): MediaQueryListEvent;
4398 createEvent(eventInterface: "MediaRecorderErrorEvent"): MediaRecorderErrorEvent;
4399 createEvent(eventInterface: "MediaStreamTrackEvent"): MediaStreamTrackEvent;
4400 createEvent(eventInterface: "MessageEvent"): MessageEvent;
4401 createEvent(eventInterface: "MouseEvent"): MouseEvent;
4402 createEvent(eventInterface: "MouseEvents"): MouseEvent;
4403 createEvent(eventInterface: "MutationEvent"): MutationEvent;
4404 createEvent(eventInterface: "MutationEvents"): MutationEvent;
4405 createEvent(eventInterface: "OfflineAudioCompletionEvent"): OfflineAudioCompletionEvent;
4406 createEvent(eventInterface: "PageTransitionEvent"): PageTransitionEvent;
4407 createEvent(eventInterface: "PaymentMethodChangeEvent"): PaymentMethodChangeEvent;
4408 createEvent(eventInterface: "PaymentRequestUpdateEvent"): PaymentRequestUpdateEvent;
4409 createEvent(eventInterface: "PointerEvent"): PointerEvent;
4410 createEvent(eventInterface: "PopStateEvent"): PopStateEvent;
4411 createEvent(eventInterface: "ProgressEvent"): ProgressEvent;
4412 createEvent(eventInterface: "PromiseRejectionEvent"): PromiseRejectionEvent;
4413 createEvent(eventInterface: "RTCDTMFToneChangeEvent"): RTCDTMFToneChangeEvent;
4414 createEvent(eventInterface: "RTCDataChannelEvent"): RTCDataChannelEvent;
4415 createEvent(eventInterface: "RTCPeerConnectionIceErrorEvent"): RTCPeerConnectionIceErrorEvent;
4416 createEvent(eventInterface: "RTCPeerConnectionIceEvent"): RTCPeerConnectionIceEvent;
4417 createEvent(eventInterface: "RTCTrackEvent"): RTCTrackEvent;
4418 createEvent(eventInterface: "SecurityPolicyViolationEvent"): SecurityPolicyViolationEvent;
4419 createEvent(eventInterface: "SpeechSynthesisErrorEvent"): SpeechSynthesisErrorEvent;
4420 createEvent(eventInterface: "SpeechSynthesisEvent"): SpeechSynthesisEvent;
4421 createEvent(eventInterface: "StorageEvent"): StorageEvent;
4422 createEvent(eventInterface: "SubmitEvent"): SubmitEvent;
4423 createEvent(eventInterface: "TouchEvent"): TouchEvent;
4424 createEvent(eventInterface: "TrackEvent"): TrackEvent;
4425 createEvent(eventInterface: "TransitionEvent"): TransitionEvent;
4426 createEvent(eventInterface: "UIEvent"): UIEvent;
4427 createEvent(eventInterface: "UIEvents"): UIEvent;
4428 createEvent(eventInterface: "WebGLContextEvent"): WebGLContextEvent;
4429 createEvent(eventInterface: "WheelEvent"): WheelEvent;
4430 createEvent(eventInterface: string): Event;
4432 * Creates a NodeIterator object that you can use to traverse filtered lists of nodes or elements in a document.
4433 * @param root The root element or node to start traversing on.
4434 * @param whatToShow The type of nodes or elements to appear in the node list
4435 * @param filter A custom NodeFilter function to use. For more information, see filter. Use null for no filter.
4437 createNodeIterator(root: Node, whatToShow?: number, filter?: NodeFilter | null): NodeIterator;
4438 /** 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. */
4439 createProcessingInstruction(target: string, data: string): ProcessingInstruction;
4440 /** Returns an empty range object that has both of its boundary points positioned at the beginning of the document. */
4441 createRange(): Range;
4443 * Creates a text string from the specified value.
4444 * @param data String that specifies the nodeValue property of the text node.
4446 createTextNode(data: string): Text;
4448 * Creates a TreeWalker object that you can use to traverse filtered lists of nodes or elements in a document.
4449 * @param root The root element or node to start traversing on.
4450 * @param whatToShow The type of nodes or elements to appear in the node list. For more information, see whatToShow.
4451 * @param filter A custom NodeFilter function to use.
4453 createTreeWalker(root: Node, whatToShow?: number, filter?: NodeFilter | null): TreeWalker;
4455 * Executes a command on the current document, current selection, or the given range.
4456 * @param commandId String that specifies the command to execute. This command can be any of the command identifiers that can be executed in script.
4457 * @param showUI Display the user interface, defaults to false.
4458 * @param value Value to assign.
4461 execCommand(commandId: string, showUI?: boolean, value?: string): boolean;
4462 /** Stops document's fullscreen element from being displayed fullscreen and resolves promise when done. */
4463 exitFullscreen(): Promise<void>;
4464 exitPictureInPicture(): Promise<void>;
4465 exitPointerLock(): void;
4467 * Returns a reference to the first object with the specified value of the ID attribute.
4468 * @param elementId String that specifies the ID value.
4470 getElementById(elementId: string): HTMLElement | null;
4471 /** 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. */
4472 getElementsByClassName(classNames: string): HTMLCollectionOf<Element>;
4474 * Gets a collection of objects based on the value of the NAME or ID attribute.
4475 * @param elementName Gets a collection of objects based on the value of the NAME or ID attribute.
4477 getElementsByName(elementName: string): NodeListOf<HTMLElement>;
4479 * Retrieves a collection of objects based on the specified element name.
4480 * @param name Specifies the name of an element.
4482 getElementsByTagName<K extends keyof HTMLElementTagNameMap>(qualifiedName: K): HTMLCollectionOf<HTMLElementTagNameMap[K]>;
4483 getElementsByTagName<K extends keyof SVGElementTagNameMap>(qualifiedName: K): HTMLCollectionOf<SVGElementTagNameMap[K]>;
4484 getElementsByTagName(qualifiedName: string): HTMLCollectionOf<Element>;
4486 * If namespace and localName are "*" returns a HTMLCollection of all descendant elements.
4488 * If only namespace is "*" returns a HTMLCollection of all descendant elements whose local name is localName.
4490 * If only localName is "*" returns a HTMLCollection of all descendant elements whose namespace is namespace.
4492 * Otherwise, returns a HTMLCollection of all descendant elements whose namespace is namespace and local name is localName.
4494 getElementsByTagNameNS(namespaceURI: "http://www.w3.org/1999/xhtml", localName: string): HTMLCollectionOf<HTMLElement>;
4495 getElementsByTagNameNS(namespaceURI: "http://www.w3.org/2000/svg", localName: string): HTMLCollectionOf<SVGElement>;
4496 getElementsByTagNameNS(namespace: string | null, localName: string): HTMLCollectionOf<Element>;
4497 /** Returns an object representing the current selection of the document that is loaded into the object displaying a webpage. */
4498 getSelection(): Selection | null;
4499 /** Gets a value indicating whether the object currently has focus. */
4500 hasFocus(): boolean;
4501 hasStorageAccess(): Promise<boolean>;
4503 * Returns a copy of node. If deep is true, the copy also includes the node's descendants.
4505 * If node is a document or a shadow root, throws a "NotSupportedError" DOMException.
4507 importNode<T extends Node>(node: T, deep?: boolean): T;
4509 * 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.
4510 * @param url Specifies a MIME type for the document.
4511 * @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.
4512 * @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.
4513 * @param replace Specifies whether the existing entry for the document is replaced in the history list.
4515 open(unused1?: string, unused2?: string): Document;
4516 open(url: string | URL, name: string, features: string): WindowProxy | null;
4518 * Returns a Boolean value that indicates whether a specified command can be successfully executed using execCommand, given the current state of the document.
4519 * @param commandId Specifies a command identifier.
4522 queryCommandEnabled(commandId: string): boolean;
4524 * Returns a Boolean value that indicates whether the specified command is in the indeterminate state.
4525 * @param commandId String that specifies a command identifier.
4527 queryCommandIndeterm(commandId: string): boolean;
4529 * Returns a Boolean value that indicates the current state of the command.
4530 * @param commandId String that specifies a command identifier.
4533 queryCommandState(commandId: string): boolean;
4535 * Returns a Boolean value that indicates whether the current command is supported on the current range.
4536 * @param commandId Specifies a command identifier.
4539 queryCommandSupported(commandId: string): boolean;
4541 * Returns the current value of the document, range, or current selection for the given command.
4542 * @param commandId String that specifies a command identifier.
4544 queryCommandValue(commandId: string): string;
4546 releaseEvents(): void;
4547 requestStorageAccess(): Promise<void>;
4549 * Writes one or more HTML expressions to a document in the specified window.
4550 * @param content Specifies the text and HTML tags to write.
4552 write(...text: string[]): void;
4554 * Writes one or more HTML expressions, followed by a carriage return, to a document in the specified window.
4555 * @param content The text and HTML tags to write.
4557 writeln(...text: string[]): void;
4558 addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
4559 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
4560 removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
4561 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
4564 declare var Document: {
4565 prototype: Document;
4569 interface DocumentAndElementEventHandlersEventMap {
4570 "copy": ClipboardEvent;
4571 "cut": ClipboardEvent;
4572 "paste": ClipboardEvent;
4575 interface DocumentAndElementEventHandlers {
4576 oncopy: ((this: DocumentAndElementEventHandlers, ev: ClipboardEvent) => any) | null;
4577 oncut: ((this: DocumentAndElementEventHandlers, ev: ClipboardEvent) => any) | null;
4578 onpaste: ((this: DocumentAndElementEventHandlers, ev: ClipboardEvent) => any) | null;
4579 addEventListener<K extends keyof DocumentAndElementEventHandlersEventMap>(type: K, listener: (this: DocumentAndElementEventHandlers, ev: DocumentAndElementEventHandlersEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
4580 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
4581 removeEventListener<K extends keyof DocumentAndElementEventHandlersEventMap>(type: K, listener: (this: DocumentAndElementEventHandlers, ev: DocumentAndElementEventHandlersEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
4582 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
4585 /** 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. */
4586 interface DocumentFragment extends Node, NonElementParentNode, ParentNode {
4587 readonly ownerDocument: Document;
4588 getElementById(elementId: string): HTMLElement | null;
4591 declare var DocumentFragment: {
4592 prototype: DocumentFragment;
4593 new(): DocumentFragment;
4596 interface DocumentOrShadowRoot {
4598 * Returns the deepest element in the document through which or to which key events are being routed. This is, roughly speaking, the focused element in the document.
4600 * For the purposes of this API, when a child browsing context is focused, its container is focused in the parent browsing context. For example, if the user moves the focus to a text control in an iframe, the iframe is the element returned by the activeElement API in the iframe's node document.
4602 * Similarly, when the focused element is in a different node tree than documentOrShadowRoot, the element returned will be the host that's located in the same node tree as documentOrShadowRoot if documentOrShadowRoot is a shadow-including inclusive ancestor of the focused element, and null if not.
4604 readonly activeElement: Element | null;
4605 /** Returns document's fullscreen element. */
4606 readonly fullscreenElement: Element | null;
4607 readonly pictureInPictureElement: Element | null;
4608 readonly pointerLockElement: Element | null;
4609 /** Retrieves a collection of styleSheet objects representing the style sheets that correspond to each instance of a link or style object in the document. */
4610 readonly styleSheets: StyleSheetList;
4612 * Returns the element for the specified x coordinate and the specified y coordinate.
4613 * @param x The x-offset
4614 * @param y The y-offset
4616 elementFromPoint(x: number, y: number): Element | null;
4617 elementsFromPoint(x: number, y: number): Element[];
4618 getAnimations(): Animation[];
4621 interface DocumentTimeline extends AnimationTimeline {
4624 declare var DocumentTimeline: {
4625 prototype: DocumentTimeline;
4626 new(options?: DocumentTimelineOptions): DocumentTimeline;
4629 /** A Node containing a doctype. */
4630 interface DocumentType extends Node, ChildNode {
4631 readonly name: string;
4632 readonly ownerDocument: Document;
4633 readonly publicId: string;
4634 readonly systemId: string;
4637 declare var DocumentType: {
4638 prototype: DocumentType;
4639 new(): DocumentType;
4642 /** 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. */
4643 interface DragEvent extends MouseEvent {
4644 /** Returns the DataTransfer object for the event. */
4645 readonly dataTransfer: DataTransfer | null;
4648 declare var DragEvent: {
4649 prototype: DragEvent;
4650 new(type: string, eventInitDict?: DragEventInit): DragEvent;
4653 /** Inherits properties from its parent, AudioNode. */
4654 interface DynamicsCompressorNode extends AudioNode {
4655 readonly attack: AudioParam;
4656 readonly knee: AudioParam;
4657 readonly ratio: AudioParam;
4658 readonly reduction: number;
4659 readonly release: AudioParam;
4660 readonly threshold: AudioParam;
4663 declare var DynamicsCompressorNode: {
4664 prototype: DynamicsCompressorNode;
4665 new(context: BaseAudioContext, options?: DynamicsCompressorOptions): DynamicsCompressorNode;
4668 interface EXT_blend_minmax {
4669 readonly MAX_EXT: GLenum;
4670 readonly MIN_EXT: GLenum;
4673 interface EXT_color_buffer_float {
4676 interface EXT_color_buffer_half_float {
4677 readonly FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT: GLenum;
4678 readonly RGB16F_EXT: GLenum;
4679 readonly RGBA16F_EXT: GLenum;
4680 readonly UNSIGNED_NORMALIZED_EXT: GLenum;
4683 interface EXT_float_blend {
4686 /** 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. */
4687 interface EXT_frag_depth {
4690 interface EXT_sRGB {
4691 readonly FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT: GLenum;
4692 readonly SRGB8_ALPHA8_EXT: GLenum;
4693 readonly SRGB_ALPHA_EXT: GLenum;
4694 readonly SRGB_EXT: GLenum;
4697 interface EXT_shader_texture_lod {
4700 interface EXT_texture_compression_rgtc {
4701 readonly COMPRESSED_RED_GREEN_RGTC2_EXT: GLenum;
4702 readonly COMPRESSED_RED_RGTC1_EXT: GLenum;
4703 readonly COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT: GLenum;
4704 readonly COMPRESSED_SIGNED_RED_RGTC1_EXT: GLenum;
4707 /** The EXT_texture_filter_anisotropic extension is part of the WebGL API and exposes two constants for anisotropic filtering (AF). */
4708 interface EXT_texture_filter_anisotropic {
4709 readonly MAX_TEXTURE_MAX_ANISOTROPY_EXT: GLenum;
4710 readonly TEXTURE_MAX_ANISOTROPY_EXT: GLenum;
4713 interface ElementEventMap {
4714 "fullscreenchange": Event;
4715 "fullscreenerror": Event;
4718 /** 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. */
4719 interface Element extends Node, ARIAMixin, Animatable, ChildNode, InnerHTML, NonDocumentTypeChildNode, ParentNode, Slottable {
4720 readonly attributes: NamedNodeMap;
4721 /** Allows for manipulation of element's class content attribute as a set of whitespace-separated tokens through a DOMTokenList object. */
4722 readonly classList: DOMTokenList;
4723 /** Returns the value of element's class content attribute. Can be set to change it. */
4725 readonly clientHeight: number;
4726 readonly clientLeft: number;
4727 readonly clientTop: number;
4728 readonly clientWidth: number;
4729 /** Returns the value of element's id content attribute. Can be set to change it. */
4731 /** Returns the local name. */
4732 readonly localName: string;
4733 /** Returns the namespace. */
4734 readonly namespaceURI: string | null;
4735 onfullscreenchange: ((this: Element, ev: Event) => any) | null;
4736 onfullscreenerror: ((this: Element, ev: Event) => any) | null;
4738 readonly ownerDocument: Document;
4739 readonly part: DOMTokenList;
4740 /** Returns the namespace prefix. */
4741 readonly prefix: string | null;
4742 readonly scrollHeight: number;
4745 readonly scrollWidth: number;
4746 /** Returns element's shadow root, if any, and if shadow root's mode is "open", and null otherwise. */
4747 readonly shadowRoot: ShadowRoot | null;
4748 /** Returns the value of element's slot content attribute. Can be set to change it. */
4750 /** Returns the HTML-uppercased qualified name. */
4751 readonly tagName: string;
4752 /** Creates a shadow root for element and returns it. */
4753 attachShadow(init: ShadowRootInit): ShadowRoot;
4754 /** Returns the first (starting at element) inclusive ancestor that matches selectors, and null otherwise. */
4755 closest<K extends keyof HTMLElementTagNameMap>(selector: K): HTMLElementTagNameMap[K] | null;
4756 closest<K extends keyof SVGElementTagNameMap>(selector: K): SVGElementTagNameMap[K] | null;
4757 closest<E extends Element = Element>(selectors: string): E | null;
4758 /** Returns element's first attribute whose qualified name is qualifiedName, and null if there is no such attribute otherwise. */
4759 getAttribute(qualifiedName: string): string | null;
4760 /** Returns element's attribute whose namespace is namespace and local name is localName, and null if there is no such attribute otherwise. */
4761 getAttributeNS(namespace: string | null, localName: string): string | null;
4762 /** Returns the qualified names of all element's attributes. Can contain duplicates. */
4763 getAttributeNames(): string[];
4764 getAttributeNode(qualifiedName: string): Attr | null;
4765 getAttributeNodeNS(namespace: string | null, localName: string): Attr | null;
4766 getBoundingClientRect(): DOMRect;
4767 getClientRects(): DOMRectList;
4768 /** 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. */
4769 getElementsByClassName(classNames: string): HTMLCollectionOf<Element>;
4770 getElementsByTagName<K extends keyof HTMLElementTagNameMap>(qualifiedName: K): HTMLCollectionOf<HTMLElementTagNameMap[K]>;
4771 getElementsByTagName<K extends keyof SVGElementTagNameMap>(qualifiedName: K): HTMLCollectionOf<SVGElementTagNameMap[K]>;
4772 getElementsByTagName(qualifiedName: string): HTMLCollectionOf<Element>;
4773 getElementsByTagNameNS(namespaceURI: "http://www.w3.org/1999/xhtml", localName: string): HTMLCollectionOf<HTMLElement>;
4774 getElementsByTagNameNS(namespaceURI: "http://www.w3.org/2000/svg", localName: string): HTMLCollectionOf<SVGElement>;
4775 getElementsByTagNameNS(namespace: string | null, localName: string): HTMLCollectionOf<Element>;
4776 /** Returns true if element has an attribute whose qualified name is qualifiedName, and false otherwise. */
4777 hasAttribute(qualifiedName: string): boolean;
4778 /** Returns true if element has an attribute whose namespace is namespace and local name is localName. */
4779 hasAttributeNS(namespace: string | null, localName: string): boolean;
4780 /** Returns true if element has attributes, and false otherwise. */
4781 hasAttributes(): boolean;
4782 hasPointerCapture(pointerId: number): boolean;
4783 insertAdjacentElement(where: InsertPosition, element: Element): Element | null;
4784 insertAdjacentHTML(position: InsertPosition, text: string): void;
4785 insertAdjacentText(where: InsertPosition, data: string): void;
4786 /** Returns true if matching selectors against element's root yields element, and false otherwise. */
4787 matches(selectors: string): boolean;
4788 releasePointerCapture(pointerId: number): void;
4789 /** Removes element's first attribute whose qualified name is qualifiedName. */
4790 removeAttribute(qualifiedName: string): void;
4791 /** Removes element's attribute whose namespace is namespace and local name is localName. */
4792 removeAttributeNS(namespace: string | null, localName: string): void;
4793 removeAttributeNode(attr: Attr): Attr;
4795 * Displays element fullscreen and resolves promise when done.
4797 * 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.
4799 requestFullscreen(options?: FullscreenOptions): Promise<void>;
4800 requestPointerLock(): void;
4801 scroll(options?: ScrollToOptions): void;
4802 scroll(x: number, y: number): void;
4803 scrollBy(options?: ScrollToOptions): void;
4804 scrollBy(x: number, y: number): void;
4805 scrollIntoView(arg?: boolean | ScrollIntoViewOptions): void;
4806 scrollTo(options?: ScrollToOptions): void;
4807 scrollTo(x: number, y: number): void;
4808 /** Sets the value of element's first attribute whose qualified name is qualifiedName to value. */
4809 setAttribute(qualifiedName: string, value: string): void;
4810 /** Sets the value of element's attribute whose namespace is namespace and local name is localName to value. */
4811 setAttributeNS(namespace: string | null, qualifiedName: string, value: string): void;
4812 setAttributeNode(attr: Attr): Attr | null;
4813 setAttributeNodeNS(attr: Attr): Attr | null;
4814 setPointerCapture(pointerId: number): void;
4816 * 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.
4818 * Returns true if qualifiedName is now present, and false otherwise.
4820 toggleAttribute(qualifiedName: string, force?: boolean): boolean;
4821 /** @deprecated This is a legacy alias of `matches`. */
4822 webkitMatchesSelector(selectors: string): boolean;
4823 addEventListener<K extends keyof ElementEventMap>(type: K, listener: (this: Element, ev: ElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
4824 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
4825 removeEventListener<K extends keyof ElementEventMap>(type: K, listener: (this: Element, ev: ElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
4826 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
4829 declare var Element: {
4834 interface ElementCSSInlineStyle {
4835 readonly style: CSSStyleDeclaration;
4838 interface ElementContentEditable {
4839 contentEditable: string;
4840 enterKeyHint: string;
4842 readonly isContentEditable: boolean;
4845 interface ElementInternals extends ARIAMixin {
4846 /** Returns the ShadowRoot for internals's target element, if the target element is a shadow host, or null otherwise. */
4847 readonly shadowRoot: ShadowRoot | null;
4850 declare var ElementInternals: {
4851 prototype: ElementInternals;
4852 new(): ElementInternals;
4855 /** Events providing information related to errors in scripts or in files. */
4856 interface ErrorEvent extends Event {
4857 readonly colno: number;
4858 readonly error: any;
4859 readonly filename: string;
4860 readonly lineno: number;
4861 readonly message: string;
4864 declare var ErrorEvent: {
4865 prototype: ErrorEvent;
4866 new(type: string, eventInitDict?: ErrorEventInit): ErrorEvent;
4869 /** An event which takes place in the DOM. */
4871 /** 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. */
4872 readonly bubbles: boolean;
4873 cancelBubble: boolean;
4874 /** 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. */
4875 readonly cancelable: boolean;
4876 /** 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. */
4877 readonly composed: boolean;
4878 /** Returns the object whose event listener's callback is currently being invoked. */
4879 readonly currentTarget: EventTarget | null;
4880 /** Returns true if preventDefault() was invoked successfully to indicate cancelation, and false otherwise. */
4881 readonly defaultPrevented: boolean;
4882 /** Returns the event's phase, which is one of NONE, CAPTURING_PHASE, AT_TARGET, and BUBBLING_PHASE. */
4883 readonly eventPhase: number;
4884 /** Returns true if event was dispatched by the user agent, and false otherwise. */
4885 readonly isTrusted: boolean;
4887 returnValue: boolean;
4889 readonly srcElement: EventTarget | null;
4890 /** Returns the object to which event is dispatched (its target). */
4891 readonly target: EventTarget | null;
4892 /** Returns the event's timestamp as the number of milliseconds measured relative to the time origin. */
4893 readonly timeStamp: DOMHighResTimeStamp;
4894 /** Returns the type of event, e.g. "click", "hashchange", or "submit". */
4895 readonly type: string;
4896 /** 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. */
4897 composedPath(): EventTarget[];
4899 initEvent(type: string, bubbles?: boolean, cancelable?: boolean): void;
4900 /** 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. */
4901 preventDefault(): void;
4902 /** 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. */
4903 stopImmediatePropagation(): void;
4904 /** When dispatched in a tree, invoking this method prevents event from reaching any objects other than the current object. */
4905 stopPropagation(): void;
4906 readonly AT_TARGET: number;
4907 readonly BUBBLING_PHASE: number;
4908 readonly CAPTURING_PHASE: number;
4909 readonly NONE: number;
4912 declare var Event: {
4914 new(type: string, eventInitDict?: EventInit): Event;
4915 readonly AT_TARGET: number;
4916 readonly BUBBLING_PHASE: number;
4917 readonly CAPTURING_PHASE: number;
4918 readonly NONE: number;
4921 interface EventListener {
4925 interface EventListenerObject {
4926 handleEvent(object: Event): void;
4929 interface EventSourceEventMap {
4931 "message": MessageEvent;
4935 interface EventSource extends EventTarget {
4936 onerror: ((this: EventSource, ev: Event) => any) | null;
4937 onmessage: ((this: EventSource, ev: MessageEvent) => any) | null;
4938 onopen: ((this: EventSource, ev: Event) => any) | null;
4939 /** Returns the state of this EventSource object's connection. It can have the values described below. */
4940 readonly readyState: number;
4941 /** Returns the URL providing the event stream. */
4942 readonly url: string;
4943 /** Returns true if the credentials mode for connection requests to the URL providing the event stream is set to "include", and false otherwise. */
4944 readonly withCredentials: boolean;
4945 /** Aborts any instances of the fetch algorithm started for this EventSource object, and sets the readyState attribute to CLOSED. */
4947 readonly CLOSED: number;
4948 readonly CONNECTING: number;
4949 readonly OPEN: number;
4950 addEventListener<K extends keyof EventSourceEventMap>(type: K, listener: (this: EventSource, ev: EventSourceEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
4951 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
4952 removeEventListener<K extends keyof EventSourceEventMap>(type: K, listener: (this: EventSource, ev: EventSourceEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
4953 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
4956 declare var EventSource: {
4957 prototype: EventSource;
4958 new(url: string | URL, eventSourceInitDict?: EventSourceInit): EventSource;
4959 readonly CLOSED: number;
4960 readonly CONNECTING: number;
4961 readonly OPEN: number;
4964 /** EventTarget is a DOM interface implemented by objects that can receive events and may have listeners for them. */
4965 interface EventTarget {
4967 * 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.
4969 * 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.
4971 * 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.
4973 * 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.
4975 * When set to true, options's once indicates that the callback will only be invoked once after which the event listener will be removed.
4977 * If an AbortSignal is passed for options's signal, then the event listener will be removed when signal is aborted.
4979 * The event listener is appended to target's event listener list and is not appended if it has the same type, callback, and capture.
4981 addEventListener(type: string, callback: EventListenerOrEventListenerObject | null, options?: AddEventListenerOptions | boolean): void;
4982 /** 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. */
4983 dispatchEvent(event: Event): boolean;
4984 /** Removes the event listener in target's event listener list with the same type, callback, and options. */
4985 removeEventListener(type: string, callback: EventListenerOrEventListenerObject | null, options?: EventListenerOptions | boolean): void;
4988 declare var EventTarget: {
4989 prototype: EventTarget;
4994 interface External {
4996 AddSearchProvider(): void;
4998 IsSearchProviderInstalled(): void;
5002 declare var External: {
5003 prototype: External;
5007 /** Provides information about files and allows JavaScript in a web page to access their content. */
5008 interface File extends Blob {
5009 readonly lastModified: number;
5010 readonly name: string;
5011 readonly webkitRelativePath: string;
5016 new(fileBits: BlobPart[], fileName: string, options?: FilePropertyBag): File;
5019 /** 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. */
5020 interface FileList {
5021 readonly length: number;
5022 item(index: number): File | null;
5023 [index: number]: File;
5026 declare var FileList: {
5027 prototype: FileList;
5031 interface FileReaderEventMap {
5032 "abort": ProgressEvent<FileReader>;
5033 "error": ProgressEvent<FileReader>;
5034 "load": ProgressEvent<FileReader>;
5035 "loadend": ProgressEvent<FileReader>;
5036 "loadstart": ProgressEvent<FileReader>;
5037 "progress": ProgressEvent<FileReader>;
5040 /** 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. */
5041 interface FileReader extends EventTarget {
5042 readonly error: DOMException | null;
5043 onabort: ((this: FileReader, ev: ProgressEvent<FileReader>) => any) | null;
5044 onerror: ((this: FileReader, ev: ProgressEvent<FileReader>) => any) | null;
5045 onload: ((this: FileReader, ev: ProgressEvent<FileReader>) => any) | null;
5046 onloadend: ((this: FileReader, ev: ProgressEvent<FileReader>) => any) | null;
5047 onloadstart: ((this: FileReader, ev: ProgressEvent<FileReader>) => any) | null;
5048 onprogress: ((this: FileReader, ev: ProgressEvent<FileReader>) => any) | null;
5049 readonly readyState: number;
5050 readonly result: string | ArrayBuffer | null;
5052 readAsArrayBuffer(blob: Blob): void;
5053 readAsBinaryString(blob: Blob): void;
5054 readAsDataURL(blob: Blob): void;
5055 readAsText(blob: Blob, encoding?: string): void;
5056 readonly DONE: number;
5057 readonly EMPTY: number;
5058 readonly LOADING: number;
5059 addEventListener<K extends keyof FileReaderEventMap>(type: K, listener: (this: FileReader, ev: FileReaderEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
5060 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
5061 removeEventListener<K extends keyof FileReaderEventMap>(type: K, listener: (this: FileReader, ev: FileReaderEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
5062 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
5065 declare var FileReader: {
5066 prototype: FileReader;
5068 readonly DONE: number;
5069 readonly EMPTY: number;
5070 readonly LOADING: number;
5073 interface FileSystem {
5074 readonly name: string;
5075 readonly root: FileSystemDirectoryEntry;
5078 declare var FileSystem: {
5079 prototype: FileSystem;
5083 interface FileSystemDirectoryEntry extends FileSystemEntry {
5084 createReader(): FileSystemDirectoryReader;
5085 getDirectory(path?: string | null, options?: FileSystemFlags, successCallback?: FileSystemEntryCallback, errorCallback?: ErrorCallback): void;
5086 getFile(path?: string | null, options?: FileSystemFlags, successCallback?: FileSystemEntryCallback, errorCallback?: ErrorCallback): void;
5089 declare var FileSystemDirectoryEntry: {
5090 prototype: FileSystemDirectoryEntry;
5091 new(): FileSystemDirectoryEntry;
5094 interface FileSystemDirectoryReader {
5095 readEntries(successCallback: FileSystemEntriesCallback, errorCallback?: ErrorCallback): void;
5098 declare var FileSystemDirectoryReader: {
5099 prototype: FileSystemDirectoryReader;
5100 new(): FileSystemDirectoryReader;
5103 interface FileSystemEntry {
5104 readonly filesystem: FileSystem;
5105 readonly fullPath: string;
5106 readonly isDirectory: boolean;
5107 readonly isFile: boolean;
5108 readonly name: string;
5109 getParent(successCallback?: FileSystemEntryCallback, errorCallback?: ErrorCallback): void;
5112 declare var FileSystemEntry: {
5113 prototype: FileSystemEntry;
5114 new(): FileSystemEntry;
5117 interface FileSystemFileEntry extends FileSystemEntry {
5118 file(successCallback: FileCallback, errorCallback?: ErrorCallback): void;
5121 declare var FileSystemFileEntry: {
5122 prototype: FileSystemFileEntry;
5123 new(): FileSystemFileEntry;
5126 /** Focus-related events like focus, blur, focusin, or focusout. */
5127 interface FocusEvent extends UIEvent {
5128 readonly relatedTarget: EventTarget | null;
5131 declare var FocusEvent: {
5132 prototype: FocusEvent;
5133 new(type: string, eventInitDict?: FocusEventInit): FocusEvent;
5136 interface FontFace {
5137 ascentOverride: string;
5138 descentOverride: string;
5141 featureSettings: string;
5142 lineGapOverride: string;
5143 readonly loaded: Promise<FontFace>;
5144 readonly status: FontFaceLoadStatus;
5147 unicodeRange: string;
5149 variationSettings: string;
5151 load(): Promise<FontFace>;
5154 declare var FontFace: {
5155 prototype: FontFace;
5156 new(family: string, source: string | BinaryData, descriptors?: FontFaceDescriptors): FontFace;
5159 interface FontFaceSetEventMap {
5161 "loadingdone": Event;
5162 "loadingerror": Event;
5165 interface FontFaceSet extends EventTarget {
5166 onloading: ((this: FontFaceSet, ev: Event) => any) | null;
5167 onloadingdone: ((this: FontFaceSet, ev: Event) => any) | null;
5168 onloadingerror: ((this: FontFaceSet, ev: Event) => any) | null;
5169 readonly ready: Promise<FontFaceSet>;
5170 readonly status: FontFaceSetLoadStatus;
5171 check(font: string, text?: string): boolean;
5172 load(font: string, text?: string): Promise<FontFace[]>;
5173 forEach(callbackfn: (value: FontFace, key: FontFace, parent: FontFaceSet) => void, thisArg?: any): void;
5174 addEventListener<K extends keyof FontFaceSetEventMap>(type: K, listener: (this: FontFaceSet, ev: FontFaceSetEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
5175 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
5176 removeEventListener<K extends keyof FontFaceSetEventMap>(type: K, listener: (this: FontFaceSet, ev: FontFaceSetEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
5177 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
5180 declare var FontFaceSet: {
5181 prototype: FontFaceSet;
5182 new(initialFaces: FontFace[]): FontFaceSet;
5185 interface FontFaceSetLoadEvent extends Event {
5186 readonly fontfaces: ReadonlyArray<FontFace>;
5189 declare var FontFaceSetLoadEvent: {
5190 prototype: FontFaceSetLoadEvent;
5191 new(type: string, eventInitDict?: FontFaceSetLoadEventInit): FontFaceSetLoadEvent;
5194 interface FontFaceSource {
5195 readonly fonts: FontFaceSet;
5198 /** 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". */
5199 interface FormData {
5200 append(name: string, value: string | Blob, fileName?: string): void;
5201 delete(name: string): void;
5202 get(name: string): FormDataEntryValue | null;
5203 getAll(name: string): FormDataEntryValue[];
5204 has(name: string): boolean;
5205 set(name: string, value: string | Blob, fileName?: string): void;
5206 forEach(callbackfn: (value: FormDataEntryValue, key: string, parent: FormData) => void, thisArg?: any): void;
5209 declare var FormData: {
5210 prototype: FormData;
5211 new(form?: HTMLFormElement): FormData;
5214 interface FormDataEvent extends Event {
5215 /** Returns a FormData object representing names and values of elements associated to the target form. Operations on the FormData object will affect form data to be submitted. */
5216 readonly formData: FormData;
5219 declare var FormDataEvent: {
5220 prototype: FormDataEvent;
5221 new(type: string, eventInitDict: FormDataEventInit): FormDataEvent;
5224 /** 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. */
5225 interface GainNode extends AudioNode {
5226 readonly gain: AudioParam;
5229 declare var GainNode: {
5230 prototype: GainNode;
5231 new(context: BaseAudioContext, options?: GainOptions): GainNode;
5235 * This Gamepad API interface defines an individual gamepad or other controller, allowing access to information such as button presses, axis positions, and id.
5236 * Available only in secure contexts.
5239 readonly axes: ReadonlyArray<number>;
5240 readonly buttons: ReadonlyArray<GamepadButton>;
5241 readonly connected: boolean;
5242 readonly hapticActuators: ReadonlyArray<GamepadHapticActuator>;
5243 readonly id: string;
5244 readonly index: number;
5245 readonly mapping: GamepadMappingType;
5246 readonly timestamp: DOMHighResTimeStamp;
5249 declare var Gamepad: {
5255 * 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.
5256 * Available only in secure contexts.
5258 interface GamepadButton {
5259 readonly pressed: boolean;
5260 readonly touched: boolean;
5261 readonly value: number;
5264 declare var GamepadButton: {
5265 prototype: GamepadButton;
5266 new(): GamepadButton;
5270 * 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.
5271 * Available only in secure contexts.
5273 interface GamepadEvent extends Event {
5274 readonly gamepad: Gamepad;
5277 declare var GamepadEvent: {
5278 prototype: GamepadEvent;
5279 new(type: string, eventInitDict: GamepadEventInit): GamepadEvent;
5282 /** This Gamepad API interface represents hardware in the controller designed to provide haptic feedback to the user (if available), most commonly vibration hardware. */
5283 interface GamepadHapticActuator {
5284 readonly type: GamepadHapticActuatorType;
5287 declare var GamepadHapticActuator: {
5288 prototype: GamepadHapticActuator;
5289 new(): GamepadHapticActuator;
5292 interface GenericTransformStream {
5293 readonly readable: ReadableStream;
5294 readonly writable: WritableStream;
5297 /** 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. */
5298 interface Geolocation {
5299 clearWatch(watchId: number): void;
5300 getCurrentPosition(successCallback: PositionCallback, errorCallback?: PositionErrorCallback | null, options?: PositionOptions): void;
5301 watchPosition(successCallback: PositionCallback, errorCallback?: PositionErrorCallback | null, options?: PositionOptions): number;
5304 declare var Geolocation: {
5305 prototype: Geolocation;
5309 /** Available only in secure contexts. */
5310 interface GeolocationCoordinates {
5311 readonly accuracy: number;
5312 readonly altitude: number | null;
5313 readonly altitudeAccuracy: number | null;
5314 readonly heading: number | null;
5315 readonly latitude: number;
5316 readonly longitude: number;
5317 readonly speed: number | null;
5320 declare var GeolocationCoordinates: {
5321 prototype: GeolocationCoordinates;
5322 new(): GeolocationCoordinates;
5325 /** Available only in secure contexts. */
5326 interface GeolocationPosition {
5327 readonly coords: GeolocationCoordinates;
5328 readonly timestamp: DOMTimeStamp;
5331 declare var GeolocationPosition: {
5332 prototype: GeolocationPosition;
5333 new(): GeolocationPosition;
5336 interface GeolocationPositionError {
5337 readonly code: number;
5338 readonly message: string;
5339 readonly PERMISSION_DENIED: number;
5340 readonly POSITION_UNAVAILABLE: number;
5341 readonly TIMEOUT: number;
5344 declare var GeolocationPositionError: {
5345 prototype: GeolocationPositionError;
5346 new(): GeolocationPositionError;
5347 readonly PERMISSION_DENIED: number;
5348 readonly POSITION_UNAVAILABLE: number;
5349 readonly TIMEOUT: number;
5352 interface GlobalEventHandlersEventMap {
5354 "animationcancel": AnimationEvent;
5355 "animationend": AnimationEvent;
5356 "animationiteration": AnimationEvent;
5357 "animationstart": AnimationEvent;
5358 "auxclick": MouseEvent;
5359 "beforeinput": InputEvent;
5362 "canplaythrough": Event;
5364 "click": MouseEvent;
5366 "compositionend": CompositionEvent;
5367 "compositionstart": CompositionEvent;
5368 "compositionupdate": CompositionEvent;
5369 "contextmenu": MouseEvent;
5371 "dblclick": MouseEvent;
5373 "dragend": DragEvent;
5374 "dragenter": DragEvent;
5375 "dragleave": DragEvent;
5376 "dragover": DragEvent;
5377 "dragstart": DragEvent;
5379 "durationchange": Event;
5382 "error": ErrorEvent;
5383 "focus": FocusEvent;
5384 "focusin": FocusEvent;
5385 "focusout": FocusEvent;
5386 "formdata": FormDataEvent;
5387 "gotpointercapture": PointerEvent;
5390 "keydown": KeyboardEvent;
5391 "keypress": KeyboardEvent;
5392 "keyup": KeyboardEvent;
5394 "loadeddata": Event;
5395 "loadedmetadata": Event;
5397 "lostpointercapture": PointerEvent;
5398 "mousedown": MouseEvent;
5399 "mouseenter": MouseEvent;
5400 "mouseleave": MouseEvent;
5401 "mousemove": MouseEvent;
5402 "mouseout": MouseEvent;
5403 "mouseover": MouseEvent;
5404 "mouseup": MouseEvent;
5408 "pointercancel": PointerEvent;
5409 "pointerdown": PointerEvent;
5410 "pointerenter": PointerEvent;
5411 "pointerleave": PointerEvent;
5412 "pointermove": PointerEvent;
5413 "pointerout": PointerEvent;
5414 "pointerover": PointerEvent;
5415 "pointerup": PointerEvent;
5416 "progress": ProgressEvent;
5417 "ratechange": Event;
5421 "securitypolicyviolation": SecurityPolicyViolationEvent;
5425 "selectionchange": Event;
5426 "selectstart": Event;
5428 "submit": SubmitEvent;
5430 "timeupdate": Event;
5432 "touchcancel": TouchEvent;
5433 "touchend": TouchEvent;
5434 "touchmove": TouchEvent;
5435 "touchstart": TouchEvent;
5436 "transitioncancel": TransitionEvent;
5437 "transitionend": TransitionEvent;
5438 "transitionrun": TransitionEvent;
5439 "transitionstart": TransitionEvent;
5440 "volumechange": Event;
5442 "webkitanimationend": Event;
5443 "webkitanimationiteration": Event;
5444 "webkitanimationstart": Event;
5445 "webkittransitionend": Event;
5446 "wheel": WheelEvent;
5449 interface GlobalEventHandlers {
5451 * Fires when the user aborts the download.
5452 * @param ev The event.
5454 onabort: ((this: GlobalEventHandlers, ev: UIEvent) => any) | null;
5455 onanimationcancel: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null;
5456 onanimationend: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null;
5457 onanimationiteration: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null;
5458 onanimationstart: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null;
5459 onauxclick: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
5461 * Fires when the object loses the input focus.
5462 * @param ev The focus event.
5464 onblur: ((this: GlobalEventHandlers, ev: FocusEvent) => any) | null;
5466 * Occurs when playback is possible, but would require further buffering.
5467 * @param ev The event.
5469 oncanplay: ((this: GlobalEventHandlers, ev: Event) => any) | null;
5470 oncanplaythrough: ((this: GlobalEventHandlers, ev: Event) => any) | null;
5472 * Fires when the contents of the object or selection have changed.
5473 * @param ev The event.
5475 onchange: ((this: GlobalEventHandlers, ev: Event) => any) | null;
5477 * Fires when the user clicks the left mouse button on the object
5478 * @param ev The mouse event.
5480 onclick: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
5481 onclose: ((this: GlobalEventHandlers, ev: Event) => any) | null;
5483 * Fires when the user clicks the right mouse button in the client area, opening the context menu.
5484 * @param ev The mouse event.
5486 oncontextmenu: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
5487 oncuechange: ((this: GlobalEventHandlers, ev: Event) => any) | null;
5489 * Fires when the user double-clicks the object.
5490 * @param ev The mouse event.
5492 ondblclick: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
5494 * Fires on the source object continuously during a drag operation.
5495 * @param ev The event.
5497 ondrag: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null;
5499 * Fires on the source object when the user releases the mouse at the close of a drag operation.
5500 * @param ev The event.
5502 ondragend: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null;
5504 * Fires on the target element when the user drags the object to a valid drop target.
5505 * @param ev The drag event.
5507 ondragenter: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null;
5509 * Fires on the target object when the user moves the mouse out of a valid drop target during a drag operation.
5510 * @param ev The drag event.
5512 ondragleave: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null;
5514 * Fires on the target element continuously while the user drags the object over a valid drop target.
5515 * @param ev The event.
5517 ondragover: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null;
5519 * Fires on the source object when the user starts to drag a text selection or selected object.
5520 * @param ev The event.
5522 ondragstart: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null;
5523 ondrop: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null;
5525 * Occurs when the duration attribute is updated.
5526 * @param ev The event.
5528 ondurationchange: ((this: GlobalEventHandlers, ev: Event) => any) | null;
5530 * Occurs when the media element is reset to its initial state.
5531 * @param ev The event.
5533 onemptied: ((this: GlobalEventHandlers, ev: Event) => any) | null;
5535 * Occurs when the end of playback is reached.
5536 * @param ev The event
5538 onended: ((this: GlobalEventHandlers, ev: Event) => any) | null;
5540 * Fires when an error occurs during object loading.
5541 * @param ev The event.
5543 onerror: OnErrorEventHandler;
5545 * Fires when the object receives focus.
5546 * @param ev The event.
5548 onfocus: ((this: GlobalEventHandlers, ev: FocusEvent) => any) | null;
5549 onformdata: ((this: GlobalEventHandlers, ev: FormDataEvent) => any) | null;
5550 ongotpointercapture: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
5551 oninput: ((this: GlobalEventHandlers, ev: Event) => any) | null;
5552 oninvalid: ((this: GlobalEventHandlers, ev: Event) => any) | null;
5554 * Fires when the user presses a key.
5555 * @param ev The keyboard event
5557 onkeydown: ((this: GlobalEventHandlers, ev: KeyboardEvent) => any) | null;
5559 * Fires when the user presses an alphanumeric key.
5560 * @param ev The event.
5563 onkeypress: ((this: GlobalEventHandlers, ev: KeyboardEvent) => any) | null;
5565 * Fires when the user releases a key.
5566 * @param ev The keyboard event
5568 onkeyup: ((this: GlobalEventHandlers, ev: KeyboardEvent) => any) | null;
5570 * Fires immediately after the browser loads the object.
5571 * @param ev The event.
5573 onload: ((this: GlobalEventHandlers, ev: Event) => any) | null;
5575 * Occurs when media data is loaded at the current playback position.
5576 * @param ev The event.
5578 onloadeddata: ((this: GlobalEventHandlers, ev: Event) => any) | null;
5580 * Occurs when the duration and dimensions of the media have been determined.
5581 * @param ev The event.
5583 onloadedmetadata: ((this: GlobalEventHandlers, ev: Event) => any) | null;
5585 * Occurs when Internet Explorer begins looking for media data.
5586 * @param ev The event.
5588 onloadstart: ((this: GlobalEventHandlers, ev: Event) => any) | null;
5589 onlostpointercapture: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
5591 * Fires when the user clicks the object with either mouse button.
5592 * @param ev The mouse event.
5594 onmousedown: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
5595 onmouseenter: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
5596 onmouseleave: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
5598 * Fires when the user moves the mouse over the object.
5599 * @param ev The mouse event.
5601 onmousemove: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
5603 * Fires when the user moves the mouse pointer outside the boundaries of the object.
5604 * @param ev The mouse event.
5606 onmouseout: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
5608 * Fires when the user moves the mouse pointer into the object.
5609 * @param ev The mouse event.
5611 onmouseover: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
5613 * Fires when the user releases a mouse button while the mouse is over the object.
5614 * @param ev The mouse event.
5616 onmouseup: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
5618 * Occurs when playback is paused.
5619 * @param ev The event.
5621 onpause: ((this: GlobalEventHandlers, ev: Event) => any) | null;
5623 * Occurs when the play method is requested.
5624 * @param ev The event.
5626 onplay: ((this: GlobalEventHandlers, ev: Event) => any) | null;
5628 * Occurs when the audio or video has started playing.
5629 * @param ev The event.
5631 onplaying: ((this: GlobalEventHandlers, ev: Event) => any) | null;
5632 onpointercancel: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
5633 onpointerdown: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
5634 onpointerenter: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
5635 onpointerleave: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
5636 onpointermove: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
5637 onpointerout: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
5638 onpointerover: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
5639 onpointerup: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
5641 * Occurs to indicate progress while downloading media data.
5642 * @param ev The event.
5644 onprogress: ((this: GlobalEventHandlers, ev: ProgressEvent) => any) | null;
5646 * Occurs when the playback rate is increased or decreased.
5647 * @param ev The event.
5649 onratechange: ((this: GlobalEventHandlers, ev: Event) => any) | null;
5651 * Fires when the user resets a form.
5652 * @param ev The event.
5654 onreset: ((this: GlobalEventHandlers, ev: Event) => any) | null;
5655 onresize: ((this: GlobalEventHandlers, ev: UIEvent) => any) | null;
5657 * Fires when the user repositions the scroll box in the scroll bar on the object.
5658 * @param ev The event.
5660 onscroll: ((this: GlobalEventHandlers, ev: Event) => any) | null;
5662 * Occurs when the seek operation ends.
5663 * @param ev The event.
5665 onseeked: ((this: GlobalEventHandlers, ev: Event) => any) | null;
5667 * Occurs when the current playback position is moved.
5668 * @param ev The event.
5670 onseeking: ((this: GlobalEventHandlers, ev: Event) => any) | null;
5672 * Fires when the current selection changes.
5673 * @param ev The event.
5675 onselect: ((this: GlobalEventHandlers, ev: Event) => any) | null;
5676 onselectionchange: ((this: GlobalEventHandlers, ev: Event) => any) | null;
5677 onselectstart: ((this: GlobalEventHandlers, ev: Event) => any) | null;
5679 * Occurs when the download has stopped.
5680 * @param ev The event.
5682 onstalled: ((this: GlobalEventHandlers, ev: Event) => any) | null;
5683 onsubmit: ((this: GlobalEventHandlers, ev: SubmitEvent) => any) | null;
5685 * Occurs if the load operation has been intentionally halted.
5686 * @param ev The event.
5688 onsuspend: ((this: GlobalEventHandlers, ev: Event) => any) | null;
5690 * Occurs to indicate the current playback position.
5691 * @param ev The event.
5693 ontimeupdate: ((this: GlobalEventHandlers, ev: Event) => any) | null;
5694 ontoggle: ((this: GlobalEventHandlers, ev: Event) => any) | null;
5695 ontouchcancel?: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null | undefined;
5696 ontouchend?: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null | undefined;
5697 ontouchmove?: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null | undefined;
5698 ontouchstart?: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null | undefined;
5699 ontransitioncancel: ((this: GlobalEventHandlers, ev: TransitionEvent) => any) | null;
5700 ontransitionend: ((this: GlobalEventHandlers, ev: TransitionEvent) => any) | null;
5701 ontransitionrun: ((this: GlobalEventHandlers, ev: TransitionEvent) => any) | null;
5702 ontransitionstart: ((this: GlobalEventHandlers, ev: TransitionEvent) => any) | null;
5704 * Occurs when the volume is changed, or playback is muted or unmuted.
5705 * @param ev The event.
5707 onvolumechange: ((this: GlobalEventHandlers, ev: Event) => any) | null;
5709 * Occurs when playback stops because the next frame of a video resource is not available.
5710 * @param ev The event.
5712 onwaiting: ((this: GlobalEventHandlers, ev: Event) => any) | null;
5713 /** @deprecated This is a legacy alias of `onanimationend`. */
5714 onwebkitanimationend: ((this: GlobalEventHandlers, ev: Event) => any) | null;
5715 /** @deprecated This is a legacy alias of `onanimationiteration`. */
5716 onwebkitanimationiteration: ((this: GlobalEventHandlers, ev: Event) => any) | null;
5717 /** @deprecated This is a legacy alias of `onanimationstart`. */
5718 onwebkitanimationstart: ((this: GlobalEventHandlers, ev: Event) => any) | null;
5719 /** @deprecated This is a legacy alias of `ontransitionend`. */
5720 onwebkittransitionend: ((this: GlobalEventHandlers, ev: Event) => any) | null;
5721 onwheel: ((this: GlobalEventHandlers, ev: WheelEvent) => any) | null;
5722 addEventListener<K extends keyof GlobalEventHandlersEventMap>(type: K, listener: (this: GlobalEventHandlers, ev: GlobalEventHandlersEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
5723 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
5724 removeEventListener<K extends keyof GlobalEventHandlersEventMap>(type: K, listener: (this: GlobalEventHandlers, ev: GlobalEventHandlersEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
5725 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
5728 interface HTMLAllCollection {
5729 /** Returns the number of elements in the collection. */
5730 readonly length: number;
5731 /** Returns the item with index index from the collection (determined by tree order). */
5732 item(nameOrIndex?: string): HTMLCollection | Element | null;
5734 * Returns the item with ID or name name from the collection.
5736 * If there are multiple matching items, then an HTMLCollection object containing all those elements is returned.
5738 * 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.
5740 namedItem(name: string): HTMLCollection | Element | null;
5741 [index: number]: Element;
5744 declare var HTMLAllCollection: {
5745 prototype: HTMLAllCollection;
5746 new(): HTMLAllCollection;
5749 /** 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. */
5750 interface HTMLAnchorElement extends HTMLElement, HTMLHyperlinkElementUtils {
5752 * Sets or retrieves the character set used to encode the object.
5757 * Sets or retrieves the coordinates of the object.
5762 /** Sets or retrieves the language code of the object. */
5765 * Sets or retrieves the shape of the object.
5770 referrerPolicy: string;
5771 /** Sets or retrieves the relationship between the object and the destination of the link. */
5773 readonly relList: DOMTokenList;
5775 * Sets or retrieves the relationship between the object and the destination of the link.
5780 * Sets or retrieves the shape of the object.
5784 /** Sets or retrieves the window or frame at which to target content. */
5786 /** Retrieves or sets the text of the object as a string. */
5789 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLAnchorElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
5790 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
5791 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLAnchorElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
5792 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
5795 declare var HTMLAnchorElement: {
5796 prototype: HTMLAnchorElement;
5797 new(): HTMLAnchorElement;
5800 /** 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. */
5801 interface HTMLAreaElement extends HTMLElement, HTMLHyperlinkElementUtils {
5802 /** Sets or retrieves a text alternative to the graphic. */
5804 /** Sets or retrieves the coordinates of the object. */
5808 * Sets or gets whether clicks in this region cause action.
5813 referrerPolicy: string;
5815 readonly relList: DOMTokenList;
5816 /** Sets or retrieves the shape of the object. */
5818 /** Sets or retrieves the window or frame at which to target content. */
5820 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLAreaElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
5821 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
5822 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLAreaElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
5823 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
5826 declare var HTMLAreaElement: {
5827 prototype: HTMLAreaElement;
5828 new(): HTMLAreaElement;
5831 /** Provides access to the properties of <audio> elements, as well as methods to manipulate them. It derives from the HTMLMediaElement interface. */
5832 interface HTMLAudioElement extends HTMLMediaElement {
5833 addEventListener<K extends keyof HTMLMediaElementEventMap>(type: K, listener: (this: HTMLAudioElement, ev: HTMLMediaElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
5834 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
5835 removeEventListener<K extends keyof HTMLMediaElementEventMap>(type: K, listener: (this: HTMLAudioElement, ev: HTMLMediaElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
5836 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
5839 declare var HTMLAudioElement: {
5840 prototype: HTMLAudioElement;
5841 new(): HTMLAudioElement;
5844 /** A HTML line break element (<br>). It inherits from HTMLElement. */
5845 interface HTMLBRElement extends HTMLElement {
5847 * Sets or retrieves the side on which floating objects are not to be positioned when any IHTMLBlockElement is inserted into the document.
5851 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLBRElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
5852 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
5853 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLBRElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
5854 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
5857 declare var HTMLBRElement: {
5858 prototype: HTMLBRElement;
5859 new(): HTMLBRElement;
5862 /** Contains the base URIÂ for a document. This object inherits all of the properties and methods as described in the HTMLElement interface. */
5863 interface HTMLBaseElement extends HTMLElement {
5864 /** Gets or sets the baseline URL on which relative links are based. */
5866 /** Sets or retrieves the window or frame at which to target content. */
5868 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLBaseElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
5869 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
5870 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLBaseElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
5871 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
5874 declare var HTMLBaseElement: {
5875 prototype: HTMLBaseElement;
5876 new(): HTMLBaseElement;
5879 interface HTMLBodyElementEventMap extends HTMLElementEventMap, WindowEventHandlersEventMap {
5880 "orientationchange": Event;
5883 /** Provides special properties (beyond those inherited from the regular HTMLElement interface) for manipulating <body> elements. */
5884 interface HTMLBodyElement extends HTMLElement, WindowEventHandlers {
5894 onorientationchange: ((this: HTMLBodyElement, ev: Event) => any) | null;
5899 addEventListener<K extends keyof HTMLBodyElementEventMap>(type: K, listener: (this: HTMLBodyElement, ev: HTMLBodyElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
5900 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
5901 removeEventListener<K extends keyof HTMLBodyElementEventMap>(type: K, listener: (this: HTMLBodyElement, ev: HTMLBodyElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
5902 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
5905 declare var HTMLBodyElement: {
5906 prototype: HTMLBodyElement;
5907 new(): HTMLBodyElement;
5910 /** Provides properties and methods (beyond the regular HTMLElement interface it also has available to it by inheritance) for manipulating <button> elements. */
5911 interface HTMLButtonElement extends HTMLElement {
5913 /** Retrieves a reference to the form that the object is embedded in. */
5914 readonly form: HTMLFormElement | null;
5915 /** Overrides the action attribute (where the data on a form is sent) on the parent form element. */
5917 /** Used to override the encoding (formEnctype attribute) specified on the form element. */
5918 formEnctype: string;
5919 /** Overrides the submit method attribute previously specified on a form element. */
5921 /** 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. */
5922 formNoValidate: boolean;
5923 /** Overrides the target attribute on a form element. */
5925 readonly labels: NodeListOf<HTMLLabelElement>;
5926 /** Sets or retrieves the name of the object. */
5928 /** Gets the classification and default behavior of the button. */
5930 /** 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. */
5931 readonly validationMessage: string;
5932 /** Returns a ValidityState object that represents the validity states of an element. */
5933 readonly validity: ValidityState;
5934 /** Sets or retrieves the default or selected value of the control. */
5936 /** Returns whether an element will successfully validate based on forms validation rules and constraints. */
5937 readonly willValidate: boolean;
5938 /** Returns whether a form will validate when it is submitted, without having to submit it. */
5939 checkValidity(): boolean;
5940 reportValidity(): boolean;
5942 * Sets a custom error message that is displayed when a form is submitted.
5943 * @param error Sets a custom error message that is displayed when a form is submitted.
5945 setCustomValidity(error: string): void;
5946 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLButtonElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
5947 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
5948 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLButtonElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
5949 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
5952 declare var HTMLButtonElement: {
5953 prototype: HTMLButtonElement;
5954 new(): HTMLButtonElement;
5957 /** 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. */
5958 interface HTMLCanvasElement extends HTMLElement {
5959 /** Gets or sets the height of a canvas element on a document. */
5961 /** Gets or sets the width of a canvas element on a document. */
5963 captureStream(frameRequestRate?: number): MediaStream;
5965 * 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.
5966 * @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");
5968 getContext(contextId: "2d", options?: CanvasRenderingContext2DSettings): CanvasRenderingContext2D | null;
5969 getContext(contextId: "bitmaprenderer", options?: ImageBitmapRenderingContextSettings): ImageBitmapRenderingContext | null;
5970 getContext(contextId: "webgl", options?: WebGLContextAttributes): WebGLRenderingContext | null;
5971 getContext(contextId: "webgl2", options?: WebGLContextAttributes): WebGL2RenderingContext | null;
5972 getContext(contextId: string, options?: any): RenderingContext | null;
5973 toBlob(callback: BlobCallback, type?: string, quality?: any): void;
5975 * Returns the content of the current canvas as an image that you can use as a source for another canvas or an HTML element.
5976 * @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.
5978 toDataURL(type?: string, quality?: any): string;
5979 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLCanvasElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
5980 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
5981 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLCanvasElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
5982 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
5985 declare var HTMLCanvasElement: {
5986 prototype: HTMLCanvasElement;
5987 new(): HTMLCanvasElement;
5990 /** A generic collection (array-like object similar to arguments) of elements (in document order) and offers methods and properties for selecting from the list. */
5991 interface HTMLCollectionBase {
5992 /** Sets or retrieves the number of objects in a collection. */
5993 readonly length: number;
5994 /** Retrieves an object from various collections. */
5995 item(index: number): Element | null;
5996 [index: number]: Element;
5999 interface HTMLCollection extends HTMLCollectionBase {
6000 /** Retrieves a select object or an object from an options collection. */
6001 namedItem(name: string): Element | null;
6004 declare var HTMLCollection: {
6005 prototype: HTMLCollection;
6006 new(): HTMLCollection;
6009 interface HTMLCollectionOf<T extends Element> extends HTMLCollectionBase {
6010 item(index: number): T | null;
6011 namedItem(name: string): T | null;
6015 /** Provides special properties (beyond those of the regular HTMLElement interface it also has available to it by inheritance) for manipulating definition list (<dl>) elements. */
6016 interface HTMLDListElement extends HTMLElement {
6019 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLDListElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
6020 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
6021 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLDListElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
6022 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
6025 declare var HTMLDListElement: {
6026 prototype: HTMLDListElement;
6027 new(): HTMLDListElement;
6030 /** Provides special properties (beyond the regular HTMLElement interface it also has available to it by inheritance) for manipulating <data> elements. */
6031 interface HTMLDataElement extends HTMLElement {
6033 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLDataElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
6034 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
6035 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLDataElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
6036 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
6039 declare var HTMLDataElement: {
6040 prototype: HTMLDataElement;
6041 new(): HTMLDataElement;
6044 /** Provides special properties (beyond the HTMLElement object interface it also has available to it by inheritance) to manipulate <datalist> elements and their content. */
6045 interface HTMLDataListElement extends HTMLElement {
6046 /** Returns an HTMLCollection of the option elements of the datalist element. */
6047 readonly options: HTMLCollectionOf<HTMLOptionElement>;
6048 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLDataListElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
6049 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
6050 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLDataListElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
6051 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
6054 declare var HTMLDataListElement: {
6055 prototype: HTMLDataListElement;
6056 new(): HTMLDataListElement;
6059 interface HTMLDetailsElement extends HTMLElement {
6061 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLDetailsElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
6062 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
6063 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLDetailsElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
6064 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
6067 declare var HTMLDetailsElement: {
6068 prototype: HTMLDetailsElement;
6069 new(): HTMLDetailsElement;
6072 /** @deprecated this is not available in most browsers */
6073 interface HTMLDialogElement extends HTMLElement {
6074 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLDialogElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
6075 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
6076 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLDialogElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
6077 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
6081 interface HTMLDirectoryElement extends HTMLElement {
6084 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLDirectoryElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
6085 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
6086 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLDirectoryElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
6087 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
6091 declare var HTMLDirectoryElement: {
6092 prototype: HTMLDirectoryElement;
6093 new(): HTMLDirectoryElement;
6096 /** Provides special properties (beyond the regular HTMLElement interface it also has available to it by inheritance) for manipulating <div> elements. */
6097 interface HTMLDivElement extends HTMLElement {
6099 * Sets or retrieves how the object is aligned with adjacent text.
6103 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLDivElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
6104 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
6105 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLDivElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
6106 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
6109 declare var HTMLDivElement: {
6110 prototype: HTMLDivElement;
6111 new(): HTMLDivElement;
6114 /** @deprecated use Document */
6115 interface HTMLDocument extends Document {
6116 addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: HTMLDocument, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
6117 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
6118 removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: HTMLDocument, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
6119 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
6123 declare var HTMLDocument: {
6124 prototype: HTMLDocument;
6125 new(): HTMLDocument;
6128 interface HTMLElementEventMap extends ElementEventMap, DocumentAndElementEventHandlersEventMap, GlobalEventHandlersEventMap {
6131 /** Any HTML element. Some elements directly implement this interface, while others implement it via an interface that inherits it. */
6132 interface HTMLElement extends Element, DocumentAndElementEventHandlers, ElementCSSInlineStyle, ElementContentEditable, GlobalEventHandlers, HTMLOrSVGElement {
6134 readonly accessKeyLabel: string;
6135 autocapitalize: string;
6141 readonly offsetHeight: number;
6142 readonly offsetLeft: number;
6143 readonly offsetParent: Element | null;
6144 readonly offsetTop: number;
6145 readonly offsetWidth: number;
6147 spellcheck: boolean;
6150 attachInternals(): ElementInternals;
6152 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
6153 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
6154 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
6155 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
6158 declare var HTMLElement: {
6159 prototype: HTMLElement;
6163 /** Provides special properties (beyond the regular HTMLElement interface it also has available to it by inheritance) for manipulating <embed> elements. */
6164 interface HTMLEmbedElement extends HTMLElement {
6167 /** Sets or retrieves the height of the object. */
6170 * Sets or retrieves the name of the object.
6174 /** Sets or retrieves a URL to be loaded by the object. */
6177 /** Sets or retrieves the width of the object. */
6179 getSVGDocument(): Document | null;
6180 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLEmbedElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
6181 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
6182 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLEmbedElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
6183 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
6186 declare var HTMLEmbedElement: {
6187 prototype: HTMLEmbedElement;
6188 new(): HTMLEmbedElement;
6191 /** 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. */
6192 interface HTMLFieldSetElement extends HTMLElement {
6194 /** Returns an HTMLCollection of the form controls in the element. */
6195 readonly elements: HTMLCollection;
6196 /** Retrieves a reference to the form that the object is embedded in. */
6197 readonly form: HTMLFormElement | null;
6199 /** Returns the string "fieldset". */
6200 readonly type: string;
6201 /** 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. */
6202 readonly validationMessage: string;
6203 /** Returns a ValidityState object that represents the validity states of an element. */
6204 readonly validity: ValidityState;
6205 /** Returns whether an element will successfully validate based on forms validation rules and constraints. */
6206 readonly willValidate: boolean;
6207 /** Returns whether a form will validate when it is submitted, without having to submit it. */
6208 checkValidity(): boolean;
6209 reportValidity(): boolean;
6211 * Sets a custom error message that is displayed when a form is submitted.
6212 * @param error Sets a custom error message that is displayed when a form is submitted.
6214 setCustomValidity(error: string): void;
6215 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLFieldSetElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
6216 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
6217 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLFieldSetElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
6218 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
6221 declare var HTMLFieldSetElement: {
6222 prototype: HTMLFieldSetElement;
6223 new(): HTMLFieldSetElement;
6227 * 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.
6230 interface HTMLFontElement extends HTMLElement {
6234 * Sets or retrieves the current typeface family.
6240 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLFontElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
6241 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
6242 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLFontElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
6243 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
6247 declare var HTMLFontElement: {
6248 prototype: HTMLFontElement;
6249 new(): HTMLFontElement;
6252 /** A collection of HTML form control elements. */
6253 interface HTMLFormControlsCollection extends HTMLCollectionBase {
6255 * Returns the item with ID or name name from the collection.
6257 * If there are multiple matching items, then a RadioNodeList object containing all those elements is returned.
6259 namedItem(name: string): RadioNodeList | Element | null;
6262 declare var HTMLFormControlsCollection: {
6263 prototype: HTMLFormControlsCollection;
6264 new(): HTMLFormControlsCollection;
6267 /** 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. */
6268 interface HTMLFormElement extends HTMLElement {
6269 /** Sets or retrieves a list of character encodings for input data that must be accepted by the server processing the form. */
6270 acceptCharset: string;
6271 /** Sets or retrieves the URL to which the form content is sent for processing. */
6273 /** Specifies whether autocomplete is applied to an editable text field. */
6274 autocomplete: string;
6275 /** Retrieves a collection, in source order, of all controls in a given form. */
6276 readonly elements: HTMLFormControlsCollection;
6277 /** Sets or retrieves the MIME encoding for the form. */
6279 /** Sets or retrieves the encoding type for the form. */
6281 /** Sets or retrieves the number of objects in a collection. */
6282 readonly length: number;
6283 /** Sets or retrieves how to send the form data to the server. */
6285 /** Sets or retrieves the name of the object. */
6287 /** Designates a form that is not validated when submitted. */
6288 noValidate: boolean;
6289 /** Sets or retrieves the window or frame at which to target content. */
6291 /** Returns whether a form will validate when it is submitted, without having to submit it. */
6292 checkValidity(): boolean;
6293 reportValidity(): boolean;
6294 requestSubmit(submitter?: HTMLElement | null): void;
6295 /** Fires when the user resets a form. */
6297 /** Fires when a FORM is about to be submitted. */
6299 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLFormElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
6300 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
6301 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLFormElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
6302 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
6303 [index: number]: Element;
6304 [name: string]: any;
6307 declare var HTMLFormElement: {
6308 prototype: HTMLFormElement;
6309 new(): HTMLFormElement;
6313 interface HTMLFrameElement extends HTMLElement {
6315 * Retrieves the document object of the page or frame.
6318 readonly contentDocument: Document | null;
6320 * Retrieves the object of the specified.
6323 readonly contentWindow: WindowProxy | null;
6325 * Sets or retrieves whether to display a border for the frame.
6328 frameBorder: string;
6330 * Sets or retrieves a URI to a long description of the object.
6335 * Sets or retrieves the top and bottom margin heights before displaying the text in a frame.
6338 marginHeight: string;
6340 * Sets or retrieves the left and right margin widths before displaying the text in a frame.
6343 marginWidth: string;
6345 * Sets or retrieves the frame name.
6350 * Sets or retrieves whether the user can resize the frame.
6355 * Sets or retrieves whether the frame can be scrolled.
6360 * Sets or retrieves a URL to be loaded by the object.
6364 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLFrameElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
6365 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
6366 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLFrameElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
6367 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
6371 declare var HTMLFrameElement: {
6372 prototype: HTMLFrameElement;
6373 new(): HTMLFrameElement;
6376 interface HTMLFrameSetElementEventMap extends HTMLElementEventMap, WindowEventHandlersEventMap {
6380 * Provides special properties (beyond those of the regular HTMLElement interface they also inherit) for manipulating <frameset> elements.
6383 interface HTMLFrameSetElement extends HTMLElement, WindowEventHandlers {
6385 * Sets or retrieves the frame widths of the object.
6390 * Sets or retrieves the frame heights of the object.
6394 addEventListener<K extends keyof HTMLFrameSetElementEventMap>(type: K, listener: (this: HTMLFrameSetElement, ev: HTMLFrameSetElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
6395 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
6396 removeEventListener<K extends keyof HTMLFrameSetElementEventMap>(type: K, listener: (this: HTMLFrameSetElement, ev: HTMLFrameSetElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
6397 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
6401 declare var HTMLFrameSetElement: {
6402 prototype: HTMLFrameSetElement;
6403 new(): HTMLFrameSetElement;
6406 /** Provides special properties (beyond those of the HTMLElement interface it also has available to it by inheritance) for manipulating <hr> elements. */
6407 interface HTMLHRElement extends HTMLElement {
6409 * Sets or retrieves how the object is aligned with adjacent text.
6416 * Sets or retrieves whether the horizontal rule is drawn with 3-D shading.
6423 * Sets or retrieves the width of the object.
6427 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLHRElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
6428 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
6429 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLHRElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
6430 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
6433 declare var HTMLHRElement: {
6434 prototype: HTMLHRElement;
6435 new(): HTMLHRElement;
6438 /** Contains the descriptive information, or metadata, for a document. This object inherits all of the properties and methods described in the HTMLElement interface. */
6439 interface HTMLHeadElement extends HTMLElement {
6440 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLHeadElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
6441 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
6442 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLHeadElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
6443 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
6446 declare var HTMLHeadElement: {
6447 prototype: HTMLHeadElement;
6448 new(): HTMLHeadElement;
6451 /** The different heading elements. It inherits methods and properties from the HTMLElement interface. */
6452 interface HTMLHeadingElement extends HTMLElement {
6454 * Sets or retrieves a value that indicates the table alignment.
6458 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLHeadingElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
6459 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
6460 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLHeadingElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
6461 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
6464 declare var HTMLHeadingElement: {
6465 prototype: HTMLHeadingElement;
6466 new(): HTMLHeadingElement;
6469 /** Serves as the root node for a given HTML document. This object inherits the properties and methods described in the HTMLElement interface. */
6470 interface HTMLHtmlElement extends HTMLElement {
6472 * Sets or retrieves the DTD version that governs the current document.
6476 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLHtmlElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
6477 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
6478 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLHtmlElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
6479 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
6482 declare var HTMLHtmlElement: {
6483 prototype: HTMLHtmlElement;
6484 new(): HTMLHtmlElement;
6487 interface HTMLHyperlinkElementUtils {
6489 * Returns the hyperlink's URL's fragment (includes leading "#" if non-empty).
6491 * Can be set, to change the URL's fragment (ignores leading "#").
6495 * Returns the hyperlink's URL's host and port (if different from the default port for the scheme).
6497 * Can be set, to change the URL's host and port.
6501 * Returns the hyperlink's URL's host.
6503 * Can be set, to change the URL's host.
6507 * Returns the hyperlink's URL.
6509 * Can be set, to change the URL.
6513 /** Returns the hyperlink's URL's origin. */
6514 readonly origin: string;
6516 * Returns the hyperlink's URL's password.
6518 * Can be set, to change the URL's password.
6522 * Returns the hyperlink's URL's path.
6524 * Can be set, to change the URL's path.
6528 * Returns the hyperlink's URL's port.
6530 * Can be set, to change the URL's port.
6534 * Returns the hyperlink's URL's scheme.
6536 * Can be set, to change the URL's scheme.
6540 * Returns the hyperlink's URL's query (includes leading "?" if non-empty).
6542 * Can be set, to change the URL's query (ignores leading "?").
6546 * Returns the hyperlink's URL's username.
6548 * Can be set, to change the URL's username.
6553 /** 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. */
6554 interface HTMLIFrameElement extends HTMLElement {
6556 * Sets or retrieves how the object is aligned with adjacent text.
6561 allowFullscreen: boolean;
6562 /** Retrieves the document object of the page or frame. */
6563 readonly contentDocument: Document | null;
6564 /** Retrieves the object of the specified. */
6565 readonly contentWindow: WindowProxy | null;
6567 * Sets or retrieves whether to display a border for the frame.
6570 frameBorder: string;
6571 /** Sets or retrieves the height of the object. */
6574 * Sets or retrieves a URI to a long description of the object.
6579 * Sets or retrieves the top and bottom margin heights before displaying the text in a frame.
6582 marginHeight: string;
6584 * Sets or retrieves the left and right margin widths before displaying the text in a frame.
6587 marginWidth: string;
6588 /** Sets or retrieves the frame name. */
6590 referrerPolicy: ReferrerPolicy;
6591 readonly sandbox: DOMTokenList;
6593 * Sets or retrieves whether the frame can be scrolled.
6597 /** Sets or retrieves a URL to be loaded by the object. */
6599 /** Sets or retrives the content of the page that is to contain. */
6601 /** Sets or retrieves the width of the object. */
6603 getSVGDocument(): Document | null;
6604 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLIFrameElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
6605 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
6606 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLIFrameElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
6607 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
6610 declare var HTMLIFrameElement: {
6611 prototype: HTMLIFrameElement;
6612 new(): HTMLIFrameElement;
6615 /** Provides special properties and methods for manipulating <img> elements. */
6616 interface HTMLImageElement extends HTMLElement {
6618 * Sets or retrieves how the object is aligned with adjacent text.
6622 /** Sets or retrieves a text alternative to the graphic. */
6625 * Specifies the properties of a border drawn around an object.
6629 /** Retrieves whether the object is fully loaded. */
6630 readonly complete: boolean;
6631 crossOrigin: string | null;
6632 readonly currentSrc: string;
6633 decoding: "async" | "sync" | "auto";
6634 /** Sets or retrieves the height of the object. */
6637 * Sets or retrieves the width of the border to draw around the object.
6641 /** Sets or retrieves whether the image is a server-side image map. */
6645 * Sets or retrieves a Uniform Resource Identifier (URI) to a long description of the object.
6652 * Sets or retrieves the name of the object.
6656 /** The original height of the image resource before sizing. */
6657 readonly naturalHeight: number;
6658 /** The original width of the image resource before sizing. */
6659 readonly naturalWidth: number;
6660 referrerPolicy: string;
6662 /** The address or URL of the a media resource that is to be considered. */
6665 /** Sets or retrieves the URL, often with a bookmark extension (#name), to use as a client-side image map. */
6668 * Sets or retrieves the vertical margin for the object.
6672 /** Sets or retrieves the width of the object. */
6676 decode(): Promise<void>;
6677 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLImageElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
6678 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
6679 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLImageElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
6680 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
6683 declare var HTMLImageElement: {
6684 prototype: HTMLImageElement;
6685 new(): HTMLImageElement;
6688 /** Provides special properties and methods for manipulating the options, layout, and presentation of <input> elements. */
6689 interface HTMLInputElement extends HTMLElement {
6690 /** Sets or retrieves a comma-separated list of content types. */
6693 * Sets or retrieves how the object is aligned with adjacent text.
6697 /** Sets or retrieves a text alternative to the graphic. */
6699 /** Specifies whether autocomplete is applied to an editable text field. */
6700 autocomplete: string;
6702 /** Sets or retrieves the state of the check box or radio button. */
6704 /** Sets or retrieves the state of the check box or radio button. */
6705 defaultChecked: boolean;
6706 /** Sets or retrieves the initial contents of the object. */
6707 defaultValue: string;
6710 /** Returns a FileList object on a file type input object. */
6711 files: FileList | null;
6712 /** Retrieves a reference to the form that the object is embedded in. */
6713 readonly form: HTMLFormElement | null;
6714 /** Overrides the action attribute (where the data on a form is sent) on the parent form element. */
6716 /** Used to override the encoding (formEnctype attribute) specified on the form element. */
6717 formEnctype: string;
6718 /** Overrides the submit method attribute previously specified on a form element. */
6720 /** 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. */
6721 formNoValidate: boolean;
6722 /** Overrides the target attribute on a form element. */
6724 /** Sets or retrieves the height of the object. */
6726 /** When set, overrides the rendering of checkbox controls so that the current value is not visible. */
6727 indeterminate: boolean;
6728 readonly labels: NodeListOf<HTMLLabelElement> | null;
6729 /** Specifies the ID of a pre-defined datalist of options for an input element. */
6730 readonly list: HTMLElement | null;
6731 /** 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. */
6733 /** Sets or retrieves the maximum number of characters that the user can enter in a text control. */
6735 /** 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. */
6738 /** Sets or retrieves the Boolean value indicating whether multiple items can be selected from a list. */
6740 /** Sets or retrieves the name of the object. */
6742 /** Gets or sets a string containing a regular expression that the user's input must match. */
6744 /** 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. */
6745 placeholder: string;
6747 /** When present, marks an element that can't be submitted without a value. */
6749 selectionDirection: "forward" | "backward" | "none" | null;
6750 /** Gets or sets the end position or offset of a text selection. */
6751 selectionEnd: number | null;
6752 /** Gets or sets the starting position or offset of a text selection. */
6753 selectionStart: number | null;
6755 /** The address or URL of the a media resource that is to be considered. */
6757 /** 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. */
6759 /** Returns the content type of the object. */
6762 * Sets or retrieves the URL, often with a bookmark extension (#name), to use as a client-side image map.
6766 /** 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. */
6767 readonly validationMessage: string;
6768 /** Returns a ValidityState object that represents the validity states of an element. */
6769 readonly validity: ValidityState;
6770 /** Returns the value of the data at the cursor's current position. */
6772 /** 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. */
6773 valueAsDate: Date | null;
6774 /** Returns the input field value as a number. */
6775 valueAsNumber: number;
6776 readonly webkitEntries: ReadonlyArray<FileSystemEntry>;
6777 webkitdirectory: boolean;
6778 /** Sets or retrieves the width of the object. */
6780 /** Returns whether an element will successfully validate based on forms validation rules and constraints. */
6781 readonly willValidate: boolean;
6782 /** Returns whether a form will validate when it is submitted, without having to submit it. */
6783 checkValidity(): boolean;
6784 reportValidity(): boolean;
6785 /** Makes the selection equal to the current object. */
6788 * Sets a custom error message that is displayed when a form is submitted.
6789 * @param error Sets a custom error message that is displayed when a form is submitted.
6791 setCustomValidity(error: string): void;
6792 setRangeText(replacement: string): void;
6793 setRangeText(replacement: string, start: number, end: number, selectionMode?: SelectionMode): void;
6795 * Sets the start and end positions of a selection in a text field.
6796 * @param start The offset into the text field for the start of the selection.
6797 * @param end The offset into the text field for the end of the selection.
6798 * @param direction The direction in which the selection is performed.
6800 setSelectionRange(start: number | null, end: number | null, direction?: "forward" | "backward" | "none"): void;
6802 * 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.
6803 * @param n Value to decrement the value by.
6805 stepDown(n?: number): void;
6807 * 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.
6808 * @param n Value to increment the value by.
6810 stepUp(n?: number): void;
6811 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLInputElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
6812 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
6813 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLInputElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
6814 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
6817 declare var HTMLInputElement: {
6818 prototype: HTMLInputElement;
6819 new(): HTMLInputElement;
6822 /** Exposes specific properties and methods (beyond those defined by regular HTMLElement interface it also has available to it by inheritance) for manipulating list elements. */
6823 interface HTMLLIElement extends HTMLElement {
6826 /** Sets or retrieves the value of a list item. */
6828 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLLIElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
6829 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
6830 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLLIElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
6831 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
6834 declare var HTMLLIElement: {
6835 prototype: HTMLLIElement;
6836 new(): HTMLLIElement;
6839 /** Gives access to properties specific to <label> elements. It inherits methods and properties from the base HTMLElement interface. */
6840 interface HTMLLabelElement extends HTMLElement {
6841 /** Returns the form control that is associated with this element. */
6842 readonly control: HTMLElement | null;
6843 /** Retrieves a reference to the form that the object is embedded in. */
6844 readonly form: HTMLFormElement | null;
6845 /** Sets or retrieves the object to which the given label object is assigned. */
6847 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLLabelElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
6848 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
6849 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLLabelElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
6850 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
6853 declare var HTMLLabelElement: {
6854 prototype: HTMLLabelElement;
6855 new(): HTMLLabelElement;
6858 /** The HTMLLegendElement is an interface allowing to access properties of the <legend> elements. It inherits properties and methods from the HTMLElement interface. */
6859 interface HTMLLegendElement extends HTMLElement {
6862 /** Retrieves a reference to the form that the object is embedded in. */
6863 readonly form: HTMLFormElement | null;
6864 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLLegendElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
6865 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
6866 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLLegendElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
6867 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
6870 declare var HTMLLegendElement: {
6871 prototype: HTMLLegendElement;
6872 new(): HTMLLegendElement;
6875 /** 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. */
6876 interface HTMLLinkElement extends HTMLElement, LinkStyle {
6879 * Sets or retrieves the character set used to encode the object.
6883 crossOrigin: string | null;
6885 /** Sets or retrieves a destination URL or an anchor point. */
6887 /** Sets or retrieves the language code of the object. */
6890 imageSrcset: string;
6892 /** Sets or retrieves the media type. */
6894 referrerPolicy: string;
6895 /** Sets or retrieves the relationship between the object and the destination of the link. */
6897 readonly relList: DOMTokenList;
6899 * Sets or retrieves the relationship between the object and the destination of the link.
6903 readonly sizes: DOMTokenList;
6905 * Sets or retrieves the window or frame at which to target content.
6909 /** Sets or retrieves the MIME type of the object. */
6911 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLLinkElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
6912 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
6913 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLLinkElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
6914 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
6917 declare var HTMLLinkElement: {
6918 prototype: HTMLLinkElement;
6919 new(): HTMLLinkElement;
6922 /** 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. */
6923 interface HTMLMapElement extends HTMLElement {
6924 /** Retrieves a collection of the area objects defined for the given map object. */
6925 readonly areas: HTMLCollection;
6926 /** Sets or retrieves the name of the object. */
6928 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLMapElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
6929 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
6930 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLMapElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
6931 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
6934 declare var HTMLMapElement: {
6935 prototype: HTMLMapElement;
6936 new(): HTMLMapElement;
6940 * Provides methods to manipulate <marquee> elements.
6943 interface HTMLMarqueeElement extends HTMLElement {
6957 scrollAmount: number;
6959 scrollDelay: number;
6970 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLMarqueeElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
6971 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
6972 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLMarqueeElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
6973 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
6977 declare var HTMLMarqueeElement: {
6978 prototype: HTMLMarqueeElement;
6979 new(): HTMLMarqueeElement;
6982 interface HTMLMediaElementEventMap extends HTMLElementEventMap {
6983 "encrypted": MediaEncryptedEvent;
6984 "waitingforkey": Event;
6987 /** Adds to HTMLElement the properties and methods needed to support basic media-related capabilities that are common to audio and video. */
6988 interface HTMLMediaElement extends HTMLElement {
6989 /** Gets or sets a value that indicates whether to start playing the media automatically. */
6991 /** Gets a collection of buffered time ranges. */
6992 readonly buffered: TimeRanges;
6993 /** 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). */
6995 crossOrigin: string | null;
6996 /** Gets the address or URL of the current media resource that is selected by IHTMLMediaElement. */
6997 readonly currentSrc: string;
6998 /** Gets or sets the current playback position, in seconds. */
6999 currentTime: number;
7000 defaultMuted: boolean;
7001 /** Gets or sets the default playback rate when the user is not using fast forward or reverse for a video or audio resource. */
7002 defaultPlaybackRate: number;
7003 disableRemotePlayback: boolean;
7004 /** 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. */
7005 readonly duration: number;
7006 /** Gets information about whether the playback has ended or not. */
7007 readonly ended: boolean;
7008 /** Returns an object representing the current error state of the audio or video element. */
7009 readonly error: MediaError | null;
7010 /** Gets or sets a flag to specify whether playback should restart after it completes. */
7012 /** Available only in secure contexts. */
7013 readonly mediaKeys: MediaKeys | null;
7014 /** Gets or sets a flag that indicates whether the audio (either audio or the audio track on video media) is muted. */
7016 /** Gets the current network activity for the element. */
7017 readonly networkState: number;
7018 onencrypted: ((this: HTMLMediaElement, ev: MediaEncryptedEvent) => any) | null;
7019 onwaitingforkey: ((this: HTMLMediaElement, ev: Event) => any) | null;
7020 /** Gets a flag that specifies whether playback is paused. */
7021 readonly paused: boolean;
7022 /** 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. */
7023 playbackRate: number;
7024 /** Gets TimeRanges for the current media resource that has been played. */
7025 readonly played: TimeRanges;
7026 /** Gets or sets a value indicating what data should be preloaded, if any. */
7027 preload: "none" | "metadata" | "auto" | "";
7028 readonly readyState: number;
7029 readonly remote: RemotePlayback;
7030 /** Returns a TimeRanges object that represents the ranges of the current media resource that can be seeked. */
7031 readonly seekable: TimeRanges;
7032 /** Gets a flag that indicates whether the client is currently moving to a new playback position in the media resource. */
7033 readonly seeking: boolean;
7034 /** The address or URL of the a media resource that is to be considered. */
7036 srcObject: MediaProvider | null;
7037 readonly textTracks: TextTrackList;
7038 /** Gets or sets the volume level for audio portions of the media element. */
7040 addTextTrack(kind: TextTrackKind, label?: string, language?: string): TextTrack;
7041 /** Returns a string that specifies whether the client can play a given media resource type. */
7042 canPlayType(type: string): CanPlayTypeResult;
7043 fastSeek(time: number): void;
7044 /** Resets the audio or video object and loads a new media resource. */
7046 /** 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. */
7048 /** Loads and starts playback of a media resource. */
7049 play(): Promise<void>;
7050 /** Available only in secure contexts. */
7051 setMediaKeys(mediaKeys: MediaKeys | null): Promise<void>;
7052 readonly HAVE_CURRENT_DATA: number;
7053 readonly HAVE_ENOUGH_DATA: number;
7054 readonly HAVE_FUTURE_DATA: number;
7055 readonly HAVE_METADATA: number;
7056 readonly HAVE_NOTHING: number;
7057 readonly NETWORK_EMPTY: number;
7058 readonly NETWORK_IDLE: number;
7059 readonly NETWORK_LOADING: number;
7060 readonly NETWORK_NO_SOURCE: number;
7061 addEventListener<K extends keyof HTMLMediaElementEventMap>(type: K, listener: (this: HTMLMediaElement, ev: HTMLMediaElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
7062 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
7063 removeEventListener<K extends keyof HTMLMediaElementEventMap>(type: K, listener: (this: HTMLMediaElement, ev: HTMLMediaElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
7064 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
7067 declare var HTMLMediaElement: {
7068 prototype: HTMLMediaElement;
7069 new(): HTMLMediaElement;
7070 readonly HAVE_CURRENT_DATA: number;
7071 readonly HAVE_ENOUGH_DATA: number;
7072 readonly HAVE_FUTURE_DATA: number;
7073 readonly HAVE_METADATA: number;
7074 readonly HAVE_NOTHING: number;
7075 readonly NETWORK_EMPTY: number;
7076 readonly NETWORK_IDLE: number;
7077 readonly NETWORK_LOADING: number;
7078 readonly NETWORK_NO_SOURCE: number;
7081 interface HTMLMenuElement extends HTMLElement {
7084 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLMenuElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
7085 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
7086 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLMenuElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
7087 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
7090 declare var HTMLMenuElement: {
7091 prototype: HTMLMenuElement;
7092 new(): HTMLMenuElement;
7095 /** Contains descriptive metadata about a document. It inherits all of the properties and methods described in the HTMLElement interface. */
7096 interface HTMLMetaElement extends HTMLElement {
7097 /** Gets or sets meta-information to associate with httpEquiv or name. */
7099 /** Gets or sets information used to bind the value of a content attribute of a meta element to an HTTP response header. */
7101 /** Sets or retrieves the value specified in the content attribute of the meta object. */
7104 * Sets or retrieves a scheme to be used in interpreting the value of a property specified for the object.
7108 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLMetaElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
7109 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
7110 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLMetaElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
7111 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
7114 declare var HTMLMetaElement: {
7115 prototype: HTMLMetaElement;
7116 new(): HTMLMetaElement;
7119 /** 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. */
7120 interface HTMLMeterElement extends HTMLElement {
7122 readonly labels: NodeListOf<HTMLLabelElement>;
7128 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLMeterElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
7129 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
7130 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLMeterElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
7131 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
7134 declare var HTMLMeterElement: {
7135 prototype: HTMLMeterElement;
7136 new(): HTMLMeterElement;
7139 /** 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>. */
7140 interface HTMLModElement extends HTMLElement {
7141 /** Sets or retrieves reference information about the object. */
7143 /** Sets or retrieves the date and time of a modification to the object. */
7145 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLModElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
7146 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
7147 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLModElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
7148 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
7151 declare var HTMLModElement: {
7152 prototype: HTMLModElement;
7153 new(): HTMLModElement;
7156 /** Provides special properties (beyond those defined on the regular HTMLElement interface it also has available to it by inheritance) for manipulating ordered list elements. */
7157 interface HTMLOListElement extends HTMLElement {
7161 /** The starting number. */
7164 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLOListElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
7165 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
7166 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLOListElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
7167 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
7170 declare var HTMLOListElement: {
7171 prototype: HTMLOListElement;
7172 new(): HTMLOListElement;
7175 /** 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. */
7176 interface HTMLObjectElement extends HTMLElement {
7180 * Sets or retrieves a character string that can be used to implement your own archive functionality for the object.
7187 * Sets or retrieves the URL of the file containing the compiled Java class.
7192 * Sets or retrieves the URL of the component.
7197 * Sets or retrieves the Internet media type for the code associated with the object.
7201 /** Retrieves the document object of the page or frame. */
7202 readonly contentDocument: Document | null;
7203 readonly contentWindow: WindowProxy | null;
7204 /** Sets or retrieves the URL that references the data of the object. */
7208 /** Retrieves a reference to the form that the object is embedded in. */
7209 readonly form: HTMLFormElement | null;
7210 /** Sets or retrieves the height of the object. */
7214 /** Sets or retrieves the name of the object. */
7217 * Sets or retrieves a message to be displayed while an object is loading.
7221 /** Sets or retrieves the MIME type of the object. */
7223 /** Sets or retrieves the URL, often with a bookmark extension (#name), to use as a client-side image map. */
7225 /** 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. */
7226 readonly validationMessage: string;
7227 /** Returns a ValidityState object that represents the validity states of an element. */
7228 readonly validity: ValidityState;
7231 /** Sets or retrieves the width of the object. */
7233 /** Returns whether an element will successfully validate based on forms validation rules and constraints. */
7234 readonly willValidate: boolean;
7235 /** Returns whether a form will validate when it is submitted, without having to submit it. */
7236 checkValidity(): boolean;
7237 getSVGDocument(): Document | null;
7238 reportValidity(): boolean;
7240 * Sets a custom error message that is displayed when a form is submitted.
7241 * @param error Sets a custom error message that is displayed when a form is submitted.
7243 setCustomValidity(error: string): void;
7244 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLObjectElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
7245 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
7246 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLObjectElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
7247 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
7250 declare var HTMLObjectElement: {
7251 prototype: HTMLObjectElement;
7252 new(): HTMLObjectElement;
7255 /** 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. */
7256 interface HTMLOptGroupElement extends HTMLElement {
7258 /** Sets or retrieves a value that you can use to implement your own label functionality for the object. */
7260 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLOptGroupElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
7261 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
7262 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLOptGroupElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
7263 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
7266 declare var HTMLOptGroupElement: {
7267 prototype: HTMLOptGroupElement;
7268 new(): HTMLOptGroupElement;
7271 /** <option> elements and inherits all classes and methods of the HTMLElement interface. */
7272 interface HTMLOptionElement extends HTMLElement {
7273 /** Sets or retrieves the status of an option. */
7274 defaultSelected: boolean;
7276 /** Retrieves a reference to the form that the object is embedded in. */
7277 readonly form: HTMLFormElement | null;
7278 /** Sets or retrieves the ordinal position of an option in a list box. */
7279 readonly index: number;
7280 /** Sets or retrieves a value that you can use to implement your own label functionality for the object. */
7282 /** Sets or retrieves whether the option in the list box is the default item. */
7284 /** Sets or retrieves the text string specified by the option tag. */
7286 /** Sets or retrieves the value which is returned to the server when the form control is submitted. */
7288 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLOptionElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
7289 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
7290 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLOptionElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
7291 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
7294 declare var HTMLOptionElement: {
7295 prototype: HTMLOptionElement;
7296 new(): HTMLOptionElement;
7299 /** 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. */
7300 interface HTMLOptionsCollection extends HTMLCollectionOf<HTMLOptionElement> {
7302 * Returns the number of elements in the collection.
7304 * When set to a smaller number, truncates the number of option elements in the corresponding container.
7306 * When set to a greater number, adds new blank option elements to that container.
7310 * Returns the index of the first selected item, if any, or −1 if there is no selected item.
7312 * Can be set, to change the selection.
7314 selectedIndex: number;
7316 * Inserts element before the node given by before.
7318 * 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.
7320 * If before is omitted, null, or a number out of range, then element will be added at the end of the list.
7322 * This method will throw a "HierarchyRequestError" DOMException if element is an ancestor of the element into which it is to be inserted.
7324 add(element: HTMLOptionElement | HTMLOptGroupElement, before?: HTMLElement | number | null): void;
7325 /** Removes the item with index index from the collection. */
7326 remove(index: number): void;
7329 declare var HTMLOptionsCollection: {
7330 prototype: HTMLOptionsCollection;
7331 new(): HTMLOptionsCollection;
7334 interface HTMLOrSVGElement {
7336 readonly dataset: DOMStringMap;
7340 focus(options?: FocusOptions): void;
7343 /** Provides properties and methods (beyond those inherited from HTMLElement) for manipulating the layout and presentation of <output> elements. */
7344 interface HTMLOutputElement extends HTMLElement {
7345 defaultValue: string;
7346 readonly form: HTMLFormElement | null;
7347 readonly htmlFor: DOMTokenList;
7348 readonly labels: NodeListOf<HTMLLabelElement>;
7350 /** Returns the string "output". */
7351 readonly type: string;
7352 readonly validationMessage: string;
7353 readonly validity: ValidityState;
7355 * Returns the element's current value.
7357 * Can be set, to change the value.
7360 readonly willValidate: boolean;
7361 checkValidity(): boolean;
7362 reportValidity(): boolean;
7363 setCustomValidity(error: string): void;
7364 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLOutputElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
7365 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
7366 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLOutputElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
7367 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
7370 declare var HTMLOutputElement: {
7371 prototype: HTMLOutputElement;
7372 new(): HTMLOutputElement;
7375 /** Provides special properties (beyond those of the regular HTMLElement object interface it inherits) for manipulating <p> elements. */
7376 interface HTMLParagraphElement extends HTMLElement {
7378 * Sets or retrieves how the object is aligned with adjacent text.
7382 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLParagraphElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
7383 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
7384 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLParagraphElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
7385 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
7388 declare var HTMLParagraphElement: {
7389 prototype: HTMLParagraphElement;
7390 new(): HTMLParagraphElement;
7393 /** 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. */
7394 interface HTMLParamElement extends HTMLElement {
7395 /** Sets or retrieves the name of an input parameter for an element. */
7398 * Sets or retrieves the content type of the resource designated by the value attribute.
7402 /** Sets or retrieves the value of an input parameter for an element. */
7405 * Sets or retrieves the data type of the value attribute.
7409 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLParamElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
7410 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
7411 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLParamElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
7412 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
7415 declare var HTMLParamElement: {
7416 prototype: HTMLParamElement;
7417 new(): HTMLParamElement;
7420 /** A <picture> HTML element. It doesn't implement specific properties or methods. */
7421 interface HTMLPictureElement extends HTMLElement {
7422 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLPictureElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
7423 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
7424 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLPictureElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
7425 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
7428 declare var HTMLPictureElement: {
7429 prototype: HTMLPictureElement;
7430 new(): HTMLPictureElement;
7433 /** 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>). */
7434 interface HTMLPreElement extends HTMLElement {
7436 * Sets or gets a value that you can use to implement your own width functionality for the object.
7440 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLPreElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
7441 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
7442 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLPreElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
7443 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
7446 declare var HTMLPreElement: {
7447 prototype: HTMLPreElement;
7448 new(): HTMLPreElement;
7451 /** 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. */
7452 interface HTMLProgressElement extends HTMLElement {
7453 readonly labels: NodeListOf<HTMLLabelElement>;
7454 /** Defines the maximum, or "done" value for a progress element. */
7456 /** 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). */
7457 readonly position: number;
7458 /** Sets or gets the current value of a progress element. The value must be a non-negative number between 0 and the max value. */
7460 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLProgressElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
7461 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
7462 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLProgressElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
7463 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
7466 declare var HTMLProgressElement: {
7467 prototype: HTMLProgressElement;
7468 new(): HTMLProgressElement;
7471 /** 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. */
7472 interface HTMLQuoteElement extends HTMLElement {
7473 /** Sets or retrieves reference information about the object. */
7475 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLQuoteElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
7476 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
7477 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLQuoteElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
7478 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
7481 declare var HTMLQuoteElement: {
7482 prototype: HTMLQuoteElement;
7483 new(): HTMLQuoteElement;
7486 /** 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). */
7487 interface HTMLScriptElement extends HTMLElement {
7490 * Sets or retrieves the character set used to encode the object.
7494 crossOrigin: string | null;
7495 /** Sets or retrieves the status of the script. */
7498 * Sets or retrieves the event for which the script is written.
7503 * Sets or retrieves the object that is bound to the event script.
7509 referrerPolicy: string;
7510 /** Retrieves the URL to an external file that contains the source code or data. */
7512 /** Retrieves or sets the text of the object as a string. */
7514 /** Sets or retrieves the MIME type for the associated scripting engine. */
7516 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLScriptElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
7517 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
7518 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLScriptElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
7519 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
7522 declare var HTMLScriptElement: {
7523 prototype: HTMLScriptElement;
7524 new(): HTMLScriptElement;
7527 /** A <select> HTML Element. These elements also share all of the properties and methods of other HTML elements via the HTMLElement interface. */
7528 interface HTMLSelectElement extends HTMLElement {
7529 autocomplete: string;
7531 /** Retrieves a reference to the form that the object is embedded in. */
7532 readonly form: HTMLFormElement | null;
7533 readonly labels: NodeListOf<HTMLLabelElement>;
7534 /** Sets or retrieves the number of objects in a collection. */
7536 /** Sets or retrieves the Boolean value indicating whether multiple items can be selected from a list. */
7538 /** Sets or retrieves the name of the object. */
7540 /** Returns an HTMLOptionsCollection of the list of options. */
7541 readonly options: HTMLOptionsCollection;
7542 /** When present, marks an element that can't be submitted without a value. */
7544 /** Sets or retrieves the index of the selected option in a select object. */
7545 selectedIndex: number;
7546 readonly selectedOptions: HTMLCollectionOf<HTMLOptionElement>;
7547 /** Sets or retrieves the number of rows in the list box. */
7549 /** Retrieves the type of select control based on the value of the MULTIPLE attribute. */
7550 readonly type: string;
7551 /** 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. */
7552 readonly validationMessage: string;
7553 /** Returns a ValidityState object that represents the validity states of an element. */
7554 readonly validity: ValidityState;
7555 /** Sets or retrieves the value which is returned to the server when the form control is submitted. */
7557 /** Returns whether an element will successfully validate based on forms validation rules and constraints. */
7558 readonly willValidate: boolean;
7560 * Adds an element to the areas, controlRange, or options collection.
7561 * @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.
7562 * @param before Variant of type Object that specifies an element to insert before, or null to append the object to the collection.
7564 add(element: HTMLOptionElement | HTMLOptGroupElement, before?: HTMLElement | number | null): void;
7565 /** Returns whether a form will validate when it is submitted, without having to submit it. */
7566 checkValidity(): boolean;
7568 * Retrieves a select object or an object from an options collection.
7569 * @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.
7570 * @param index Variant of type Number that specifies the zero-based index of the object to retrieve when a collection is returned.
7572 item(index: number): HTMLOptionElement | null;
7574 * Retrieves a select object or an object from an options collection.
7575 * @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.
7577 namedItem(name: string): HTMLOptionElement | null;
7579 * Removes an element from the collection.
7580 * @param index Number that specifies the zero-based index of the element to remove from the collection.
7583 remove(index: number): void;
7584 reportValidity(): boolean;
7586 * Sets a custom error message that is displayed when a form is submitted.
7587 * @param error Sets a custom error message that is displayed when a form is submitted.
7589 setCustomValidity(error: string): void;
7590 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLSelectElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
7591 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
7592 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLSelectElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
7593 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
7594 [name: number]: HTMLOptionElement | HTMLOptGroupElement;
7597 declare var HTMLSelectElement: {
7598 prototype: HTMLSelectElement;
7599 new(): HTMLSelectElement;
7602 interface HTMLSlotElement extends HTMLElement {
7604 assign(...nodes: (Element | Text)[]): void;
7605 assignedElements(options?: AssignedNodesOptions): Element[];
7606 assignedNodes(options?: AssignedNodesOptions): Node[];
7607 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLSlotElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
7608 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
7609 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLSlotElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
7610 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
7613 declare var HTMLSlotElement: {
7614 prototype: HTMLSlotElement;
7615 new(): HTMLSlotElement;
7618 /** Provides special properties (beyond the regular HTMLElement object interface it also has available to it by inheritance) for manipulating <source> elements. */
7619 interface HTMLSourceElement extends HTMLElement {
7620 /** Gets or sets the intended media type of the media source. */
7623 /** The address or URL of the a media resource that is to be considered. */
7626 /** Gets or sets the MIME type of a media resource. */
7628 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLSourceElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
7629 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
7630 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLSourceElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
7631 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
7634 declare var HTMLSourceElement: {
7635 prototype: HTMLSourceElement;
7636 new(): HTMLSourceElement;
7639 /** A <span> element and derives from the HTMLElement interface, but without implementing any additional properties or methods. */
7640 interface HTMLSpanElement extends HTMLElement {
7641 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLSpanElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
7642 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
7643 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLSpanElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
7644 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
7647 declare var HTMLSpanElement: {
7648 prototype: HTMLSpanElement;
7649 new(): HTMLSpanElement;
7652 /** A <style> element. It inherits properties and methods from its parent, HTMLElement, and from LinkStyle. */
7653 interface HTMLStyleElement extends HTMLElement, LinkStyle {
7654 /** Sets or retrieves the media type. */
7657 * Retrieves the CSS language in which the style sheet is written.
7661 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLStyleElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
7662 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
7663 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLStyleElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
7664 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
7667 declare var HTMLStyleElement: {
7668 prototype: HTMLStyleElement;
7669 new(): HTMLStyleElement;
7672 /** Special properties (beyond the regular HTMLElement interface it also has available to it by inheritance) for manipulating table caption elements. */
7673 interface HTMLTableCaptionElement extends HTMLElement {
7675 * Sets or retrieves the alignment of the caption or legend.
7679 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableCaptionElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
7680 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
7681 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableCaptionElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
7682 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
7685 declare var HTMLTableCaptionElement: {
7686 prototype: HTMLTableCaptionElement;
7687 new(): HTMLTableCaptionElement;
7690 /** 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. */
7691 interface HTMLTableCellElement extends HTMLElement {
7692 /** Sets or retrieves abbreviated text for the object. */
7695 * Sets or retrieves how the object is aligned with adjacent text.
7700 * Sets or retrieves a comma-delimited list of conceptual categories associated with the object.
7706 /** Retrieves the position of the object in the cells collection of a row. */
7707 readonly cellIndex: number;
7712 /** Sets or retrieves the number columns in the table that the object should span. */
7714 /** Sets or retrieves a list of header cells that provide information for the object. */
7717 * Sets or retrieves the height of the object.
7722 * Sets or retrieves whether the browser automatically performs wordwrap.
7726 /** Sets or retrieves how many rows in a table the cell should span. */
7728 /** Sets or retrieves the group of cells in a table to which the object's information applies. */
7733 * Sets or retrieves the width of the object.
7737 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableCellElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
7738 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
7739 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableCellElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
7740 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
7743 declare var HTMLTableCellElement: {
7744 prototype: HTMLTableCellElement;
7745 new(): HTMLTableCellElement;
7748 /** Provides special properties (beyond the HTMLElement interface it also has available to it inheritance) for manipulating single or grouped table column elements. */
7749 interface HTMLTableColElement extends HTMLElement {
7751 * Sets or retrieves the alignment of the object relative to the display or table.
7759 /** Sets or retrieves the number of columns in the group. */
7764 * Sets or retrieves the width of the object.
7768 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableColElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
7769 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
7770 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableColElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
7771 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
7774 declare var HTMLTableColElement: {
7775 prototype: HTMLTableColElement;
7776 new(): HTMLTableColElement;
7779 /** @deprecated prefer HTMLTableCellElement */
7780 interface HTMLTableDataCellElement extends HTMLTableCellElement {
7781 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableDataCellElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
7782 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
7783 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableDataCellElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
7784 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
7787 /** 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. */
7788 interface HTMLTableElement extends HTMLElement {
7790 * Sets or retrieves a value that indicates the table alignment.
7797 * Sets or retrieves the width of the border to draw around the object.
7801 /** Retrieves the caption object of a table. */
7802 caption: HTMLTableCaptionElement | null;
7804 * Sets or retrieves the amount of space between the border of the cell and the content of the cell.
7807 cellPadding: string;
7809 * Sets or retrieves the amount of space between cells in a table.
7812 cellSpacing: string;
7814 * Sets or retrieves the way the border frame around the table is displayed.
7818 /** Sets or retrieves the number of horizontal rows contained in the object. */
7819 readonly rows: HTMLCollectionOf<HTMLTableRowElement>;
7821 * Sets or retrieves which dividing lines (inner borders) are displayed.
7826 * Sets or retrieves a description and/or structure of the object.
7830 /** Retrieves a collection of all tBody objects in the table. Objects in this collection are in source order. */
7831 readonly tBodies: HTMLCollectionOf<HTMLTableSectionElement>;
7832 /** Retrieves the tFoot object of the table. */
7833 tFoot: HTMLTableSectionElement | null;
7834 /** Retrieves the tHead object of the table. */
7835 tHead: HTMLTableSectionElement | null;
7837 * Sets or retrieves the width of the object.
7841 /** Creates an empty caption element in the table. */
7842 createCaption(): HTMLTableCaptionElement;
7843 /** Creates an empty tBody element in the table. */
7844 createTBody(): HTMLTableSectionElement;
7845 /** Creates an empty tFoot element in the table. */
7846 createTFoot(): HTMLTableSectionElement;
7847 /** Returns the tHead element object if successful, or null otherwise. */
7848 createTHead(): HTMLTableSectionElement;
7849 /** Deletes the caption element and its contents from the table. */
7850 deleteCaption(): void;
7852 * Removes the specified row (tr) from the element and from the rows collection.
7853 * @param index Number that specifies the zero-based position in the rows collection of the row to remove.
7855 deleteRow(index: number): void;
7856 /** Deletes the tFoot element and its contents from the table. */
7857 deleteTFoot(): void;
7858 /** Deletes the tHead element and its contents from the table. */
7859 deleteTHead(): void;
7861 * Creates a new row (tr) in the table, and adds the row to the rows collection.
7862 * @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.
7864 insertRow(index?: number): HTMLTableRowElement;
7865 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
7866 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
7867 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
7868 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
7871 declare var HTMLTableElement: {
7872 prototype: HTMLTableElement;
7873 new(): HTMLTableElement;
7876 /** @deprecated prefer HTMLTableCellElement */
7877 interface HTMLTableHeaderCellElement extends HTMLTableCellElement {
7878 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableHeaderCellElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
7879 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
7880 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableHeaderCellElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
7881 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
7884 /** 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. */
7885 interface HTMLTableRowElement extends HTMLElement {
7887 * Sets or retrieves how the object is aligned with adjacent text.
7893 /** Retrieves a collection of all cells in the table row. */
7894 readonly cells: HTMLCollectionOf<HTMLTableCellElement>;
7899 /** Retrieves the position of the object in the rows collection for the table. */
7900 readonly rowIndex: number;
7901 /** Retrieves the position of the object in the collection. */
7902 readonly sectionRowIndex: number;
7906 * Removes the specified cell from the table row, as well as from the cells collection.
7907 * @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.
7909 deleteCell(index: number): void;
7911 * Creates a new cell in the table row, and adds the cell to the cells collection.
7912 * @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.
7914 insertCell(index?: number): HTMLTableCellElement;
7915 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableRowElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
7916 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
7917 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableRowElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
7918 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
7921 declare var HTMLTableRowElement: {
7922 prototype: HTMLTableRowElement;
7923 new(): HTMLTableRowElement;
7926 /** 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. */
7927 interface HTMLTableSectionElement extends HTMLElement {
7929 * Sets or retrieves a value that indicates the table alignment.
7937 /** Sets or retrieves the number of horizontal rows contained in the object. */
7938 readonly rows: HTMLCollectionOf<HTMLTableRowElement>;
7942 * Removes the specified row (tr) from the element and from the rows collection.
7943 * @param index Number that specifies the zero-based position in the rows collection of the row to remove.
7945 deleteRow(index: number): void;
7947 * Creates a new row (tr) in the table, and adds the row to the rows collection.
7948 * @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.
7950 insertRow(index?: number): HTMLTableRowElement;
7951 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableSectionElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
7952 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
7953 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableSectionElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
7954 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
7957 declare var HTMLTableSectionElement: {
7958 prototype: HTMLTableSectionElement;
7959 new(): HTMLTableSectionElement;
7962 /** Enables access to the contents of an HTML <template> element. */
7963 interface HTMLTemplateElement extends HTMLElement {
7964 /** Returns the template contents (a DocumentFragment). */
7965 readonly content: DocumentFragment;
7966 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTemplateElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
7967 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
7968 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTemplateElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
7969 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
7972 declare var HTMLTemplateElement: {
7973 prototype: HTMLTemplateElement;
7974 new(): HTMLTemplateElement;
7977 /** Provides special properties and methods for manipulating the layout and presentation of <textarea> elements. */
7978 interface HTMLTextAreaElement extends HTMLElement {
7979 autocomplete: string;
7980 /** Sets or retrieves the width of the object. */
7982 /** Sets or retrieves the initial contents of the object. */
7983 defaultValue: string;
7986 /** Retrieves a reference to the form that the object is embedded in. */
7987 readonly form: HTMLFormElement | null;
7988 readonly labels: NodeListOf<HTMLLabelElement>;
7989 /** Sets or retrieves the maximum number of characters that the user can enter in a text control. */
7992 /** Sets or retrieves the name of the object. */
7994 /** 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. */
7995 placeholder: string;
7996 /** Sets or retrieves the value indicated whether the content of the object is read-only. */
7998 /** When present, marks an element that can't be submitted without a value. */
8000 /** Sets or retrieves the number of horizontal rows contained in the object. */
8002 selectionDirection: "forward" | "backward" | "none";
8003 /** Gets or sets the end position or offset of a text selection. */
8004 selectionEnd: number;
8005 /** Gets or sets the starting position or offset of a text selection. */
8006 selectionStart: number;
8007 readonly textLength: number;
8008 /** Retrieves the type of control. */
8009 readonly type: string;
8010 /** 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. */
8011 readonly validationMessage: string;
8012 /** Returns a ValidityState object that represents the validity states of an element. */
8013 readonly validity: ValidityState;
8014 /** Retrieves or sets the text in the entry field of the textArea element. */
8016 /** Returns whether an element will successfully validate based on forms validation rules and constraints. */
8017 readonly willValidate: boolean;
8018 /** Sets or retrieves how to handle wordwrapping in the object. */
8020 /** Returns whether a form will validate when it is submitted, without having to submit it. */
8021 checkValidity(): boolean;
8022 reportValidity(): boolean;
8023 /** Highlights the input area of a form element. */
8026 * Sets a custom error message that is displayed when a form is submitted.
8027 * @param error Sets a custom error message that is displayed when a form is submitted.
8029 setCustomValidity(error: string): void;
8030 setRangeText(replacement: string): void;
8031 setRangeText(replacement: string, start: number, end: number, selectionMode?: SelectionMode): void;
8033 * Sets the start and end positions of a selection in a text field.
8034 * @param start The offset into the text field for the start of the selection.
8035 * @param end The offset into the text field for the end of the selection.
8036 * @param direction The direction in which the selection is performed.
8038 setSelectionRange(start: number | null, end: number | null, direction?: "forward" | "backward" | "none"): void;
8039 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTextAreaElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
8040 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
8041 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTextAreaElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
8042 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
8045 declare var HTMLTextAreaElement: {
8046 prototype: HTMLTextAreaElement;
8047 new(): HTMLTextAreaElement;
8050 /** Provides special properties (beyond the regular HTMLElement interface it also has available to it by inheritance) for manipulating <time> elements. */
8051 interface HTMLTimeElement extends HTMLElement {
8053 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTimeElement, 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: HTMLTimeElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
8056 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
8059 declare var HTMLTimeElement: {
8060 prototype: HTMLTimeElement;
8061 new(): HTMLTimeElement;
8064 /** Contains the title for a document. This element inherits all of the properties and methods of the HTMLElement interface. */
8065 interface HTMLTitleElement extends HTMLElement {
8066 /** Retrieves or sets the text of the object as a string. */
8068 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTitleElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
8069 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
8070 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTitleElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
8071 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
8074 declare var HTMLTitleElement: {
8075 prototype: HTMLTitleElement;
8076 new(): HTMLTitleElement;
8079 /** The HTMLTrackElement */
8080 interface HTMLTrackElement extends HTMLElement {
8084 readonly readyState: number;
8087 /** Returns the TextTrack object corresponding to the text track of the track element. */
8088 readonly track: TextTrack;
8089 readonly ERROR: number;
8090 readonly LOADED: number;
8091 readonly LOADING: number;
8092 readonly NONE: number;
8093 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTrackElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
8094 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
8095 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTrackElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
8096 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
8099 declare var HTMLTrackElement: {
8100 prototype: HTMLTrackElement;
8101 new(): HTMLTrackElement;
8102 readonly ERROR: number;
8103 readonly LOADED: number;
8104 readonly LOADING: number;
8105 readonly NONE: number;
8108 /** Provides special properties (beyond those defined on the regular HTMLElement interface it also has available to it by inheritance) for manipulating unordered list elements. */
8109 interface HTMLUListElement extends HTMLElement {
8114 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLUListElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
8115 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
8116 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLUListElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
8117 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
8120 declare var HTMLUListElement: {
8121 prototype: HTMLUListElement;
8122 new(): HTMLUListElement;
8125 /** An invalid HTML element and derives from the HTMLElement interface, but without implementing any additional properties or methods. */
8126 interface HTMLUnknownElement extends HTMLElement {
8127 addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLUnknownElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
8128 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
8129 removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLUnknownElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
8130 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
8133 declare var HTMLUnknownElement: {
8134 prototype: HTMLUnknownElement;
8135 new(): HTMLUnknownElement;
8138 interface HTMLVideoElementEventMap extends HTMLMediaElementEventMap {
8139 "enterpictureinpicture": Event;
8140 "leavepictureinpicture": Event;
8143 /** Provides special properties and methods for manipulating video objects. It also inherits properties and methods of HTMLMediaElement and HTMLElement. */
8144 interface HTMLVideoElement extends HTMLMediaElement {
8145 disablePictureInPicture: boolean;
8146 /** Gets or sets the height of the video element. */
8148 onenterpictureinpicture: ((this: HTMLVideoElement, ev: Event) => any) | null;
8149 onleavepictureinpicture: ((this: HTMLVideoElement, ev: Event) => any) | null;
8150 /** Gets or sets the playsinline of the video element. for example, On iPhone, video elements will now be allowed to play inline, and will not automatically enter fullscreen mode when playback begins. */
8151 playsInline: boolean;
8152 /** 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. */
8154 /** Gets the intrinsic height of a video in CSS pixels, or zero if the dimensions are not known. */
8155 readonly videoHeight: number;
8156 /** Gets the intrinsic width of a video in CSS pixels, or zero if the dimensions are not known. */
8157 readonly videoWidth: number;
8158 /** Gets or sets the width of the video element. */
8160 getVideoPlaybackQuality(): VideoPlaybackQuality;
8161 requestPictureInPicture(): Promise<PictureInPictureWindow>;
8162 addEventListener<K extends keyof HTMLVideoElementEventMap>(type: K, listener: (this: HTMLVideoElement, ev: HTMLVideoElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
8163 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
8164 removeEventListener<K extends keyof HTMLVideoElementEventMap>(type: K, listener: (this: HTMLVideoElement, ev: HTMLVideoElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
8165 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
8168 declare var HTMLVideoElement: {
8169 prototype: HTMLVideoElement;
8170 new(): HTMLVideoElement;
8173 /** Events that fire when the fragment identifier of the URL has changed. */
8174 interface HashChangeEvent extends Event {
8175 /** Returns the URL of the session history entry that is now current. */
8176 readonly newURL: string;
8177 /** Returns the URL of the session history entry that was previously current. */
8178 readonly oldURL: string;
8181 declare var HashChangeEvent: {
8182 prototype: HashChangeEvent;
8183 new(type: string, eventInitDict?: HashChangeEventInit): HashChangeEvent;
8186 /** 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. */
8188 append(name: string, value: string): void;
8189 delete(name: string): void;
8190 get(name: string): string | null;
8191 has(name: string): boolean;
8192 set(name: string, value: string): void;
8193 forEach(callbackfn: (value: string, key: string, parent: Headers) => void, thisArg?: any): void;
8196 declare var Headers: {
8198 new(init?: HeadersInit): Headers;
8201 /** Allows manipulation of the browser session history, that is the pages visited in the tab or frame that the current page is loaded in. */
8203 readonly length: number;
8204 scrollRestoration: ScrollRestoration;
8205 readonly state: any;
8208 go(delta?: number): void;
8209 pushState(data: any, unused: string, url?: string | URL | null): void;
8210 replaceState(data: any, unused: string, url?: string | URL | null): void;
8213 declare var History: {
8218 /** This IndexedDB API interface represents a cursor for traversing or iterating over multiple records in a database. */
8219 interface IDBCursor {
8220 /** Returns the direction ("next", "nextunique", "prev" or "prevunique") of the cursor. */
8221 readonly direction: IDBCursorDirection;
8222 /** Returns the key of the cursor. Throws a "InvalidStateError" DOMException if the cursor is advancing or is finished. */
8223 readonly key: IDBValidKey;
8224 /** Returns the effective key of the cursor. Throws a "InvalidStateError" DOMException if the cursor is advancing or is finished. */
8225 readonly primaryKey: IDBValidKey;
8226 readonly request: IDBRequest;
8227 /** Returns the IDBObjectStore or IDBIndex the cursor was opened from. */
8228 readonly source: IDBObjectStore | IDBIndex;
8229 /** Advances the cursor through the next count records in range. */
8230 advance(count: number): void;
8231 /** Advances the cursor to the next record in range. */
8232 continue(key?: IDBValidKey): void;
8233 /** 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. */
8234 continuePrimaryKey(key: IDBValidKey, primaryKey: IDBValidKey): void;
8236 * Delete the record pointed at by the cursor with a new value.
8238 * If successful, request's result will be undefined.
8240 delete(): IDBRequest<undefined>;
8242 * Updated the record pointed at by the cursor with a new value.
8244 * Throws a "DataError" DOMException if the effective object store uses in-line keys and the key would have changed.
8246 * If successful, request's result will be the record's key.
8248 update(value: any): IDBRequest<IDBValidKey>;
8251 declare var IDBCursor: {
8252 prototype: IDBCursor;
8256 /** 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. */
8257 interface IDBCursorWithValue extends IDBCursor {
8258 /** Returns the cursor's current value. */
8259 readonly value: any;
8262 declare var IDBCursorWithValue: {
8263 prototype: IDBCursorWithValue;
8264 new(): IDBCursorWithValue;
8267 interface IDBDatabaseEventMap {
8271 "versionchange": IDBVersionChangeEvent;
8274 /** 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. */
8275 interface IDBDatabase extends EventTarget {
8276 /** Returns the name of the database. */
8277 readonly name: string;
8278 /** Returns a list of the names of object stores in the database. */
8279 readonly objectStoreNames: DOMStringList;
8280 onabort: ((this: IDBDatabase, ev: Event) => any) | null;
8281 onclose: ((this: IDBDatabase, ev: Event) => any) | null;
8282 onerror: ((this: IDBDatabase, ev: Event) => any) | null;
8283 onversionchange: ((this: IDBDatabase, ev: IDBVersionChangeEvent) => any) | null;
8284 /** Returns the version of the database. */
8285 readonly version: number;
8286 /** Closes the connection once all running transactions have finished. */
8289 * Creates a new object store with the given name and options and returns a new IDBObjectStore.
8291 * Throws a "InvalidStateError" DOMException if not called within an upgrade transaction.
8293 createObjectStore(name: string, options?: IDBObjectStoreParameters): IDBObjectStore;
8295 * Deletes the object store with the given name.
8297 * Throws a "InvalidStateError" DOMException if not called within an upgrade transaction.
8299 deleteObjectStore(name: string): void;
8300 /** 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. */
8301 transaction(storeNames: string | string[], mode?: IDBTransactionMode): IDBTransaction;
8302 addEventListener<K extends keyof IDBDatabaseEventMap>(type: K, listener: (this: IDBDatabase, ev: IDBDatabaseEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
8303 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
8304 removeEventListener<K extends keyof IDBDatabaseEventMap>(type: K, listener: (this: IDBDatabase, ev: IDBDatabaseEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
8305 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
8308 declare var IDBDatabase: {
8309 prototype: IDBDatabase;
8313 /** 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.) */
8314 interface IDBFactory {
8316 * Compares two values as keys. Returns -1 if key1 precedes key2, 1 if key2 precedes key1, and 0 if the keys are equal.
8318 * Throws a "DataError" DOMException if either input is not a valid key.
8320 cmp(first: any, second: any): number;
8321 databases(): Promise<IDBDatabaseInfo[]>;
8322 /** 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. */
8323 deleteDatabase(name: string): IDBOpenDBRequest;
8324 /** 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. */
8325 open(name: string, version?: number): IDBOpenDBRequest;
8328 declare var IDBFactory: {
8329 prototype: IDBFactory;
8333 /** 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. */
8334 interface IDBIndex {
8335 readonly keyPath: string | string[];
8336 readonly multiEntry: boolean;
8337 /** Returns the name of the index. */
8339 /** Returns the IDBObjectStore the index belongs to. */
8340 readonly objectStore: IDBObjectStore;
8341 readonly unique: boolean;
8343 * Retrieves the number of records matching the given key or key range in query.
8345 * If successful, request's result will be the count.
8347 count(query?: IDBValidKey | IDBKeyRange): IDBRequest<number>;
8349 * Retrieves the value of the first record matching the given key or key range in query.
8351 * If successful, request's result will be the value, or undefined if there was no matching record.
8353 get(query: IDBValidKey | IDBKeyRange): IDBRequest<any>;
8355 * Retrieves the values of the records matching the given key or key range in query (up to count if given).
8357 * If successful, request's result will be an Array of the values.
8359 getAll(query?: IDBValidKey | IDBKeyRange | null, count?: number): IDBRequest<any[]>;
8361 * Retrieves the keys of records matching the given key or key range in query (up to count if given).
8363 * If successful, request's result will be an Array of the keys.
8365 getAllKeys(query?: IDBValidKey | IDBKeyRange | null, count?: number): IDBRequest<IDBValidKey[]>;
8367 * Retrieves the key of the first record matching the given key or key range in query.
8369 * If successful, request's result will be the key, or undefined if there was no matching record.
8371 getKey(query: IDBValidKey | IDBKeyRange): IDBRequest<IDBValidKey | undefined>;
8373 * Opens a cursor over the records matching query, ordered by direction. If query is null, all records in index are matched.
8375 * If successful, request's result will be an IDBCursorWithValue, or null if there were no matching records.
8377 openCursor(query?: IDBValidKey | IDBKeyRange | null, direction?: IDBCursorDirection): IDBRequest<IDBCursorWithValue | null>;
8379 * 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.
8381 * If successful, request's result will be an IDBCursor, or null if there were no matching records.
8383 openKeyCursor(query?: IDBValidKey | IDBKeyRange | null, direction?: IDBCursorDirection): IDBRequest<IDBCursor | null>;
8386 declare var IDBIndex: {
8387 prototype: IDBIndex;
8391 /** 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: */
8392 interface IDBKeyRange {
8393 /** Returns lower bound, or undefined if none. */
8394 readonly lower: any;
8395 /** Returns true if the lower open flag is set, and false otherwise. */
8396 readonly lowerOpen: boolean;
8397 /** Returns upper bound, or undefined if none. */
8398 readonly upper: any;
8399 /** Returns true if the upper open flag is set, and false otherwise. */
8400 readonly upperOpen: boolean;
8401 /** Returns true if key is included in the range, and false otherwise. */
8402 includes(key: any): boolean;
8405 declare var IDBKeyRange: {
8406 prototype: IDBKeyRange;
8408 /** 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. */
8409 bound(lower: any, upper: any, lowerOpen?: boolean, upperOpen?: boolean): IDBKeyRange;
8410 /** Returns a new IDBKeyRange starting at key with no upper bound. If open is true, key is not included in the range. */
8411 lowerBound(lower: any, open?: boolean): IDBKeyRange;
8412 /** Returns a new IDBKeyRange spanning only key. */
8413 only(value: any): IDBKeyRange;
8414 /** Returns a new IDBKeyRange with no lower bound and ending at key. If open is true, key is not included in the range. */
8415 upperBound(upper: any, open?: boolean): IDBKeyRange;
8418 /** 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.) */
8419 interface IDBObjectStore {
8420 /** Returns true if the store has a key generator, and false otherwise. */
8421 readonly autoIncrement: boolean;
8422 /** Returns a list of the names of indexes in the store. */
8423 readonly indexNames: DOMStringList;
8424 /** Returns the key path of the store, or null if none. */
8425 readonly keyPath: string | string[];
8426 /** Returns the name of the store. */
8428 /** Returns the associated transaction. */
8429 readonly transaction: IDBTransaction;
8431 * Adds or updates a record in store with the given value and key.
8433 * If the store uses in-line keys and key is specified a "DataError" DOMException will be thrown.
8435 * 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.
8437 * If successful, request's result will be the record's key.
8439 add(value: any, key?: IDBValidKey): IDBRequest<IDBValidKey>;
8441 * Deletes all records in store.
8443 * If successful, request's result will be undefined.
8445 clear(): IDBRequest<undefined>;
8447 * Retrieves the number of records matching the given key or key range in query.
8449 * If successful, request's result will be the count.
8451 count(query?: IDBValidKey | IDBKeyRange): IDBRequest<number>;
8453 * 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.
8455 * Throws an "InvalidStateError" DOMException if not called within an upgrade transaction.
8457 createIndex(name: string, keyPath: string | string[], options?: IDBIndexParameters): IDBIndex;
8459 * Deletes records in store with the given key or in the given key range in query.
8461 * If successful, request's result will be undefined.
8463 delete(query: IDBValidKey | IDBKeyRange): IDBRequest<undefined>;
8465 * Deletes the index in store with the given name.
8467 * Throws an "InvalidStateError" DOMException if not called within an upgrade transaction.
8469 deleteIndex(name: string): void;
8471 * Retrieves the value of the first record matching the given key or key range in query.
8473 * If successful, request's result will be the value, or undefined if there was no matching record.
8475 get(query: IDBValidKey | IDBKeyRange): IDBRequest<any>;
8477 * Retrieves the values of the records matching the given key or key range in query (up to count if given).
8479 * If successful, request's result will be an Array of the values.
8481 getAll(query?: IDBValidKey | IDBKeyRange | null, count?: number): IDBRequest<any[]>;
8483 * Retrieves the keys of records matching the given key or key range in query (up to count if given).
8485 * If successful, request's result will be an Array of the keys.
8487 getAllKeys(query?: IDBValidKey | IDBKeyRange | null, count?: number): IDBRequest<IDBValidKey[]>;
8489 * Retrieves the key of the first record matching the given key or key range in query.
8491 * If successful, request's result will be the key, or undefined if there was no matching record.
8493 getKey(query: IDBValidKey | IDBKeyRange): IDBRequest<IDBValidKey | undefined>;
8494 index(name: string): IDBIndex;
8496 * Opens a cursor over the records matching query, ordered by direction. If query is null, all records in store are matched.
8498 * If successful, request's result will be an IDBCursorWithValue pointing at the first matching record, or null if there were no matching records.
8500 openCursor(query?: IDBValidKey | IDBKeyRange | null, direction?: IDBCursorDirection): IDBRequest<IDBCursorWithValue | null>;
8502 * 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.
8504 * If successful, request's result will be an IDBCursor pointing at the first matching record, or null if there were no matching records.
8506 openKeyCursor(query?: IDBValidKey | IDBKeyRange | null, direction?: IDBCursorDirection): IDBRequest<IDBCursor | null>;
8508 * Adds or updates a record in store with the given value and key.
8510 * If the store uses in-line keys and key is specified a "DataError" DOMException will be thrown.
8512 * 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.
8514 * If successful, request's result will be the record's key.
8516 put(value: any, key?: IDBValidKey): IDBRequest<IDBValidKey>;
8519 declare var IDBObjectStore: {
8520 prototype: IDBObjectStore;
8521 new(): IDBObjectStore;
8524 interface IDBOpenDBRequestEventMap extends IDBRequestEventMap {
8526 "upgradeneeded": IDBVersionChangeEvent;
8529 /** Also inherits methods from its parents IDBRequest and EventTarget. */
8530 interface IDBOpenDBRequest extends IDBRequest<IDBDatabase> {
8531 onblocked: ((this: IDBOpenDBRequest, ev: Event) => any) | null;
8532 onupgradeneeded: ((this: IDBOpenDBRequest, ev: IDBVersionChangeEvent) => any) | null;
8533 addEventListener<K extends keyof IDBOpenDBRequestEventMap>(type: K, listener: (this: IDBOpenDBRequest, ev: IDBOpenDBRequestEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
8534 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
8535 removeEventListener<K extends keyof IDBOpenDBRequestEventMap>(type: K, listener: (this: IDBOpenDBRequest, ev: IDBOpenDBRequestEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
8536 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
8539 declare var IDBOpenDBRequest: {
8540 prototype: IDBOpenDBRequest;
8541 new(): IDBOpenDBRequest;
8544 interface IDBRequestEventMap {
8549 /** 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. */
8550 interface IDBRequest<T = any> extends EventTarget {
8551 /** 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. */
8552 readonly error: DOMException | null;
8553 onerror: ((this: IDBRequest<T>, ev: Event) => any) | null;
8554 onsuccess: ((this: IDBRequest<T>, ev: Event) => any) | null;
8555 /** Returns "pending" until a request is complete, then returns "done". */
8556 readonly readyState: IDBRequestReadyState;
8557 /** When a request is completed, returns the result, or undefined if the request failed. Throws a "InvalidStateError" DOMException if the request is still pending. */
8559 /** Returns the IDBObjectStore, IDBIndex, or IDBCursor the request was made against, or null if is was an open request. */
8560 readonly source: IDBObjectStore | IDBIndex | IDBCursor;
8561 /** 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. */
8562 readonly transaction: IDBTransaction | null;
8563 addEventListener<K extends keyof IDBRequestEventMap>(type: K, listener: (this: IDBRequest<T>, ev: IDBRequestEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
8564 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
8565 removeEventListener<K extends keyof IDBRequestEventMap>(type: K, listener: (this: IDBRequest<T>, ev: IDBRequestEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
8566 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
8569 declare var IDBRequest: {
8570 prototype: IDBRequest;
8574 interface IDBTransactionEventMap {
8580 interface IDBTransaction extends EventTarget {
8581 /** Returns the transaction's connection. */
8582 readonly db: IDBDatabase;
8583 /** If the transaction was aborted, returns the error (a DOMException) providing the reason. */
8584 readonly error: DOMException | null;
8585 /** Returns the mode the transaction was created with ("readonly" or "readwrite"), or "versionchange" for an upgrade transaction. */
8586 readonly mode: IDBTransactionMode;
8587 /** 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. */
8588 readonly objectStoreNames: DOMStringList;
8589 onabort: ((this: IDBTransaction, ev: Event) => any) | null;
8590 oncomplete: ((this: IDBTransaction, ev: Event) => any) | null;
8591 onerror: ((this: IDBTransaction, ev: Event) => any) | null;
8592 /** Aborts the transaction. All pending requests will fail with a "AbortError" DOMException and all changes made to the database will be reverted. */
8595 /** Returns an IDBObjectStore in the transaction's scope. */
8596 objectStore(name: string): IDBObjectStore;
8597 addEventListener<K extends keyof IDBTransactionEventMap>(type: K, listener: (this: IDBTransaction, ev: IDBTransactionEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
8598 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
8599 removeEventListener<K extends keyof IDBTransactionEventMap>(type: K, listener: (this: IDBTransaction, ev: IDBTransactionEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
8600 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
8603 declare var IDBTransaction: {
8604 prototype: IDBTransaction;
8605 new(): IDBTransaction;
8608 /** This IndexedDB API interface indicates that the version of the database has changed, as the result of an IDBOpenDBRequest.onupgradeneeded event handler function. */
8609 interface IDBVersionChangeEvent extends Event {
8610 readonly newVersion: number | null;
8611 readonly oldVersion: number;
8614 declare var IDBVersionChangeEvent: {
8615 prototype: IDBVersionChangeEvent;
8616 new(type: string, eventInitDict?: IDBVersionChangeEventInit): IDBVersionChangeEvent;
8619 /** 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. */
8620 interface IIRFilterNode extends AudioNode {
8621 getFrequencyResponse(frequencyHz: Float32Array, magResponse: Float32Array, phaseResponse: Float32Array): void;
8624 declare var IIRFilterNode: {
8625 prototype: IIRFilterNode;
8626 new(context: BaseAudioContext, options: IIRFilterOptions): IIRFilterNode;
8629 interface IdleDeadline {
8630 readonly didTimeout: boolean;
8631 timeRemaining(): DOMHighResTimeStamp;
8634 declare var IdleDeadline: {
8635 prototype: IdleDeadline;
8636 new(): IdleDeadline;
8639 interface ImageBitmap {
8640 /** Returns the intrinsic height of the image, in CSS pixels. */
8641 readonly height: number;
8642 /** Returns the intrinsic width of the image, in CSS pixels. */
8643 readonly width: number;
8644 /** Releases imageBitmap's underlying bitmap data. */
8648 declare var ImageBitmap: {
8649 prototype: ImageBitmap;
8653 interface ImageBitmapRenderingContext {
8654 /** Returns the canvas element that the context is bound to. */
8655 readonly canvas: HTMLCanvasElement;
8656 /** Transfers the underlying bitmap data from imageBitmap to context, and the bitmap becomes the contents of the canvas element to which context is bound. */
8657 transferFromImageBitmap(bitmap: ImageBitmap | null): void;
8660 declare var ImageBitmapRenderingContext: {
8661 prototype: ImageBitmapRenderingContext;
8662 new(): ImageBitmapRenderingContext;
8665 /** The underlying pixel data of an area of a <canvas> element. It is created using the ImageData() constructor or creator methods on the CanvasRenderingContext2D object associated with a canvas: createImageData() and getImageData(). It can also be used to set a part of the canvas by using putImageData(). */
8666 interface ImageData {
8667 /** Returns the one-dimensional array containing the data in RGBA order, as integers in the range 0 to 255. */
8668 readonly data: Uint8ClampedArray;
8669 /** Returns the actual dimensions of the data in the ImageData object, in pixels. */
8670 readonly height: number;
8671 /** Returns the actual dimensions of the data in the ImageData object, in pixels. */
8672 readonly width: number;
8675 declare var ImageData: {
8676 prototype: ImageData;
8677 new(sw: number, sh: number, settings?: ImageDataSettings): ImageData;
8678 new(data: Uint8ClampedArray, sw: number, sh?: number, settings?: ImageDataSettings): ImageData;
8681 interface InnerHTML {
8685 interface InputEvent extends UIEvent {
8686 readonly data: string | null;
8687 readonly dataTransfer: DataTransfer | null;
8688 readonly inputType: string;
8689 readonly isComposing: boolean;
8690 getTargetRanges(): StaticRange[];
8693 declare var InputEvent: {
8694 prototype: InputEvent;
8695 new(type: string, eventInitDict?: InputEventInit): InputEvent;
8698 /** 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. */
8699 interface IntersectionObserver {
8700 readonly root: Element | Document | null;
8701 readonly rootMargin: string;
8702 readonly thresholds: ReadonlyArray<number>;
8704 observe(target: Element): void;
8705 takeRecords(): IntersectionObserverEntry[];
8706 unobserve(target: Element): void;
8709 declare var IntersectionObserver: {
8710 prototype: IntersectionObserver;
8711 new(callback: IntersectionObserverCallback, options?: IntersectionObserverInit): IntersectionObserver;
8714 /** This Intersection Observer API interface describes the intersection between the target element and its root container at a specific moment of transition. */
8715 interface IntersectionObserverEntry {
8716 readonly boundingClientRect: DOMRectReadOnly;
8717 readonly intersectionRatio: number;
8718 readonly intersectionRect: DOMRectReadOnly;
8719 readonly isIntersecting: boolean;
8720 readonly rootBounds: DOMRectReadOnly | null;
8721 readonly target: Element;
8722 readonly time: DOMHighResTimeStamp;
8725 declare var IntersectionObserverEntry: {
8726 prototype: IntersectionObserverEntry;
8727 new(intersectionObserverEntryInit: IntersectionObserverEntryInit): IntersectionObserverEntry;
8730 interface KHR_parallel_shader_compile {
8731 readonly COMPLETION_STATUS_KHR: GLenum;
8734 /** 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. */
8735 interface KeyboardEvent extends UIEvent {
8736 readonly altKey: boolean;
8738 readonly charCode: number;
8739 readonly code: string;
8740 readonly ctrlKey: boolean;
8741 readonly isComposing: boolean;
8742 readonly key: string;
8744 readonly keyCode: number;
8745 readonly location: number;
8746 readonly metaKey: boolean;
8747 readonly repeat: boolean;
8748 readonly shiftKey: boolean;
8749 getModifierState(keyArg: string): boolean;
8751 initKeyboardEvent(typeArg: string, bubblesArg?: boolean, cancelableArg?: boolean, viewArg?: Window | null, keyArg?: string, locationArg?: number, ctrlKey?: boolean, altKey?: boolean, shiftKey?: boolean, metaKey?: boolean): void;
8752 readonly DOM_KEY_LOCATION_LEFT: number;
8753 readonly DOM_KEY_LOCATION_NUMPAD: number;
8754 readonly DOM_KEY_LOCATION_RIGHT: number;
8755 readonly DOM_KEY_LOCATION_STANDARD: number;
8758 declare var KeyboardEvent: {
8759 prototype: KeyboardEvent;
8760 new(type: string, eventInitDict?: KeyboardEventInit): KeyboardEvent;
8761 readonly DOM_KEY_LOCATION_LEFT: number;
8762 readonly DOM_KEY_LOCATION_NUMPAD: number;
8763 readonly DOM_KEY_LOCATION_RIGHT: number;
8764 readonly DOM_KEY_LOCATION_STANDARD: number;
8767 interface KeyframeEffect extends AnimationEffect {
8768 composite: CompositeOperation;
8769 iterationComposite: IterationCompositeOperation;
8770 pseudoElement: string | null;
8771 target: Element | null;
8772 getKeyframes(): ComputedKeyframe[];
8773 setKeyframes(keyframes: Keyframe[] | PropertyIndexedKeyframes | null): void;
8776 declare var KeyframeEffect: {
8777 prototype: KeyframeEffect;
8778 new(target: Element | null, keyframes: Keyframe[] | PropertyIndexedKeyframes | null, options?: number | KeyframeEffectOptions): KeyframeEffect;
8779 new(source: KeyframeEffect): KeyframeEffect;
8782 interface LinkStyle {
8783 readonly sheet: CSSStyleSheet | null;
8786 /** 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. */
8787 interface Location {
8788 /** Returns a DOMStringList object listing the origins of the ancestor browsing contexts, from the parent browsing context to the top-level browsing context. */
8789 readonly ancestorOrigins: DOMStringList;
8791 * Returns the Location object's URL's fragment (includes leading "#" if non-empty).
8793 * Can be set, to navigate to the same URL with a changed fragment (ignores leading "#").
8797 * Returns the Location object's URL's host and port (if different from the default port for the scheme).
8799 * Can be set, to navigate to the same URL with a changed host and port.
8803 * Returns the Location object's URL's host.
8805 * Can be set, to navigate to the same URL with a changed host.
8809 * Returns the Location object's URL.
8811 * Can be set, to navigate to the given URL.
8815 /** Returns the Location object's URL's origin. */
8816 readonly origin: string;
8818 * Returns the Location object's URL's path.
8820 * Can be set, to navigate to the same URL with a changed path.
8824 * Returns the Location object's URL's port.
8826 * Can be set, to navigate to the same URL with a changed port.
8830 * Returns the Location object's URL's scheme.
8832 * Can be set, to navigate to the same URL with a changed scheme.
8836 * Returns the Location object's URL's query (includes leading "?" if non-empty).
8838 * Can be set, to navigate to the same URL with a changed query (ignores leading "?").
8841 /** Navigates to the given URL. */
8842 assign(url: string | URL): void;
8843 /** Reloads the current page. */
8845 /** Removes the current page from the session history and navigates to the given URL. */
8846 replace(url: string | URL): void;
8849 declare var Location: {
8850 prototype: Location;
8854 interface MathMLElementEventMap extends ElementEventMap, DocumentAndElementEventHandlersEventMap, GlobalEventHandlersEventMap {
8857 interface MathMLElement extends Element, DocumentAndElementEventHandlers, ElementCSSInlineStyle, GlobalEventHandlers, HTMLOrSVGElement {
8858 addEventListener<K extends keyof MathMLElementEventMap>(type: K, listener: (this: MathMLElement, ev: MathMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
8859 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
8860 removeEventListener<K extends keyof MathMLElementEventMap>(type: K, listener: (this: MathMLElement, ev: MathMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
8861 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
8864 declare var MathMLElement: {
8865 prototype: MathMLElement;
8866 new(): MathMLElement;
8869 interface MediaCapabilities {
8870 decodingInfo(configuration: MediaDecodingConfiguration): Promise<MediaCapabilitiesDecodingInfo>;
8871 encodingInfo(configuration: MediaEncodingConfiguration): Promise<MediaCapabilitiesEncodingInfo>;
8874 declare var MediaCapabilities: {
8875 prototype: MediaCapabilities;
8876 new(): MediaCapabilities;
8880 * The MediaDevicesInfo interface contains information that describes a single media input or output device.
8881 * Available only in secure contexts.
8883 interface MediaDeviceInfo {
8884 readonly deviceId: string;
8885 readonly groupId: string;
8886 readonly kind: MediaDeviceKind;
8887 readonly label: string;
8891 declare var MediaDeviceInfo: {
8892 prototype: MediaDeviceInfo;
8893 new(): MediaDeviceInfo;
8896 interface MediaDevicesEventMap {
8897 "devicechange": Event;
8901 * 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.
8902 * Available only in secure contexts.
8904 interface MediaDevices extends EventTarget {
8905 ondevicechange: ((this: MediaDevices, ev: Event) => any) | null;
8906 enumerateDevices(): Promise<MediaDeviceInfo[]>;
8907 getDisplayMedia(constraints?: DisplayMediaStreamConstraints): Promise<MediaStream>;
8908 getSupportedConstraints(): MediaTrackSupportedConstraints;
8909 getUserMedia(constraints?: MediaStreamConstraints): Promise<MediaStream>;
8910 addEventListener<K extends keyof MediaDevicesEventMap>(type: K, listener: (this: MediaDevices, ev: MediaDevicesEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
8911 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
8912 removeEventListener<K extends keyof MediaDevicesEventMap>(type: K, listener: (this: MediaDevices, ev: MediaDevicesEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
8913 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
8916 declare var MediaDevices: {
8917 prototype: MediaDevices;
8918 new(): MediaDevices;
8921 /** 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. */
8922 interface MediaElementAudioSourceNode extends AudioNode {
8923 readonly mediaElement: HTMLMediaElement;
8926 declare var MediaElementAudioSourceNode: {
8927 prototype: MediaElementAudioSourceNode;
8928 new(context: AudioContext, options: MediaElementAudioSourceOptions): MediaElementAudioSourceNode;
8931 interface MediaEncryptedEvent extends Event {
8932 readonly initData: ArrayBuffer | null;
8933 readonly initDataType: string;
8936 declare var MediaEncryptedEvent: {
8937 prototype: MediaEncryptedEvent;
8938 new(type: string, eventInitDict?: MediaEncryptedEventInit): MediaEncryptedEvent;
8941 /** An error which occurred while handling media in an HTML media element based on HTMLMediaElement, such as <audio> or <video>. */
8942 interface MediaError {
8943 readonly code: number;
8944 readonly message: string;
8945 readonly MEDIA_ERR_ABORTED: number;
8946 readonly MEDIA_ERR_DECODE: number;
8947 readonly MEDIA_ERR_NETWORK: number;
8948 readonly MEDIA_ERR_SRC_NOT_SUPPORTED: number;
8951 declare var MediaError: {
8952 prototype: MediaError;
8954 readonly MEDIA_ERR_ABORTED: number;
8955 readonly MEDIA_ERR_DECODE: number;
8956 readonly MEDIA_ERR_NETWORK: number;
8957 readonly MEDIA_ERR_SRC_NOT_SUPPORTED: number;
8961 * This EncryptedMediaExtensions API interface contains the content and related data when the content decryption module generates a message for the session.
8962 * Available only in secure contexts.
8964 interface MediaKeyMessageEvent extends Event {
8965 readonly message: ArrayBuffer;
8966 readonly messageType: MediaKeyMessageType;
8969 declare var MediaKeyMessageEvent: {
8970 prototype: MediaKeyMessageEvent;
8971 new(type: string, eventInitDict: MediaKeyMessageEventInit): MediaKeyMessageEvent;
8974 interface MediaKeySessionEventMap {
8975 "keystatuseschange": Event;
8976 "message": MediaKeyMessageEvent;
8980 * This EncryptedMediaExtensions API interface represents a context for message exchange with a content decryption module (CDM).
8981 * Available only in secure contexts.
8983 interface MediaKeySession extends EventTarget {
8984 readonly closed: Promise<MediaKeySessionClosedReason>;
8985 readonly expiration: number;
8986 readonly keyStatuses: MediaKeyStatusMap;
8987 onkeystatuseschange: ((this: MediaKeySession, ev: Event) => any) | null;
8988 onmessage: ((this: MediaKeySession, ev: MediaKeyMessageEvent) => any) | null;
8989 readonly sessionId: string;
8990 close(): Promise<void>;
8991 generateRequest(initDataType: string, initData: BufferSource): Promise<void>;
8992 load(sessionId: string): Promise<boolean>;
8993 remove(): Promise<void>;
8994 update(response: BufferSource): Promise<void>;
8995 addEventListener<K extends keyof MediaKeySessionEventMap>(type: K, listener: (this: MediaKeySession, ev: MediaKeySessionEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
8996 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
8997 removeEventListener<K extends keyof MediaKeySessionEventMap>(type: K, listener: (this: MediaKeySession, ev: MediaKeySessionEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
8998 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
9001 declare var MediaKeySession: {
9002 prototype: MediaKeySession;
9003 new(): MediaKeySession;
9007 * This EncryptedMediaExtensions API interface is a read-only map of media key statuses by key IDs.
9008 * Available only in secure contexts.
9010 interface MediaKeyStatusMap {
9011 readonly size: number;
9012 get(keyId: BufferSource): MediaKeyStatus | undefined;
9013 has(keyId: BufferSource): boolean;
9014 forEach(callbackfn: (value: MediaKeyStatus, key: BufferSource, parent: MediaKeyStatusMap) => void, thisArg?: any): void;
9017 declare var MediaKeyStatusMap: {
9018 prototype: MediaKeyStatusMap;
9019 new(): MediaKeyStatusMap;
9023 * 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.
9024 * Available only in secure contexts.
9026 interface MediaKeySystemAccess {
9027 readonly keySystem: string;
9028 createMediaKeys(): Promise<MediaKeys>;
9029 getConfiguration(): MediaKeySystemConfiguration;
9032 declare var MediaKeySystemAccess: {
9033 prototype: MediaKeySystemAccess;
9034 new(): MediaKeySystemAccess;
9038 * This EncryptedMediaExtensions API interface the represents a set of keys that an associated HTMLMediaElement can use for decryption of media data during playback.
9039 * Available only in secure contexts.
9041 interface MediaKeys {
9042 createSession(sessionType?: MediaKeySessionType): MediaKeySession;
9043 setServerCertificate(serverCertificate: BufferSource): Promise<boolean>;
9046 declare var MediaKeys: {
9047 prototype: MediaKeys;
9051 interface MediaList {
9052 readonly length: number;
9055 appendMedium(medium: string): void;
9056 deleteMedium(medium: string): void;
9057 item(index: number): string | null;
9058 [index: number]: string;
9061 declare var MediaList: {
9062 prototype: MediaList;
9066 interface MediaMetadata {
9069 artwork: ReadonlyArray<MediaImage>;
9073 declare var MediaMetadata: {
9074 prototype: MediaMetadata;
9075 new(init?: MediaMetadataInit): MediaMetadata;
9078 interface MediaQueryListEventMap {
9079 "change": MediaQueryListEvent;
9082 /** 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). */
9083 interface MediaQueryList extends EventTarget {
9084 readonly matches: boolean;
9085 readonly media: string;
9086 onchange: ((this: MediaQueryList, ev: MediaQueryListEvent) => any) | null;
9088 addListener(callback: ((this: MediaQueryList, ev: MediaQueryListEvent) => any) | null): void;
9090 removeListener(callback: ((this: MediaQueryList, ev: MediaQueryListEvent) => any) | null): void;
9091 addEventListener<K extends keyof MediaQueryListEventMap>(type: K, listener: (this: MediaQueryList, ev: MediaQueryListEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
9092 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
9093 removeEventListener<K extends keyof MediaQueryListEventMap>(type: K, listener: (this: MediaQueryList, ev: MediaQueryListEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
9094 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
9097 declare var MediaQueryList: {
9098 prototype: MediaQueryList;
9099 new(): MediaQueryList;
9102 interface MediaQueryListEvent extends Event {
9103 readonly matches: boolean;
9104 readonly media: string;
9107 declare var MediaQueryListEvent: {
9108 prototype: MediaQueryListEvent;
9109 new(type: string, eventInitDict?: MediaQueryListEventInit): MediaQueryListEvent;
9112 interface MediaRecorderEventMap {
9113 "dataavailable": BlobEvent;
9114 "error": MediaRecorderErrorEvent;
9121 interface MediaRecorder extends EventTarget {
9122 readonly audioBitsPerSecond: number;
9123 readonly mimeType: string;
9124 ondataavailable: ((this: MediaRecorder, ev: BlobEvent) => any) | null;
9125 onerror: ((this: MediaRecorder, ev: MediaRecorderErrorEvent) => any) | null;
9126 onpause: ((this: MediaRecorder, ev: Event) => any) | null;
9127 onresume: ((this: MediaRecorder, ev: Event) => any) | null;
9128 onstart: ((this: MediaRecorder, ev: Event) => any) | null;
9129 onstop: ((this: MediaRecorder, ev: Event) => any) | null;
9130 readonly state: RecordingState;
9131 readonly stream: MediaStream;
9132 readonly videoBitsPerSecond: number;
9134 requestData(): void;
9136 start(timeslice?: number): void;
9138 addEventListener<K extends keyof MediaRecorderEventMap>(type: K, listener: (this: MediaRecorder, ev: MediaRecorderEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
9139 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
9140 removeEventListener<K extends keyof MediaRecorderEventMap>(type: K, listener: (this: MediaRecorder, ev: MediaRecorderEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
9141 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
9144 declare var MediaRecorder: {
9145 prototype: MediaRecorder;
9146 new(stream: MediaStream, options?: MediaRecorderOptions): MediaRecorder;
9147 isTypeSupported(type: string): boolean;
9150 interface MediaRecorderErrorEvent extends Event {
9151 readonly error: DOMException;
9154 declare var MediaRecorderErrorEvent: {
9155 prototype: MediaRecorderErrorEvent;
9156 new(type: string, eventInitDict: MediaRecorderErrorEventInit): MediaRecorderErrorEvent;
9159 interface MediaSession {
9160 metadata: MediaMetadata | null;
9161 playbackState: MediaSessionPlaybackState;
9162 setActionHandler(action: MediaSessionAction, handler: MediaSessionActionHandler | null): void;
9163 setPositionState(state?: MediaPositionState): void;
9166 declare var MediaSession: {
9167 prototype: MediaSession;
9168 new(): MediaSession;
9171 interface MediaSourceEventMap {
9172 "sourceclose": Event;
9173 "sourceended": Event;
9174 "sourceopen": Event;
9177 /** 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. */
9178 interface MediaSource extends EventTarget {
9179 readonly activeSourceBuffers: SourceBufferList;
9181 onsourceclose: ((this: MediaSource, ev: Event) => any) | null;
9182 onsourceended: ((this: MediaSource, ev: Event) => any) | null;
9183 onsourceopen: ((this: MediaSource, ev: Event) => any) | null;
9184 readonly readyState: ReadyState;
9185 readonly sourceBuffers: SourceBufferList;
9186 addSourceBuffer(type: string): SourceBuffer;
9187 clearLiveSeekableRange(): void;
9188 endOfStream(error?: EndOfStreamError): void;
9189 removeSourceBuffer(sourceBuffer: SourceBuffer): void;
9190 setLiveSeekableRange(start: number, end: number): void;
9191 addEventListener<K extends keyof MediaSourceEventMap>(type: K, listener: (this: MediaSource, ev: MediaSourceEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
9192 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
9193 removeEventListener<K extends keyof MediaSourceEventMap>(type: K, listener: (this: MediaSource, ev: MediaSourceEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
9194 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
9197 declare var MediaSource: {
9198 prototype: MediaSource;
9200 isTypeSupported(type: string): boolean;
9203 interface MediaStreamEventMap {
9204 "addtrack": MediaStreamTrackEvent;
9205 "removetrack": MediaStreamTrackEvent;
9208 /** 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. */
9209 interface MediaStream extends EventTarget {
9210 readonly active: boolean;
9211 readonly id: string;
9212 onaddtrack: ((this: MediaStream, ev: MediaStreamTrackEvent) => any) | null;
9213 onremovetrack: ((this: MediaStream, ev: MediaStreamTrackEvent) => any) | null;
9214 addTrack(track: MediaStreamTrack): void;
9215 clone(): MediaStream;
9216 getAudioTracks(): MediaStreamTrack[];
9217 getTrackById(trackId: string): MediaStreamTrack | null;
9218 getTracks(): MediaStreamTrack[];
9219 getVideoTracks(): MediaStreamTrack[];
9220 removeTrack(track: MediaStreamTrack): void;
9221 addEventListener<K extends keyof MediaStreamEventMap>(type: K, listener: (this: MediaStream, ev: MediaStreamEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
9222 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
9223 removeEventListener<K extends keyof MediaStreamEventMap>(type: K, listener: (this: MediaStream, ev: MediaStreamEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
9224 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
9227 declare var MediaStream: {
9228 prototype: MediaStream;
9230 new(stream: MediaStream): MediaStream;
9231 new(tracks: MediaStreamTrack[]): MediaStream;
9234 interface MediaStreamAudioDestinationNode extends AudioNode {
9235 readonly stream: MediaStream;
9238 declare var MediaStreamAudioDestinationNode: {
9239 prototype: MediaStreamAudioDestinationNode;
9240 new(context: AudioContext, options?: AudioNodeOptions): MediaStreamAudioDestinationNode;
9243 /** 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. */
9244 interface MediaStreamAudioSourceNode extends AudioNode {
9245 readonly mediaStream: MediaStream;
9248 declare var MediaStreamAudioSourceNode: {
9249 prototype: MediaStreamAudioSourceNode;
9250 new(context: AudioContext, options: MediaStreamAudioSourceOptions): MediaStreamAudioSourceNode;
9253 interface MediaStreamTrackEventMap {
9259 /** A single media track within a stream; typically, these are audio or video tracks, but other track types may exist as well. */
9260 interface MediaStreamTrack extends EventTarget {
9261 contentHint: string;
9263 readonly id: string;
9264 readonly kind: string;
9265 readonly label: string;
9266 readonly muted: boolean;
9267 onended: ((this: MediaStreamTrack, ev: Event) => any) | null;
9268 onmute: ((this: MediaStreamTrack, ev: Event) => any) | null;
9269 onunmute: ((this: MediaStreamTrack, ev: Event) => any) | null;
9270 readonly readyState: MediaStreamTrackState;
9271 applyConstraints(constraints?: MediaTrackConstraints): Promise<void>;
9272 clone(): MediaStreamTrack;
9273 getCapabilities(): MediaTrackCapabilities;
9274 getConstraints(): MediaTrackConstraints;
9275 getSettings(): MediaTrackSettings;
9277 addEventListener<K extends keyof MediaStreamTrackEventMap>(type: K, listener: (this: MediaStreamTrack, ev: MediaStreamTrackEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
9278 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
9279 removeEventListener<K extends keyof MediaStreamTrackEventMap>(type: K, listener: (this: MediaStreamTrack, ev: MediaStreamTrackEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
9280 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
9283 declare var MediaStreamTrack: {
9284 prototype: MediaStreamTrack;
9285 new(): MediaStreamTrack;
9288 /** 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. */
9289 interface MediaStreamTrackEvent extends Event {
9290 readonly track: MediaStreamTrack;
9293 declare var MediaStreamTrackEvent: {
9294 prototype: MediaStreamTrackEvent;
9295 new(type: string, eventInitDict: MediaStreamTrackEventInit): MediaStreamTrackEvent;
9298 /** This Channel Messaging API interface allows us to create a new message channel and send data through it via its two MessagePort properties. */
9299 interface MessageChannel {
9300 /** Returns the first MessagePort object. */
9301 readonly port1: MessagePort;
9302 /** Returns the second MessagePort object. */
9303 readonly port2: MessagePort;
9306 declare var MessageChannel: {
9307 prototype: MessageChannel;
9308 new(): MessageChannel;
9311 /** A message received by a target object. */
9312 interface MessageEvent<T = any> extends Event {
9313 /** Returns the data of the message. */
9315 /** Returns the last event ID string, for server-sent events. */
9316 readonly lastEventId: string;
9317 /** Returns the origin of the message, for server-sent events and cross-document messaging. */
9318 readonly origin: string;
9319 /** Returns the MessagePort array sent with the message, for cross-document messaging and channel messaging. */
9320 readonly ports: ReadonlyArray<MessagePort>;
9321 /** Returns the WindowProxy of the source window, for cross-document messaging, and the MessagePort being attached, in the connect event fired at SharedWorkerGlobalScope objects. */
9322 readonly source: MessageEventSource | null;
9324 initMessageEvent(type: string, bubbles?: boolean, cancelable?: boolean, data?: any, origin?: string, lastEventId?: string, source?: MessageEventSource | null, ports?: MessagePort[]): void;
9327 declare var MessageEvent: {
9328 prototype: MessageEvent;
9329 new<T>(type: string, eventInitDict?: MessageEventInit<T>): MessageEvent<T>;
9332 interface MessagePortEventMap {
9333 "message": MessageEvent;
9334 "messageerror": MessageEvent;
9337 /** 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. */
9338 interface MessagePort extends EventTarget {
9339 onmessage: ((this: MessagePort, ev: MessageEvent) => any) | null;
9340 onmessageerror: ((this: MessagePort, ev: MessageEvent) => any) | null;
9341 /** Disconnects the port, so that it is no longer active. */
9344 * 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.
9346 * Throws a "DataCloneError" DOMException if transfer contains duplicate objects or port, or if message could not be cloned.
9348 postMessage(message: any, transfer: Transferable[]): void;
9349 postMessage(message: any, options?: StructuredSerializeOptions): void;
9350 /** Begins dispatching messages received on the port. */
9352 addEventListener<K extends keyof MessagePortEventMap>(type: K, listener: (this: MessagePort, ev: MessagePortEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
9353 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
9354 removeEventListener<K extends keyof MessagePortEventMap>(type: K, listener: (this: MessagePort, ev: MessagePortEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
9355 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
9358 declare var MessagePort: {
9359 prototype: MessagePort;
9364 * Provides contains information about a MIME type associated with a particular plugin. NavigatorPlugins.mimeTypes returns an array of this object.
9367 interface MimeType {
9369 * Returns the MIME type's description.
9372 readonly description: string;
9374 * Returns the Plugin object that implements this MIME type.
9377 readonly enabledPlugin: Plugin;
9379 * Returns the MIME type's typical file extensions, in a comma-separated list.
9382 readonly suffixes: string;
9384 * Returns the MIME type.
9387 readonly type: string;
9391 declare var MimeType: {
9392 prototype: MimeType;
9397 * Returns an array of MimeType instances, each of which contains information about a supported browser plugins. This object is returned by NavigatorPlugins.mimeTypes.
9400 interface MimeTypeArray {
9402 readonly length: number;
9404 item(index: number): MimeType | null;
9406 namedItem(name: string): MimeType | null;
9407 [index: number]: MimeType;
9411 declare var MimeTypeArray: {
9412 prototype: MimeTypeArray;
9413 new(): MimeTypeArray;
9416 /** 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. */
9417 interface MouseEvent extends UIEvent {
9418 readonly altKey: boolean;
9419 readonly button: number;
9420 readonly buttons: number;
9421 readonly clientX: number;
9422 readonly clientY: number;
9423 readonly ctrlKey: boolean;
9424 readonly metaKey: boolean;
9425 readonly movementX: number;
9426 readonly movementY: number;
9427 readonly offsetX: number;
9428 readonly offsetY: number;
9429 readonly pageX: number;
9430 readonly pageY: number;
9431 readonly relatedTarget: EventTarget | null;
9432 readonly screenX: number;
9433 readonly screenY: number;
9434 readonly shiftKey: boolean;
9437 getModifierState(keyArg: string): boolean;
9439 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;
9442 declare var MouseEvent: {
9443 prototype: MouseEvent;
9444 new(type: string, eventInitDict?: MouseEventInit): MouseEvent;
9448 * Provides event properties that are specific to modifications to the Document Object Model (DOM) hierarchy and nodes.
9449 * @deprecated DOM4 [DOM] provides a new mechanism using a MutationObserver interface which addresses the use cases that mutation events solve, but in a more performant manner. Thus, this specification describes mutation events for reference and completeness of legacy behavior, but deprecates the use of the MutationEvent interface.
9451 interface MutationEvent extends Event {
9453 readonly attrChange: number;
9455 readonly attrName: string;
9457 readonly newValue: string;
9459 readonly prevValue: string;
9461 readonly relatedNode: Node | null;
9463 initMutationEvent(typeArg: string, bubblesArg?: boolean, cancelableArg?: boolean, relatedNodeArg?: Node | null, prevValueArg?: string, newValueArg?: string, attrNameArg?: string, attrChangeArg?: number): void;
9464 readonly ADDITION: number;
9465 readonly MODIFICATION: number;
9466 readonly REMOVAL: number;
9470 declare var MutationEvent: {
9471 prototype: MutationEvent;
9472 new(): MutationEvent;
9473 readonly ADDITION: number;
9474 readonly MODIFICATION: number;
9475 readonly REMOVAL: number;
9478 /** 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. */
9479 interface MutationObserver {
9480 /** Stops observer from observing any mutations. Until the observe() method is used again, observer's callback will not be invoked. */
9483 * Instructs the user agent to observe a given target (a node) and report any mutations based on the criteria given by options (an object).
9485 * The options argument allows for setting mutation observation options via object members.
9487 observe(target: Node, options?: MutationObserverInit): void;
9488 /** Empties the record queue and returns what was in there. */
9489 takeRecords(): MutationRecord[];
9492 declare var MutationObserver: {
9493 prototype: MutationObserver;
9494 new(callback: MutationCallback): MutationObserver;
9497 /** A MutationRecord represents an individual DOM mutation. It is the object that is passed to MutationObserver's callback. */
9498 interface MutationRecord {
9499 /** Return the nodes added and removed respectively. */
9500 readonly addedNodes: NodeList;
9501 /** Returns the local name of the changed attribute, and null otherwise. */
9502 readonly attributeName: string | null;
9503 /** Returns the namespace of the changed attribute, and null otherwise. */
9504 readonly attributeNamespace: string | null;
9505 /** Return the previous and next sibling respectively of the added or removed nodes, and null otherwise. */
9506 readonly nextSibling: Node | null;
9507 /** 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. */
9508 readonly oldValue: string | null;
9509 /** Return the previous and next sibling respectively of the added or removed nodes, and null otherwise. */
9510 readonly previousSibling: Node | null;
9511 /** Return the nodes added and removed respectively. */
9512 readonly removedNodes: NodeList;
9513 /** 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. */
9514 readonly target: Node;
9515 /** 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. */
9516 readonly type: MutationRecordType;
9519 declare var MutationRecord: {
9520 prototype: MutationRecord;
9521 new(): MutationRecord;
9524 /** 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. */
9525 interface NamedNodeMap {
9526 readonly length: number;
9527 getNamedItem(qualifiedName: string): Attr | null;
9528 getNamedItemNS(namespace: string | null, localName: string): Attr | null;
9529 item(index: number): Attr | null;
9530 removeNamedItem(qualifiedName: string): Attr;
9531 removeNamedItemNS(namespace: string | null, localName: string): Attr;
9532 setNamedItem(attr: Attr): Attr | null;
9533 setNamedItemNS(attr: Attr): Attr | null;
9534 [index: number]: Attr;
9537 declare var NamedNodeMap: {
9538 prototype: NamedNodeMap;
9539 new(): NamedNodeMap;
9542 /** The state and the identity of the user agent. It allows scripts to query it and to register themselves to carry on some activities. */
9543 interface Navigator extends NavigatorAutomationInformation, NavigatorConcurrentHardware, NavigatorContentUtils, NavigatorCookies, NavigatorID, NavigatorLanguage, NavigatorNetworkInformation, NavigatorOnLine, NavigatorPlugins, NavigatorStorage {
9544 /** Available only in secure contexts. */
9545 readonly clipboard: Clipboard;
9546 /** Available only in secure contexts. */
9547 readonly credentials: CredentialsContainer;
9548 readonly doNotTrack: string | null;
9549 readonly geolocation: Geolocation;
9550 readonly maxTouchPoints: number;
9551 readonly mediaCapabilities: MediaCapabilities;
9552 /** Available only in secure contexts. */
9553 readonly mediaDevices: MediaDevices;
9554 readonly mediaSession: MediaSession;
9555 readonly permissions: Permissions;
9556 /** Available only in secure contexts. */
9557 readonly serviceWorker: ServiceWorkerContainer;
9558 /** Available only in secure contexts. */
9559 canShare(data?: ShareData): boolean;
9560 getGamepads(): (Gamepad | null)[];
9561 /** Available only in secure contexts. */
9562 requestMediaKeySystemAccess(keySystem: string, supportedConfigurations: MediaKeySystemConfiguration[]): Promise<MediaKeySystemAccess>;
9563 sendBeacon(url: string | URL, data?: BodyInit | null): boolean;
9564 /** Available only in secure contexts. */
9565 share(data?: ShareData): Promise<void>;
9566 vibrate(pattern: VibratePattern): boolean;
9569 declare var Navigator: {
9570 prototype: Navigator;
9574 interface NavigatorAutomationInformation {
9575 readonly webdriver: boolean;
9578 interface NavigatorConcurrentHardware {
9579 readonly hardwareConcurrency: number;
9582 interface NavigatorContentUtils {
9583 /** Available only in secure contexts. */
9584 registerProtocolHandler(scheme: string, url: string | URL): void;
9587 interface NavigatorCookies {
9588 readonly cookieEnabled: boolean;
9591 interface NavigatorID {
9593 readonly appCodeName: string;
9595 readonly appName: string;
9597 readonly appVersion: string;
9599 readonly platform: string;
9601 readonly product: string;
9603 readonly productSub: string;
9604 readonly userAgent: string;
9605 readonly vendor: string;
9607 readonly vendorSub: string;
9610 interface NavigatorLanguage {
9611 readonly language: string;
9612 readonly languages: ReadonlyArray<string>;
9615 interface NavigatorNetworkInformation {
9616 readonly connection: NetworkInformation;
9619 interface NavigatorOnLine {
9620 readonly onLine: boolean;
9623 interface NavigatorPlugins {
9625 readonly mimeTypes: MimeTypeArray;
9627 readonly plugins: PluginArray;
9629 javaEnabled(): boolean;
9632 /** Available only in secure contexts. */
9633 interface NavigatorStorage {
9634 readonly storage: StorageManager;
9637 interface NetworkInformation extends EventTarget {
9638 readonly type: ConnectionType;
9641 declare var NetworkInformation: {
9642 prototype: NetworkInformation;
9643 new(): NetworkInformation;
9646 /** 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. */
9647 interface Node extends EventTarget {
9648 /** Returns node's node document's document base URL. */
9649 readonly baseURI: string;
9650 /** Returns the children. */
9651 readonly childNodes: NodeListOf<ChildNode>;
9652 /** Returns the first child. */
9653 readonly firstChild: ChildNode | null;
9654 /** Returns true if node is connected and false otherwise. */
9655 readonly isConnected: boolean;
9656 /** Returns the last child. */
9657 readonly lastChild: ChildNode | null;
9658 /** Returns the next sibling. */
9659 readonly nextSibling: ChildNode | null;
9660 /** Returns a string appropriate for the type of node. */
9661 readonly nodeName: string;
9662 /** Returns the type of node. */
9663 readonly nodeType: number;
9664 nodeValue: string | null;
9665 /** Returns the node document. Returns null for documents. */
9666 readonly ownerDocument: Document | null;
9667 /** Returns the parent element. */
9668 readonly parentElement: HTMLElement | null;
9669 /** Returns the parent. */
9670 readonly parentNode: ParentNode | null;
9671 /** Returns the previous sibling. */
9672 readonly previousSibling: ChildNode | null;
9673 textContent: string | null;
9674 appendChild<T extends Node>(node: T): T;
9675 /** Returns a copy of node. If deep is true, the copy also includes the node's descendants. */
9676 cloneNode(deep?: boolean): Node;
9677 /** Returns a bitmask indicating the position of other relative to node. */
9678 compareDocumentPosition(other: Node): number;
9679 /** Returns true if other is an inclusive descendant of node, and false otherwise. */
9680 contains(other: Node | null): boolean;
9681 /** Returns node's root. */
9682 getRootNode(options?: GetRootNodeOptions): Node;
9683 /** Returns whether node has children. */
9684 hasChildNodes(): boolean;
9685 insertBefore<T extends Node>(node: T, child: Node | null): T;
9686 isDefaultNamespace(namespace: string | null): boolean;
9687 /** Returns whether node and otherNode have the same properties. */
9688 isEqualNode(otherNode: Node | null): boolean;
9689 isSameNode(otherNode: Node | null): boolean;
9690 lookupNamespaceURI(prefix: string | null): string | null;
9691 lookupPrefix(namespace: string | null): string | null;
9692 /** Removes empty exclusive Text nodes and concatenates the data of remaining contiguous exclusive Text nodes into the first of their nodes. */
9694 removeChild<T extends Node>(child: T): T;
9695 replaceChild<T extends Node>(node: Node, child: T): T;
9696 readonly ATTRIBUTE_NODE: number;
9697 /** node is a CDATASection node. */
9698 readonly CDATA_SECTION_NODE: number;
9699 /** node is a Comment node. */
9700 readonly COMMENT_NODE: number;
9701 /** node is a DocumentFragment node. */
9702 readonly DOCUMENT_FRAGMENT_NODE: number;
9703 /** node is a document. */
9704 readonly DOCUMENT_NODE: number;
9705 /** Set when other is a descendant of node. */
9706 readonly DOCUMENT_POSITION_CONTAINED_BY: number;
9707 /** Set when other is an ancestor of node. */
9708 readonly DOCUMENT_POSITION_CONTAINS: number;
9709 /** Set when node and other are not in the same tree. */
9710 readonly DOCUMENT_POSITION_DISCONNECTED: number;
9711 /** Set when other is following node. */
9712 readonly DOCUMENT_POSITION_FOLLOWING: number;
9713 readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: number;
9714 /** Set when other is preceding node. */
9715 readonly DOCUMENT_POSITION_PRECEDING: number;
9716 /** node is a doctype. */
9717 readonly DOCUMENT_TYPE_NODE: number;
9718 /** node is an element. */
9719 readonly ELEMENT_NODE: number;
9720 readonly ENTITY_NODE: number;
9721 readonly ENTITY_REFERENCE_NODE: number;
9722 readonly NOTATION_NODE: number;
9723 /** node is a ProcessingInstruction node. */
9724 readonly PROCESSING_INSTRUCTION_NODE: number;
9725 /** node is a Text node. */
9726 readonly TEXT_NODE: number;
9732 readonly ATTRIBUTE_NODE: number;
9733 /** node is a CDATASection node. */
9734 readonly CDATA_SECTION_NODE: number;
9735 /** node is a Comment node. */
9736 readonly COMMENT_NODE: number;
9737 /** node is a DocumentFragment node. */
9738 readonly DOCUMENT_FRAGMENT_NODE: number;
9739 /** node is a document. */
9740 readonly DOCUMENT_NODE: number;
9741 /** Set when other is a descendant of node. */
9742 readonly DOCUMENT_POSITION_CONTAINED_BY: number;
9743 /** Set when other is an ancestor of node. */
9744 readonly DOCUMENT_POSITION_CONTAINS: number;
9745 /** Set when node and other are not in the same tree. */
9746 readonly DOCUMENT_POSITION_DISCONNECTED: number;
9747 /** Set when other is following node. */
9748 readonly DOCUMENT_POSITION_FOLLOWING: number;
9749 readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: number;
9750 /** Set when other is preceding node. */
9751 readonly DOCUMENT_POSITION_PRECEDING: number;
9752 /** node is a doctype. */
9753 readonly DOCUMENT_TYPE_NODE: number;
9754 /** node is an element. */
9755 readonly ELEMENT_NODE: number;
9756 readonly ENTITY_NODE: number;
9757 readonly ENTITY_REFERENCE_NODE: number;
9758 readonly NOTATION_NODE: number;
9759 /** node is a ProcessingInstruction node. */
9760 readonly PROCESSING_INSTRUCTION_NODE: number;
9761 /** node is a Text node. */
9762 readonly TEXT_NODE: number;
9765 /** 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. */
9766 interface NodeIterator {
9767 readonly filter: NodeFilter | null;
9768 readonly pointerBeforeReferenceNode: boolean;
9769 readonly referenceNode: Node;
9770 readonly root: Node;
9771 readonly whatToShow: number;
9774 nextNode(): Node | null;
9775 previousNode(): Node | null;
9778 declare var NodeIterator: {
9779 prototype: NodeIterator;
9780 new(): NodeIterator;
9783 /** NodeList objects are collections of nodes, usually returned by properties such as Node.childNodes and methods such as document.querySelectorAll(). */
9784 interface NodeList {
9785 /** Returns the number of nodes in the collection. */
9786 readonly length: number;
9787 /** Returns the node with index index from the collection. The nodes are sorted in tree order. */
9788 item(index: number): Node | null;
9790 * Performs the specified action for each node in an list.
9791 * @param callbackfn A function that accepts up to three arguments. forEach calls the callbackfn function one time for each element in the list.
9792 * @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.
9794 forEach(callbackfn: (value: Node, key: number, parent: NodeList) => void, thisArg?: any): void;
9795 [index: number]: Node;
9798 declare var NodeList: {
9799 prototype: NodeList;
9803 interface NodeListOf<TNode extends Node> extends NodeList {
9804 item(index: number): TNode;
9806 * Performs the specified action for each node in an list.
9807 * @param callbackfn A function that accepts up to three arguments. forEach calls the callbackfn function one time for each element in the list.
9808 * @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.
9810 forEach(callbackfn: (value: TNode, key: number, parent: NodeListOf<TNode>) => void, thisArg?: any): void;
9811 [index: number]: TNode;
9814 interface NonDocumentTypeChildNode {
9815 /** Returns the first following sibling that is an element, and null otherwise. */
9816 readonly nextElementSibling: Element | null;
9817 /** Returns the first preceding sibling that is an element, and null otherwise. */
9818 readonly previousElementSibling: Element | null;
9821 interface NonElementParentNode {
9822 /** Returns the first element within node's descendants whose ID is elementId. */
9823 getElementById(elementId: string): Element | null;
9826 interface NotificationEventMap {
9833 /** This Notifications API interface is used to configure and display desktop notifications to the user. */
9834 interface Notification extends EventTarget {
9835 readonly body: string;
9837 readonly dir: NotificationDirection;
9838 readonly icon: string;
9839 readonly lang: string;
9840 onclick: ((this: Notification, ev: Event) => any) | null;
9841 onclose: ((this: Notification, ev: Event) => any) | null;
9842 onerror: ((this: Notification, ev: Event) => any) | null;
9843 onshow: ((this: Notification, ev: Event) => any) | null;
9844 readonly tag: string;
9845 readonly title: string;
9847 addEventListener<K extends keyof NotificationEventMap>(type: K, listener: (this: Notification, ev: NotificationEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
9848 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
9849 removeEventListener<K extends keyof NotificationEventMap>(type: K, listener: (this: Notification, ev: NotificationEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
9850 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
9853 declare var Notification: {
9854 prototype: Notification;
9855 new(title: string, options?: NotificationOptions): Notification;
9856 readonly permission: NotificationPermission;
9857 requestPermission(deprecatedCallback?: NotificationPermissionCallback): Promise<NotificationPermission>;
9860 /** The OES_element_index_uint extension is part of the WebGL API and adds support for gl.UNSIGNED_INT types to WebGLRenderingContext.drawElements(). */
9861 interface OES_element_index_uint {
9864 interface OES_fbo_render_mipmap {
9867 /** The OES_standard_derivatives extension is part of the WebGL API and adds the GLSL derivative functions dFdx, dFdy, and fwidth. */
9868 interface OES_standard_derivatives {
9869 readonly FRAGMENT_SHADER_DERIVATIVE_HINT_OES: GLenum;
9872 /** The OES_texture_float extension is part of the WebGL API and exposes floating-point pixel types for textures. */
9873 interface OES_texture_float {
9876 /** The OES_texture_float_linear extension is part of the WebGL API and allows linear filtering with floating-point pixel types for textures. */
9877 interface OES_texture_float_linear {
9880 /** 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. */
9881 interface OES_texture_half_float {
9882 readonly HALF_FLOAT_OES: GLenum;
9885 /** 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. */
9886 interface OES_texture_half_float_linear {
9889 interface OES_vertex_array_object {
9890 bindVertexArrayOES(arrayObject: WebGLVertexArrayObjectOES | null): void;
9891 createVertexArrayOES(): WebGLVertexArrayObjectOES | null;
9892 deleteVertexArrayOES(arrayObject: WebGLVertexArrayObjectOES | null): void;
9893 isVertexArrayOES(arrayObject: WebGLVertexArrayObjectOES | null): GLboolean;
9894 readonly VERTEX_ARRAY_BINDING_OES: GLenum;
9897 interface OVR_multiview2 {
9898 framebufferTextureMultiviewOVR(target: GLenum, attachment: GLenum, texture: WebGLTexture | null, level: GLint, baseViewIndex: GLint, numViews: GLsizei): void;
9899 readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_BASE_VIEW_INDEX_OVR: GLenum;
9900 readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_NUM_VIEWS_OVR: GLenum;
9901 readonly FRAMEBUFFER_INCOMPLETE_VIEW_TARGETS_OVR: GLenum;
9902 readonly MAX_VIEWS_OVR: GLenum;
9905 /** The Web Audio API OfflineAudioCompletionEvent interface represents events that occur when the processing of an OfflineAudioContext is terminated. The complete event implements this interface. */
9906 interface OfflineAudioCompletionEvent extends Event {
9907 readonly renderedBuffer: AudioBuffer;
9910 declare var OfflineAudioCompletionEvent: {
9911 prototype: OfflineAudioCompletionEvent;
9912 new(type: string, eventInitDict: OfflineAudioCompletionEventInit): OfflineAudioCompletionEvent;
9915 interface OfflineAudioContextEventMap extends BaseAudioContextEventMap {
9916 "complete": OfflineAudioCompletionEvent;
9919 /** 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. */
9920 interface OfflineAudioContext extends BaseAudioContext {
9921 readonly length: number;
9922 oncomplete: ((this: OfflineAudioContext, ev: OfflineAudioCompletionEvent) => any) | null;
9923 resume(): Promise<void>;
9924 startRendering(): Promise<AudioBuffer>;
9925 suspend(suspendTime: number): Promise<void>;
9926 addEventListener<K extends keyof OfflineAudioContextEventMap>(type: K, listener: (this: OfflineAudioContext, ev: OfflineAudioContextEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
9927 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
9928 removeEventListener<K extends keyof OfflineAudioContextEventMap>(type: K, listener: (this: OfflineAudioContext, ev: OfflineAudioContextEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
9929 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
9932 declare var OfflineAudioContext: {
9933 prototype: OfflineAudioContext;
9934 new(contextOptions: OfflineAudioContextOptions): OfflineAudioContext;
9935 new(numberOfChannels: number, length: number, sampleRate: number): OfflineAudioContext;
9938 /** 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. */
9939 interface OscillatorNode extends AudioScheduledSourceNode {
9940 readonly detune: AudioParam;
9941 readonly frequency: AudioParam;
9942 type: OscillatorType;
9943 setPeriodicWave(periodicWave: PeriodicWave): void;
9944 addEventListener<K extends keyof AudioScheduledSourceNodeEventMap>(type: K, listener: (this: OscillatorNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
9945 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
9946 removeEventListener<K extends keyof AudioScheduledSourceNodeEventMap>(type: K, listener: (this: OscillatorNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
9947 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
9950 declare var OscillatorNode: {
9951 prototype: OscillatorNode;
9952 new(context: BaseAudioContext, options?: OscillatorOptions): OscillatorNode;
9955 interface OverconstrainedError extends Error {
9956 readonly constraint: string;
9959 declare var OverconstrainedError: {
9960 prototype: OverconstrainedError;
9961 new(constraint: string, message?: string): OverconstrainedError;
9964 /** The PageTransitionEvent is fired when a document is being loaded or unloaded. */
9965 interface PageTransitionEvent extends Event {
9967 * For the pageshow event, returns false if the page is newly being loaded (and the load event will fire). Otherwise, returns true.
9969 * For the pagehide event, returns false if the page is going away for the last time. Otherwise, returns true, meaning that (if nothing conspires to make the page unsalvageable) the page might be reused if the user navigates back to this page.
9971 * Things that can cause the page to be unsalvageable include:
9973 * The user agent decided to not keep the Document alive in a session history entry after unload
9974 * Having iframes that are not salvageable
9975 * Active WebSocket objects
9976 * Aborting a Document
9978 readonly persisted: boolean;
9981 declare var PageTransitionEvent: {
9982 prototype: PageTransitionEvent;
9983 new(type: string, eventInitDict?: PageTransitionEventInit): PageTransitionEvent;
9986 /** 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! */
9987 interface PannerNode extends AudioNode {
9988 coneInnerAngle: number;
9989 coneOuterAngle: number;
9990 coneOuterGain: number;
9991 distanceModel: DistanceModelType;
9992 maxDistance: number;
9993 readonly orientationX: AudioParam;
9994 readonly orientationY: AudioParam;
9995 readonly orientationZ: AudioParam;
9996 panningModel: PanningModelType;
9997 readonly positionX: AudioParam;
9998 readonly positionY: AudioParam;
9999 readonly positionZ: AudioParam;
10000 refDistance: number;
10001 rolloffFactor: number;
10003 setOrientation(x: number, y: number, z: number): void;
10005 setPosition(x: number, y: number, z: number): void;
10008 declare var PannerNode: {
10009 prototype: PannerNode;
10010 new(context: BaseAudioContext, options?: PannerOptions): PannerNode;
10013 interface ParentNode extends Node {
10014 readonly childElementCount: number;
10015 /** Returns the child elements. */
10016 readonly children: HTMLCollection;
10017 /** Returns the first child that is an element, and null otherwise. */
10018 readonly firstElementChild: Element | null;
10019 /** Returns the last child that is an element, and null otherwise. */
10020 readonly lastElementChild: Element | null;
10022 * Inserts nodes after the last child of node, while replacing strings in nodes with equivalent Text nodes.
10024 * Throws a "HierarchyRequestError" DOMException if the constraints of the node tree are violated.
10026 append(...nodes: (Node | string)[]): void;
10028 * Inserts nodes before the first child of node, while replacing strings in nodes with equivalent Text nodes.
10030 * Throws a "HierarchyRequestError" DOMException if the constraints of the node tree are violated.
10032 prepend(...nodes: (Node | string)[]): void;
10033 /** Returns the first element that is a descendant of node that matches selectors. */
10034 querySelector<K extends keyof HTMLElementTagNameMap>(selectors: K): HTMLElementTagNameMap[K] | null;
10035 querySelector<K extends keyof SVGElementTagNameMap>(selectors: K): SVGElementTagNameMap[K] | null;
10036 querySelector<E extends Element = Element>(selectors: string): E | null;
10037 /** Returns all element descendants of node that match selectors. */
10038 querySelectorAll<K extends keyof HTMLElementTagNameMap>(selectors: K): NodeListOf<HTMLElementTagNameMap[K]>;
10039 querySelectorAll<K extends keyof SVGElementTagNameMap>(selectors: K): NodeListOf<SVGElementTagNameMap[K]>;
10040 querySelectorAll<E extends Element = Element>(selectors: string): NodeListOf<E>;
10042 * Replace all children of node with nodes, while replacing strings in nodes with equivalent Text nodes.
10044 * Throws a "HierarchyRequestError" DOMException if the constraints of the node tree are violated.
10046 replaceChildren(...nodes: (Node | string)[]): void;
10049 /** 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. */
10050 interface Path2D extends CanvasPath {
10051 /** Adds to the path the path given by the argument. */
10052 addPath(path: Path2D, transform?: DOMMatrix2DInit): void;
10055 declare var Path2D: {
10057 new(path?: Path2D | string): Path2D;
10060 /** Available only in secure contexts. */
10061 interface PaymentMethodChangeEvent extends PaymentRequestUpdateEvent {
10062 readonly methodDetails: any;
10063 readonly methodName: string;
10066 declare var PaymentMethodChangeEvent: {
10067 prototype: PaymentMethodChangeEvent;
10068 new(type: string, eventInitDict?: PaymentMethodChangeEventInit): PaymentMethodChangeEvent;
10071 interface PaymentRequestEventMap {
10072 "paymentmethodchange": Event;
10076 * 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.
10077 * Available only in secure contexts.
10079 interface PaymentRequest extends EventTarget {
10080 readonly id: string;
10081 onpaymentmethodchange: ((this: PaymentRequest, ev: Event) => any) | null;
10082 abort(): Promise<void>;
10083 canMakePayment(): Promise<boolean>;
10084 show(detailsPromise?: PaymentDetailsUpdate | PromiseLike<PaymentDetailsUpdate>): Promise<PaymentResponse>;
10085 addEventListener<K extends keyof PaymentRequestEventMap>(type: K, listener: (this: PaymentRequest, ev: PaymentRequestEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
10086 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
10087 removeEventListener<K extends keyof PaymentRequestEventMap>(type: K, listener: (this: PaymentRequest, ev: PaymentRequestEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
10088 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
10091 declare var PaymentRequest: {
10092 prototype: PaymentRequest;
10093 new(methodData: PaymentMethodData[], details: PaymentDetailsInit): PaymentRequest;
10097 * This Payment Request API interface enables a web page to update the details of a PaymentRequest in response to a user action.
10098 * Available only in secure contexts.
10100 interface PaymentRequestUpdateEvent extends Event {
10101 updateWith(detailsPromise: PaymentDetailsUpdate | PromiseLike<PaymentDetailsUpdate>): void;
10104 declare var PaymentRequestUpdateEvent: {
10105 prototype: PaymentRequestUpdateEvent;
10106 new(type: string, eventInitDict?: PaymentRequestUpdateEventInit): PaymentRequestUpdateEvent;
10110 * This Payment Request API interface is returned after a user selects a payment method and approves a payment request.
10111 * Available only in secure contexts.
10113 interface PaymentResponse extends EventTarget {
10114 readonly details: any;
10115 readonly methodName: string;
10116 readonly requestId: string;
10117 complete(result?: PaymentComplete): Promise<void>;
10118 retry(errorFields?: PaymentValidationErrors): Promise<void>;
10122 declare var PaymentResponse: {
10123 prototype: PaymentResponse;
10124 new(): PaymentResponse;
10127 interface PerformanceEventMap {
10128 "resourcetimingbufferfull": Event;
10131 /** Provides access to performance-related information for the current page. It's part of the High Resolution Time API, but is enhanced by the Performance Timeline API, the Navigation Timing API, the User Timing API, and the Resource Timing API. */
10132 interface Performance extends EventTarget {
10134 readonly navigation: PerformanceNavigation;
10135 onresourcetimingbufferfull: ((this: Performance, ev: Event) => any) | null;
10136 readonly timeOrigin: DOMHighResTimeStamp;
10138 readonly timing: PerformanceTiming;
10139 clearMarks(markName?: string): void;
10140 clearMeasures(measureName?: string): void;
10141 clearResourceTimings(): void;
10142 getEntries(): PerformanceEntryList;
10143 getEntriesByName(name: string, type?: string): PerformanceEntryList;
10144 getEntriesByType(type: string): PerformanceEntryList;
10145 mark(markName: string, markOptions?: PerformanceMarkOptions): PerformanceMark;
10146 measure(measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions, endMark?: string): PerformanceMeasure;
10147 now(): DOMHighResTimeStamp;
10148 setResourceTimingBufferSize(maxSize: number): void;
10150 addEventListener<K extends keyof PerformanceEventMap>(type: K, listener: (this: Performance, ev: PerformanceEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
10151 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
10152 removeEventListener<K extends keyof PerformanceEventMap>(type: K, listener: (this: Performance, ev: PerformanceEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
10153 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
10156 declare var Performance: {
10157 prototype: Performance;
10158 new(): Performance;
10161 /** 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). */
10162 interface PerformanceEntry {
10163 readonly duration: DOMHighResTimeStamp;
10164 readonly entryType: string;
10165 readonly name: string;
10166 readonly startTime: DOMHighResTimeStamp;
10170 declare var PerformanceEntry: {
10171 prototype: PerformanceEntry;
10172 new(): PerformanceEntry;
10175 interface PerformanceEventTiming extends PerformanceEntry {
10176 readonly cancelable: boolean;
10177 readonly processingEnd: DOMHighResTimeStamp;
10178 readonly processingStart: DOMHighResTimeStamp;
10179 readonly target: Node | null;
10182 declare var PerformanceEventTiming: {
10183 prototype: PerformanceEventTiming;
10184 new(): PerformanceEventTiming;
10187 /** 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. */
10188 interface PerformanceMark extends PerformanceEntry {
10189 readonly detail: any;
10192 declare var PerformanceMark: {
10193 prototype: PerformanceMark;
10194 new(markName: string, markOptions?: PerformanceMarkOptions): PerformanceMark;
10197 /** 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. */
10198 interface PerformanceMeasure extends PerformanceEntry {
10199 readonly detail: any;
10202 declare var PerformanceMeasure: {
10203 prototype: PerformanceMeasure;
10204 new(): PerformanceMeasure;
10208 * The legacy PerformanceNavigation interface represents information about how the navigation to the current document was done.
10209 * @deprecated This interface is deprecated in the Navigation Timing Level 2 specification. Please use the PerformanceNavigationTiming interface instead.
10211 interface PerformanceNavigation {
10213 readonly redirectCount: number;
10215 readonly type: number;
10218 readonly TYPE_BACK_FORWARD: number;
10219 readonly TYPE_NAVIGATE: number;
10220 readonly TYPE_RELOAD: number;
10221 readonly TYPE_RESERVED: number;
10225 declare var PerformanceNavigation: {
10226 prototype: PerformanceNavigation;
10227 new(): PerformanceNavigation;
10228 readonly TYPE_BACK_FORWARD: number;
10229 readonly TYPE_NAVIGATE: number;
10230 readonly TYPE_RELOAD: number;
10231 readonly TYPE_RESERVED: number;
10234 /** 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. */
10235 interface PerformanceNavigationTiming extends PerformanceResourceTiming {
10236 readonly domComplete: DOMHighResTimeStamp;
10237 readonly domContentLoadedEventEnd: DOMHighResTimeStamp;
10238 readonly domContentLoadedEventStart: DOMHighResTimeStamp;
10239 readonly domInteractive: DOMHighResTimeStamp;
10240 readonly loadEventEnd: DOMHighResTimeStamp;
10241 readonly loadEventStart: DOMHighResTimeStamp;
10242 readonly redirectCount: number;
10243 readonly type: NavigationType;
10244 readonly unloadEventEnd: DOMHighResTimeStamp;
10245 readonly unloadEventStart: DOMHighResTimeStamp;
10249 declare var PerformanceNavigationTiming: {
10250 prototype: PerformanceNavigationTiming;
10251 new(): PerformanceNavigationTiming;
10254 interface PerformanceObserver {
10255 disconnect(): void;
10256 observe(options?: PerformanceObserverInit): void;
10257 takeRecords(): PerformanceEntryList;
10260 declare var PerformanceObserver: {
10261 prototype: PerformanceObserver;
10262 new(callback: PerformanceObserverCallback): PerformanceObserver;
10263 readonly supportedEntryTypes: ReadonlyArray<string>;
10266 interface PerformanceObserverEntryList {
10267 getEntries(): PerformanceEntryList;
10268 getEntriesByName(name: string, type?: string): PerformanceEntryList;
10269 getEntriesByType(type: string): PerformanceEntryList;
10272 declare var PerformanceObserverEntryList: {
10273 prototype: PerformanceObserverEntryList;
10274 new(): PerformanceObserverEntryList;
10277 interface PerformancePaintTiming extends PerformanceEntry {
10280 declare var PerformancePaintTiming: {
10281 prototype: PerformancePaintTiming;
10282 new(): PerformancePaintTiming;
10285 /** 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. */
10286 interface PerformanceResourceTiming extends PerformanceEntry {
10287 readonly connectEnd: DOMHighResTimeStamp;
10288 readonly connectStart: DOMHighResTimeStamp;
10289 readonly decodedBodySize: number;
10290 readonly domainLookupEnd: DOMHighResTimeStamp;
10291 readonly domainLookupStart: DOMHighResTimeStamp;
10292 readonly encodedBodySize: number;
10293 readonly fetchStart: DOMHighResTimeStamp;
10294 readonly initiatorType: string;
10295 readonly nextHopProtocol: string;
10296 readonly redirectEnd: DOMHighResTimeStamp;
10297 readonly redirectStart: DOMHighResTimeStamp;
10298 readonly requestStart: DOMHighResTimeStamp;
10299 readonly responseEnd: DOMHighResTimeStamp;
10300 readonly responseStart: DOMHighResTimeStamp;
10301 readonly secureConnectionStart: DOMHighResTimeStamp;
10302 readonly serverTiming: ReadonlyArray<PerformanceServerTiming>;
10303 readonly transferSize: number;
10304 readonly workerStart: DOMHighResTimeStamp;
10308 declare var PerformanceResourceTiming: {
10309 prototype: PerformanceResourceTiming;
10310 new(): PerformanceResourceTiming;
10313 interface PerformanceServerTiming {
10314 readonly description: string;
10315 readonly duration: DOMHighResTimeStamp;
10316 readonly name: string;
10320 declare var PerformanceServerTiming: {
10321 prototype: PerformanceServerTiming;
10322 new(): PerformanceServerTiming;
10326 * 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.
10327 * @deprecated This interface is deprecated in the Navigation Timing Level 2 specification. Please use the PerformanceNavigationTiming interface instead.
10329 interface PerformanceTiming {
10331 readonly connectEnd: number;
10333 readonly connectStart: number;
10335 readonly domComplete: number;
10337 readonly domContentLoadedEventEnd: number;
10339 readonly domContentLoadedEventStart: number;
10341 readonly domInteractive: number;
10343 readonly domLoading: number;
10345 readonly domainLookupEnd: number;
10347 readonly domainLookupStart: number;
10349 readonly fetchStart: number;
10351 readonly loadEventEnd: number;
10353 readonly loadEventStart: number;
10355 readonly navigationStart: number;
10357 readonly redirectEnd: number;
10359 readonly redirectStart: number;
10361 readonly requestStart: number;
10363 readonly responseEnd: number;
10365 readonly responseStart: number;
10367 readonly secureConnectionStart: number;
10369 readonly unloadEventEnd: number;
10371 readonly unloadEventStart: number;
10377 declare var PerformanceTiming: {
10378 prototype: PerformanceTiming;
10379 new(): PerformanceTiming;
10382 /** 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(). */
10383 interface PeriodicWave {
10386 declare var PeriodicWave: {
10387 prototype: PeriodicWave;
10388 new(context: BaseAudioContext, options?: PeriodicWaveOptions): PeriodicWave;
10391 interface PermissionStatusEventMap {
10395 interface PermissionStatus extends EventTarget {
10396 onchange: ((this: PermissionStatus, ev: Event) => any) | null;
10397 readonly state: PermissionState;
10398 addEventListener<K extends keyof PermissionStatusEventMap>(type: K, listener: (this: PermissionStatus, ev: PermissionStatusEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
10399 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
10400 removeEventListener<K extends keyof PermissionStatusEventMap>(type: K, listener: (this: PermissionStatus, ev: PermissionStatusEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
10401 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
10404 declare var PermissionStatus: {
10405 prototype: PermissionStatus;
10406 new(): PermissionStatus;
10409 interface Permissions {
10410 query(permissionDesc: PermissionDescriptor): Promise<PermissionStatus>;
10413 declare var Permissions: {
10414 prototype: Permissions;
10415 new(): Permissions;
10418 interface PictureInPictureWindowEventMap {
10422 interface PictureInPictureWindow extends EventTarget {
10423 readonly height: number;
10424 onresize: ((this: PictureInPictureWindow, ev: Event) => any) | null;
10425 readonly width: number;
10426 addEventListener<K extends keyof PictureInPictureWindowEventMap>(type: K, listener: (this: PictureInPictureWindow, ev: PictureInPictureWindowEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
10427 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
10428 removeEventListener<K extends keyof PictureInPictureWindowEventMap>(type: K, listener: (this: PictureInPictureWindow, ev: PictureInPictureWindowEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
10429 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
10432 declare var PictureInPictureWindow: {
10433 prototype: PictureInPictureWindow;
10434 new(): PictureInPictureWindow;
10438 * Provides information about a browser plugin.
10443 * Returns the plugin's description.
10446 readonly description: string;
10448 * Returns the plugin library's filename, if applicable on the current platform.
10451 readonly filename: string;
10453 * Returns the number of MIME types, represented by MimeType objects, supported by the plugin.
10456 readonly length: number;
10458 * Returns the plugin's name.
10461 readonly name: string;
10463 * Returns the specified MimeType object.
10466 item(index: number): MimeType | null;
10468 namedItem(name: string): MimeType | null;
10469 [index: number]: MimeType;
10473 declare var Plugin: {
10479 * 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.
10482 interface PluginArray {
10484 readonly length: number;
10486 item(index: number): Plugin | null;
10488 namedItem(name: string): Plugin | null;
10491 [index: number]: Plugin;
10495 declare var PluginArray: {
10496 prototype: PluginArray;
10497 new(): PluginArray;
10500 /** 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. */
10501 interface PointerEvent extends MouseEvent {
10502 readonly height: number;
10503 readonly isPrimary: boolean;
10504 readonly pointerId: number;
10505 readonly pointerType: string;
10506 readonly pressure: number;
10507 readonly tangentialPressure: number;
10508 readonly tiltX: number;
10509 readonly tiltY: number;
10510 readonly twist: number;
10511 readonly width: number;
10512 /** Available only in secure contexts. */
10513 getCoalescedEvents(): PointerEvent[];
10514 getPredictedEvents(): PointerEvent[];
10517 declare var PointerEvent: {
10518 prototype: PointerEvent;
10519 new(type: string, eventInitDict?: PointerEventInit): PointerEvent;
10522 /** PopStateEvent is an event handler for the popstate event on the window. */
10523 interface PopStateEvent extends Event {
10524 /** Returns a copy of the information that was provided to pushState() or replaceState(). */
10525 readonly state: any;
10528 declare var PopStateEvent: {
10529 prototype: PopStateEvent;
10530 new(type: string, eventInitDict?: PopStateEventInit): PopStateEvent;
10533 /** A processing instruction embeds application-specific instructions in XML which can be ignored by other applications that don't recognize them. */
10534 interface ProcessingInstruction extends CharacterData, LinkStyle {
10535 readonly ownerDocument: Document;
10536 readonly target: string;
10539 declare var ProcessingInstruction: {
10540 prototype: ProcessingInstruction;
10541 new(): ProcessingInstruction;
10544 /** 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>). */
10545 interface ProgressEvent<T extends EventTarget = EventTarget> extends Event {
10546 readonly lengthComputable: boolean;
10547 readonly loaded: number;
10548 readonly target: T | null;
10549 readonly total: number;
10552 declare var ProgressEvent: {
10553 prototype: ProgressEvent;
10554 new(type: string, eventInitDict?: ProgressEventInit): ProgressEvent;
10557 interface PromiseRejectionEvent extends Event {
10558 readonly promise: Promise<any>;
10559 readonly reason: any;
10562 declare var PromiseRejectionEvent: {
10563 prototype: PromiseRejectionEvent;
10564 new(type: string, eventInitDict: PromiseRejectionEventInit): PromiseRejectionEvent;
10567 /** Available only in secure contexts. */
10568 interface PublicKeyCredential extends Credential {
10569 readonly rawId: ArrayBuffer;
10570 readonly response: AuthenticatorResponse;
10571 getClientExtensionResults(): AuthenticationExtensionsClientOutputs;
10574 declare var PublicKeyCredential: {
10575 prototype: PublicKeyCredential;
10576 new(): PublicKeyCredential;
10577 isUserVerifyingPlatformAuthenticatorAvailable(): Promise<boolean>;
10581 * This Push API interface provides a way to receive notifications from third-party servers as well as request URLs for push notifications.
10582 * Available only in secure contexts.
10584 interface PushManager {
10585 getSubscription(): Promise<PushSubscription | null>;
10586 permissionState(options?: PushSubscriptionOptionsInit): Promise<PushPermissionState>;
10587 subscribe(options?: PushSubscriptionOptionsInit): Promise<PushSubscription>;
10590 declare var PushManager: {
10591 prototype: PushManager;
10592 new(): PushManager;
10593 readonly supportedContentEncodings: ReadonlyArray<string>;
10597 * This Push API interface provides a subcription's URL endpoint and allows unsubscription from a push service.
10598 * Available only in secure contexts.
10600 interface PushSubscription {
10601 readonly endpoint: string;
10602 readonly options: PushSubscriptionOptions;
10603 getKey(name: PushEncryptionKeyName): ArrayBuffer | null;
10604 toJSON(): PushSubscriptionJSON;
10605 unsubscribe(): Promise<boolean>;
10608 declare var PushSubscription: {
10609 prototype: PushSubscription;
10610 new(): PushSubscription;
10613 /** Available only in secure contexts. */
10614 interface PushSubscriptionOptions {
10615 readonly applicationServerKey: ArrayBuffer | null;
10618 declare var PushSubscriptionOptions: {
10619 prototype: PushSubscriptionOptions;
10620 new(): PushSubscriptionOptions;
10623 interface RTCCertificate {
10624 readonly expires: DOMTimeStamp;
10625 getFingerprints(): RTCDtlsFingerprint[];
10628 declare var RTCCertificate: {
10629 prototype: RTCCertificate;
10630 new(): RTCCertificate;
10633 interface RTCDTMFSenderEventMap {
10634 "tonechange": RTCDTMFToneChangeEvent;
10637 interface RTCDTMFSender extends EventTarget {
10638 readonly canInsertDTMF: boolean;
10639 ontonechange: ((this: RTCDTMFSender, ev: RTCDTMFToneChangeEvent) => any) | null;
10640 readonly toneBuffer: string;
10641 insertDTMF(tones: string, duration?: number, interToneGap?: number): void;
10642 addEventListener<K extends keyof RTCDTMFSenderEventMap>(type: K, listener: (this: RTCDTMFSender, ev: RTCDTMFSenderEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
10643 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
10644 removeEventListener<K extends keyof RTCDTMFSenderEventMap>(type: K, listener: (this: RTCDTMFSender, ev: RTCDTMFSenderEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
10645 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
10648 declare var RTCDTMFSender: {
10649 prototype: RTCDTMFSender;
10650 new(): RTCDTMFSender;
10653 /** Events sent to indicate that DTMF tones have started or finished playing. This interface is used by the tonechange event. */
10654 interface RTCDTMFToneChangeEvent extends Event {
10655 readonly tone: string;
10658 declare var RTCDTMFToneChangeEvent: {
10659 prototype: RTCDTMFToneChangeEvent;
10660 new(type: string, eventInitDict?: RTCDTMFToneChangeEventInit): RTCDTMFToneChangeEvent;
10663 interface RTCDataChannelEventMap {
10664 "bufferedamountlow": Event;
10667 "message": MessageEvent;
10671 interface RTCDataChannel extends EventTarget {
10672 binaryType: BinaryType;
10673 readonly bufferedAmount: number;
10674 bufferedAmountLowThreshold: number;
10675 readonly id: number | null;
10676 readonly label: string;
10677 readonly maxPacketLifeTime: number | null;
10678 readonly maxRetransmits: number | null;
10679 readonly negotiated: boolean;
10680 onbufferedamountlow: ((this: RTCDataChannel, ev: Event) => any) | null;
10681 onclose: ((this: RTCDataChannel, ev: Event) => any) | null;
10682 onerror: ((this: RTCDataChannel, ev: Event) => any) | null;
10683 onmessage: ((this: RTCDataChannel, ev: MessageEvent) => any) | null;
10684 onopen: ((this: RTCDataChannel, ev: Event) => any) | null;
10685 readonly ordered: boolean;
10686 readonly protocol: string;
10687 readonly readyState: RTCDataChannelState;
10689 send(data: string): void;
10690 send(data: Blob): void;
10691 send(data: ArrayBuffer): void;
10692 send(data: ArrayBufferView): void;
10693 addEventListener<K extends keyof RTCDataChannelEventMap>(type: K, listener: (this: RTCDataChannel, ev: RTCDataChannelEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
10694 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
10695 removeEventListener<K extends keyof RTCDataChannelEventMap>(type: K, listener: (this: RTCDataChannel, ev: RTCDataChannelEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
10696 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
10699 declare var RTCDataChannel: {
10700 prototype: RTCDataChannel;
10701 new(): RTCDataChannel;
10704 interface RTCDataChannelEvent extends Event {
10705 readonly channel: RTCDataChannel;
10708 declare var RTCDataChannelEvent: {
10709 prototype: RTCDataChannelEvent;
10710 new(type: string, eventInitDict: RTCDataChannelEventInit): RTCDataChannelEvent;
10713 interface RTCDtlsTransportEventMap {
10714 "statechange": Event;
10717 interface RTCDtlsTransport extends EventTarget {
10718 onstatechange: ((this: RTCDtlsTransport, ev: Event) => any) | null;
10719 readonly state: RTCDtlsTransportState;
10720 addEventListener<K extends keyof RTCDtlsTransportEventMap>(type: K, listener: (this: RTCDtlsTransport, ev: RTCDtlsTransportEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
10721 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
10722 removeEventListener<K extends keyof RTCDtlsTransportEventMap>(type: K, listener: (this: RTCDtlsTransport, ev: RTCDtlsTransportEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
10723 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
10726 declare var RTCDtlsTransport: {
10727 prototype: RTCDtlsTransport;
10728 new(): RTCDtlsTransport;
10731 /** The RTCIceCandidate interface—part of the WebRTC API—represents a candidate Internet Connectivity Establishment (ICE) configuration which may be used to establish an RTCPeerConnection. */
10732 interface RTCIceCandidate {
10733 readonly address: string | null;
10734 readonly candidate: string;
10735 readonly component: RTCIceComponent | null;
10736 readonly foundation: string | null;
10737 readonly port: number | null;
10738 readonly priority: number | null;
10739 readonly protocol: RTCIceProtocol | null;
10740 readonly relatedAddress: string | null;
10741 readonly relatedPort: number | null;
10742 readonly sdpMLineIndex: number | null;
10743 readonly sdpMid: string | null;
10744 readonly tcpType: RTCIceTcpCandidateType | null;
10745 readonly type: RTCIceCandidateType | null;
10746 readonly usernameFragment: string | null;
10747 toJSON(): RTCIceCandidateInit;
10750 declare var RTCIceCandidate: {
10751 prototype: RTCIceCandidate;
10752 new(candidateInitDict?: RTCIceCandidateInit): RTCIceCandidate;
10755 /** Provides access to information about the ICE transport layer over which the data is being sent and received. */
10756 interface RTCIceTransport extends EventTarget {
10757 readonly gatheringState: RTCIceGathererState;
10758 readonly state: RTCIceTransportState;
10761 declare var RTCIceTransport: {
10762 prototype: RTCIceTransport;
10763 new(): RTCIceTransport;
10766 interface RTCPeerConnectionEventMap {
10767 "connectionstatechange": Event;
10768 "datachannel": RTCDataChannelEvent;
10769 "icecandidate": RTCPeerConnectionIceEvent;
10770 "icecandidateerror": Event;
10771 "iceconnectionstatechange": Event;
10772 "icegatheringstatechange": Event;
10773 "negotiationneeded": Event;
10774 "signalingstatechange": Event;
10775 "track": RTCTrackEvent;
10778 /** 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. */
10779 interface RTCPeerConnection extends EventTarget {
10780 readonly canTrickleIceCandidates: boolean | null;
10781 readonly connectionState: RTCPeerConnectionState;
10782 readonly currentLocalDescription: RTCSessionDescription | null;
10783 readonly currentRemoteDescription: RTCSessionDescription | null;
10784 readonly iceConnectionState: RTCIceConnectionState;
10785 readonly iceGatheringState: RTCIceGatheringState;
10786 readonly localDescription: RTCSessionDescription | null;
10787 onconnectionstatechange: ((this: RTCPeerConnection, ev: Event) => any) | null;
10788 ondatachannel: ((this: RTCPeerConnection, ev: RTCDataChannelEvent) => any) | null;
10789 onicecandidate: ((this: RTCPeerConnection, ev: RTCPeerConnectionIceEvent) => any) | null;
10790 onicecandidateerror: ((this: RTCPeerConnection, ev: Event) => any) | null;
10791 oniceconnectionstatechange: ((this: RTCPeerConnection, ev: Event) => any) | null;
10792 onicegatheringstatechange: ((this: RTCPeerConnection, ev: Event) => any) | null;
10793 onnegotiationneeded: ((this: RTCPeerConnection, ev: Event) => any) | null;
10794 onsignalingstatechange: ((this: RTCPeerConnection, ev: Event) => any) | null;
10795 ontrack: ((this: RTCPeerConnection, ev: RTCTrackEvent) => any) | null;
10796 readonly pendingLocalDescription: RTCSessionDescription | null;
10797 readonly pendingRemoteDescription: RTCSessionDescription | null;
10798 readonly remoteDescription: RTCSessionDescription | null;
10799 readonly signalingState: RTCSignalingState;
10800 addIceCandidate(candidate?: RTCIceCandidateInit): Promise<void>;
10802 addIceCandidate(candidate: RTCIceCandidateInit, successCallback: VoidFunction, failureCallback: RTCPeerConnectionErrorCallback): Promise<void>;
10803 addTrack(track: MediaStreamTrack, ...streams: MediaStream[]): RTCRtpSender;
10804 addTransceiver(trackOrKind: MediaStreamTrack | string, init?: RTCRtpTransceiverInit): RTCRtpTransceiver;
10806 createAnswer(options?: RTCAnswerOptions): Promise<RTCSessionDescriptionInit>;
10808 createAnswer(successCallback: RTCSessionDescriptionCallback, failureCallback: RTCPeerConnectionErrorCallback): Promise<void>;
10809 createDataChannel(label: string, dataChannelDict?: RTCDataChannelInit): RTCDataChannel;
10810 createOffer(options?: RTCOfferOptions): Promise<RTCSessionDescriptionInit>;
10812 createOffer(successCallback: RTCSessionDescriptionCallback, failureCallback: RTCPeerConnectionErrorCallback, options?: RTCOfferOptions): Promise<void>;
10813 getConfiguration(): RTCConfiguration;
10814 getReceivers(): RTCRtpReceiver[];
10815 getSenders(): RTCRtpSender[];
10816 getStats(selector?: MediaStreamTrack | null): Promise<RTCStatsReport>;
10817 getTransceivers(): RTCRtpTransceiver[];
10818 removeTrack(sender: RTCRtpSender): void;
10819 restartIce(): void;
10820 setConfiguration(configuration?: RTCConfiguration): void;
10821 setLocalDescription(description?: RTCLocalSessionDescriptionInit): Promise<void>;
10823 setLocalDescription(description: RTCLocalSessionDescriptionInit, successCallback: VoidFunction, failureCallback: RTCPeerConnectionErrorCallback): Promise<void>;
10824 setRemoteDescription(description: RTCSessionDescriptionInit): Promise<void>;
10826 setRemoteDescription(description: RTCSessionDescriptionInit, successCallback: VoidFunction, failureCallback: RTCPeerConnectionErrorCallback): Promise<void>;
10827 addEventListener<K extends keyof RTCPeerConnectionEventMap>(type: K, listener: (this: RTCPeerConnection, ev: RTCPeerConnectionEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
10828 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
10829 removeEventListener<K extends keyof RTCPeerConnectionEventMap>(type: K, listener: (this: RTCPeerConnection, ev: RTCPeerConnectionEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
10830 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
10833 declare var RTCPeerConnection: {
10834 prototype: RTCPeerConnection;
10835 new(configuration?: RTCConfiguration): RTCPeerConnection;
10836 generateCertificate(keygenAlgorithm: AlgorithmIdentifier): Promise<RTCCertificate>;
10839 interface RTCPeerConnectionIceErrorEvent extends Event {
10840 readonly address: string | null;
10841 readonly errorCode: number;
10842 readonly errorText: string;
10843 readonly port: number | null;
10844 readonly url: string;
10847 declare var RTCPeerConnectionIceErrorEvent: {
10848 prototype: RTCPeerConnectionIceErrorEvent;
10849 new(type: string, eventInitDict: RTCPeerConnectionIceErrorEventInit): RTCPeerConnectionIceErrorEvent;
10852 /** Events that occurs in relation to ICE candidates with the target, usually an RTCPeerConnection. Only one event is of this type: icecandidate. */
10853 interface RTCPeerConnectionIceEvent extends Event {
10854 readonly candidate: RTCIceCandidate | null;
10857 declare var RTCPeerConnectionIceEvent: {
10858 prototype: RTCPeerConnectionIceEvent;
10859 new(type: string, eventInitDict?: RTCPeerConnectionIceEventInit): RTCPeerConnectionIceEvent;
10862 /** This WebRTC API interface manages the reception and decoding of data for a MediaStreamTrack on an RTCPeerConnection. */
10863 interface RTCRtpReceiver {
10864 readonly track: MediaStreamTrack;
10865 readonly transport: RTCDtlsTransport | null;
10866 getContributingSources(): RTCRtpContributingSource[];
10867 getParameters(): RTCRtpReceiveParameters;
10868 getStats(): Promise<RTCStatsReport>;
10869 getSynchronizationSources(): RTCRtpSynchronizationSource[];
10872 declare var RTCRtpReceiver: {
10873 prototype: RTCRtpReceiver;
10874 new(): RTCRtpReceiver;
10875 getCapabilities(kind: string): RTCRtpCapabilities | null;
10878 /** Provides the ability to control and obtain details about how a particular MediaStreamTrack is encoded and sent to a remote peer. */
10879 interface RTCRtpSender {
10880 readonly dtmf: RTCDTMFSender | null;
10881 readonly track: MediaStreamTrack | null;
10882 readonly transport: RTCDtlsTransport | null;
10883 getParameters(): RTCRtpSendParameters;
10884 getStats(): Promise<RTCStatsReport>;
10885 replaceTrack(withTrack: MediaStreamTrack | null): Promise<void>;
10886 setParameters(parameters: RTCRtpSendParameters): Promise<void>;
10887 setStreams(...streams: MediaStream[]): void;
10890 declare var RTCRtpSender: {
10891 prototype: RTCRtpSender;
10892 new(): RTCRtpSender;
10893 getCapabilities(kind: string): RTCRtpCapabilities | null;
10896 interface RTCRtpTransceiver {
10897 readonly currentDirection: RTCRtpTransceiverDirection | null;
10898 direction: RTCRtpTransceiverDirection;
10899 readonly mid: string | null;
10900 readonly receiver: RTCRtpReceiver;
10901 readonly sender: RTCRtpSender;
10905 declare var RTCRtpTransceiver: {
10906 prototype: RTCRtpTransceiver;
10907 new(): RTCRtpTransceiver;
10910 /** One end of a connection—or potential connection—and how it's configured. Each RTCSessionDescription consists of a description type indicating which part of the offer/answer negotiation process it describes and of the SDP descriptor of the session. */
10911 interface RTCSessionDescription {
10912 readonly sdp: string;
10913 readonly type: RTCSdpType;
10917 declare var RTCSessionDescription: {
10918 prototype: RTCSessionDescription;
10919 new(descriptionInitDict: RTCSessionDescriptionInit): RTCSessionDescription;
10922 interface RTCStatsReport {
10923 forEach(callbackfn: (value: any, key: string, parent: RTCStatsReport) => void, thisArg?: any): void;
10926 declare var RTCStatsReport: {
10927 prototype: RTCStatsReport;
10928 new(): RTCStatsReport;
10931 interface RTCTrackEvent extends Event {
10932 readonly receiver: RTCRtpReceiver;
10933 readonly streams: ReadonlyArray<MediaStream>;
10934 readonly track: MediaStreamTrack;
10935 readonly transceiver: RTCRtpTransceiver;
10938 declare var RTCTrackEvent: {
10939 prototype: RTCTrackEvent;
10940 new(type: string, eventInitDict: RTCTrackEventInit): RTCTrackEvent;
10943 interface RadioNodeList extends NodeList {
10947 declare var RadioNodeList: {
10948 prototype: RadioNodeList;
10949 new(): RadioNodeList;
10952 /** A fragment of a document that can contain nodes and parts of text nodes. */
10953 interface Range extends AbstractRange {
10954 /** Returns the node, furthest away from the document, that is an ancestor of both range's start node and end node. */
10955 readonly commonAncestorContainer: Node;
10956 cloneContents(): DocumentFragment;
10957 cloneRange(): Range;
10958 collapse(toStart?: boolean): void;
10959 compareBoundaryPoints(how: number, sourceRange: Range): number;
10960 /** 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. */
10961 comparePoint(node: Node, offset: number): number;
10962 createContextualFragment(fragment: string): DocumentFragment;
10963 deleteContents(): void;
10965 extractContents(): DocumentFragment;
10966 getBoundingClientRect(): DOMRect;
10967 getClientRects(): DOMRectList;
10968 insertNode(node: Node): void;
10969 /** Returns whether range intersects node. */
10970 intersectsNode(node: Node): boolean;
10971 isPointInRange(node: Node, offset: number): boolean;
10972 selectNode(node: Node): void;
10973 selectNodeContents(node: Node): void;
10974 setEnd(node: Node, offset: number): void;
10975 setEndAfter(node: Node): void;
10976 setEndBefore(node: Node): void;
10977 setStart(node: Node, offset: number): void;
10978 setStartAfter(node: Node): void;
10979 setStartBefore(node: Node): void;
10980 surroundContents(newParent: Node): void;
10981 toString(): string;
10982 readonly END_TO_END: number;
10983 readonly END_TO_START: number;
10984 readonly START_TO_END: number;
10985 readonly START_TO_START: number;
10988 declare var Range: {
10991 readonly END_TO_END: number;
10992 readonly END_TO_START: number;
10993 readonly START_TO_END: number;
10994 readonly START_TO_START: number;
10995 toString(): string;
10998 /** 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. */
10999 interface ReadableStream<R = any> {
11000 readonly locked: boolean;
11001 cancel(reason?: any): Promise<void>;
11002 getReader(): ReadableStreamDefaultReader<R>;
11003 pipeThrough<T>(transform: ReadableWritablePair<T, R>, options?: StreamPipeOptions): ReadableStream<T>;
11004 pipeTo(destination: WritableStream<R>, options?: StreamPipeOptions): Promise<void>;
11005 tee(): [ReadableStream<R>, ReadableStream<R>];
11008 declare var ReadableStream: {
11009 prototype: ReadableStream;
11010 new<R = any>(underlyingSource?: UnderlyingSource<R>, strategy?: QueuingStrategy<R>): ReadableStream<R>;
11013 interface ReadableStreamDefaultController<R = any> {
11014 readonly desiredSize: number | null;
11016 enqueue(chunk?: R): void;
11017 error(e?: any): void;
11020 declare var ReadableStreamDefaultController: {
11021 prototype: ReadableStreamDefaultController;
11022 new(): ReadableStreamDefaultController;
11025 interface ReadableStreamDefaultReader<R = any> extends ReadableStreamGenericReader {
11026 read(): Promise<ReadableStreamDefaultReadResult<R>>;
11027 releaseLock(): void;
11030 declare var ReadableStreamDefaultReader: {
11031 prototype: ReadableStreamDefaultReader;
11032 new<R = any>(stream: ReadableStream<R>): ReadableStreamDefaultReader<R>;
11035 interface ReadableStreamGenericReader {
11036 readonly closed: Promise<undefined>;
11037 cancel(reason?: any): Promise<void>;
11040 interface RemotePlaybackEventMap {
11042 "connecting": Event;
11043 "disconnect": Event;
11046 interface RemotePlayback extends EventTarget {
11047 onconnect: ((this: RemotePlayback, ev: Event) => any) | null;
11048 onconnecting: ((this: RemotePlayback, ev: Event) => any) | null;
11049 ondisconnect: ((this: RemotePlayback, ev: Event) => any) | null;
11050 readonly state: RemotePlaybackState;
11051 cancelWatchAvailability(id?: number): Promise<void>;
11052 prompt(): Promise<void>;
11053 watchAvailability(callback: RemotePlaybackAvailabilityCallback): Promise<number>;
11054 addEventListener<K extends keyof RemotePlaybackEventMap>(type: K, listener: (this: RemotePlayback, ev: RemotePlaybackEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
11055 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
11056 removeEventListener<K extends keyof RemotePlaybackEventMap>(type: K, listener: (this: RemotePlayback, ev: RemotePlaybackEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
11057 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
11060 declare var RemotePlayback: {
11061 prototype: RemotePlayback;
11062 new(): RemotePlayback;
11065 /** This Fetch API interface represents a resource request. */
11066 interface Request extends Body {
11067 /** Returns the cache mode associated with request, which is a string indicating how the request will interact with the browser's cache when fetching. */
11068 readonly cache: RequestCache;
11069 /** 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. */
11070 readonly credentials: RequestCredentials;
11071 /** Returns the kind of resource requested by request, e.g., "document" or "script". */
11072 readonly destination: RequestDestination;
11073 /** 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. */
11074 readonly headers: Headers;
11075 /** 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] */
11076 readonly integrity: string;
11077 /** Returns a boolean indicating whether or not request can outlive the global in which it was created. */
11078 readonly keepalive: boolean;
11079 /** Returns request's HTTP method, which is "GET" by default. */
11080 readonly method: string;
11081 /** 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. */
11082 readonly mode: RequestMode;
11083 /** 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. */
11084 readonly redirect: RequestRedirect;
11085 /** 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. */
11086 readonly referrer: string;
11087 /** Returns the referrer policy associated with request. This is used during fetching to compute the value of the request's referrer. */
11088 readonly referrerPolicy: ReferrerPolicy;
11089 /** Returns the signal associated with request, which is an AbortSignal object indicating whether or not request has been aborted, and its abort event handler. */
11090 readonly signal: AbortSignal;
11091 /** Returns the URL of request as a string. */
11092 readonly url: string;
11096 declare var Request: {
11097 prototype: Request;
11098 new(input: RequestInfo, init?: RequestInit): Request;
11101 interface ResizeObserver {
11102 disconnect(): void;
11103 observe(target: Element, options?: ResizeObserverOptions): void;
11104 unobserve(target: Element): void;
11107 declare var ResizeObserver: {
11108 prototype: ResizeObserver;
11109 new(callback: ResizeObserverCallback): ResizeObserver;
11112 interface ResizeObserverEntry {
11113 readonly borderBoxSize: ReadonlyArray<ResizeObserverSize>;
11114 readonly contentBoxSize: ReadonlyArray<ResizeObserverSize>;
11115 readonly contentRect: DOMRectReadOnly;
11116 readonly target: Element;
11119 declare var ResizeObserverEntry: {
11120 prototype: ResizeObserverEntry;
11121 new(): ResizeObserverEntry;
11124 interface ResizeObserverSize {
11125 readonly blockSize: number;
11126 readonly inlineSize: number;
11129 declare var ResizeObserverSize: {
11130 prototype: ResizeObserverSize;
11131 new(): ResizeObserverSize;
11134 /** This Fetch API interface represents the response to a request. */
11135 interface Response extends Body {
11136 readonly headers: Headers;
11137 readonly ok: boolean;
11138 readonly redirected: boolean;
11139 readonly status: number;
11140 readonly statusText: string;
11141 readonly type: ResponseType;
11142 readonly url: string;
11146 declare var Response: {
11147 prototype: Response;
11148 new(body?: BodyInit | null, init?: ResponseInit): Response;
11150 redirect(url: string | URL, status?: number): Response;
11153 /** Provides access to the properties of <a> element, as well as methods to manipulate them. */
11154 interface SVGAElement extends SVGGraphicsElement, SVGURIReference {
11156 readonly relList: DOMTokenList;
11157 readonly target: SVGAnimatedString;
11158 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGAElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
11159 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
11160 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGAElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
11161 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
11164 declare var SVGAElement: {
11165 prototype: SVGAElement;
11166 new(): SVGAElement;
11169 /** Used to represent a value that can be an <angle> or <number> value. An SVGAngle reflected through the animVal attribute is always read only. */
11170 interface SVGAngle {
11171 readonly unitType: number;
11173 valueAsString: string;
11174 valueInSpecifiedUnits: number;
11175 convertToSpecifiedUnits(unitType: number): void;
11176 newValueSpecifiedUnits(unitType: number, valueInSpecifiedUnits: number): void;
11177 readonly SVG_ANGLETYPE_DEG: number;
11178 readonly SVG_ANGLETYPE_GRAD: number;
11179 readonly SVG_ANGLETYPE_RAD: number;
11180 readonly SVG_ANGLETYPE_UNKNOWN: number;
11181 readonly SVG_ANGLETYPE_UNSPECIFIED: number;
11184 declare var SVGAngle: {
11185 prototype: SVGAngle;
11187 readonly SVG_ANGLETYPE_DEG: number;
11188 readonly SVG_ANGLETYPE_GRAD: number;
11189 readonly SVG_ANGLETYPE_RAD: number;
11190 readonly SVG_ANGLETYPE_UNKNOWN: number;
11191 readonly SVG_ANGLETYPE_UNSPECIFIED: number;
11194 interface SVGAnimateElement extends SVGAnimationElement {
11195 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGAnimateElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
11196 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
11197 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGAnimateElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
11198 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
11201 declare var SVGAnimateElement: {
11202 prototype: SVGAnimateElement;
11203 new(): SVGAnimateElement;
11206 interface SVGAnimateMotionElement extends SVGAnimationElement {
11207 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGAnimateMotionElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
11208 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
11209 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGAnimateMotionElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
11210 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
11213 declare var SVGAnimateMotionElement: {
11214 prototype: SVGAnimateMotionElement;
11215 new(): SVGAnimateMotionElement;
11218 interface SVGAnimateTransformElement extends SVGAnimationElement {
11219 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGAnimateTransformElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
11220 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
11221 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGAnimateTransformElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
11222 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
11225 declare var SVGAnimateTransformElement: {
11226 prototype: SVGAnimateTransformElement;
11227 new(): SVGAnimateTransformElement;
11230 /** Used for attributes of basic type <angle> which can be animated. */
11231 interface SVGAnimatedAngle {
11232 readonly animVal: SVGAngle;
11233 readonly baseVal: SVGAngle;
11236 declare var SVGAnimatedAngle: {
11237 prototype: SVGAnimatedAngle;
11238 new(): SVGAnimatedAngle;
11241 /** Used for attributes of type boolean which can be animated. */
11242 interface SVGAnimatedBoolean {
11243 readonly animVal: boolean;
11247 declare var SVGAnimatedBoolean: {
11248 prototype: SVGAnimatedBoolean;
11249 new(): SVGAnimatedBoolean;
11252 /** Used for attributes whose value must be a constant from a particular enumeration and which can be animated. */
11253 interface SVGAnimatedEnumeration {
11254 readonly animVal: number;
11258 declare var SVGAnimatedEnumeration: {
11259 prototype: SVGAnimatedEnumeration;
11260 new(): SVGAnimatedEnumeration;
11263 /** Used for attributes of basic type <integer> which can be animated. */
11264 interface SVGAnimatedInteger {
11265 readonly animVal: number;
11269 declare var SVGAnimatedInteger: {
11270 prototype: SVGAnimatedInteger;
11271 new(): SVGAnimatedInteger;
11274 /** Used for attributes of basic type <length> which can be animated. */
11275 interface SVGAnimatedLength {
11276 readonly animVal: SVGLength;
11277 readonly baseVal: SVGLength;
11280 declare var SVGAnimatedLength: {
11281 prototype: SVGAnimatedLength;
11282 new(): SVGAnimatedLength;
11285 /** Used for attributes of type SVGLengthList which can be animated. */
11286 interface SVGAnimatedLengthList {
11287 readonly animVal: SVGLengthList;
11288 readonly baseVal: SVGLengthList;
11291 declare var SVGAnimatedLengthList: {
11292 prototype: SVGAnimatedLengthList;
11293 new(): SVGAnimatedLengthList;
11296 /** Used for attributes of basic type <Number> which can be animated. */
11297 interface SVGAnimatedNumber {
11298 readonly animVal: number;
11302 declare var SVGAnimatedNumber: {
11303 prototype: SVGAnimatedNumber;
11304 new(): SVGAnimatedNumber;
11307 /** The SVGAnimatedNumber interface is used for attributes which take a list of numbers and which can be animated. */
11308 interface SVGAnimatedNumberList {
11309 readonly animVal: SVGNumberList;
11310 readonly baseVal: SVGNumberList;
11313 declare var SVGAnimatedNumberList: {
11314 prototype: SVGAnimatedNumberList;
11315 new(): SVGAnimatedNumberList;
11318 interface SVGAnimatedPoints {
11319 readonly animatedPoints: SVGPointList;
11320 readonly points: SVGPointList;
11323 /** Used for attributes of type SVGPreserveAspectRatio which can be animated. */
11324 interface SVGAnimatedPreserveAspectRatio {
11325 readonly animVal: SVGPreserveAspectRatio;
11326 readonly baseVal: SVGPreserveAspectRatio;
11329 declare var SVGAnimatedPreserveAspectRatio: {
11330 prototype: SVGAnimatedPreserveAspectRatio;
11331 new(): SVGAnimatedPreserveAspectRatio;
11334 /** Used for attributes of basic SVGRect which can be animated. */
11335 interface SVGAnimatedRect {
11336 readonly animVal: DOMRectReadOnly;
11337 readonly baseVal: DOMRect;
11340 declare var SVGAnimatedRect: {
11341 prototype: SVGAnimatedRect;
11342 new(): SVGAnimatedRect;
11345 /** 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. */
11346 interface SVGAnimatedString {
11347 readonly animVal: string;
11351 declare var SVGAnimatedString: {
11352 prototype: SVGAnimatedString;
11353 new(): SVGAnimatedString;
11356 /** Used for attributes which take a list of numbers and which can be animated. */
11357 interface SVGAnimatedTransformList {
11358 readonly animVal: SVGTransformList;
11359 readonly baseVal: SVGTransformList;
11362 declare var SVGAnimatedTransformList: {
11363 prototype: SVGAnimatedTransformList;
11364 new(): SVGAnimatedTransformList;
11367 interface SVGAnimationElement extends SVGElement, SVGTests {
11368 readonly targetElement: SVGElement | null;
11369 beginElement(): void;
11370 beginElementAt(offset: number): void;
11371 endElement(): void;
11372 endElementAt(offset: number): void;
11373 getCurrentTime(): number;
11374 getSimpleDuration(): number;
11375 getStartTime(): number;
11376 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGAnimationElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
11377 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
11378 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGAnimationElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
11379 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
11382 declare var SVGAnimationElement: {
11383 prototype: SVGAnimationElement;
11384 new(): SVGAnimationElement;
11387 /** 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. */
11388 interface SVGCircleElement extends SVGGeometryElement {
11389 readonly cx: SVGAnimatedLength;
11390 readonly cy: SVGAnimatedLength;
11391 readonly r: SVGAnimatedLength;
11392 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGCircleElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
11393 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
11394 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGCircleElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
11395 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
11398 declare var SVGCircleElement: {
11399 prototype: SVGCircleElement;
11400 new(): SVGCircleElement;
11403 /** Provides access to the properties of <clipPath> elements, as well as methods to manipulate them. */
11404 interface SVGClipPathElement extends SVGElement {
11405 readonly clipPathUnits: SVGAnimatedEnumeration;
11406 readonly transform: SVGAnimatedTransformList;
11407 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGClipPathElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
11408 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
11409 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGClipPathElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
11410 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
11413 declare var SVGClipPathElement: {
11414 prototype: SVGClipPathElement;
11415 new(): SVGClipPathElement;
11418 /** A base interface used by the component transfer function interfaces. */
11419 interface SVGComponentTransferFunctionElement extends SVGElement {
11420 readonly amplitude: SVGAnimatedNumber;
11421 readonly exponent: SVGAnimatedNumber;
11422 readonly intercept: SVGAnimatedNumber;
11423 readonly offset: SVGAnimatedNumber;
11424 readonly slope: SVGAnimatedNumber;
11425 readonly tableValues: SVGAnimatedNumberList;
11426 readonly type: SVGAnimatedEnumeration;
11427 readonly SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE: number;
11428 readonly SVG_FECOMPONENTTRANSFER_TYPE_GAMMA: number;
11429 readonly SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY: number;
11430 readonly SVG_FECOMPONENTTRANSFER_TYPE_LINEAR: number;
11431 readonly SVG_FECOMPONENTTRANSFER_TYPE_TABLE: number;
11432 readonly SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN: number;
11433 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGComponentTransferFunctionElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
11434 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
11435 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGComponentTransferFunctionElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
11436 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
11439 declare var SVGComponentTransferFunctionElement: {
11440 prototype: SVGComponentTransferFunctionElement;
11441 new(): SVGComponentTransferFunctionElement;
11442 readonly SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE: number;
11443 readonly SVG_FECOMPONENTTRANSFER_TYPE_GAMMA: number;
11444 readonly SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY: number;
11445 readonly SVG_FECOMPONENTTRANSFER_TYPE_LINEAR: number;
11446 readonly SVG_FECOMPONENTTRANSFER_TYPE_TABLE: number;
11447 readonly SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN: number;
11450 /** Corresponds to the <defs> element. */
11451 interface SVGDefsElement extends SVGGraphicsElement {
11452 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGDefsElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
11453 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
11454 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGDefsElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
11455 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
11458 declare var SVGDefsElement: {
11459 prototype: SVGDefsElement;
11460 new(): SVGDefsElement;
11463 /** Corresponds to the <desc> element. */
11464 interface SVGDescElement extends SVGElement {
11465 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGDescElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
11466 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
11467 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGDescElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
11468 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
11471 declare var SVGDescElement: {
11472 prototype: SVGDescElement;
11473 new(): SVGDescElement;
11476 interface SVGElementEventMap extends ElementEventMap, DocumentAndElementEventHandlersEventMap, GlobalEventHandlersEventMap {
11479 /** All of the SVG DOM interfaces that correspond directly to elements in the SVG language derive from the SVGElement interface. */
11480 interface SVGElement extends Element, DocumentAndElementEventHandlers, ElementCSSInlineStyle, GlobalEventHandlers, HTMLOrSVGElement {
11482 readonly className: any;
11483 readonly ownerSVGElement: SVGSVGElement | null;
11484 readonly viewportElement: SVGElement | null;
11485 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
11486 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
11487 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
11488 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
11491 declare var SVGElement: {
11492 prototype: SVGElement;
11496 /** Provides access to the properties of <ellipse> elements. */
11497 interface SVGEllipseElement extends SVGGeometryElement {
11498 readonly cx: SVGAnimatedLength;
11499 readonly cy: SVGAnimatedLength;
11500 readonly rx: SVGAnimatedLength;
11501 readonly ry: SVGAnimatedLength;
11502 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGEllipseElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
11503 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
11504 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGEllipseElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
11505 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
11508 declare var SVGEllipseElement: {
11509 prototype: SVGEllipseElement;
11510 new(): SVGEllipseElement;
11513 /** Corresponds to the <feBlend> element. */
11514 interface SVGFEBlendElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {
11515 readonly in1: SVGAnimatedString;
11516 readonly in2: SVGAnimatedString;
11517 readonly mode: SVGAnimatedEnumeration;
11518 readonly SVG_FEBLEND_MODE_COLOR: number;
11519 readonly SVG_FEBLEND_MODE_COLOR_BURN: number;
11520 readonly SVG_FEBLEND_MODE_COLOR_DODGE: number;
11521 readonly SVG_FEBLEND_MODE_DARKEN: number;
11522 readonly SVG_FEBLEND_MODE_DIFFERENCE: number;
11523 readonly SVG_FEBLEND_MODE_EXCLUSION: number;
11524 readonly SVG_FEBLEND_MODE_HARD_LIGHT: number;
11525 readonly SVG_FEBLEND_MODE_HUE: number;
11526 readonly SVG_FEBLEND_MODE_LIGHTEN: number;
11527 readonly SVG_FEBLEND_MODE_LUMINOSITY: number;
11528 readonly SVG_FEBLEND_MODE_MULTIPLY: number;
11529 readonly SVG_FEBLEND_MODE_NORMAL: number;
11530 readonly SVG_FEBLEND_MODE_OVERLAY: number;
11531 readonly SVG_FEBLEND_MODE_SATURATION: number;
11532 readonly SVG_FEBLEND_MODE_SCREEN: number;
11533 readonly SVG_FEBLEND_MODE_SOFT_LIGHT: number;
11534 readonly SVG_FEBLEND_MODE_UNKNOWN: number;
11535 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEBlendElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
11536 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
11537 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEBlendElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
11538 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
11541 declare var SVGFEBlendElement: {
11542 prototype: SVGFEBlendElement;
11543 new(): SVGFEBlendElement;
11544 readonly SVG_FEBLEND_MODE_COLOR: number;
11545 readonly SVG_FEBLEND_MODE_COLOR_BURN: number;
11546 readonly SVG_FEBLEND_MODE_COLOR_DODGE: number;
11547 readonly SVG_FEBLEND_MODE_DARKEN: number;
11548 readonly SVG_FEBLEND_MODE_DIFFERENCE: number;
11549 readonly SVG_FEBLEND_MODE_EXCLUSION: number;
11550 readonly SVG_FEBLEND_MODE_HARD_LIGHT: number;
11551 readonly SVG_FEBLEND_MODE_HUE: number;
11552 readonly SVG_FEBLEND_MODE_LIGHTEN: number;
11553 readonly SVG_FEBLEND_MODE_LUMINOSITY: number;
11554 readonly SVG_FEBLEND_MODE_MULTIPLY: number;
11555 readonly SVG_FEBLEND_MODE_NORMAL: number;
11556 readonly SVG_FEBLEND_MODE_OVERLAY: number;
11557 readonly SVG_FEBLEND_MODE_SATURATION: number;
11558 readonly SVG_FEBLEND_MODE_SCREEN: number;
11559 readonly SVG_FEBLEND_MODE_SOFT_LIGHT: number;
11560 readonly SVG_FEBLEND_MODE_UNKNOWN: number;
11563 /** Corresponds to the <feColorMatrix> element. */
11564 interface SVGFEColorMatrixElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {
11565 readonly in1: SVGAnimatedString;
11566 readonly type: SVGAnimatedEnumeration;
11567 readonly values: SVGAnimatedNumberList;
11568 readonly SVG_FECOLORMATRIX_TYPE_HUEROTATE: number;
11569 readonly SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA: number;
11570 readonly SVG_FECOLORMATRIX_TYPE_MATRIX: number;
11571 readonly SVG_FECOLORMATRIX_TYPE_SATURATE: number;
11572 readonly SVG_FECOLORMATRIX_TYPE_UNKNOWN: number;
11573 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEColorMatrixElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
11574 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
11575 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEColorMatrixElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
11576 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
11579 declare var SVGFEColorMatrixElement: {
11580 prototype: SVGFEColorMatrixElement;
11581 new(): SVGFEColorMatrixElement;
11582 readonly SVG_FECOLORMATRIX_TYPE_HUEROTATE: number;
11583 readonly SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA: number;
11584 readonly SVG_FECOLORMATRIX_TYPE_MATRIX: number;
11585 readonly SVG_FECOLORMATRIX_TYPE_SATURATE: number;
11586 readonly SVG_FECOLORMATRIX_TYPE_UNKNOWN: number;
11589 /** Corresponds to the <feComponentTransfer> element. */
11590 interface SVGFEComponentTransferElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {
11591 readonly in1: SVGAnimatedString;
11592 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEComponentTransferElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
11593 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
11594 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEComponentTransferElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
11595 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
11598 declare var SVGFEComponentTransferElement: {
11599 prototype: SVGFEComponentTransferElement;
11600 new(): SVGFEComponentTransferElement;
11603 /** Corresponds to the <feComposite> element. */
11604 interface SVGFECompositeElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {
11605 readonly in1: SVGAnimatedString;
11606 readonly in2: SVGAnimatedString;
11607 readonly k1: SVGAnimatedNumber;
11608 readonly k2: SVGAnimatedNumber;
11609 readonly k3: SVGAnimatedNumber;
11610 readonly k4: SVGAnimatedNumber;
11611 readonly operator: SVGAnimatedEnumeration;
11612 readonly SVG_FECOMPOSITE_OPERATOR_ARITHMETIC: number;
11613 readonly SVG_FECOMPOSITE_OPERATOR_ATOP: number;
11614 readonly SVG_FECOMPOSITE_OPERATOR_IN: number;
11615 readonly SVG_FECOMPOSITE_OPERATOR_OUT: number;
11616 readonly SVG_FECOMPOSITE_OPERATOR_OVER: number;
11617 readonly SVG_FECOMPOSITE_OPERATOR_UNKNOWN: number;
11618 readonly SVG_FECOMPOSITE_OPERATOR_XOR: number;
11619 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFECompositeElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
11620 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
11621 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFECompositeElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
11622 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
11625 declare var SVGFECompositeElement: {
11626 prototype: SVGFECompositeElement;
11627 new(): SVGFECompositeElement;
11628 readonly SVG_FECOMPOSITE_OPERATOR_ARITHMETIC: number;
11629 readonly SVG_FECOMPOSITE_OPERATOR_ATOP: number;
11630 readonly SVG_FECOMPOSITE_OPERATOR_IN: number;
11631 readonly SVG_FECOMPOSITE_OPERATOR_OUT: number;
11632 readonly SVG_FECOMPOSITE_OPERATOR_OVER: number;
11633 readonly SVG_FECOMPOSITE_OPERATOR_UNKNOWN: number;
11634 readonly SVG_FECOMPOSITE_OPERATOR_XOR: number;
11637 /** Corresponds to the <feConvolveMatrix> element. */
11638 interface SVGFEConvolveMatrixElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {
11639 readonly bias: SVGAnimatedNumber;
11640 readonly divisor: SVGAnimatedNumber;
11641 readonly edgeMode: SVGAnimatedEnumeration;
11642 readonly in1: SVGAnimatedString;
11643 readonly kernelMatrix: SVGAnimatedNumberList;
11644 readonly kernelUnitLengthX: SVGAnimatedNumber;
11645 readonly kernelUnitLengthY: SVGAnimatedNumber;
11646 readonly orderX: SVGAnimatedInteger;
11647 readonly orderY: SVGAnimatedInteger;
11648 readonly preserveAlpha: SVGAnimatedBoolean;
11649 readonly targetX: SVGAnimatedInteger;
11650 readonly targetY: SVGAnimatedInteger;
11651 readonly SVG_EDGEMODE_DUPLICATE: number;
11652 readonly SVG_EDGEMODE_NONE: number;
11653 readonly SVG_EDGEMODE_UNKNOWN: number;
11654 readonly SVG_EDGEMODE_WRAP: number;
11655 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEConvolveMatrixElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
11656 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
11657 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEConvolveMatrixElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
11658 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
11661 declare var SVGFEConvolveMatrixElement: {
11662 prototype: SVGFEConvolveMatrixElement;
11663 new(): SVGFEConvolveMatrixElement;
11664 readonly SVG_EDGEMODE_DUPLICATE: number;
11665 readonly SVG_EDGEMODE_NONE: number;
11666 readonly SVG_EDGEMODE_UNKNOWN: number;
11667 readonly SVG_EDGEMODE_WRAP: number;
11670 /** Corresponds to the <feDiffuseLighting> element. */
11671 interface SVGFEDiffuseLightingElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {
11672 readonly diffuseConstant: SVGAnimatedNumber;
11673 readonly in1: SVGAnimatedString;
11674 readonly kernelUnitLengthX: SVGAnimatedNumber;
11675 readonly kernelUnitLengthY: SVGAnimatedNumber;
11676 readonly surfaceScale: SVGAnimatedNumber;
11677 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEDiffuseLightingElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
11678 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
11679 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEDiffuseLightingElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
11680 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
11683 declare var SVGFEDiffuseLightingElement: {
11684 prototype: SVGFEDiffuseLightingElement;
11685 new(): SVGFEDiffuseLightingElement;
11688 /** Corresponds to the <feDisplacementMap> element. */
11689 interface SVGFEDisplacementMapElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {
11690 readonly in1: SVGAnimatedString;
11691 readonly in2: SVGAnimatedString;
11692 readonly scale: SVGAnimatedNumber;
11693 readonly xChannelSelector: SVGAnimatedEnumeration;
11694 readonly yChannelSelector: SVGAnimatedEnumeration;
11695 readonly SVG_CHANNEL_A: number;
11696 readonly SVG_CHANNEL_B: number;
11697 readonly SVG_CHANNEL_G: number;
11698 readonly SVG_CHANNEL_R: number;
11699 readonly SVG_CHANNEL_UNKNOWN: number;
11700 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEDisplacementMapElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
11701 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
11702 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEDisplacementMapElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
11703 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
11706 declare var SVGFEDisplacementMapElement: {
11707 prototype: SVGFEDisplacementMapElement;
11708 new(): SVGFEDisplacementMapElement;
11709 readonly SVG_CHANNEL_A: number;
11710 readonly SVG_CHANNEL_B: number;
11711 readonly SVG_CHANNEL_G: number;
11712 readonly SVG_CHANNEL_R: number;
11713 readonly SVG_CHANNEL_UNKNOWN: number;
11716 /** Corresponds to the <feDistantLight> element. */
11717 interface SVGFEDistantLightElement extends SVGElement {
11718 readonly azimuth: SVGAnimatedNumber;
11719 readonly elevation: SVGAnimatedNumber;
11720 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEDistantLightElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
11721 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
11722 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEDistantLightElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
11723 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
11726 declare var SVGFEDistantLightElement: {
11727 prototype: SVGFEDistantLightElement;
11728 new(): SVGFEDistantLightElement;
11731 interface SVGFEDropShadowElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {
11732 readonly dx: SVGAnimatedNumber;
11733 readonly dy: SVGAnimatedNumber;
11734 readonly in1: SVGAnimatedString;
11735 readonly stdDeviationX: SVGAnimatedNumber;
11736 readonly stdDeviationY: SVGAnimatedNumber;
11737 setStdDeviation(stdDeviationX: number, stdDeviationY: number): void;
11738 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEDropShadowElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
11739 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
11740 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEDropShadowElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
11741 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
11744 declare var SVGFEDropShadowElement: {
11745 prototype: SVGFEDropShadowElement;
11746 new(): SVGFEDropShadowElement;
11749 /** Corresponds to the <feFlood> element. */
11750 interface SVGFEFloodElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {
11751 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEFloodElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
11752 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
11753 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEFloodElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
11754 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
11757 declare var SVGFEFloodElement: {
11758 prototype: SVGFEFloodElement;
11759 new(): SVGFEFloodElement;
11762 /** Corresponds to the <feFuncA> element. */
11763 interface SVGFEFuncAElement extends SVGComponentTransferFunctionElement {
11764 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEFuncAElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
11765 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
11766 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEFuncAElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
11767 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
11770 declare var SVGFEFuncAElement: {
11771 prototype: SVGFEFuncAElement;
11772 new(): SVGFEFuncAElement;
11775 /** Corresponds to the <feFuncB> element. */
11776 interface SVGFEFuncBElement extends SVGComponentTransferFunctionElement {
11777 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEFuncBElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
11778 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
11779 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEFuncBElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
11780 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
11783 declare var SVGFEFuncBElement: {
11784 prototype: SVGFEFuncBElement;
11785 new(): SVGFEFuncBElement;
11788 /** Corresponds to the <feFuncG> element. */
11789 interface SVGFEFuncGElement extends SVGComponentTransferFunctionElement {
11790 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEFuncGElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
11791 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
11792 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEFuncGElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
11793 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
11796 declare var SVGFEFuncGElement: {
11797 prototype: SVGFEFuncGElement;
11798 new(): SVGFEFuncGElement;
11801 /** Corresponds to the <feFuncR> element. */
11802 interface SVGFEFuncRElement extends SVGComponentTransferFunctionElement {
11803 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEFuncRElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
11804 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
11805 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEFuncRElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
11806 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
11809 declare var SVGFEFuncRElement: {
11810 prototype: SVGFEFuncRElement;
11811 new(): SVGFEFuncRElement;
11814 /** Corresponds to the <feGaussianBlur> element. */
11815 interface SVGFEGaussianBlurElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {
11816 readonly in1: SVGAnimatedString;
11817 readonly stdDeviationX: SVGAnimatedNumber;
11818 readonly stdDeviationY: SVGAnimatedNumber;
11819 setStdDeviation(stdDeviationX: number, stdDeviationY: number): void;
11820 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEGaussianBlurElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
11821 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
11822 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEGaussianBlurElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
11823 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
11826 declare var SVGFEGaussianBlurElement: {
11827 prototype: SVGFEGaussianBlurElement;
11828 new(): SVGFEGaussianBlurElement;
11831 /** Corresponds to the <feImage> element. */
11832 interface SVGFEImageElement extends SVGElement, SVGFilterPrimitiveStandardAttributes, SVGURIReference {
11833 readonly preserveAspectRatio: SVGAnimatedPreserveAspectRatio;
11834 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEImageElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
11835 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
11836 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEImageElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
11837 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
11840 declare var SVGFEImageElement: {
11841 prototype: SVGFEImageElement;
11842 new(): SVGFEImageElement;
11845 /** Corresponds to the <feMerge> element. */
11846 interface SVGFEMergeElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {
11847 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEMergeElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
11848 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
11849 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEMergeElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
11850 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
11853 declare var SVGFEMergeElement: {
11854 prototype: SVGFEMergeElement;
11855 new(): SVGFEMergeElement;
11858 /** Corresponds to the <feMergeNode> element. */
11859 interface SVGFEMergeNodeElement extends SVGElement {
11860 readonly in1: SVGAnimatedString;
11861 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEMergeNodeElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
11862 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
11863 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEMergeNodeElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
11864 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
11867 declare var SVGFEMergeNodeElement: {
11868 prototype: SVGFEMergeNodeElement;
11869 new(): SVGFEMergeNodeElement;
11872 /** Corresponds to the <feMorphology> element. */
11873 interface SVGFEMorphologyElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {
11874 readonly in1: SVGAnimatedString;
11875 readonly operator: SVGAnimatedEnumeration;
11876 readonly radiusX: SVGAnimatedNumber;
11877 readonly radiusY: SVGAnimatedNumber;
11878 readonly SVG_MORPHOLOGY_OPERATOR_DILATE: number;
11879 readonly SVG_MORPHOLOGY_OPERATOR_ERODE: number;
11880 readonly SVG_MORPHOLOGY_OPERATOR_UNKNOWN: number;
11881 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEMorphologyElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
11882 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
11883 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEMorphologyElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
11884 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
11887 declare var SVGFEMorphologyElement: {
11888 prototype: SVGFEMorphologyElement;
11889 new(): SVGFEMorphologyElement;
11890 readonly SVG_MORPHOLOGY_OPERATOR_DILATE: number;
11891 readonly SVG_MORPHOLOGY_OPERATOR_ERODE: number;
11892 readonly SVG_MORPHOLOGY_OPERATOR_UNKNOWN: number;
11895 /** Corresponds to the <feOffset> element. */
11896 interface SVGFEOffsetElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {
11897 readonly dx: SVGAnimatedNumber;
11898 readonly dy: SVGAnimatedNumber;
11899 readonly in1: SVGAnimatedString;
11900 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEOffsetElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
11901 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
11902 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEOffsetElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
11903 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
11906 declare var SVGFEOffsetElement: {
11907 prototype: SVGFEOffsetElement;
11908 new(): SVGFEOffsetElement;
11911 /** Corresponds to the <fePointLight> element. */
11912 interface SVGFEPointLightElement extends SVGElement {
11913 readonly x: SVGAnimatedNumber;
11914 readonly y: SVGAnimatedNumber;
11915 readonly z: SVGAnimatedNumber;
11916 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEPointLightElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
11917 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
11918 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEPointLightElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
11919 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
11922 declare var SVGFEPointLightElement: {
11923 prototype: SVGFEPointLightElement;
11924 new(): SVGFEPointLightElement;
11927 /** Corresponds to the <feSpecularLighting> element. */
11928 interface SVGFESpecularLightingElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {
11929 readonly in1: SVGAnimatedString;
11930 readonly kernelUnitLengthX: SVGAnimatedNumber;
11931 readonly kernelUnitLengthY: SVGAnimatedNumber;
11932 readonly specularConstant: SVGAnimatedNumber;
11933 readonly specularExponent: SVGAnimatedNumber;
11934 readonly surfaceScale: SVGAnimatedNumber;
11935 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFESpecularLightingElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
11936 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
11937 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFESpecularLightingElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
11938 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
11941 declare var SVGFESpecularLightingElement: {
11942 prototype: SVGFESpecularLightingElement;
11943 new(): SVGFESpecularLightingElement;
11946 /** Corresponds to the <feSpotLight> element. */
11947 interface SVGFESpotLightElement extends SVGElement {
11948 readonly limitingConeAngle: SVGAnimatedNumber;
11949 readonly pointsAtX: SVGAnimatedNumber;
11950 readonly pointsAtY: SVGAnimatedNumber;
11951 readonly pointsAtZ: SVGAnimatedNumber;
11952 readonly specularExponent: SVGAnimatedNumber;
11953 readonly x: SVGAnimatedNumber;
11954 readonly y: SVGAnimatedNumber;
11955 readonly z: SVGAnimatedNumber;
11956 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFESpotLightElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
11957 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
11958 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFESpotLightElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
11959 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
11962 declare var SVGFESpotLightElement: {
11963 prototype: SVGFESpotLightElement;
11964 new(): SVGFESpotLightElement;
11967 /** Corresponds to the <feTile> element. */
11968 interface SVGFETileElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {
11969 readonly in1: SVGAnimatedString;
11970 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFETileElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
11971 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
11972 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFETileElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
11973 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
11976 declare var SVGFETileElement: {
11977 prototype: SVGFETileElement;
11978 new(): SVGFETileElement;
11981 /** Corresponds to the <feTurbulence> element. */
11982 interface SVGFETurbulenceElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {
11983 readonly baseFrequencyX: SVGAnimatedNumber;
11984 readonly baseFrequencyY: SVGAnimatedNumber;
11985 readonly numOctaves: SVGAnimatedInteger;
11986 readonly seed: SVGAnimatedNumber;
11987 readonly stitchTiles: SVGAnimatedEnumeration;
11988 readonly type: SVGAnimatedEnumeration;
11989 readonly SVG_STITCHTYPE_NOSTITCH: number;
11990 readonly SVG_STITCHTYPE_STITCH: number;
11991 readonly SVG_STITCHTYPE_UNKNOWN: number;
11992 readonly SVG_TURBULENCE_TYPE_FRACTALNOISE: number;
11993 readonly SVG_TURBULENCE_TYPE_TURBULENCE: number;
11994 readonly SVG_TURBULENCE_TYPE_UNKNOWN: number;
11995 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFETurbulenceElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
11996 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
11997 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFETurbulenceElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
11998 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
12001 declare var SVGFETurbulenceElement: {
12002 prototype: SVGFETurbulenceElement;
12003 new(): SVGFETurbulenceElement;
12004 readonly SVG_STITCHTYPE_NOSTITCH: number;
12005 readonly SVG_STITCHTYPE_STITCH: number;
12006 readonly SVG_STITCHTYPE_UNKNOWN: number;
12007 readonly SVG_TURBULENCE_TYPE_FRACTALNOISE: number;
12008 readonly SVG_TURBULENCE_TYPE_TURBULENCE: number;
12009 readonly SVG_TURBULENCE_TYPE_UNKNOWN: number;
12012 /** Provides access to the properties of <filter> elements, as well as methods to manipulate them. */
12013 interface SVGFilterElement extends SVGElement, SVGURIReference {
12014 readonly filterUnits: SVGAnimatedEnumeration;
12015 readonly height: SVGAnimatedLength;
12016 readonly primitiveUnits: SVGAnimatedEnumeration;
12017 readonly width: SVGAnimatedLength;
12018 readonly x: SVGAnimatedLength;
12019 readonly y: SVGAnimatedLength;
12020 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFilterElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
12021 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
12022 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFilterElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
12023 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
12026 declare var SVGFilterElement: {
12027 prototype: SVGFilterElement;
12028 new(): SVGFilterElement;
12031 interface SVGFilterPrimitiveStandardAttributes {
12032 readonly height: SVGAnimatedLength;
12033 readonly result: SVGAnimatedString;
12034 readonly width: SVGAnimatedLength;
12035 readonly x: SVGAnimatedLength;
12036 readonly y: SVGAnimatedLength;
12039 interface SVGFitToViewBox {
12040 readonly preserveAspectRatio: SVGAnimatedPreserveAspectRatio;
12041 readonly viewBox: SVGAnimatedRect;
12044 /** Provides access to the properties of <foreignObject> elements, as well as methods to manipulate them. */
12045 interface SVGForeignObjectElement extends SVGGraphicsElement {
12046 readonly height: SVGAnimatedLength;
12047 readonly width: SVGAnimatedLength;
12048 readonly x: SVGAnimatedLength;
12049 readonly y: SVGAnimatedLength;
12050 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGForeignObjectElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
12051 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
12052 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGForeignObjectElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
12053 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
12056 declare var SVGForeignObjectElement: {
12057 prototype: SVGForeignObjectElement;
12058 new(): SVGForeignObjectElement;
12061 /** Corresponds to the <g> element. */
12062 interface SVGGElement extends SVGGraphicsElement {
12063 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGGElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
12064 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
12065 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGGElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
12066 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
12069 declare var SVGGElement: {
12070 prototype: SVGGElement;
12071 new(): SVGGElement;
12074 interface SVGGeometryElement extends SVGGraphicsElement {
12075 readonly pathLength: SVGAnimatedNumber;
12076 getPointAtLength(distance: number): DOMPoint;
12077 getTotalLength(): number;
12078 isPointInFill(point?: DOMPointInit): boolean;
12079 isPointInStroke(point?: DOMPointInit): boolean;
12080 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGGeometryElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
12081 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
12082 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGGeometryElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
12083 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
12086 declare var SVGGeometryElement: {
12087 prototype: SVGGeometryElement;
12088 new(): SVGGeometryElement;
12091 /** The SVGGradient interface is a base interface used by SVGLinearGradientElement and SVGRadialGradientElement. */
12092 interface SVGGradientElement extends SVGElement, SVGURIReference {
12093 readonly gradientTransform: SVGAnimatedTransformList;
12094 readonly gradientUnits: SVGAnimatedEnumeration;
12095 readonly spreadMethod: SVGAnimatedEnumeration;
12096 readonly SVG_SPREADMETHOD_PAD: number;
12097 readonly SVG_SPREADMETHOD_REFLECT: number;
12098 readonly SVG_SPREADMETHOD_REPEAT: number;
12099 readonly SVG_SPREADMETHOD_UNKNOWN: number;
12100 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGGradientElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
12101 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
12102 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGGradientElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
12103 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
12106 declare var SVGGradientElement: {
12107 prototype: SVGGradientElement;
12108 new(): SVGGradientElement;
12109 readonly SVG_SPREADMETHOD_PAD: number;
12110 readonly SVG_SPREADMETHOD_REFLECT: number;
12111 readonly SVG_SPREADMETHOD_REPEAT: number;
12112 readonly SVG_SPREADMETHOD_UNKNOWN: number;
12115 /** SVG elements whose primary purpose is to directly render graphics into a group. */
12116 interface SVGGraphicsElement extends SVGElement, SVGTests {
12117 readonly transform: SVGAnimatedTransformList;
12118 getBBox(options?: SVGBoundingBoxOptions): DOMRect;
12119 getCTM(): DOMMatrix | null;
12120 getScreenCTM(): DOMMatrix | null;
12121 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGGraphicsElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
12122 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
12123 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGGraphicsElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
12124 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
12127 declare var SVGGraphicsElement: {
12128 prototype: SVGGraphicsElement;
12129 new(): SVGGraphicsElement;
12132 /** Corresponds to the <image> element. */
12133 interface SVGImageElement extends SVGGraphicsElement, SVGURIReference {
12134 readonly height: SVGAnimatedLength;
12135 readonly preserveAspectRatio: SVGAnimatedPreserveAspectRatio;
12136 readonly width: SVGAnimatedLength;
12137 readonly x: SVGAnimatedLength;
12138 readonly y: SVGAnimatedLength;
12139 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGImageElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
12140 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
12141 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGImageElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
12142 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
12145 declare var SVGImageElement: {
12146 prototype: SVGImageElement;
12147 new(): SVGImageElement;
12150 /** Correspond to the <length> basic data type. */
12151 interface SVGLength {
12152 readonly unitType: number;
12154 valueAsString: string;
12155 valueInSpecifiedUnits: number;
12156 convertToSpecifiedUnits(unitType: number): void;
12157 newValueSpecifiedUnits(unitType: number, valueInSpecifiedUnits: number): void;
12158 readonly SVG_LENGTHTYPE_CM: number;
12159 readonly SVG_LENGTHTYPE_EMS: number;
12160 readonly SVG_LENGTHTYPE_EXS: number;
12161 readonly SVG_LENGTHTYPE_IN: number;
12162 readonly SVG_LENGTHTYPE_MM: number;
12163 readonly SVG_LENGTHTYPE_NUMBER: number;
12164 readonly SVG_LENGTHTYPE_PC: number;
12165 readonly SVG_LENGTHTYPE_PERCENTAGE: number;
12166 readonly SVG_LENGTHTYPE_PT: number;
12167 readonly SVG_LENGTHTYPE_PX: number;
12168 readonly SVG_LENGTHTYPE_UNKNOWN: number;
12171 declare var SVGLength: {
12172 prototype: SVGLength;
12174 readonly SVG_LENGTHTYPE_CM: number;
12175 readonly SVG_LENGTHTYPE_EMS: number;
12176 readonly SVG_LENGTHTYPE_EXS: number;
12177 readonly SVG_LENGTHTYPE_IN: number;
12178 readonly SVG_LENGTHTYPE_MM: number;
12179 readonly SVG_LENGTHTYPE_NUMBER: number;
12180 readonly SVG_LENGTHTYPE_PC: number;
12181 readonly SVG_LENGTHTYPE_PERCENTAGE: number;
12182 readonly SVG_LENGTHTYPE_PT: number;
12183 readonly SVG_LENGTHTYPE_PX: number;
12184 readonly SVG_LENGTHTYPE_UNKNOWN: number;
12187 /** The SVGLengthList defines a list of SVGLength objects. */
12188 interface SVGLengthList {
12189 readonly length: number;
12190 readonly numberOfItems: number;
12191 appendItem(newItem: SVGLength): SVGLength;
12193 getItem(index: number): SVGLength;
12194 initialize(newItem: SVGLength): SVGLength;
12195 insertItemBefore(newItem: SVGLength, index: number): SVGLength;
12196 removeItem(index: number): SVGLength;
12197 replaceItem(newItem: SVGLength, index: number): SVGLength;
12198 [index: number]: SVGLength;
12201 declare var SVGLengthList: {
12202 prototype: SVGLengthList;
12203 new(): SVGLengthList;
12206 /** Provides access to the properties of <line> elements, as well as methods to manipulate them. */
12207 interface SVGLineElement extends SVGGeometryElement {
12208 readonly x1: SVGAnimatedLength;
12209 readonly x2: SVGAnimatedLength;
12210 readonly y1: SVGAnimatedLength;
12211 readonly y2: SVGAnimatedLength;
12212 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGLineElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
12213 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
12214 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGLineElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
12215 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
12218 declare var SVGLineElement: {
12219 prototype: SVGLineElement;
12220 new(): SVGLineElement;
12223 /** Corresponds to the <linearGradient> element. */
12224 interface SVGLinearGradientElement extends SVGGradientElement {
12225 readonly x1: SVGAnimatedLength;
12226 readonly x2: SVGAnimatedLength;
12227 readonly y1: SVGAnimatedLength;
12228 readonly y2: SVGAnimatedLength;
12229 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGLinearGradientElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
12230 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
12231 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGLinearGradientElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
12232 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
12235 declare var SVGLinearGradientElement: {
12236 prototype: SVGLinearGradientElement;
12237 new(): SVGLinearGradientElement;
12240 interface SVGMPathElement extends SVGElement, SVGURIReference {
12241 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGMPathElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
12242 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
12243 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGMPathElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
12244 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
12247 declare var SVGMPathElement: {
12248 prototype: SVGMPathElement;
12249 new(): SVGMPathElement;
12252 interface SVGMarkerElement extends SVGElement, SVGFitToViewBox {
12253 readonly markerHeight: SVGAnimatedLength;
12254 readonly markerUnits: SVGAnimatedEnumeration;
12255 readonly markerWidth: SVGAnimatedLength;
12256 readonly orientAngle: SVGAnimatedAngle;
12257 readonly orientType: SVGAnimatedEnumeration;
12258 readonly refX: SVGAnimatedLength;
12259 readonly refY: SVGAnimatedLength;
12260 setOrientToAngle(angle: SVGAngle): void;
12261 setOrientToAuto(): void;
12262 readonly SVG_MARKERUNITS_STROKEWIDTH: number;
12263 readonly SVG_MARKERUNITS_UNKNOWN: number;
12264 readonly SVG_MARKERUNITS_USERSPACEONUSE: number;
12265 readonly SVG_MARKER_ORIENT_ANGLE: number;
12266 readonly SVG_MARKER_ORIENT_AUTO: number;
12267 readonly SVG_MARKER_ORIENT_UNKNOWN: number;
12268 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGMarkerElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
12269 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
12270 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGMarkerElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
12271 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
12274 declare var SVGMarkerElement: {
12275 prototype: SVGMarkerElement;
12276 new(): SVGMarkerElement;
12277 readonly SVG_MARKERUNITS_STROKEWIDTH: number;
12278 readonly SVG_MARKERUNITS_UNKNOWN: number;
12279 readonly SVG_MARKERUNITS_USERSPACEONUSE: number;
12280 readonly SVG_MARKER_ORIENT_ANGLE: number;
12281 readonly SVG_MARKER_ORIENT_AUTO: number;
12282 readonly SVG_MARKER_ORIENT_UNKNOWN: number;
12285 /** Provides access to the properties of <mask> elements, as well as methods to manipulate them. */
12286 interface SVGMaskElement extends SVGElement {
12287 readonly height: SVGAnimatedLength;
12288 readonly maskContentUnits: SVGAnimatedEnumeration;
12289 readonly maskUnits: SVGAnimatedEnumeration;
12290 readonly width: SVGAnimatedLength;
12291 readonly x: SVGAnimatedLength;
12292 readonly y: SVGAnimatedLength;
12293 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGMaskElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
12294 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
12295 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGMaskElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
12296 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
12299 declare var SVGMaskElement: {
12300 prototype: SVGMaskElement;
12301 new(): SVGMaskElement;
12304 /** Corresponds to the <metadata> element. */
12305 interface SVGMetadataElement extends SVGElement {
12306 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGMetadataElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
12307 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
12308 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGMetadataElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
12309 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
12312 declare var SVGMetadataElement: {
12313 prototype: SVGMetadataElement;
12314 new(): SVGMetadataElement;
12317 /** Corresponds to the <number> basic data type. */
12318 interface SVGNumber {
12322 declare var SVGNumber: {
12323 prototype: SVGNumber;
12327 /** The SVGNumberList defines a list of SVGNumber objects. */
12328 interface SVGNumberList {
12329 readonly length: number;
12330 readonly numberOfItems: number;
12331 appendItem(newItem: SVGNumber): SVGNumber;
12333 getItem(index: number): SVGNumber;
12334 initialize(newItem: SVGNumber): SVGNumber;
12335 insertItemBefore(newItem: SVGNumber, index: number): SVGNumber;
12336 removeItem(index: number): SVGNumber;
12337 replaceItem(newItem: SVGNumber, index: number): SVGNumber;
12338 [index: number]: SVGNumber;
12341 declare var SVGNumberList: {
12342 prototype: SVGNumberList;
12343 new(): SVGNumberList;
12346 /** Corresponds to the <path> element. */
12347 interface SVGPathElement extends SVGGeometryElement {
12348 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGPathElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
12349 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
12350 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGPathElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
12351 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
12354 declare var SVGPathElement: {
12355 prototype: SVGPathElement;
12356 new(): SVGPathElement;
12359 /** Corresponds to the <pattern> element. */
12360 interface SVGPatternElement extends SVGElement, SVGFitToViewBox, SVGURIReference {
12361 readonly height: SVGAnimatedLength;
12362 readonly patternContentUnits: SVGAnimatedEnumeration;
12363 readonly patternTransform: SVGAnimatedTransformList;
12364 readonly patternUnits: SVGAnimatedEnumeration;
12365 readonly width: SVGAnimatedLength;
12366 readonly x: SVGAnimatedLength;
12367 readonly y: SVGAnimatedLength;
12368 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGPatternElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
12369 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
12370 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGPatternElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
12371 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
12374 declare var SVGPatternElement: {
12375 prototype: SVGPatternElement;
12376 new(): SVGPatternElement;
12379 interface SVGPointList {
12380 readonly length: number;
12381 readonly numberOfItems: number;
12382 appendItem(newItem: DOMPoint): DOMPoint;
12384 getItem(index: number): DOMPoint;
12385 initialize(newItem: DOMPoint): DOMPoint;
12386 insertItemBefore(newItem: DOMPoint, index: number): DOMPoint;
12387 removeItem(index: number): DOMPoint;
12388 replaceItem(newItem: DOMPoint, index: number): DOMPoint;
12389 [index: number]: DOMPoint;
12392 declare var SVGPointList: {
12393 prototype: SVGPointList;
12394 new(): SVGPointList;
12397 /** Provides access to the properties of <polygon> elements, as well as methods to manipulate them. */
12398 interface SVGPolygonElement extends SVGGeometryElement, SVGAnimatedPoints {
12399 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGPolygonElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
12400 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
12401 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGPolygonElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
12402 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
12405 declare var SVGPolygonElement: {
12406 prototype: SVGPolygonElement;
12407 new(): SVGPolygonElement;
12410 /** Provides access to the properties of <polyline> elements, as well as methods to manipulate them. */
12411 interface SVGPolylineElement extends SVGGeometryElement, SVGAnimatedPoints {
12412 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGPolylineElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
12413 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
12414 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGPolylineElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
12415 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
12418 declare var SVGPolylineElement: {
12419 prototype: SVGPolylineElement;
12420 new(): SVGPolylineElement;
12423 /** Corresponds to the preserveAspectRatio attribute, which is available for some of SVG's elements. */
12424 interface SVGPreserveAspectRatio {
12426 meetOrSlice: number;
12427 readonly SVG_MEETORSLICE_MEET: number;
12428 readonly SVG_MEETORSLICE_SLICE: number;
12429 readonly SVG_MEETORSLICE_UNKNOWN: number;
12430 readonly SVG_PRESERVEASPECTRATIO_NONE: number;
12431 readonly SVG_PRESERVEASPECTRATIO_UNKNOWN: number;
12432 readonly SVG_PRESERVEASPECTRATIO_XMAXYMAX: number;
12433 readonly SVG_PRESERVEASPECTRATIO_XMAXYMID: number;
12434 readonly SVG_PRESERVEASPECTRATIO_XMAXYMIN: number;
12435 readonly SVG_PRESERVEASPECTRATIO_XMIDYMAX: number;
12436 readonly SVG_PRESERVEASPECTRATIO_XMIDYMID: number;
12437 readonly SVG_PRESERVEASPECTRATIO_XMIDYMIN: number;
12438 readonly SVG_PRESERVEASPECTRATIO_XMINYMAX: number;
12439 readonly SVG_PRESERVEASPECTRATIO_XMINYMID: number;
12440 readonly SVG_PRESERVEASPECTRATIO_XMINYMIN: number;
12443 declare var SVGPreserveAspectRatio: {
12444 prototype: SVGPreserveAspectRatio;
12445 new(): SVGPreserveAspectRatio;
12446 readonly SVG_MEETORSLICE_MEET: number;
12447 readonly SVG_MEETORSLICE_SLICE: number;
12448 readonly SVG_MEETORSLICE_UNKNOWN: number;
12449 readonly SVG_PRESERVEASPECTRATIO_NONE: number;
12450 readonly SVG_PRESERVEASPECTRATIO_UNKNOWN: number;
12451 readonly SVG_PRESERVEASPECTRATIO_XMAXYMAX: number;
12452 readonly SVG_PRESERVEASPECTRATIO_XMAXYMID: number;
12453 readonly SVG_PRESERVEASPECTRATIO_XMAXYMIN: number;
12454 readonly SVG_PRESERVEASPECTRATIO_XMIDYMAX: number;
12455 readonly SVG_PRESERVEASPECTRATIO_XMIDYMID: number;
12456 readonly SVG_PRESERVEASPECTRATIO_XMIDYMIN: number;
12457 readonly SVG_PRESERVEASPECTRATIO_XMINYMAX: number;
12458 readonly SVG_PRESERVEASPECTRATIO_XMINYMID: number;
12459 readonly SVG_PRESERVEASPECTRATIO_XMINYMIN: number;
12462 /** Corresponds to the <RadialGradient> element. */
12463 interface SVGRadialGradientElement extends SVGGradientElement {
12464 readonly cx: SVGAnimatedLength;
12465 readonly cy: SVGAnimatedLength;
12466 readonly fr: SVGAnimatedLength;
12467 readonly fx: SVGAnimatedLength;
12468 readonly fy: SVGAnimatedLength;
12469 readonly r: SVGAnimatedLength;
12470 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGRadialGradientElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
12471 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
12472 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGRadialGradientElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
12473 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
12476 declare var SVGRadialGradientElement: {
12477 prototype: SVGRadialGradientElement;
12478 new(): SVGRadialGradientElement;
12481 /** Provides access to the properties of <rect> elements, as well as methods to manipulate them. */
12482 interface SVGRectElement extends SVGGeometryElement {
12483 readonly height: SVGAnimatedLength;
12484 readonly rx: SVGAnimatedLength;
12485 readonly ry: SVGAnimatedLength;
12486 readonly width: SVGAnimatedLength;
12487 readonly x: SVGAnimatedLength;
12488 readonly y: SVGAnimatedLength;
12489 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGRectElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
12490 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
12491 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGRectElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
12492 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
12495 declare var SVGRectElement: {
12496 prototype: SVGRectElement;
12497 new(): SVGRectElement;
12500 interface SVGSVGElementEventMap extends SVGElementEventMap, WindowEventHandlersEventMap {
12503 /** 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. */
12504 interface SVGSVGElement extends SVGGraphicsElement, SVGFitToViewBox, WindowEventHandlers {
12505 currentScale: number;
12506 readonly currentTranslate: DOMPointReadOnly;
12507 readonly height: SVGAnimatedLength;
12508 readonly width: SVGAnimatedLength;
12509 readonly x: SVGAnimatedLength;
12510 readonly y: SVGAnimatedLength;
12511 animationsPaused(): boolean;
12512 checkEnclosure(element: SVGElement, rect: DOMRectReadOnly): boolean;
12513 checkIntersection(element: SVGElement, rect: DOMRectReadOnly): boolean;
12514 createSVGAngle(): SVGAngle;
12515 createSVGLength(): SVGLength;
12516 createSVGMatrix(): DOMMatrix;
12517 createSVGNumber(): SVGNumber;
12518 createSVGPoint(): DOMPoint;
12519 createSVGRect(): DOMRect;
12520 createSVGTransform(): SVGTransform;
12521 createSVGTransformFromMatrix(matrix?: DOMMatrix2DInit): SVGTransform;
12522 deselectAll(): void;
12524 forceRedraw(): void;
12525 getCurrentTime(): number;
12526 getElementById(elementId: string): Element;
12527 getEnclosureList(rect: DOMRectReadOnly, referenceElement: SVGElement | null): NodeListOf<SVGCircleElement | SVGEllipseElement | SVGImageElement | SVGLineElement | SVGPathElement | SVGPolygonElement | SVGPolylineElement | SVGRectElement | SVGTextElement | SVGUseElement>;
12528 getIntersectionList(rect: DOMRectReadOnly, referenceElement: SVGElement | null): NodeListOf<SVGCircleElement | SVGEllipseElement | SVGImageElement | SVGLineElement | SVGPathElement | SVGPolygonElement | SVGPolylineElement | SVGRectElement | SVGTextElement | SVGUseElement>;
12529 pauseAnimations(): void;
12530 setCurrentTime(seconds: number): void;
12532 suspendRedraw(maxWaitMilliseconds: number): number;
12533 unpauseAnimations(): void;
12535 unsuspendRedraw(suspendHandleID: number): void;
12537 unsuspendRedrawAll(): void;
12538 addEventListener<K extends keyof SVGSVGElementEventMap>(type: K, listener: (this: SVGSVGElement, ev: SVGSVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
12539 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
12540 removeEventListener<K extends keyof SVGSVGElementEventMap>(type: K, listener: (this: SVGSVGElement, ev: SVGSVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
12541 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
12544 declare var SVGSVGElement: {
12545 prototype: SVGSVGElement;
12546 new(): SVGSVGElement;
12549 /** Corresponds to the SVG <script> element. */
12550 interface SVGScriptElement extends SVGElement, SVGURIReference {
12552 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGScriptElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
12553 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
12554 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGScriptElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
12555 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
12558 declare var SVGScriptElement: {
12559 prototype: SVGScriptElement;
12560 new(): SVGScriptElement;
12563 interface SVGSetElement extends SVGAnimationElement {
12564 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGSetElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
12565 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
12566 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGSetElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
12567 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
12570 declare var SVGSetElement: {
12571 prototype: SVGSetElement;
12572 new(): SVGSetElement;
12575 /** Corresponds to the <stop> element. */
12576 interface SVGStopElement extends SVGElement {
12577 readonly offset: SVGAnimatedNumber;
12578 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGStopElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
12579 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
12580 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGStopElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
12581 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
12584 declare var SVGStopElement: {
12585 prototype: SVGStopElement;
12586 new(): SVGStopElement;
12589 /** The SVGStringList defines a list of DOMString objects. */
12590 interface SVGStringList {
12591 readonly length: number;
12592 readonly numberOfItems: number;
12593 appendItem(newItem: string): string;
12595 getItem(index: number): string;
12596 initialize(newItem: string): string;
12597 insertItemBefore(newItem: string, index: number): string;
12598 removeItem(index: number): string;
12599 replaceItem(newItem: string, index: number): string;
12600 [index: number]: string;
12603 declare var SVGStringList: {
12604 prototype: SVGStringList;
12605 new(): SVGStringList;
12608 /** Corresponds to the SVG <style> element. */
12609 interface SVGStyleElement extends SVGElement, LinkStyle {
12614 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGStyleElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
12615 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
12616 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGStyleElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
12617 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
12620 declare var SVGStyleElement: {
12621 prototype: SVGStyleElement;
12622 new(): SVGStyleElement;
12625 /** Corresponds to the <switch> element. */
12626 interface SVGSwitchElement extends SVGGraphicsElement {
12627 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGSwitchElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
12628 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
12629 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGSwitchElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
12630 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
12633 declare var SVGSwitchElement: {
12634 prototype: SVGSwitchElement;
12635 new(): SVGSwitchElement;
12638 /** Corresponds to the <symbol> element. */
12639 interface SVGSymbolElement extends SVGElement, SVGFitToViewBox {
12640 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGSymbolElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
12641 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
12642 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGSymbolElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
12643 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
12646 declare var SVGSymbolElement: {
12647 prototype: SVGSymbolElement;
12648 new(): SVGSymbolElement;
12651 /** A <tspan> element. */
12652 interface SVGTSpanElement extends SVGTextPositioningElement {
12653 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGTSpanElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
12654 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
12655 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGTSpanElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
12656 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
12659 declare var SVGTSpanElement: {
12660 prototype: SVGTSpanElement;
12661 new(): SVGTSpanElement;
12664 interface SVGTests {
12665 readonly requiredExtensions: SVGStringList;
12666 readonly systemLanguage: SVGStringList;
12669 /** 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. */
12670 interface SVGTextContentElement extends SVGGraphicsElement {
12671 readonly lengthAdjust: SVGAnimatedEnumeration;
12672 readonly textLength: SVGAnimatedLength;
12673 getCharNumAtPosition(point?: DOMPointInit): number;
12674 getComputedTextLength(): number;
12675 getEndPositionOfChar(charnum: number): DOMPoint;
12676 getExtentOfChar(charnum: number): DOMRect;
12677 getNumberOfChars(): number;
12678 getRotationOfChar(charnum: number): number;
12679 getStartPositionOfChar(charnum: number): DOMPoint;
12680 getSubStringLength(charnum: number, nchars: number): number;
12682 selectSubString(charnum: number, nchars: number): void;
12683 readonly LENGTHADJUST_SPACING: number;
12684 readonly LENGTHADJUST_SPACINGANDGLYPHS: number;
12685 readonly LENGTHADJUST_UNKNOWN: number;
12686 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGTextContentElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
12687 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
12688 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGTextContentElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
12689 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
12692 declare var SVGTextContentElement: {
12693 prototype: SVGTextContentElement;
12694 new(): SVGTextContentElement;
12695 readonly LENGTHADJUST_SPACING: number;
12696 readonly LENGTHADJUST_SPACINGANDGLYPHS: number;
12697 readonly LENGTHADJUST_UNKNOWN: number;
12700 /** Corresponds to the <text> elements. */
12701 interface SVGTextElement extends SVGTextPositioningElement {
12702 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGTextElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
12703 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
12704 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGTextElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
12705 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
12708 declare var SVGTextElement: {
12709 prototype: SVGTextElement;
12710 new(): SVGTextElement;
12713 /** Corresponds to the <textPath> element. */
12714 interface SVGTextPathElement extends SVGTextContentElement, SVGURIReference {
12715 readonly method: SVGAnimatedEnumeration;
12716 readonly spacing: SVGAnimatedEnumeration;
12717 readonly startOffset: SVGAnimatedLength;
12718 readonly TEXTPATH_METHODTYPE_ALIGN: number;
12719 readonly TEXTPATH_METHODTYPE_STRETCH: number;
12720 readonly TEXTPATH_METHODTYPE_UNKNOWN: number;
12721 readonly TEXTPATH_SPACINGTYPE_AUTO: number;
12722 readonly TEXTPATH_SPACINGTYPE_EXACT: number;
12723 readonly TEXTPATH_SPACINGTYPE_UNKNOWN: number;
12724 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGTextPathElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
12725 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
12726 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGTextPathElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
12727 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
12730 declare var SVGTextPathElement: {
12731 prototype: SVGTextPathElement;
12732 new(): SVGTextPathElement;
12733 readonly TEXTPATH_METHODTYPE_ALIGN: number;
12734 readonly TEXTPATH_METHODTYPE_STRETCH: number;
12735 readonly TEXTPATH_METHODTYPE_UNKNOWN: number;
12736 readonly TEXTPATH_SPACINGTYPE_AUTO: number;
12737 readonly TEXTPATH_SPACINGTYPE_EXACT: number;
12738 readonly TEXTPATH_SPACINGTYPE_UNKNOWN: number;
12741 /** Implemented by elements that support attributes that position individual text glyphs. It is inherited by SVGTextElement, SVGTSpanElement, SVGTRefElement and SVGAltGlyphElement. */
12742 interface SVGTextPositioningElement extends SVGTextContentElement {
12743 readonly dx: SVGAnimatedLengthList;
12744 readonly dy: SVGAnimatedLengthList;
12745 readonly rotate: SVGAnimatedNumberList;
12746 readonly x: SVGAnimatedLengthList;
12747 readonly y: SVGAnimatedLengthList;
12748 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGTextPositioningElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
12749 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
12750 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGTextPositioningElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
12751 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
12754 declare var SVGTextPositioningElement: {
12755 prototype: SVGTextPositioningElement;
12756 new(): SVGTextPositioningElement;
12759 /** Corresponds to the <title> element. */
12760 interface SVGTitleElement extends SVGElement {
12761 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGTitleElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
12762 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
12763 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGTitleElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
12764 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
12767 declare var SVGTitleElement: {
12768 prototype: SVGTitleElement;
12769 new(): SVGTitleElement;
12772 /** 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. */
12773 interface SVGTransform {
12774 readonly angle: number;
12775 readonly matrix: DOMMatrix;
12776 readonly type: number;
12777 setMatrix(matrix?: DOMMatrix2DInit): void;
12778 setRotate(angle: number, cx: number, cy: number): void;
12779 setScale(sx: number, sy: number): void;
12780 setSkewX(angle: number): void;
12781 setSkewY(angle: number): void;
12782 setTranslate(tx: number, ty: number): void;
12783 readonly SVG_TRANSFORM_MATRIX: number;
12784 readonly SVG_TRANSFORM_ROTATE: number;
12785 readonly SVG_TRANSFORM_SCALE: number;
12786 readonly SVG_TRANSFORM_SKEWX: number;
12787 readonly SVG_TRANSFORM_SKEWY: number;
12788 readonly SVG_TRANSFORM_TRANSLATE: number;
12789 readonly SVG_TRANSFORM_UNKNOWN: number;
12792 declare var SVGTransform: {
12793 prototype: SVGTransform;
12794 new(): SVGTransform;
12795 readonly SVG_TRANSFORM_MATRIX: number;
12796 readonly SVG_TRANSFORM_ROTATE: number;
12797 readonly SVG_TRANSFORM_SCALE: number;
12798 readonly SVG_TRANSFORM_SKEWX: number;
12799 readonly SVG_TRANSFORM_SKEWY: number;
12800 readonly SVG_TRANSFORM_TRANSLATE: number;
12801 readonly SVG_TRANSFORM_UNKNOWN: number;
12804 /** The SVGTransformList defines a list of SVGTransform objects. */
12805 interface SVGTransformList {
12806 readonly length: number;
12807 readonly numberOfItems: number;
12808 appendItem(newItem: SVGTransform): SVGTransform;
12810 consolidate(): SVGTransform | null;
12811 createSVGTransformFromMatrix(matrix?: DOMMatrix2DInit): SVGTransform;
12812 getItem(index: number): SVGTransform;
12813 initialize(newItem: SVGTransform): SVGTransform;
12814 insertItemBefore(newItem: SVGTransform, index: number): SVGTransform;
12815 removeItem(index: number): SVGTransform;
12816 replaceItem(newItem: SVGTransform, index: number): SVGTransform;
12817 [index: number]: SVGTransform;
12820 declare var SVGTransformList: {
12821 prototype: SVGTransformList;
12822 new(): SVGTransformList;
12825 interface SVGURIReference {
12826 readonly href: SVGAnimatedString;
12829 /** A commonly used set of constants used for reflecting gradientUnits, patternContentUnits and other similar attributes. */
12830 interface SVGUnitTypes {
12831 readonly SVG_UNIT_TYPE_OBJECTBOUNDINGBOX: number;
12832 readonly SVG_UNIT_TYPE_UNKNOWN: number;
12833 readonly SVG_UNIT_TYPE_USERSPACEONUSE: number;
12836 declare var SVGUnitTypes: {
12837 prototype: SVGUnitTypes;
12838 new(): SVGUnitTypes;
12839 readonly SVG_UNIT_TYPE_OBJECTBOUNDINGBOX: number;
12840 readonly SVG_UNIT_TYPE_UNKNOWN: number;
12841 readonly SVG_UNIT_TYPE_USERSPACEONUSE: number;
12844 /** Corresponds to the <use> element. */
12845 interface SVGUseElement extends SVGGraphicsElement, SVGURIReference {
12846 readonly height: SVGAnimatedLength;
12847 readonly width: SVGAnimatedLength;
12848 readonly x: SVGAnimatedLength;
12849 readonly y: SVGAnimatedLength;
12850 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGUseElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
12851 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
12852 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGUseElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
12853 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
12856 declare var SVGUseElement: {
12857 prototype: SVGUseElement;
12858 new(): SVGUseElement;
12861 /** Provides access to the properties of <view> elements, as well as methods to manipulate them. */
12862 interface SVGViewElement extends SVGElement, SVGFitToViewBox {
12863 addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGViewElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
12864 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
12865 removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGViewElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
12866 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
12869 declare var SVGViewElement: {
12870 prototype: SVGViewElement;
12871 new(): SVGViewElement;
12874 /** A screen, usually the one on which the current window is being rendered, and is obtained using window.screen. */
12876 readonly availHeight: number;
12877 readonly availWidth: number;
12878 readonly colorDepth: number;
12879 readonly height: number;
12880 readonly orientation: ScreenOrientation;
12881 readonly pixelDepth: number;
12882 readonly width: number;
12885 declare var Screen: {
12890 interface ScreenOrientationEventMap {
12894 interface ScreenOrientation extends EventTarget {
12895 readonly angle: number;
12896 onchange: ((this: ScreenOrientation, ev: Event) => any) | null;
12897 readonly type: OrientationType;
12898 lock(orientation: OrientationLockType): Promise<void>;
12900 addEventListener<K extends keyof ScreenOrientationEventMap>(type: K, listener: (this: ScreenOrientation, ev: ScreenOrientationEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
12901 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
12902 removeEventListener<K extends keyof ScreenOrientationEventMap>(type: K, listener: (this: ScreenOrientation, ev: ScreenOrientationEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
12903 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
12906 declare var ScreenOrientation: {
12907 prototype: ScreenOrientation;
12908 new(): ScreenOrientation;
12911 interface ScriptProcessorNodeEventMap {
12912 "audioprocess": AudioProcessingEvent;
12916 * Allows the generation, processing, or analyzing of audio using JavaScript.
12917 * @deprecated As of the August 29 2014 Web Audio API spec publication, this feature has been marked as deprecated, and was replaced by AudioWorklet (see AudioWorkletNode).
12919 interface ScriptProcessorNode extends AudioNode {
12921 readonly bufferSize: number;
12923 onaudioprocess: ((this: ScriptProcessorNode, ev: AudioProcessingEvent) => any) | null;
12924 addEventListener<K extends keyof ScriptProcessorNodeEventMap>(type: K, listener: (this: ScriptProcessorNode, ev: ScriptProcessorNodeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
12925 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
12926 removeEventListener<K extends keyof ScriptProcessorNodeEventMap>(type: K, listener: (this: ScriptProcessorNode, ev: ScriptProcessorNodeEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
12927 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
12931 declare var ScriptProcessorNode: {
12932 prototype: ScriptProcessorNode;
12933 new(): ScriptProcessorNode;
12936 /** Inherits from Event, and represents the event object of an event sent on a document or worker when its content security policy is violated. */
12937 interface SecurityPolicyViolationEvent extends Event {
12938 readonly blockedURI: string;
12939 readonly columnNumber: number;
12940 readonly disposition: SecurityPolicyViolationEventDisposition;
12941 readonly documentURI: string;
12942 readonly effectiveDirective: string;
12943 readonly lineNumber: number;
12944 readonly originalPolicy: string;
12945 readonly referrer: string;
12946 readonly sample: string;
12947 readonly sourceFile: string;
12948 readonly statusCode: number;
12949 readonly violatedDirective: string;
12952 declare var SecurityPolicyViolationEvent: {
12953 prototype: SecurityPolicyViolationEvent;
12954 new(type: string, eventInitDict?: SecurityPolicyViolationEventInit): SecurityPolicyViolationEvent;
12957 /** 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(). */
12958 interface Selection {
12959 readonly anchorNode: Node | null;
12960 readonly anchorOffset: number;
12961 readonly focusNode: Node | null;
12962 readonly focusOffset: number;
12963 readonly isCollapsed: boolean;
12964 readonly rangeCount: number;
12965 readonly type: string;
12966 addRange(range: Range): void;
12967 collapse(node: Node | null, offset?: number): void;
12968 collapseToEnd(): void;
12969 collapseToStart(): void;
12970 containsNode(node: Node, allowPartialContainment?: boolean): boolean;
12971 deleteFromDocument(): void;
12973 extend(node: Node, offset?: number): void;
12974 getRangeAt(index: number): Range;
12975 removeAllRanges(): void;
12976 removeRange(range: Range): void;
12977 selectAllChildren(node: Node): void;
12978 setBaseAndExtent(anchorNode: Node, anchorOffset: number, focusNode: Node, focusOffset: number): void;
12979 setPosition(node: Node | null, offset?: number): void;
12980 toString(): string;
12983 declare var Selection: {
12984 prototype: Selection;
12986 toString(): string;
12989 interface ServiceWorkerEventMap extends AbstractWorkerEventMap {
12990 "statechange": Event;
12994 * 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.
12995 * Available only in secure contexts.
12997 interface ServiceWorker extends EventTarget, AbstractWorker {
12998 onstatechange: ((this: ServiceWorker, ev: Event) => any) | null;
12999 readonly scriptURL: string;
13000 readonly state: ServiceWorkerState;
13001 postMessage(message: any, transfer: Transferable[]): void;
13002 postMessage(message: any, options?: StructuredSerializeOptions): void;
13003 addEventListener<K extends keyof ServiceWorkerEventMap>(type: K, listener: (this: ServiceWorker, ev: ServiceWorkerEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
13004 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
13005 removeEventListener<K extends keyof ServiceWorkerEventMap>(type: K, listener: (this: ServiceWorker, ev: ServiceWorkerEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
13006 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
13009 declare var ServiceWorker: {
13010 prototype: ServiceWorker;
13011 new(): ServiceWorker;
13014 interface ServiceWorkerContainerEventMap {
13015 "controllerchange": Event;
13016 "message": MessageEvent;
13017 "messageerror": MessageEvent;
13021 * 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.
13022 * Available only in secure contexts.
13024 interface ServiceWorkerContainer extends EventTarget {
13025 readonly controller: ServiceWorker | null;
13026 oncontrollerchange: ((this: ServiceWorkerContainer, ev: Event) => any) | null;
13027 onmessage: ((this: ServiceWorkerContainer, ev: MessageEvent) => any) | null;
13028 onmessageerror: ((this: ServiceWorkerContainer, ev: MessageEvent) => any) | null;
13029 readonly ready: Promise<ServiceWorkerRegistration>;
13030 getRegistration(clientURL?: string | URL): Promise<ServiceWorkerRegistration | undefined>;
13031 getRegistrations(): Promise<ReadonlyArray<ServiceWorkerRegistration>>;
13032 register(scriptURL: string | URL, options?: RegistrationOptions): Promise<ServiceWorkerRegistration>;
13033 startMessages(): void;
13034 addEventListener<K extends keyof ServiceWorkerContainerEventMap>(type: K, listener: (this: ServiceWorkerContainer, ev: ServiceWorkerContainerEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
13035 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
13036 removeEventListener<K extends keyof ServiceWorkerContainerEventMap>(type: K, listener: (this: ServiceWorkerContainer, ev: ServiceWorkerContainerEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
13037 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
13040 declare var ServiceWorkerContainer: {
13041 prototype: ServiceWorkerContainer;
13042 new(): ServiceWorkerContainer;
13045 interface ServiceWorkerRegistrationEventMap {
13046 "updatefound": Event;
13050 * 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.
13051 * Available only in secure contexts.
13053 interface ServiceWorkerRegistration extends EventTarget {
13054 readonly active: ServiceWorker | null;
13055 readonly installing: ServiceWorker | null;
13056 onupdatefound: ((this: ServiceWorkerRegistration, ev: Event) => any) | null;
13057 readonly pushManager: PushManager;
13058 readonly scope: string;
13059 readonly updateViaCache: ServiceWorkerUpdateViaCache;
13060 readonly waiting: ServiceWorker | null;
13061 getNotifications(filter?: GetNotificationOptions): Promise<Notification[]>;
13062 showNotification(title: string, options?: NotificationOptions): Promise<void>;
13063 unregister(): Promise<boolean>;
13064 update(): Promise<void>;
13065 addEventListener<K extends keyof ServiceWorkerRegistrationEventMap>(type: K, listener: (this: ServiceWorkerRegistration, ev: ServiceWorkerRegistrationEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
13066 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
13067 removeEventListener<K extends keyof ServiceWorkerRegistrationEventMap>(type: K, listener: (this: ServiceWorkerRegistration, ev: ServiceWorkerRegistrationEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
13068 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
13071 declare var ServiceWorkerRegistration: {
13072 prototype: ServiceWorkerRegistration;
13073 new(): ServiceWorkerRegistration;
13076 interface ShadowRoot extends DocumentFragment, DocumentOrShadowRoot, InnerHTML {
13077 readonly delegatesFocus: boolean;
13078 readonly host: Element;
13079 readonly mode: ShadowRootMode;
13080 /** Throws a "NotSupportedError" DOMException if context object is a shadow root. */
13083 declare var ShadowRoot: {
13084 prototype: ShadowRoot;
13088 interface SharedWorker extends EventTarget, AbstractWorker {
13089 /** Returns sharedWorker's MessagePort object which can be used to communicate with the global environment. */
13090 readonly port: MessagePort;
13091 addEventListener<K extends keyof AbstractWorkerEventMap>(type: K, listener: (this: SharedWorker, ev: AbstractWorkerEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
13092 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
13093 removeEventListener<K extends keyof AbstractWorkerEventMap>(type: K, listener: (this: SharedWorker, ev: AbstractWorkerEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
13094 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
13097 declare var SharedWorker: {
13098 prototype: SharedWorker;
13099 new(scriptURL: string | URL, options?: string | WorkerOptions): SharedWorker;
13102 interface Slottable {
13103 readonly assignedSlot: HTMLSlotElement | null;
13106 interface SourceBufferEventMap {
13110 "updateend": Event;
13111 "updatestart": Event;
13114 /** 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. */
13115 interface SourceBuffer extends EventTarget {
13116 appendWindowEnd: number;
13117 appendWindowStart: number;
13118 readonly buffered: TimeRanges;
13120 onabort: ((this: SourceBuffer, ev: Event) => any) | null;
13121 onerror: ((this: SourceBuffer, ev: Event) => any) | null;
13122 onupdate: ((this: SourceBuffer, ev: Event) => any) | null;
13123 onupdateend: ((this: SourceBuffer, ev: Event) => any) | null;
13124 onupdatestart: ((this: SourceBuffer, ev: Event) => any) | null;
13125 timestampOffset: number;
13126 readonly updating: boolean;
13128 appendBuffer(data: BufferSource): void;
13129 changeType(type: string): void;
13130 remove(start: number, end: number): void;
13131 addEventListener<K extends keyof SourceBufferEventMap>(type: K, listener: (this: SourceBuffer, ev: SourceBufferEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
13132 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
13133 removeEventListener<K extends keyof SourceBufferEventMap>(type: K, listener: (this: SourceBuffer, ev: SourceBufferEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
13134 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
13137 declare var SourceBuffer: {
13138 prototype: SourceBuffer;
13139 new(): SourceBuffer;
13142 interface SourceBufferListEventMap {
13143 "addsourcebuffer": Event;
13144 "removesourcebuffer": Event;
13147 /** A simple container list for multiple SourceBuffer objects. */
13148 interface SourceBufferList extends EventTarget {
13149 readonly length: number;
13150 onaddsourcebuffer: ((this: SourceBufferList, ev: Event) => any) | null;
13151 onremovesourcebuffer: ((this: SourceBufferList, ev: Event) => any) | null;
13152 addEventListener<K extends keyof SourceBufferListEventMap>(type: K, listener: (this: SourceBufferList, ev: SourceBufferListEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
13153 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
13154 removeEventListener<K extends keyof SourceBufferListEventMap>(type: K, listener: (this: SourceBufferList, ev: SourceBufferListEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
13155 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
13156 [index: number]: SourceBuffer;
13159 declare var SourceBufferList: {
13160 prototype: SourceBufferList;
13161 new(): SourceBufferList;
13164 interface SpeechRecognitionAlternative {
13165 readonly confidence: number;
13166 readonly transcript: string;
13169 declare var SpeechRecognitionAlternative: {
13170 prototype: SpeechRecognitionAlternative;
13171 new(): SpeechRecognitionAlternative;
13174 interface SpeechRecognitionResult {
13175 readonly isFinal: boolean;
13176 readonly length: number;
13177 item(index: number): SpeechRecognitionAlternative;
13178 [index: number]: SpeechRecognitionAlternative;
13181 declare var SpeechRecognitionResult: {
13182 prototype: SpeechRecognitionResult;
13183 new(): SpeechRecognitionResult;
13186 interface SpeechRecognitionResultList {
13187 readonly length: number;
13188 item(index: number): SpeechRecognitionResult;
13189 [index: number]: SpeechRecognitionResult;
13192 declare var SpeechRecognitionResultList: {
13193 prototype: SpeechRecognitionResultList;
13194 new(): SpeechRecognitionResultList;
13197 interface SpeechSynthesisEventMap {
13198 "voiceschanged": Event;
13201 /** 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. */
13202 interface SpeechSynthesis extends EventTarget {
13203 onvoiceschanged: ((this: SpeechSynthesis, ev: Event) => any) | null;
13204 readonly paused: boolean;
13205 readonly pending: boolean;
13206 readonly speaking: boolean;
13208 getVoices(): SpeechSynthesisVoice[];
13211 speak(utterance: SpeechSynthesisUtterance): void;
13212 addEventListener<K extends keyof SpeechSynthesisEventMap>(type: K, listener: (this: SpeechSynthesis, ev: SpeechSynthesisEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
13213 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
13214 removeEventListener<K extends keyof SpeechSynthesisEventMap>(type: K, listener: (this: SpeechSynthesis, ev: SpeechSynthesisEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
13215 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
13218 declare var SpeechSynthesis: {
13219 prototype: SpeechSynthesis;
13220 new(): SpeechSynthesis;
13223 interface SpeechSynthesisErrorEvent extends SpeechSynthesisEvent {
13224 readonly error: SpeechSynthesisErrorCode;
13227 declare var SpeechSynthesisErrorEvent: {
13228 prototype: SpeechSynthesisErrorEvent;
13229 new(type: string, eventInitDict: SpeechSynthesisErrorEventInit): SpeechSynthesisErrorEvent;
13232 /** This Web Speech API interface contains information about the current state of SpeechSynthesisUtterance objects that have been processed in the speech service. */
13233 interface SpeechSynthesisEvent extends Event {
13234 readonly charIndex: number;
13235 readonly charLength: number;
13236 readonly elapsedTime: number;
13237 readonly name: string;
13238 readonly utterance: SpeechSynthesisUtterance;
13241 declare var SpeechSynthesisEvent: {
13242 prototype: SpeechSynthesisEvent;
13243 new(type: string, eventInitDict: SpeechSynthesisEventInit): SpeechSynthesisEvent;
13246 interface SpeechSynthesisUtteranceEventMap {
13247 "boundary": SpeechSynthesisEvent;
13248 "end": SpeechSynthesisEvent;
13249 "error": SpeechSynthesisErrorEvent;
13250 "mark": SpeechSynthesisEvent;
13251 "pause": SpeechSynthesisEvent;
13252 "resume": SpeechSynthesisEvent;
13253 "start": SpeechSynthesisEvent;
13256 /** 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.) */
13257 interface SpeechSynthesisUtterance extends EventTarget {
13259 onboundary: ((this: SpeechSynthesisUtterance, ev: SpeechSynthesisEvent) => any) | null;
13260 onend: ((this: SpeechSynthesisUtterance, ev: SpeechSynthesisEvent) => any) | null;
13261 onerror: ((this: SpeechSynthesisUtterance, ev: SpeechSynthesisErrorEvent) => any) | null;
13262 onmark: ((this: SpeechSynthesisUtterance, ev: SpeechSynthesisEvent) => any) | null;
13263 onpause: ((this: SpeechSynthesisUtterance, ev: SpeechSynthesisEvent) => any) | null;
13264 onresume: ((this: SpeechSynthesisUtterance, ev: SpeechSynthesisEvent) => any) | null;
13265 onstart: ((this: SpeechSynthesisUtterance, ev: SpeechSynthesisEvent) => any) | null;
13269 voice: SpeechSynthesisVoice | null;
13271 addEventListener<K extends keyof SpeechSynthesisUtteranceEventMap>(type: K, listener: (this: SpeechSynthesisUtterance, ev: SpeechSynthesisUtteranceEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
13272 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
13273 removeEventListener<K extends keyof SpeechSynthesisUtteranceEventMap>(type: K, listener: (this: SpeechSynthesisUtterance, ev: SpeechSynthesisUtteranceEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
13274 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
13277 declare var SpeechSynthesisUtterance: {
13278 prototype: SpeechSynthesisUtterance;
13279 new(text?: string): SpeechSynthesisUtterance;
13282 /** 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. */
13283 interface SpeechSynthesisVoice {
13284 readonly default: boolean;
13285 readonly lang: string;
13286 readonly localService: boolean;
13287 readonly name: string;
13288 readonly voiceURI: string;
13291 declare var SpeechSynthesisVoice: {
13292 prototype: SpeechSynthesisVoice;
13293 new(): SpeechSynthesisVoice;
13296 interface StaticRange extends AbstractRange {
13299 declare var StaticRange: {
13300 prototype: StaticRange;
13301 new(init: StaticRangeInit): StaticRange;
13304 /** 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. */
13305 interface StereoPannerNode extends AudioNode {
13306 readonly pan: AudioParam;
13309 declare var StereoPannerNode: {
13310 prototype: StereoPannerNode;
13311 new(context: BaseAudioContext, options?: StereoPannerOptions): StereoPannerNode;
13314 /** 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. */
13315 interface Storage {
13316 /** Returns the number of key/value pairs. */
13317 readonly length: number;
13319 * Removes all key/value pairs, if there are any.
13321 * Dispatches a storage event on Window objects holding an equivalent Storage object.
13324 /** Returns the current value associated with the given key, or null if the given key does not exist. */
13325 getItem(key: string): string | null;
13326 /** Returns the name of the nth key, or null if n is greater than or equal to the number of key/value pairs. */
13327 key(index: number): string | null;
13329 * Removes the key/value pair with the given key, if a key/value pair with the given key exists.
13331 * Dispatches a storage event on Window objects holding an equivalent Storage object.
13333 removeItem(key: string): void;
13335 * Sets the value of the pair identified by key to value, creating a new key/value pair if none existed for key previously.
13337 * 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.)
13339 * Dispatches a storage event on Window objects holding an equivalent Storage object.
13341 setItem(key: string, value: string): void;
13342 [name: string]: any;
13345 declare var Storage: {
13346 prototype: Storage;
13350 /** A StorageEvent is sent to a window when a storage area it has access to is changed within the context of another document. */
13351 interface StorageEvent extends Event {
13352 /** Returns the key of the storage item being changed. */
13353 readonly key: string | null;
13354 /** Returns the new value of the key of the storage item whose value is being changed. */
13355 readonly newValue: string | null;
13356 /** Returns the old value of the key of the storage item whose value is being changed. */
13357 readonly oldValue: string | null;
13358 /** Returns the Storage object that was affected. */
13359 readonly storageArea: Storage | null;
13360 /** Returns the URL of the document whose storage item changed. */
13361 readonly url: string;
13362 initStorageEvent(type: string, bubbles?: boolean, cancelable?: boolean, key?: string | null, oldValue?: string | null, newValue?: string | null, url?: string | URL, storageArea?: Storage | null): void;
13365 declare var StorageEvent: {
13366 prototype: StorageEvent;
13367 new(type: string, eventInitDict?: StorageEventInit): StorageEvent;
13370 /** Available only in secure contexts. */
13371 interface StorageManager {
13372 estimate(): Promise<StorageEstimate>;
13373 persist(): Promise<boolean>;
13374 persisted(): Promise<boolean>;
13377 declare var StorageManager: {
13378 prototype: StorageManager;
13379 new(): StorageManager;
13383 interface StyleMedia {
13385 matchMedium(mediaquery: string): boolean;
13388 /** A single style sheet. CSS style sheets will further implement the more specialized CSSStyleSheet interface. */
13389 interface StyleSheet {
13391 readonly href: string | null;
13392 readonly media: MediaList;
13393 readonly ownerNode: Element | ProcessingInstruction | null;
13394 readonly parentStyleSheet: CSSStyleSheet | null;
13395 readonly title: string | null;
13396 readonly type: string;
13399 declare var StyleSheet: {
13400 prototype: StyleSheet;
13404 /** A list of StyleSheet. */
13405 interface StyleSheetList {
13406 readonly length: number;
13407 item(index: number): CSSStyleSheet | null;
13408 [index: number]: CSSStyleSheet;
13411 declare var StyleSheetList: {
13412 prototype: StyleSheetList;
13413 new(): StyleSheetList;
13416 interface SubmitEvent extends Event {
13417 /** Returns the element representing the submit button that triggered the form submission, or null if the submission was not triggered by a button. */
13418 readonly submitter: HTMLElement | null;
13421 declare var SubmitEvent: {
13422 prototype: SubmitEvent;
13423 new(type: string, eventInitDict?: SubmitEventInit): SubmitEvent;
13427 * 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).
13428 * Available only in secure contexts.
13430 interface SubtleCrypto {
13431 decrypt(algorithm: AlgorithmIdentifier | RsaOaepParams | AesCtrParams | AesCbcParams | AesGcmParams, key: CryptoKey, data: BufferSource): Promise<any>;
13432 deriveBits(algorithm: AlgorithmIdentifier | EcdhKeyDeriveParams | HkdfParams | Pbkdf2Params, baseKey: CryptoKey, length: number): Promise<ArrayBuffer>;
13433 deriveKey(algorithm: AlgorithmIdentifier | EcdhKeyDeriveParams | HkdfParams | Pbkdf2Params, baseKey: CryptoKey, derivedKeyType: AlgorithmIdentifier | AesDerivedKeyParams | HmacImportParams | HkdfParams | Pbkdf2Params, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKey>;
13434 digest(algorithm: AlgorithmIdentifier, data: BufferSource): Promise<ArrayBuffer>;
13435 encrypt(algorithm: AlgorithmIdentifier | RsaOaepParams | AesCtrParams | AesCbcParams | AesGcmParams, key: CryptoKey, data: BufferSource): Promise<any>;
13436 exportKey(format: "jwk", key: CryptoKey): Promise<JsonWebKey>;
13437 exportKey(format: Exclude<KeyFormat, "jwk">, key: CryptoKey): Promise<ArrayBuffer>;
13438 generateKey(algorithm: RsaHashedKeyGenParams | EcKeyGenParams, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKeyPair>;
13439 generateKey(algorithm: AesKeyGenParams | HmacKeyGenParams | Pbkdf2Params, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKey>;
13440 generateKey(algorithm: AlgorithmIdentifier, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKeyPair | CryptoKey>;
13441 importKey(format: "jwk", keyData: JsonWebKey, algorithm: AlgorithmIdentifier | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | AesKeyAlgorithm, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKey>;
13442 importKey(format: Exclude<KeyFormat, "jwk">, keyData: BufferSource, algorithm: AlgorithmIdentifier | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | AesKeyAlgorithm, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKey>;
13443 sign(algorithm: AlgorithmIdentifier | RsaPssParams | EcdsaParams, key: CryptoKey, data: BufferSource): Promise<ArrayBuffer>;
13444 unwrapKey(format: KeyFormat, wrappedKey: BufferSource, unwrappingKey: CryptoKey, unwrapAlgorithm: AlgorithmIdentifier | RsaOaepParams | AesCtrParams | AesCbcParams | AesGcmParams, unwrappedKeyAlgorithm: AlgorithmIdentifier | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | AesKeyAlgorithm, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKey>;
13445 verify(algorithm: AlgorithmIdentifier | RsaPssParams | EcdsaParams, key: CryptoKey, signature: BufferSource, data: BufferSource): Promise<boolean>;
13446 wrapKey(format: KeyFormat, key: CryptoKey, wrappingKey: CryptoKey, wrapAlgorithm: AlgorithmIdentifier | RsaOaepParams | AesCtrParams | AesCbcParams | AesGcmParams): Promise<ArrayBuffer>;
13449 declare var SubtleCrypto: {
13450 prototype: SubtleCrypto;
13451 new(): SubtleCrypto;
13454 /** 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. */
13455 interface Text extends CharacterData, Slottable {
13456 /** Returns the combined data of all direct Text node siblings. */
13457 readonly wholeText: string;
13458 /** Splits data at the given offset and returns the remainder as Text node. */
13459 splitText(offset: number): Text;
13462 declare var Text: {
13464 new(data?: string): Text;
13467 /** 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. */
13468 interface TextDecoder extends TextDecoderCommon {
13470 * 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 input. If the invocation without options's stream (or set to false) has no input, it's clearest to omit both arguments.
13473 * var string = "", decoder = new TextDecoder(encoding), buffer;
13474 * while(buffer = next_chunk()) {
13475 * string += decoder.decode(buffer, {stream:true});
13477 * string += decoder.decode(); // end-of-queue
13480 * If the error mode is "fatal" and encoding's decoder returns error, throws a TypeError.
13482 decode(input?: BufferSource, options?: TextDecodeOptions): string;
13485 declare var TextDecoder: {
13486 prototype: TextDecoder;
13487 new(label?: string, options?: TextDecoderOptions): TextDecoder;
13490 interface TextDecoderCommon {
13491 /** Returns encoding's name, lowercased. */
13492 readonly encoding: string;
13493 /** Returns true if error mode is "fatal", otherwise false. */
13494 readonly fatal: boolean;
13495 /** Returns the value of ignore BOM. */
13496 readonly ignoreBOM: boolean;
13499 interface TextDecoderStream extends GenericTransformStream, TextDecoderCommon {
13500 readonly readable: ReadableStream<string>;
13501 readonly writable: WritableStream<BufferSource>;
13504 declare var TextDecoderStream: {
13505 prototype: TextDecoderStream;
13506 new(label?: string, options?: TextDecoderOptions): TextDecoderStream;
13509 /** 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. */
13510 interface TextEncoder extends TextEncoderCommon {
13511 /** Returns the result of running UTF-8's encoder. */
13512 encode(input?: string): Uint8Array;
13513 /** Runs the UTF-8 encoder on source, stores the result of that operation into destination, and returns the progress made as an object wherein read is the number of converted code units of source and written is the number of bytes modified in destination. */
13514 encodeInto(source: string, destination: Uint8Array): TextEncoderEncodeIntoResult;
13517 declare var TextEncoder: {
13518 prototype: TextEncoder;
13519 new(): TextEncoder;
13522 interface TextEncoderCommon {
13523 /** Returns "utf-8". */
13524 readonly encoding: string;
13527 interface TextEncoderStream extends GenericTransformStream, TextEncoderCommon {
13528 readonly readable: ReadableStream<Uint8Array>;
13529 readonly writable: WritableStream<string>;
13532 declare var TextEncoderStream: {
13533 prototype: TextEncoderStream;
13534 new(): TextEncoderStream;
13537 /** The dimensions of a piece of text in the canvas, as created by the CanvasRenderingContext2D.measureText() method. */
13538 interface TextMetrics {
13539 /** Returns the measurement described below. */
13540 readonly actualBoundingBoxAscent: number;
13541 /** Returns the measurement described below. */
13542 readonly actualBoundingBoxDescent: number;
13543 /** Returns the measurement described below. */
13544 readonly actualBoundingBoxLeft: number;
13545 /** Returns the measurement described below. */
13546 readonly actualBoundingBoxRight: number;
13547 /** Returns the measurement described below. */
13548 readonly fontBoundingBoxAscent: number;
13549 /** Returns the measurement described below. */
13550 readonly fontBoundingBoxDescent: number;
13551 /** Returns the measurement described below. */
13552 readonly width: number;
13555 declare var TextMetrics: {
13556 prototype: TextMetrics;
13557 new(): TextMetrics;
13560 interface TextTrackEventMap {
13561 "cuechange": Event;
13564 /** This interface also inherits properties from EventTarget. */
13565 interface TextTrack extends EventTarget {
13566 /** Returns the text track cues from the text track list of cues that are currently active (i.e. that start before the current playback position and end after it), as a TextTrackCueList object. */
13567 readonly activeCues: TextTrackCueList | null;
13568 /** Returns the text track list of cues, as a TextTrackCueList object. */
13569 readonly cues: TextTrackCueList | null;
13571 * Returns the ID of the given track.
13573 * For in-band tracks, this is the ID that can be used with a fragment if the format supports media fragment syntax, and that can be used with the getTrackById() method.
13575 * For TextTrack objects corresponding to track elements, this is the ID of the track element.
13577 readonly id: string;
13578 /** Returns the text track in-band metadata track dispatch type string. */
13579 readonly inBandMetadataTrackDispatchType: string;
13580 /** Returns the text track kind string. */
13581 readonly kind: TextTrackKind;
13582 /** Returns the text track label, if there is one, or the empty string otherwise (indicating that a custom label probably needs to be generated from the other attributes of the object if the object is exposed to the user). */
13583 readonly label: string;
13584 /** Returns the text track language string. */
13585 readonly language: string;
13587 * Returns the text track mode, represented by a string from the following list:
13589 * Can be set, to change the mode.
13591 mode: TextTrackMode;
13592 oncuechange: ((this: TextTrack, ev: Event) => any) | null;
13593 /** Adds the given cue to textTrack's text track list of cues. */
13594 addCue(cue: TextTrackCue): void;
13595 /** Removes the given cue from textTrack's text track list of cues. */
13596 removeCue(cue: TextTrackCue): void;
13597 addEventListener<K extends keyof TextTrackEventMap>(type: K, listener: (this: TextTrack, ev: TextTrackEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
13598 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
13599 removeEventListener<K extends keyof TextTrackEventMap>(type: K, listener: (this: TextTrack, ev: TextTrackEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
13600 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
13603 declare var TextTrack: {
13604 prototype: TextTrack;
13608 interface TextTrackCueEventMap {
13613 /** 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. */
13614 interface TextTrackCue extends EventTarget {
13616 * Returns the text track cue end time, in seconds.
13622 * Returns the text track cue identifier.
13627 onenter: ((this: TextTrackCue, ev: Event) => any) | null;
13628 onexit: ((this: TextTrackCue, ev: Event) => any) | null;
13630 * Returns true if the text track cue pause-on-exit flag is set, false otherwise.
13634 pauseOnExit: boolean;
13636 * Returns the text track cue start time, in seconds.
13641 /** Returns the TextTrack object to which this text track cue belongs, if any, or null otherwise. */
13642 readonly track: TextTrack | null;
13643 addEventListener<K extends keyof TextTrackCueEventMap>(type: K, listener: (this: TextTrackCue, ev: TextTrackCueEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
13644 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
13645 removeEventListener<K extends keyof TextTrackCueEventMap>(type: K, listener: (this: TextTrackCue, ev: TextTrackCueEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
13646 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
13649 declare var TextTrackCue: {
13650 prototype: TextTrackCue;
13651 new(): TextTrackCue;
13654 interface TextTrackCueList {
13655 /** Returns the number of cues in the list. */
13656 readonly length: number;
13658 * Returns the first text track cue (in text track cue order) with text track cue identifier id.
13660 * Returns null if none of the cues have the given identifier or if the argument is the empty string.
13662 getCueById(id: string): TextTrackCue | null;
13663 [index: number]: TextTrackCue;
13666 declare var TextTrackCueList: {
13667 prototype: TextTrackCueList;
13668 new(): TextTrackCueList;
13671 interface TextTrackListEventMap {
13672 "addtrack": TrackEvent;
13674 "removetrack": TrackEvent;
13677 interface TextTrackList extends EventTarget {
13678 readonly length: number;
13679 onaddtrack: ((this: TextTrackList, ev: TrackEvent) => any) | null;
13680 onchange: ((this: TextTrackList, ev: Event) => any) | null;
13681 onremovetrack: ((this: TextTrackList, ev: TrackEvent) => any) | null;
13682 getTrackById(id: string): TextTrack | null;
13683 addEventListener<K extends keyof TextTrackListEventMap>(type: K, listener: (this: TextTrackList, ev: TextTrackListEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
13684 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
13685 removeEventListener<K extends keyof TextTrackListEventMap>(type: K, listener: (this: TextTrackList, ev: TextTrackListEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
13686 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
13687 [index: number]: TextTrack;
13690 declare var TextTrackList: {
13691 prototype: TextTrackList;
13692 new(): TextTrackList;
13695 /** 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. */
13696 interface TimeRanges {
13697 /** Returns the number of ranges in the object. */
13698 readonly length: number;
13700 * Returns the time for the end of the range with the given index.
13702 * Throws an "IndexSizeError" DOMException if the index is out of range.
13704 end(index: number): number;
13706 * Returns the time for the start of the range with the given index.
13708 * Throws an "IndexSizeError" DOMException if the index is out of range.
13710 start(index: number): number;
13713 declare var TimeRanges: {
13714 prototype: TimeRanges;
13718 /** 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. */
13720 readonly clientX: number;
13721 readonly clientY: number;
13722 readonly force: number;
13723 readonly identifier: number;
13724 readonly pageX: number;
13725 readonly pageY: number;
13726 readonly radiusX: number;
13727 readonly radiusY: number;
13728 readonly rotationAngle: number;
13729 readonly screenX: number;
13730 readonly screenY: number;
13731 readonly target: EventTarget;
13734 declare var Touch: {
13736 new(touchInitDict: TouchInit): Touch;
13739 /** 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. */
13740 interface TouchEvent extends UIEvent {
13741 readonly altKey: boolean;
13742 readonly changedTouches: TouchList;
13743 readonly ctrlKey: boolean;
13744 readonly metaKey: boolean;
13745 readonly shiftKey: boolean;
13746 readonly targetTouches: TouchList;
13747 readonly touches: TouchList;
13750 declare var TouchEvent: {
13751 prototype: TouchEvent;
13752 new(type: string, eventInitDict?: TouchEventInit): TouchEvent;
13755 /** 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. */
13756 interface TouchList {
13757 readonly length: number;
13758 item(index: number): Touch | null;
13759 [index: number]: Touch;
13762 declare var TouchList: {
13763 prototype: TouchList;
13767 /** 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. */
13768 interface TrackEvent extends Event {
13769 /** Returns the track object (TextTrack, AudioTrack, or VideoTrack) to which the event relates. */
13770 readonly track: TextTrack | null;
13773 declare var TrackEvent: {
13774 prototype: TrackEvent;
13775 new(type: string, eventInitDict?: TrackEventInit): TrackEvent;
13778 interface TransformStream<I = any, O = any> {
13779 readonly readable: ReadableStream<O>;
13780 readonly writable: WritableStream<I>;
13783 declare var TransformStream: {
13784 prototype: TransformStream;
13785 new<I = any, O = any>(transformer?: Transformer<I, O>, writableStrategy?: QueuingStrategy<I>, readableStrategy?: QueuingStrategy<O>): TransformStream<I, O>;
13788 interface TransformStreamDefaultController<O = any> {
13789 readonly desiredSize: number | null;
13790 enqueue(chunk?: O): void;
13791 error(reason?: any): void;
13795 declare var TransformStreamDefaultController: {
13796 prototype: TransformStreamDefaultController;
13797 new(): TransformStreamDefaultController;
13800 /** Events providing information related to transitions. */
13801 interface TransitionEvent extends Event {
13802 readonly elapsedTime: number;
13803 readonly propertyName: string;
13804 readonly pseudoElement: string;
13807 declare var TransitionEvent: {
13808 prototype: TransitionEvent;
13809 new(type: string, transitionEventInitDict?: TransitionEventInit): TransitionEvent;
13812 /** The nodes of a document subtree and a position within them. */
13813 interface TreeWalker {
13815 readonly filter: NodeFilter | null;
13816 readonly root: Node;
13817 readonly whatToShow: number;
13818 firstChild(): Node | null;
13819 lastChild(): Node | null;
13820 nextNode(): Node | null;
13821 nextSibling(): Node | null;
13822 parentNode(): Node | null;
13823 previousNode(): Node | null;
13824 previousSibling(): Node | null;
13827 declare var TreeWalker: {
13828 prototype: TreeWalker;
13832 /** Simple user interface events. */
13833 interface UIEvent extends Event {
13834 readonly detail: number;
13835 readonly view: Window | null;
13837 readonly which: number;
13839 initUIEvent(typeArg: string, bubblesArg?: boolean, cancelableArg?: boolean, viewArg?: Window | null, detailArg?: number): void;
13842 declare var UIEvent: {
13843 prototype: UIEvent;
13844 new(type: string, eventInitDict?: UIEventInit): UIEvent;
13847 /** The URLÂ interface represents an object providing static methods used for creating object URLs. */
13853 toString(): string;
13854 readonly origin: string;
13860 readonly searchParams: URLSearchParams;
13867 new(url: string | URL, base?: string | URL): URL;
13868 createObjectURL(obj: Blob | MediaSource): string;
13869 revokeObjectURL(url: string): void;
13872 type webkitURL = URL;
13873 declare var webkitURL: typeof URL;
13875 interface URLSearchParams {
13876 /** Appends a specified key/value pair as a new search parameter. */
13877 append(name: string, value: string): void;
13878 /** Deletes the given search parameter, and its associated value, from the list of all search parameters. */
13879 delete(name: string): void;
13880 /** Returns the first value associated to the given search parameter. */
13881 get(name: string): string | null;
13882 /** Returns all the values association with a given search parameter. */
13883 getAll(name: string): string[];
13884 /** Returns a Boolean indicating if such a search parameter exists. */
13885 has(name: string): boolean;
13886 /** Sets the value associated to a given search parameter to the given value. If there were several values, delete the others. */
13887 set(name: string, value: string): void;
13889 /** Returns a string containing a query string suitable for use in a URL. Does not include the question mark. */
13890 toString(): string;
13891 forEach(callbackfn: (value: string, key: string, parent: URLSearchParams) => void, thisArg?: any): void;
13894 declare var URLSearchParams: {
13895 prototype: URLSearchParams;
13896 new(init?: string[][] | Record<string, string> | string | URLSearchParams): URLSearchParams;
13897 toString(): string;
13900 interface VTTCue extends TextTrackCue {
13901 align: AlignSetting;
13902 line: LineAndPositionSetting;
13903 lineAlign: LineAlignSetting;
13904 position: LineAndPositionSetting;
13905 positionAlign: PositionAlignSetting;
13906 region: VTTRegion | null;
13908 snapToLines: boolean;
13910 vertical: DirectionSetting;
13911 getCueAsHTML(): DocumentFragment;
13912 addEventListener<K extends keyof TextTrackCueEventMap>(type: K, listener: (this: VTTCue, ev: TextTrackCueEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
13913 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
13914 removeEventListener<K extends keyof TextTrackCueEventMap>(type: K, listener: (this: VTTCue, ev: TextTrackCueEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
13915 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
13918 declare var VTTCue: {
13920 new(startTime: number, endTime: number, text: string): VTTCue;
13923 interface VTTRegion {
13926 regionAnchorX: number;
13927 regionAnchorY: number;
13928 scroll: ScrollSetting;
13929 viewportAnchorX: number;
13930 viewportAnchorY: number;
13934 declare var VTTRegion: {
13935 prototype: VTTRegion;
13939 /** 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. */
13940 interface ValidityState {
13941 readonly badInput: boolean;
13942 readonly customError: boolean;
13943 readonly patternMismatch: boolean;
13944 readonly rangeOverflow: boolean;
13945 readonly rangeUnderflow: boolean;
13946 readonly stepMismatch: boolean;
13947 readonly tooLong: boolean;
13948 readonly tooShort: boolean;
13949 readonly typeMismatch: boolean;
13950 readonly valid: boolean;
13951 readonly valueMissing: boolean;
13954 declare var ValidityState: {
13955 prototype: ValidityState;
13956 new(): ValidityState;
13959 /** Returned by the HTMLVideoElement.getVideoPlaybackQuality() method and contains metrics that can be used to determine the playback quality of a video. */
13960 interface VideoPlaybackQuality {
13962 readonly corruptedVideoFrames: number;
13963 readonly creationTime: DOMHighResTimeStamp;
13964 readonly droppedVideoFrames: number;
13965 readonly totalVideoFrames: number;
13968 declare var VideoPlaybackQuality: {
13969 prototype: VideoPlaybackQuality;
13970 new(): VideoPlaybackQuality;
13973 interface VisualViewportEventMap {
13978 interface VisualViewport extends EventTarget {
13979 readonly height: number;
13980 readonly offsetLeft: number;
13981 readonly offsetTop: number;
13982 onresize: ((this: VisualViewport, ev: Event) => any) | null;
13983 onscroll: ((this: VisualViewport, ev: Event) => any) | null;
13984 readonly pageLeft: number;
13985 readonly pageTop: number;
13986 readonly scale: number;
13987 readonly width: number;
13988 addEventListener<K extends keyof VisualViewportEventMap>(type: K, listener: (this: VisualViewport, ev: VisualViewportEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
13989 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
13990 removeEventListener<K extends keyof VisualViewportEventMap>(type: K, listener: (this: VisualViewport, ev: VisualViewportEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
13991 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
13994 declare var VisualViewport: {
13995 prototype: VisualViewport;
13996 new(): VisualViewport;
13999 interface WEBGL_color_buffer_float {
14000 readonly FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT: GLenum;
14001 readonly RGBA32F_EXT: GLenum;
14002 readonly UNSIGNED_NORMALIZED_EXT: GLenum;
14005 interface WEBGL_compressed_texture_astc {
14006 getSupportedProfiles(): string[];
14007 readonly COMPRESSED_RGBA_ASTC_10x10_KHR: GLenum;
14008 readonly COMPRESSED_RGBA_ASTC_10x5_KHR: GLenum;
14009 readonly COMPRESSED_RGBA_ASTC_10x6_KHR: GLenum;
14010 readonly COMPRESSED_RGBA_ASTC_10x8_KHR: GLenum;
14011 readonly COMPRESSED_RGBA_ASTC_12x10_KHR: GLenum;
14012 readonly COMPRESSED_RGBA_ASTC_12x12_KHR: GLenum;
14013 readonly COMPRESSED_RGBA_ASTC_4x4_KHR: GLenum;
14014 readonly COMPRESSED_RGBA_ASTC_5x4_KHR: GLenum;
14015 readonly COMPRESSED_RGBA_ASTC_5x5_KHR: GLenum;
14016 readonly COMPRESSED_RGBA_ASTC_6x5_KHR: GLenum;
14017 readonly COMPRESSED_RGBA_ASTC_6x6_KHR: GLenum;
14018 readonly COMPRESSED_RGBA_ASTC_8x5_KHR: GLenum;
14019 readonly COMPRESSED_RGBA_ASTC_8x6_KHR: GLenum;
14020 readonly COMPRESSED_RGBA_ASTC_8x8_KHR: GLenum;
14021 readonly COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR: GLenum;
14022 readonly COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR: GLenum;
14023 readonly COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR: GLenum;
14024 readonly COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR: GLenum;
14025 readonly COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR: GLenum;
14026 readonly COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR: GLenum;
14027 readonly COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR: GLenum;
14028 readonly COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR: GLenum;
14029 readonly COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR: GLenum;
14030 readonly COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR: GLenum;
14031 readonly COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR: GLenum;
14032 readonly COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR: GLenum;
14033 readonly COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR: GLenum;
14034 readonly COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR: GLenum;
14037 interface WEBGL_compressed_texture_etc {
14038 readonly COMPRESSED_R11_EAC: GLenum;
14039 readonly COMPRESSED_RG11_EAC: GLenum;
14040 readonly COMPRESSED_RGB8_ETC2: GLenum;
14041 readonly COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2: GLenum;
14042 readonly COMPRESSED_RGBA8_ETC2_EAC: GLenum;
14043 readonly COMPRESSED_SIGNED_R11_EAC: GLenum;
14044 readonly COMPRESSED_SIGNED_RG11_EAC: GLenum;
14045 readonly COMPRESSED_SRGB8_ALPHA8_ETC2_EAC: GLenum;
14046 readonly COMPRESSED_SRGB8_ETC2: GLenum;
14047 readonly COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2: GLenum;
14050 interface WEBGL_compressed_texture_etc1 {
14051 readonly COMPRESSED_RGB_ETC1_WEBGL: GLenum;
14054 interface WEBGL_compressed_texture_pvrtc {
14055 readonly COMPRESSED_RGBA_PVRTC_2BPPV1_IMG: GLenum;
14056 readonly COMPRESSED_RGBA_PVRTC_4BPPV1_IMG: GLenum;
14057 readonly COMPRESSED_RGB_PVRTC_2BPPV1_IMG: GLenum;
14058 readonly COMPRESSED_RGB_PVRTC_4BPPV1_IMG: GLenum;
14061 /** The WEBGL_compressed_texture_s3tc extension is part of the WebGL API and exposes four S3TC compressed texture formats. */
14062 interface WEBGL_compressed_texture_s3tc {
14063 readonly COMPRESSED_RGBA_S3TC_DXT1_EXT: GLenum;
14064 readonly COMPRESSED_RGBA_S3TC_DXT3_EXT: GLenum;
14065 readonly COMPRESSED_RGBA_S3TC_DXT5_EXT: GLenum;
14066 readonly COMPRESSED_RGB_S3TC_DXT1_EXT: GLenum;
14069 interface WEBGL_compressed_texture_s3tc_srgb {
14070 readonly COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT: GLenum;
14071 readonly COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT: GLenum;
14072 readonly COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT: GLenum;
14073 readonly COMPRESSED_SRGB_S3TC_DXT1_EXT: GLenum;
14076 /** 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. */
14077 interface WEBGL_debug_renderer_info {
14078 readonly UNMASKED_RENDERER_WEBGL: GLenum;
14079 readonly UNMASKED_VENDOR_WEBGL: GLenum;
14082 interface WEBGL_debug_shaders {
14083 getTranslatedShaderSource(shader: WebGLShader): string;
14086 /** The WEBGL_depth_texture extension is part of the WebGL API and defines 2D depth and depth-stencil textures. */
14087 interface WEBGL_depth_texture {
14088 readonly UNSIGNED_INT_24_8_WEBGL: GLenum;
14091 interface WEBGL_draw_buffers {
14092 drawBuffersWEBGL(buffers: GLenum[]): void;
14093 readonly COLOR_ATTACHMENT0_WEBGL: GLenum;
14094 readonly COLOR_ATTACHMENT10_WEBGL: GLenum;
14095 readonly COLOR_ATTACHMENT11_WEBGL: GLenum;
14096 readonly COLOR_ATTACHMENT12_WEBGL: GLenum;
14097 readonly COLOR_ATTACHMENT13_WEBGL: GLenum;
14098 readonly COLOR_ATTACHMENT14_WEBGL: GLenum;
14099 readonly COLOR_ATTACHMENT15_WEBGL: GLenum;
14100 readonly COLOR_ATTACHMENT1_WEBGL: GLenum;
14101 readonly COLOR_ATTACHMENT2_WEBGL: GLenum;
14102 readonly COLOR_ATTACHMENT3_WEBGL: GLenum;
14103 readonly COLOR_ATTACHMENT4_WEBGL: GLenum;
14104 readonly COLOR_ATTACHMENT5_WEBGL: GLenum;
14105 readonly COLOR_ATTACHMENT6_WEBGL: GLenum;
14106 readonly COLOR_ATTACHMENT7_WEBGL: GLenum;
14107 readonly COLOR_ATTACHMENT8_WEBGL: GLenum;
14108 readonly COLOR_ATTACHMENT9_WEBGL: GLenum;
14109 readonly DRAW_BUFFER0_WEBGL: GLenum;
14110 readonly DRAW_BUFFER10_WEBGL: GLenum;
14111 readonly DRAW_BUFFER11_WEBGL: GLenum;
14112 readonly DRAW_BUFFER12_WEBGL: GLenum;
14113 readonly DRAW_BUFFER13_WEBGL: GLenum;
14114 readonly DRAW_BUFFER14_WEBGL: GLenum;
14115 readonly DRAW_BUFFER15_WEBGL: GLenum;
14116 readonly DRAW_BUFFER1_WEBGL: GLenum;
14117 readonly DRAW_BUFFER2_WEBGL: GLenum;
14118 readonly DRAW_BUFFER3_WEBGL: GLenum;
14119 readonly DRAW_BUFFER4_WEBGL: GLenum;
14120 readonly DRAW_BUFFER5_WEBGL: GLenum;
14121 readonly DRAW_BUFFER6_WEBGL: GLenum;
14122 readonly DRAW_BUFFER7_WEBGL: GLenum;
14123 readonly DRAW_BUFFER8_WEBGL: GLenum;
14124 readonly DRAW_BUFFER9_WEBGL: GLenum;
14125 readonly MAX_COLOR_ATTACHMENTS_WEBGL: GLenum;
14126 readonly MAX_DRAW_BUFFERS_WEBGL: GLenum;
14129 interface WEBGL_lose_context {
14130 loseContext(): void;
14131 restoreContext(): void;
14134 /** A WaveShaperNode always has exactly one input and one output. */
14135 interface WaveShaperNode extends AudioNode {
14136 curve: Float32Array | null;
14137 oversample: OverSampleType;
14140 declare var WaveShaperNode: {
14141 prototype: WaveShaperNode;
14142 new(context: BaseAudioContext, options?: WaveShaperOptions): WaveShaperNode;
14145 interface WebGL2RenderingContext extends WebGL2RenderingContextBase, WebGL2RenderingContextOverloads, WebGLRenderingContextBase {
14148 declare var WebGL2RenderingContext: {
14149 prototype: WebGL2RenderingContext;
14150 new(): WebGL2RenderingContext;
14151 readonly ACTIVE_UNIFORM_BLOCKS: GLenum;
14152 readonly ALREADY_SIGNALED: GLenum;
14153 readonly ANY_SAMPLES_PASSED: GLenum;
14154 readonly ANY_SAMPLES_PASSED_CONSERVATIVE: GLenum;
14155 readonly COLOR: GLenum;
14156 readonly COLOR_ATTACHMENT1: GLenum;
14157 readonly COLOR_ATTACHMENT10: GLenum;
14158 readonly COLOR_ATTACHMENT11: GLenum;
14159 readonly COLOR_ATTACHMENT12: GLenum;
14160 readonly COLOR_ATTACHMENT13: GLenum;
14161 readonly COLOR_ATTACHMENT14: GLenum;
14162 readonly COLOR_ATTACHMENT15: GLenum;
14163 readonly COLOR_ATTACHMENT2: GLenum;
14164 readonly COLOR_ATTACHMENT3: GLenum;
14165 readonly COLOR_ATTACHMENT4: GLenum;
14166 readonly COLOR_ATTACHMENT5: GLenum;
14167 readonly COLOR_ATTACHMENT6: GLenum;
14168 readonly COLOR_ATTACHMENT7: GLenum;
14169 readonly COLOR_ATTACHMENT8: GLenum;
14170 readonly COLOR_ATTACHMENT9: GLenum;
14171 readonly COMPARE_REF_TO_TEXTURE: GLenum;
14172 readonly CONDITION_SATISFIED: GLenum;
14173 readonly COPY_READ_BUFFER: GLenum;
14174 readonly COPY_READ_BUFFER_BINDING: GLenum;
14175 readonly COPY_WRITE_BUFFER: GLenum;
14176 readonly COPY_WRITE_BUFFER_BINDING: GLenum;
14177 readonly CURRENT_QUERY: GLenum;
14178 readonly DEPTH: GLenum;
14179 readonly DEPTH24_STENCIL8: GLenum;
14180 readonly DEPTH32F_STENCIL8: GLenum;
14181 readonly DEPTH_COMPONENT24: GLenum;
14182 readonly DEPTH_COMPONENT32F: GLenum;
14183 readonly DRAW_BUFFER0: GLenum;
14184 readonly DRAW_BUFFER1: GLenum;
14185 readonly DRAW_BUFFER10: GLenum;
14186 readonly DRAW_BUFFER11: GLenum;
14187 readonly DRAW_BUFFER12: GLenum;
14188 readonly DRAW_BUFFER13: GLenum;
14189 readonly DRAW_BUFFER14: GLenum;
14190 readonly DRAW_BUFFER15: GLenum;
14191 readonly DRAW_BUFFER2: GLenum;
14192 readonly DRAW_BUFFER3: GLenum;
14193 readonly DRAW_BUFFER4: GLenum;
14194 readonly DRAW_BUFFER5: GLenum;
14195 readonly DRAW_BUFFER6: GLenum;
14196 readonly DRAW_BUFFER7: GLenum;
14197 readonly DRAW_BUFFER8: GLenum;
14198 readonly DRAW_BUFFER9: GLenum;
14199 readonly DRAW_FRAMEBUFFER: GLenum;
14200 readonly DRAW_FRAMEBUFFER_BINDING: GLenum;
14201 readonly DYNAMIC_COPY: GLenum;
14202 readonly DYNAMIC_READ: GLenum;
14203 readonly FLOAT_32_UNSIGNED_INT_24_8_REV: GLenum;
14204 readonly FLOAT_MAT2x3: GLenum;
14205 readonly FLOAT_MAT2x4: GLenum;
14206 readonly FLOAT_MAT3x2: GLenum;
14207 readonly FLOAT_MAT3x4: GLenum;
14208 readonly FLOAT_MAT4x2: GLenum;
14209 readonly FLOAT_MAT4x3: GLenum;
14210 readonly FRAGMENT_SHADER_DERIVATIVE_HINT: GLenum;
14211 readonly FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE: GLenum;
14212 readonly FRAMEBUFFER_ATTACHMENT_BLUE_SIZE: GLenum;
14213 readonly FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING: GLenum;
14214 readonly FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE: GLenum;
14215 readonly FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE: GLenum;
14216 readonly FRAMEBUFFER_ATTACHMENT_GREEN_SIZE: GLenum;
14217 readonly FRAMEBUFFER_ATTACHMENT_RED_SIZE: GLenum;
14218 readonly FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE: GLenum;
14219 readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER: GLenum;
14220 readonly FRAMEBUFFER_DEFAULT: GLenum;
14221 readonly FRAMEBUFFER_INCOMPLETE_MULTISAMPLE: GLenum;
14222 readonly HALF_FLOAT: GLenum;
14223 readonly INTERLEAVED_ATTRIBS: GLenum;
14224 readonly INT_2_10_10_10_REV: GLenum;
14225 readonly INT_SAMPLER_2D: GLenum;
14226 readonly INT_SAMPLER_2D_ARRAY: GLenum;
14227 readonly INT_SAMPLER_3D: GLenum;
14228 readonly INT_SAMPLER_CUBE: GLenum;
14229 readonly INVALID_INDEX: GLenum;
14230 readonly MAX: GLenum;
14231 readonly MAX_3D_TEXTURE_SIZE: GLenum;
14232 readonly MAX_ARRAY_TEXTURE_LAYERS: GLenum;
14233 readonly MAX_CLIENT_WAIT_TIMEOUT_WEBGL: GLenum;
14234 readonly MAX_COLOR_ATTACHMENTS: GLenum;
14235 readonly MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS: GLenum;
14236 readonly MAX_COMBINED_UNIFORM_BLOCKS: GLenum;
14237 readonly MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS: GLenum;
14238 readonly MAX_DRAW_BUFFERS: GLenum;
14239 readonly MAX_ELEMENTS_INDICES: GLenum;
14240 readonly MAX_ELEMENTS_VERTICES: GLenum;
14241 readonly MAX_ELEMENT_INDEX: GLenum;
14242 readonly MAX_FRAGMENT_INPUT_COMPONENTS: GLenum;
14243 readonly MAX_FRAGMENT_UNIFORM_BLOCKS: GLenum;
14244 readonly MAX_FRAGMENT_UNIFORM_COMPONENTS: GLenum;
14245 readonly MAX_PROGRAM_TEXEL_OFFSET: GLenum;
14246 readonly MAX_SAMPLES: GLenum;
14247 readonly MAX_SERVER_WAIT_TIMEOUT: GLenum;
14248 readonly MAX_TEXTURE_LOD_BIAS: GLenum;
14249 readonly MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS: GLenum;
14250 readonly MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS: GLenum;
14251 readonly MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS: GLenum;
14252 readonly MAX_UNIFORM_BLOCK_SIZE: GLenum;
14253 readonly MAX_UNIFORM_BUFFER_BINDINGS: GLenum;
14254 readonly MAX_VARYING_COMPONENTS: GLenum;
14255 readonly MAX_VERTEX_OUTPUT_COMPONENTS: GLenum;
14256 readonly MAX_VERTEX_UNIFORM_BLOCKS: GLenum;
14257 readonly MAX_VERTEX_UNIFORM_COMPONENTS: GLenum;
14258 readonly MIN: GLenum;
14259 readonly MIN_PROGRAM_TEXEL_OFFSET: GLenum;
14260 readonly OBJECT_TYPE: GLenum;
14261 readonly PACK_ROW_LENGTH: GLenum;
14262 readonly PACK_SKIP_PIXELS: GLenum;
14263 readonly PACK_SKIP_ROWS: GLenum;
14264 readonly PIXEL_PACK_BUFFER: GLenum;
14265 readonly PIXEL_PACK_BUFFER_BINDING: GLenum;
14266 readonly PIXEL_UNPACK_BUFFER: GLenum;
14267 readonly PIXEL_UNPACK_BUFFER_BINDING: GLenum;
14268 readonly QUERY_RESULT: GLenum;
14269 readonly QUERY_RESULT_AVAILABLE: GLenum;
14270 readonly R11F_G11F_B10F: GLenum;
14271 readonly R16F: GLenum;
14272 readonly R16I: GLenum;
14273 readonly R16UI: GLenum;
14274 readonly R32F: GLenum;
14275 readonly R32I: GLenum;
14276 readonly R32UI: GLenum;
14277 readonly R8: GLenum;
14278 readonly R8I: GLenum;
14279 readonly R8UI: GLenum;
14280 readonly R8_SNORM: GLenum;
14281 readonly RASTERIZER_DISCARD: GLenum;
14282 readonly READ_BUFFER: GLenum;
14283 readonly READ_FRAMEBUFFER: GLenum;
14284 readonly READ_FRAMEBUFFER_BINDING: GLenum;
14285 readonly RED: GLenum;
14286 readonly RED_INTEGER: GLenum;
14287 readonly RENDERBUFFER_SAMPLES: GLenum;
14288 readonly RG: GLenum;
14289 readonly RG16F: GLenum;
14290 readonly RG16I: GLenum;
14291 readonly RG16UI: GLenum;
14292 readonly RG32F: GLenum;
14293 readonly RG32I: GLenum;
14294 readonly RG32UI: GLenum;
14295 readonly RG8: GLenum;
14296 readonly RG8I: GLenum;
14297 readonly RG8UI: GLenum;
14298 readonly RG8_SNORM: GLenum;
14299 readonly RGB10_A2: GLenum;
14300 readonly RGB10_A2UI: GLenum;
14301 readonly RGB16F: GLenum;
14302 readonly RGB16I: GLenum;
14303 readonly RGB16UI: GLenum;
14304 readonly RGB32F: GLenum;
14305 readonly RGB32I: GLenum;
14306 readonly RGB32UI: GLenum;
14307 readonly RGB8: GLenum;
14308 readonly RGB8I: GLenum;
14309 readonly RGB8UI: GLenum;
14310 readonly RGB8_SNORM: GLenum;
14311 readonly RGB9_E5: GLenum;
14312 readonly RGBA16F: GLenum;
14313 readonly RGBA16I: GLenum;
14314 readonly RGBA16UI: GLenum;
14315 readonly RGBA32F: GLenum;
14316 readonly RGBA32I: GLenum;
14317 readonly RGBA32UI: GLenum;
14318 readonly RGBA8: GLenum;
14319 readonly RGBA8I: GLenum;
14320 readonly RGBA8UI: GLenum;
14321 readonly RGBA8_SNORM: GLenum;
14322 readonly RGBA_INTEGER: GLenum;
14323 readonly RGB_INTEGER: GLenum;
14324 readonly RG_INTEGER: GLenum;
14325 readonly SAMPLER_2D_ARRAY: GLenum;
14326 readonly SAMPLER_2D_ARRAY_SHADOW: GLenum;
14327 readonly SAMPLER_2D_SHADOW: GLenum;
14328 readonly SAMPLER_3D: GLenum;
14329 readonly SAMPLER_BINDING: GLenum;
14330 readonly SAMPLER_CUBE_SHADOW: GLenum;
14331 readonly SEPARATE_ATTRIBS: GLenum;
14332 readonly SIGNALED: GLenum;
14333 readonly SIGNED_NORMALIZED: GLenum;
14334 readonly SRGB: GLenum;
14335 readonly SRGB8: GLenum;
14336 readonly SRGB8_ALPHA8: GLenum;
14337 readonly STATIC_COPY: GLenum;
14338 readonly STATIC_READ: GLenum;
14339 readonly STENCIL: GLenum;
14340 readonly STREAM_COPY: GLenum;
14341 readonly STREAM_READ: GLenum;
14342 readonly SYNC_CONDITION: GLenum;
14343 readonly SYNC_FENCE: GLenum;
14344 readonly SYNC_FLAGS: GLenum;
14345 readonly SYNC_FLUSH_COMMANDS_BIT: GLenum;
14346 readonly SYNC_GPU_COMMANDS_COMPLETE: GLenum;
14347 readonly SYNC_STATUS: GLenum;
14348 readonly TEXTURE_2D_ARRAY: GLenum;
14349 readonly TEXTURE_3D: GLenum;
14350 readonly TEXTURE_BASE_LEVEL: GLenum;
14351 readonly TEXTURE_BINDING_2D_ARRAY: GLenum;
14352 readonly TEXTURE_BINDING_3D: GLenum;
14353 readonly TEXTURE_COMPARE_FUNC: GLenum;
14354 readonly TEXTURE_COMPARE_MODE: GLenum;
14355 readonly TEXTURE_IMMUTABLE_FORMAT: GLenum;
14356 readonly TEXTURE_IMMUTABLE_LEVELS: GLenum;
14357 readonly TEXTURE_MAX_LEVEL: GLenum;
14358 readonly TEXTURE_MAX_LOD: GLenum;
14359 readonly TEXTURE_MIN_LOD: GLenum;
14360 readonly TEXTURE_WRAP_R: GLenum;
14361 readonly TIMEOUT_EXPIRED: GLenum;
14362 readonly TIMEOUT_IGNORED: GLint64;
14363 readonly TRANSFORM_FEEDBACK: GLenum;
14364 readonly TRANSFORM_FEEDBACK_ACTIVE: GLenum;
14365 readonly TRANSFORM_FEEDBACK_BINDING: GLenum;
14366 readonly TRANSFORM_FEEDBACK_BUFFER: GLenum;
14367 readonly TRANSFORM_FEEDBACK_BUFFER_BINDING: GLenum;
14368 readonly TRANSFORM_FEEDBACK_BUFFER_MODE: GLenum;
14369 readonly TRANSFORM_FEEDBACK_BUFFER_SIZE: GLenum;
14370 readonly TRANSFORM_FEEDBACK_BUFFER_START: GLenum;
14371 readonly TRANSFORM_FEEDBACK_PAUSED: GLenum;
14372 readonly TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN: GLenum;
14373 readonly TRANSFORM_FEEDBACK_VARYINGS: GLenum;
14374 readonly UNIFORM_ARRAY_STRIDE: GLenum;
14375 readonly UNIFORM_BLOCK_ACTIVE_UNIFORMS: GLenum;
14376 readonly UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES: GLenum;
14377 readonly UNIFORM_BLOCK_BINDING: GLenum;
14378 readonly UNIFORM_BLOCK_DATA_SIZE: GLenum;
14379 readonly UNIFORM_BLOCK_INDEX: GLenum;
14380 readonly UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER: GLenum;
14381 readonly UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER: GLenum;
14382 readonly UNIFORM_BUFFER: GLenum;
14383 readonly UNIFORM_BUFFER_BINDING: GLenum;
14384 readonly UNIFORM_BUFFER_OFFSET_ALIGNMENT: GLenum;
14385 readonly UNIFORM_BUFFER_SIZE: GLenum;
14386 readonly UNIFORM_BUFFER_START: GLenum;
14387 readonly UNIFORM_IS_ROW_MAJOR: GLenum;
14388 readonly UNIFORM_MATRIX_STRIDE: GLenum;
14389 readonly UNIFORM_OFFSET: GLenum;
14390 readonly UNIFORM_SIZE: GLenum;
14391 readonly UNIFORM_TYPE: GLenum;
14392 readonly UNPACK_IMAGE_HEIGHT: GLenum;
14393 readonly UNPACK_ROW_LENGTH: GLenum;
14394 readonly UNPACK_SKIP_IMAGES: GLenum;
14395 readonly UNPACK_SKIP_PIXELS: GLenum;
14396 readonly UNPACK_SKIP_ROWS: GLenum;
14397 readonly UNSIGNALED: GLenum;
14398 readonly UNSIGNED_INT_10F_11F_11F_REV: GLenum;
14399 readonly UNSIGNED_INT_24_8: GLenum;
14400 readonly UNSIGNED_INT_2_10_10_10_REV: GLenum;
14401 readonly UNSIGNED_INT_5_9_9_9_REV: GLenum;
14402 readonly UNSIGNED_INT_SAMPLER_2D: GLenum;
14403 readonly UNSIGNED_INT_SAMPLER_2D_ARRAY: GLenum;
14404 readonly UNSIGNED_INT_SAMPLER_3D: GLenum;
14405 readonly UNSIGNED_INT_SAMPLER_CUBE: GLenum;
14406 readonly UNSIGNED_INT_VEC2: GLenum;
14407 readonly UNSIGNED_INT_VEC3: GLenum;
14408 readonly UNSIGNED_INT_VEC4: GLenum;
14409 readonly UNSIGNED_NORMALIZED: GLenum;
14410 readonly VERTEX_ARRAY_BINDING: GLenum;
14411 readonly VERTEX_ATTRIB_ARRAY_DIVISOR: GLenum;
14412 readonly VERTEX_ATTRIB_ARRAY_INTEGER: GLenum;
14413 readonly WAIT_FAILED: GLenum;
14414 readonly ACTIVE_ATTRIBUTES: GLenum;
14415 readonly ACTIVE_TEXTURE: GLenum;
14416 readonly ACTIVE_UNIFORMS: GLenum;
14417 readonly ALIASED_LINE_WIDTH_RANGE: GLenum;
14418 readonly ALIASED_POINT_SIZE_RANGE: GLenum;
14419 readonly ALPHA: GLenum;
14420 readonly ALPHA_BITS: GLenum;
14421 readonly ALWAYS: GLenum;
14422 readonly ARRAY_BUFFER: GLenum;
14423 readonly ARRAY_BUFFER_BINDING: GLenum;
14424 readonly ATTACHED_SHADERS: GLenum;
14425 readonly BACK: GLenum;
14426 readonly BLEND: GLenum;
14427 readonly BLEND_COLOR: GLenum;
14428 readonly BLEND_DST_ALPHA: GLenum;
14429 readonly BLEND_DST_RGB: GLenum;
14430 readonly BLEND_EQUATION: GLenum;
14431 readonly BLEND_EQUATION_ALPHA: GLenum;
14432 readonly BLEND_EQUATION_RGB: GLenum;
14433 readonly BLEND_SRC_ALPHA: GLenum;
14434 readonly BLEND_SRC_RGB: GLenum;
14435 readonly BLUE_BITS: GLenum;
14436 readonly BOOL: GLenum;
14437 readonly BOOL_VEC2: GLenum;
14438 readonly BOOL_VEC3: GLenum;
14439 readonly BOOL_VEC4: GLenum;
14440 readonly BROWSER_DEFAULT_WEBGL: GLenum;
14441 readonly BUFFER_SIZE: GLenum;
14442 readonly BUFFER_USAGE: GLenum;
14443 readonly BYTE: GLenum;
14444 readonly CCW: GLenum;
14445 readonly CLAMP_TO_EDGE: GLenum;
14446 readonly COLOR_ATTACHMENT0: GLenum;
14447 readonly COLOR_BUFFER_BIT: GLenum;
14448 readonly COLOR_CLEAR_VALUE: GLenum;
14449 readonly COLOR_WRITEMASK: GLenum;
14450 readonly COMPILE_STATUS: GLenum;
14451 readonly COMPRESSED_TEXTURE_FORMATS: GLenum;
14452 readonly CONSTANT_ALPHA: GLenum;
14453 readonly CONSTANT_COLOR: GLenum;
14454 readonly CONTEXT_LOST_WEBGL: GLenum;
14455 readonly CULL_FACE: GLenum;
14456 readonly CULL_FACE_MODE: GLenum;
14457 readonly CURRENT_PROGRAM: GLenum;
14458 readonly CURRENT_VERTEX_ATTRIB: GLenum;
14459 readonly CW: GLenum;
14460 readonly DECR: GLenum;
14461 readonly DECR_WRAP: GLenum;
14462 readonly DELETE_STATUS: GLenum;
14463 readonly DEPTH_ATTACHMENT: GLenum;
14464 readonly DEPTH_BITS: GLenum;
14465 readonly DEPTH_BUFFER_BIT: GLenum;
14466 readonly DEPTH_CLEAR_VALUE: GLenum;
14467 readonly DEPTH_COMPONENT: GLenum;
14468 readonly DEPTH_COMPONENT16: GLenum;
14469 readonly DEPTH_FUNC: GLenum;
14470 readonly DEPTH_RANGE: GLenum;
14471 readonly DEPTH_STENCIL: GLenum;
14472 readonly DEPTH_STENCIL_ATTACHMENT: GLenum;
14473 readonly DEPTH_TEST: GLenum;
14474 readonly DEPTH_WRITEMASK: GLenum;
14475 readonly DITHER: GLenum;
14476 readonly DONT_CARE: GLenum;
14477 readonly DST_ALPHA: GLenum;
14478 readonly DST_COLOR: GLenum;
14479 readonly DYNAMIC_DRAW: GLenum;
14480 readonly ELEMENT_ARRAY_BUFFER: GLenum;
14481 readonly ELEMENT_ARRAY_BUFFER_BINDING: GLenum;
14482 readonly EQUAL: GLenum;
14483 readonly FASTEST: GLenum;
14484 readonly FLOAT: GLenum;
14485 readonly FLOAT_MAT2: GLenum;
14486 readonly FLOAT_MAT3: GLenum;
14487 readonly FLOAT_MAT4: GLenum;
14488 readonly FLOAT_VEC2: GLenum;
14489 readonly FLOAT_VEC3: GLenum;
14490 readonly FLOAT_VEC4: GLenum;
14491 readonly FRAGMENT_SHADER: GLenum;
14492 readonly FRAMEBUFFER: GLenum;
14493 readonly FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: GLenum;
14494 readonly FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: GLenum;
14495 readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: GLenum;
14496 readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: GLenum;
14497 readonly FRAMEBUFFER_BINDING: GLenum;
14498 readonly FRAMEBUFFER_COMPLETE: GLenum;
14499 readonly FRAMEBUFFER_INCOMPLETE_ATTACHMENT: GLenum;
14500 readonly FRAMEBUFFER_INCOMPLETE_DIMENSIONS: GLenum;
14501 readonly FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: GLenum;
14502 readonly FRAMEBUFFER_UNSUPPORTED: GLenum;
14503 readonly FRONT: GLenum;
14504 readonly FRONT_AND_BACK: GLenum;
14505 readonly FRONT_FACE: GLenum;
14506 readonly FUNC_ADD: GLenum;
14507 readonly FUNC_REVERSE_SUBTRACT: GLenum;
14508 readonly FUNC_SUBTRACT: GLenum;
14509 readonly GENERATE_MIPMAP_HINT: GLenum;
14510 readonly GEQUAL: GLenum;
14511 readonly GREATER: GLenum;
14512 readonly GREEN_BITS: GLenum;
14513 readonly HIGH_FLOAT: GLenum;
14514 readonly HIGH_INT: GLenum;
14515 readonly IMPLEMENTATION_COLOR_READ_FORMAT: GLenum;
14516 readonly IMPLEMENTATION_COLOR_READ_TYPE: GLenum;
14517 readonly INCR: GLenum;
14518 readonly INCR_WRAP: GLenum;
14519 readonly INT: GLenum;
14520 readonly INT_VEC2: GLenum;
14521 readonly INT_VEC3: GLenum;
14522 readonly INT_VEC4: GLenum;
14523 readonly INVALID_ENUM: GLenum;
14524 readonly INVALID_FRAMEBUFFER_OPERATION: GLenum;
14525 readonly INVALID_OPERATION: GLenum;
14526 readonly INVALID_VALUE: GLenum;
14527 readonly INVERT: GLenum;
14528 readonly KEEP: GLenum;
14529 readonly LEQUAL: GLenum;
14530 readonly LESS: GLenum;
14531 readonly LINEAR: GLenum;
14532 readonly LINEAR_MIPMAP_LINEAR: GLenum;
14533 readonly LINEAR_MIPMAP_NEAREST: GLenum;
14534 readonly LINES: GLenum;
14535 readonly LINE_LOOP: GLenum;
14536 readonly LINE_STRIP: GLenum;
14537 readonly LINE_WIDTH: GLenum;
14538 readonly LINK_STATUS: GLenum;
14539 readonly LOW_FLOAT: GLenum;
14540 readonly LOW_INT: GLenum;
14541 readonly LUMINANCE: GLenum;
14542 readonly LUMINANCE_ALPHA: GLenum;
14543 readonly MAX_COMBINED_TEXTURE_IMAGE_UNITS: GLenum;
14544 readonly MAX_CUBE_MAP_TEXTURE_SIZE: GLenum;
14545 readonly MAX_FRAGMENT_UNIFORM_VECTORS: GLenum;
14546 readonly MAX_RENDERBUFFER_SIZE: GLenum;
14547 readonly MAX_TEXTURE_IMAGE_UNITS: GLenum;
14548 readonly MAX_TEXTURE_SIZE: GLenum;
14549 readonly MAX_VARYING_VECTORS: GLenum;
14550 readonly MAX_VERTEX_ATTRIBS: GLenum;
14551 readonly MAX_VERTEX_TEXTURE_IMAGE_UNITS: GLenum;
14552 readonly MAX_VERTEX_UNIFORM_VECTORS: GLenum;
14553 readonly MAX_VIEWPORT_DIMS: GLenum;
14554 readonly MEDIUM_FLOAT: GLenum;
14555 readonly MEDIUM_INT: GLenum;
14556 readonly MIRRORED_REPEAT: GLenum;
14557 readonly NEAREST: GLenum;
14558 readonly NEAREST_MIPMAP_LINEAR: GLenum;
14559 readonly NEAREST_MIPMAP_NEAREST: GLenum;
14560 readonly NEVER: GLenum;
14561 readonly NICEST: GLenum;
14562 readonly NONE: GLenum;
14563 readonly NOTEQUAL: GLenum;
14564 readonly NO_ERROR: GLenum;
14565 readonly ONE: GLenum;
14566 readonly ONE_MINUS_CONSTANT_ALPHA: GLenum;
14567 readonly ONE_MINUS_CONSTANT_COLOR: GLenum;
14568 readonly ONE_MINUS_DST_ALPHA: GLenum;
14569 readonly ONE_MINUS_DST_COLOR: GLenum;
14570 readonly ONE_MINUS_SRC_ALPHA: GLenum;
14571 readonly ONE_MINUS_SRC_COLOR: GLenum;
14572 readonly OUT_OF_MEMORY: GLenum;
14573 readonly PACK_ALIGNMENT: GLenum;
14574 readonly POINTS: GLenum;
14575 readonly POLYGON_OFFSET_FACTOR: GLenum;
14576 readonly POLYGON_OFFSET_FILL: GLenum;
14577 readonly POLYGON_OFFSET_UNITS: GLenum;
14578 readonly RED_BITS: GLenum;
14579 readonly RENDERBUFFER: GLenum;
14580 readonly RENDERBUFFER_ALPHA_SIZE: GLenum;
14581 readonly RENDERBUFFER_BINDING: GLenum;
14582 readonly RENDERBUFFER_BLUE_SIZE: GLenum;
14583 readonly RENDERBUFFER_DEPTH_SIZE: GLenum;
14584 readonly RENDERBUFFER_GREEN_SIZE: GLenum;
14585 readonly RENDERBUFFER_HEIGHT: GLenum;
14586 readonly RENDERBUFFER_INTERNAL_FORMAT: GLenum;
14587 readonly RENDERBUFFER_RED_SIZE: GLenum;
14588 readonly RENDERBUFFER_STENCIL_SIZE: GLenum;
14589 readonly RENDERBUFFER_WIDTH: GLenum;
14590 readonly RENDERER: GLenum;
14591 readonly REPEAT: GLenum;
14592 readonly REPLACE: GLenum;
14593 readonly RGB: GLenum;
14594 readonly RGB565: GLenum;
14595 readonly RGB5_A1: GLenum;
14596 readonly RGBA: GLenum;
14597 readonly RGBA4: GLenum;
14598 readonly SAMPLER_2D: GLenum;
14599 readonly SAMPLER_CUBE: GLenum;
14600 readonly SAMPLES: GLenum;
14601 readonly SAMPLE_ALPHA_TO_COVERAGE: GLenum;
14602 readonly SAMPLE_BUFFERS: GLenum;
14603 readonly SAMPLE_COVERAGE: GLenum;
14604 readonly SAMPLE_COVERAGE_INVERT: GLenum;
14605 readonly SAMPLE_COVERAGE_VALUE: GLenum;
14606 readonly SCISSOR_BOX: GLenum;
14607 readonly SCISSOR_TEST: GLenum;
14608 readonly SHADER_TYPE: GLenum;
14609 readonly SHADING_LANGUAGE_VERSION: GLenum;
14610 readonly SHORT: GLenum;
14611 readonly SRC_ALPHA: GLenum;
14612 readonly SRC_ALPHA_SATURATE: GLenum;
14613 readonly SRC_COLOR: GLenum;
14614 readonly STATIC_DRAW: GLenum;
14615 readonly STENCIL_ATTACHMENT: GLenum;
14616 readonly STENCIL_BACK_FAIL: GLenum;
14617 readonly STENCIL_BACK_FUNC: GLenum;
14618 readonly STENCIL_BACK_PASS_DEPTH_FAIL: GLenum;
14619 readonly STENCIL_BACK_PASS_DEPTH_PASS: GLenum;
14620 readonly STENCIL_BACK_REF: GLenum;
14621 readonly STENCIL_BACK_VALUE_MASK: GLenum;
14622 readonly STENCIL_BACK_WRITEMASK: GLenum;
14623 readonly STENCIL_BITS: GLenum;
14624 readonly STENCIL_BUFFER_BIT: GLenum;
14625 readonly STENCIL_CLEAR_VALUE: GLenum;
14626 readonly STENCIL_FAIL: GLenum;
14627 readonly STENCIL_FUNC: GLenum;
14628 readonly STENCIL_INDEX8: GLenum;
14629 readonly STENCIL_PASS_DEPTH_FAIL: GLenum;
14630 readonly STENCIL_PASS_DEPTH_PASS: GLenum;
14631 readonly STENCIL_REF: GLenum;
14632 readonly STENCIL_TEST: GLenum;
14633 readonly STENCIL_VALUE_MASK: GLenum;
14634 readonly STENCIL_WRITEMASK: GLenum;
14635 readonly STREAM_DRAW: GLenum;
14636 readonly SUBPIXEL_BITS: GLenum;
14637 readonly TEXTURE: GLenum;
14638 readonly TEXTURE0: GLenum;
14639 readonly TEXTURE1: GLenum;
14640 readonly TEXTURE10: GLenum;
14641 readonly TEXTURE11: GLenum;
14642 readonly TEXTURE12: GLenum;
14643 readonly TEXTURE13: GLenum;
14644 readonly TEXTURE14: GLenum;
14645 readonly TEXTURE15: GLenum;
14646 readonly TEXTURE16: GLenum;
14647 readonly TEXTURE17: GLenum;
14648 readonly TEXTURE18: GLenum;
14649 readonly TEXTURE19: GLenum;
14650 readonly TEXTURE2: GLenum;
14651 readonly TEXTURE20: GLenum;
14652 readonly TEXTURE21: GLenum;
14653 readonly TEXTURE22: GLenum;
14654 readonly TEXTURE23: GLenum;
14655 readonly TEXTURE24: GLenum;
14656 readonly TEXTURE25: GLenum;
14657 readonly TEXTURE26: GLenum;
14658 readonly TEXTURE27: GLenum;
14659 readonly TEXTURE28: GLenum;
14660 readonly TEXTURE29: GLenum;
14661 readonly TEXTURE3: GLenum;
14662 readonly TEXTURE30: GLenum;
14663 readonly TEXTURE31: GLenum;
14664 readonly TEXTURE4: GLenum;
14665 readonly TEXTURE5: GLenum;
14666 readonly TEXTURE6: GLenum;
14667 readonly TEXTURE7: GLenum;
14668 readonly TEXTURE8: GLenum;
14669 readonly TEXTURE9: GLenum;
14670 readonly TEXTURE_2D: GLenum;
14671 readonly TEXTURE_BINDING_2D: GLenum;
14672 readonly TEXTURE_BINDING_CUBE_MAP: GLenum;
14673 readonly TEXTURE_CUBE_MAP: GLenum;
14674 readonly TEXTURE_CUBE_MAP_NEGATIVE_X: GLenum;
14675 readonly TEXTURE_CUBE_MAP_NEGATIVE_Y: GLenum;
14676 readonly TEXTURE_CUBE_MAP_NEGATIVE_Z: GLenum;
14677 readonly TEXTURE_CUBE_MAP_POSITIVE_X: GLenum;
14678 readonly TEXTURE_CUBE_MAP_POSITIVE_Y: GLenum;
14679 readonly TEXTURE_CUBE_MAP_POSITIVE_Z: GLenum;
14680 readonly TEXTURE_MAG_FILTER: GLenum;
14681 readonly TEXTURE_MIN_FILTER: GLenum;
14682 readonly TEXTURE_WRAP_S: GLenum;
14683 readonly TEXTURE_WRAP_T: GLenum;
14684 readonly TRIANGLES: GLenum;
14685 readonly TRIANGLE_FAN: GLenum;
14686 readonly TRIANGLE_STRIP: GLenum;
14687 readonly UNPACK_ALIGNMENT: GLenum;
14688 readonly UNPACK_COLORSPACE_CONVERSION_WEBGL: GLenum;
14689 readonly UNPACK_FLIP_Y_WEBGL: GLenum;
14690 readonly UNPACK_PREMULTIPLY_ALPHA_WEBGL: GLenum;
14691 readonly UNSIGNED_BYTE: GLenum;
14692 readonly UNSIGNED_INT: GLenum;
14693 readonly UNSIGNED_SHORT: GLenum;
14694 readonly UNSIGNED_SHORT_4_4_4_4: GLenum;
14695 readonly UNSIGNED_SHORT_5_5_5_1: GLenum;
14696 readonly UNSIGNED_SHORT_5_6_5: GLenum;
14697 readonly VALIDATE_STATUS: GLenum;
14698 readonly VENDOR: GLenum;
14699 readonly VERSION: GLenum;
14700 readonly VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: GLenum;
14701 readonly VERTEX_ATTRIB_ARRAY_ENABLED: GLenum;
14702 readonly VERTEX_ATTRIB_ARRAY_NORMALIZED: GLenum;
14703 readonly VERTEX_ATTRIB_ARRAY_POINTER: GLenum;
14704 readonly VERTEX_ATTRIB_ARRAY_SIZE: GLenum;
14705 readonly VERTEX_ATTRIB_ARRAY_STRIDE: GLenum;
14706 readonly VERTEX_ATTRIB_ARRAY_TYPE: GLenum;
14707 readonly VERTEX_SHADER: GLenum;
14708 readonly VIEWPORT: GLenum;
14709 readonly ZERO: GLenum;
14712 interface WebGL2RenderingContextBase {
14713 beginQuery(target: GLenum, query: WebGLQuery): void;
14714 beginTransformFeedback(primitiveMode: GLenum): void;
14715 bindBufferBase(target: GLenum, index: GLuint, buffer: WebGLBuffer | null): void;
14716 bindBufferRange(target: GLenum, index: GLuint, buffer: WebGLBuffer | null, offset: GLintptr, size: GLsizeiptr): void;
14717 bindSampler(unit: GLuint, sampler: WebGLSampler | null): void;
14718 bindTransformFeedback(target: GLenum, tf: WebGLTransformFeedback | null): void;
14719 bindVertexArray(array: WebGLVertexArrayObject | null): void;
14720 blitFramebuffer(srcX0: GLint, srcY0: GLint, srcX1: GLint, srcY1: GLint, dstX0: GLint, dstY0: GLint, dstX1: GLint, dstY1: GLint, mask: GLbitfield, filter: GLenum): void;
14721 clearBufferfi(buffer: GLenum, drawbuffer: GLint, depth: GLfloat, stencil: GLint): void;
14722 clearBufferfv(buffer: GLenum, drawbuffer: GLint, values: Float32List, srcOffset?: GLuint): void;
14723 clearBufferiv(buffer: GLenum, drawbuffer: GLint, values: Int32List, srcOffset?: GLuint): void;
14724 clearBufferuiv(buffer: GLenum, drawbuffer: GLint, values: Uint32List, srcOffset?: GLuint): void;
14725 clientWaitSync(sync: WebGLSync, flags: GLbitfield, timeout: GLuint64): GLenum;
14726 compressedTexImage3D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, imageSize: GLsizei, offset: GLintptr): void;
14727 compressedTexImage3D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, srcData: ArrayBufferView, srcOffset?: GLuint, srcLengthOverride?: GLuint): void;
14728 compressedTexSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, imageSize: GLsizei, offset: GLintptr): void;
14729 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;
14730 copyBufferSubData(readTarget: GLenum, writeTarget: GLenum, readOffset: GLintptr, writeOffset: GLintptr, size: GLsizeiptr): void;
14731 copyTexSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, x: GLint, y: GLint, width: GLsizei, height: GLsizei): void;
14732 createQuery(): WebGLQuery | null;
14733 createSampler(): WebGLSampler | null;
14734 createTransformFeedback(): WebGLTransformFeedback | null;
14735 createVertexArray(): WebGLVertexArrayObject | null;
14736 deleteQuery(query: WebGLQuery | null): void;
14737 deleteSampler(sampler: WebGLSampler | null): void;
14738 deleteSync(sync: WebGLSync | null): void;
14739 deleteTransformFeedback(tf: WebGLTransformFeedback | null): void;
14740 deleteVertexArray(vertexArray: WebGLVertexArrayObject | null): void;
14741 drawArraysInstanced(mode: GLenum, first: GLint, count: GLsizei, instanceCount: GLsizei): void;
14742 drawBuffers(buffers: GLenum[]): void;
14743 drawElementsInstanced(mode: GLenum, count: GLsizei, type: GLenum, offset: GLintptr, instanceCount: GLsizei): void;
14744 drawRangeElements(mode: GLenum, start: GLuint, end: GLuint, count: GLsizei, type: GLenum, offset: GLintptr): void;
14745 endQuery(target: GLenum): void;
14746 endTransformFeedback(): void;
14747 fenceSync(condition: GLenum, flags: GLbitfield): WebGLSync | null;
14748 framebufferTextureLayer(target: GLenum, attachment: GLenum, texture: WebGLTexture | null, level: GLint, layer: GLint): void;
14749 getActiveUniformBlockName(program: WebGLProgram, uniformBlockIndex: GLuint): string | null;
14750 getActiveUniformBlockParameter(program: WebGLProgram, uniformBlockIndex: GLuint, pname: GLenum): any;
14751 getActiveUniforms(program: WebGLProgram, uniformIndices: GLuint[], pname: GLenum): any;
14752 getBufferSubData(target: GLenum, srcByteOffset: GLintptr, dstBuffer: ArrayBufferView, dstOffset?: GLuint, length?: GLuint): void;
14753 getFragDataLocation(program: WebGLProgram, name: string): GLint;
14754 getIndexedParameter(target: GLenum, index: GLuint): any;
14755 getInternalformatParameter(target: GLenum, internalformat: GLenum, pname: GLenum): any;
14756 getQuery(target: GLenum, pname: GLenum): WebGLQuery | null;
14757 getQueryParameter(query: WebGLQuery, pname: GLenum): any;
14758 getSamplerParameter(sampler: WebGLSampler, pname: GLenum): any;
14759 getSyncParameter(sync: WebGLSync, pname: GLenum): any;
14760 getTransformFeedbackVarying(program: WebGLProgram, index: GLuint): WebGLActiveInfo | null;
14761 getUniformBlockIndex(program: WebGLProgram, uniformBlockName: string): GLuint;
14762 getUniformIndices(program: WebGLProgram, uniformNames: string[]): GLuint[] | null;
14763 invalidateFramebuffer(target: GLenum, attachments: GLenum[]): void;
14764 invalidateSubFramebuffer(target: GLenum, attachments: GLenum[], x: GLint, y: GLint, width: GLsizei, height: GLsizei): void;
14765 isQuery(query: WebGLQuery | null): GLboolean;
14766 isSampler(sampler: WebGLSampler | null): GLboolean;
14767 isSync(sync: WebGLSync | null): GLboolean;
14768 isTransformFeedback(tf: WebGLTransformFeedback | null): GLboolean;
14769 isVertexArray(vertexArray: WebGLVertexArrayObject | null): GLboolean;
14770 pauseTransformFeedback(): void;
14771 readBuffer(src: GLenum): void;
14772 renderbufferStorageMultisample(target: GLenum, samples: GLsizei, internalformat: GLenum, width: GLsizei, height: GLsizei): void;
14773 resumeTransformFeedback(): void;
14774 samplerParameterf(sampler: WebGLSampler, pname: GLenum, param: GLfloat): void;
14775 samplerParameteri(sampler: WebGLSampler, pname: GLenum, param: GLint): void;
14776 texImage3D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type: GLenum, pboOffset: GLintptr): void;
14777 texImage3D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type: GLenum, source: TexImageSource): void;
14778 texImage3D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type: GLenum, srcData: ArrayBufferView | null): void;
14779 texImage3D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type: GLenum, srcData: ArrayBufferView, srcOffset: GLuint): void;
14780 texStorage2D(target: GLenum, levels: GLsizei, internalformat: GLenum, width: GLsizei, height: GLsizei): void;
14781 texStorage3D(target: GLenum, levels: GLsizei, internalformat: GLenum, width: GLsizei, height: GLsizei, depth: GLsizei): void;
14782 texSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, type: GLenum, pboOffset: GLintptr): void;
14783 texSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, type: GLenum, source: TexImageSource): void;
14784 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;
14785 transformFeedbackVaryings(program: WebGLProgram, varyings: string[], bufferMode: GLenum): void;
14786 uniform1ui(location: WebGLUniformLocation | null, v0: GLuint): void;
14787 uniform1uiv(location: WebGLUniformLocation | null, data: Uint32List, srcOffset?: GLuint, srcLength?: GLuint): void;
14788 uniform2ui(location: WebGLUniformLocation | null, v0: GLuint, v1: GLuint): void;
14789 uniform2uiv(location: WebGLUniformLocation | null, data: Uint32List, srcOffset?: GLuint, srcLength?: GLuint): void;
14790 uniform3ui(location: WebGLUniformLocation | null, v0: GLuint, v1: GLuint, v2: GLuint): void;
14791 uniform3uiv(location: WebGLUniformLocation | null, data: Uint32List, srcOffset?: GLuint, srcLength?: GLuint): void;
14792 uniform4ui(location: WebGLUniformLocation | null, v0: GLuint, v1: GLuint, v2: GLuint, v3: GLuint): void;
14793 uniform4uiv(location: WebGLUniformLocation | null, data: Uint32List, srcOffset?: GLuint, srcLength?: GLuint): void;
14794 uniformBlockBinding(program: WebGLProgram, uniformBlockIndex: GLuint, uniformBlockBinding: GLuint): void;
14795 uniformMatrix2x3fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint): void;
14796 uniformMatrix2x4fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint): void;
14797 uniformMatrix3x2fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint): void;
14798 uniformMatrix3x4fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint): void;
14799 uniformMatrix4x2fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint): void;
14800 uniformMatrix4x3fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint): void;
14801 vertexAttribDivisor(index: GLuint, divisor: GLuint): void;
14802 vertexAttribI4i(index: GLuint, x: GLint, y: GLint, z: GLint, w: GLint): void;
14803 vertexAttribI4iv(index: GLuint, values: Int32List): void;
14804 vertexAttribI4ui(index: GLuint, x: GLuint, y: GLuint, z: GLuint, w: GLuint): void;
14805 vertexAttribI4uiv(index: GLuint, values: Uint32List): void;
14806 vertexAttribIPointer(index: GLuint, size: GLint, type: GLenum, stride: GLsizei, offset: GLintptr): void;
14807 waitSync(sync: WebGLSync, flags: GLbitfield, timeout: GLint64): void;
14808 readonly ACTIVE_UNIFORM_BLOCKS: GLenum;
14809 readonly ALREADY_SIGNALED: GLenum;
14810 readonly ANY_SAMPLES_PASSED: GLenum;
14811 readonly ANY_SAMPLES_PASSED_CONSERVATIVE: GLenum;
14812 readonly COLOR: GLenum;
14813 readonly COLOR_ATTACHMENT1: GLenum;
14814 readonly COLOR_ATTACHMENT10: GLenum;
14815 readonly COLOR_ATTACHMENT11: GLenum;
14816 readonly COLOR_ATTACHMENT12: GLenum;
14817 readonly COLOR_ATTACHMENT13: GLenum;
14818 readonly COLOR_ATTACHMENT14: GLenum;
14819 readonly COLOR_ATTACHMENT15: GLenum;
14820 readonly COLOR_ATTACHMENT2: GLenum;
14821 readonly COLOR_ATTACHMENT3: GLenum;
14822 readonly COLOR_ATTACHMENT4: GLenum;
14823 readonly COLOR_ATTACHMENT5: GLenum;
14824 readonly COLOR_ATTACHMENT6: GLenum;
14825 readonly COLOR_ATTACHMENT7: GLenum;
14826 readonly COLOR_ATTACHMENT8: GLenum;
14827 readonly COLOR_ATTACHMENT9: GLenum;
14828 readonly COMPARE_REF_TO_TEXTURE: GLenum;
14829 readonly CONDITION_SATISFIED: GLenum;
14830 readonly COPY_READ_BUFFER: GLenum;
14831 readonly COPY_READ_BUFFER_BINDING: GLenum;
14832 readonly COPY_WRITE_BUFFER: GLenum;
14833 readonly COPY_WRITE_BUFFER_BINDING: GLenum;
14834 readonly CURRENT_QUERY: GLenum;
14835 readonly DEPTH: GLenum;
14836 readonly DEPTH24_STENCIL8: GLenum;
14837 readonly DEPTH32F_STENCIL8: GLenum;
14838 readonly DEPTH_COMPONENT24: GLenum;
14839 readonly DEPTH_COMPONENT32F: GLenum;
14840 readonly DRAW_BUFFER0: GLenum;
14841 readonly DRAW_BUFFER1: GLenum;
14842 readonly DRAW_BUFFER10: GLenum;
14843 readonly DRAW_BUFFER11: GLenum;
14844 readonly DRAW_BUFFER12: GLenum;
14845 readonly DRAW_BUFFER13: GLenum;
14846 readonly DRAW_BUFFER14: GLenum;
14847 readonly DRAW_BUFFER15: GLenum;
14848 readonly DRAW_BUFFER2: GLenum;
14849 readonly DRAW_BUFFER3: GLenum;
14850 readonly DRAW_BUFFER4: GLenum;
14851 readonly DRAW_BUFFER5: GLenum;
14852 readonly DRAW_BUFFER6: GLenum;
14853 readonly DRAW_BUFFER7: GLenum;
14854 readonly DRAW_BUFFER8: GLenum;
14855 readonly DRAW_BUFFER9: GLenum;
14856 readonly DRAW_FRAMEBUFFER: GLenum;
14857 readonly DRAW_FRAMEBUFFER_BINDING: GLenum;
14858 readonly DYNAMIC_COPY: GLenum;
14859 readonly DYNAMIC_READ: GLenum;
14860 readonly FLOAT_32_UNSIGNED_INT_24_8_REV: GLenum;
14861 readonly FLOAT_MAT2x3: GLenum;
14862 readonly FLOAT_MAT2x4: GLenum;
14863 readonly FLOAT_MAT3x2: GLenum;
14864 readonly FLOAT_MAT3x4: GLenum;
14865 readonly FLOAT_MAT4x2: GLenum;
14866 readonly FLOAT_MAT4x3: GLenum;
14867 readonly FRAGMENT_SHADER_DERIVATIVE_HINT: GLenum;
14868 readonly FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE: GLenum;
14869 readonly FRAMEBUFFER_ATTACHMENT_BLUE_SIZE: GLenum;
14870 readonly FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING: GLenum;
14871 readonly FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE: GLenum;
14872 readonly FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE: GLenum;
14873 readonly FRAMEBUFFER_ATTACHMENT_GREEN_SIZE: GLenum;
14874 readonly FRAMEBUFFER_ATTACHMENT_RED_SIZE: GLenum;
14875 readonly FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE: GLenum;
14876 readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER: GLenum;
14877 readonly FRAMEBUFFER_DEFAULT: GLenum;
14878 readonly FRAMEBUFFER_INCOMPLETE_MULTISAMPLE: GLenum;
14879 readonly HALF_FLOAT: GLenum;
14880 readonly INTERLEAVED_ATTRIBS: GLenum;
14881 readonly INT_2_10_10_10_REV: GLenum;
14882 readonly INT_SAMPLER_2D: GLenum;
14883 readonly INT_SAMPLER_2D_ARRAY: GLenum;
14884 readonly INT_SAMPLER_3D: GLenum;
14885 readonly INT_SAMPLER_CUBE: GLenum;
14886 readonly INVALID_INDEX: GLenum;
14887 readonly MAX: GLenum;
14888 readonly MAX_3D_TEXTURE_SIZE: GLenum;
14889 readonly MAX_ARRAY_TEXTURE_LAYERS: GLenum;
14890 readonly MAX_CLIENT_WAIT_TIMEOUT_WEBGL: GLenum;
14891 readonly MAX_COLOR_ATTACHMENTS: GLenum;
14892 readonly MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS: GLenum;
14893 readonly MAX_COMBINED_UNIFORM_BLOCKS: GLenum;
14894 readonly MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS: GLenum;
14895 readonly MAX_DRAW_BUFFERS: GLenum;
14896 readonly MAX_ELEMENTS_INDICES: GLenum;
14897 readonly MAX_ELEMENTS_VERTICES: GLenum;
14898 readonly MAX_ELEMENT_INDEX: GLenum;
14899 readonly MAX_FRAGMENT_INPUT_COMPONENTS: GLenum;
14900 readonly MAX_FRAGMENT_UNIFORM_BLOCKS: GLenum;
14901 readonly MAX_FRAGMENT_UNIFORM_COMPONENTS: GLenum;
14902 readonly MAX_PROGRAM_TEXEL_OFFSET: GLenum;
14903 readonly MAX_SAMPLES: GLenum;
14904 readonly MAX_SERVER_WAIT_TIMEOUT: GLenum;
14905 readonly MAX_TEXTURE_LOD_BIAS: GLenum;
14906 readonly MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS: GLenum;
14907 readonly MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS: GLenum;
14908 readonly MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS: GLenum;
14909 readonly MAX_UNIFORM_BLOCK_SIZE: GLenum;
14910 readonly MAX_UNIFORM_BUFFER_BINDINGS: GLenum;
14911 readonly MAX_VARYING_COMPONENTS: GLenum;
14912 readonly MAX_VERTEX_OUTPUT_COMPONENTS: GLenum;
14913 readonly MAX_VERTEX_UNIFORM_BLOCKS: GLenum;
14914 readonly MAX_VERTEX_UNIFORM_COMPONENTS: GLenum;
14915 readonly MIN: GLenum;
14916 readonly MIN_PROGRAM_TEXEL_OFFSET: GLenum;
14917 readonly OBJECT_TYPE: GLenum;
14918 readonly PACK_ROW_LENGTH: GLenum;
14919 readonly PACK_SKIP_PIXELS: GLenum;
14920 readonly PACK_SKIP_ROWS: GLenum;
14921 readonly PIXEL_PACK_BUFFER: GLenum;
14922 readonly PIXEL_PACK_BUFFER_BINDING: GLenum;
14923 readonly PIXEL_UNPACK_BUFFER: GLenum;
14924 readonly PIXEL_UNPACK_BUFFER_BINDING: GLenum;
14925 readonly QUERY_RESULT: GLenum;
14926 readonly QUERY_RESULT_AVAILABLE: GLenum;
14927 readonly R11F_G11F_B10F: GLenum;
14928 readonly R16F: GLenum;
14929 readonly R16I: GLenum;
14930 readonly R16UI: GLenum;
14931 readonly R32F: GLenum;
14932 readonly R32I: GLenum;
14933 readonly R32UI: GLenum;
14934 readonly R8: GLenum;
14935 readonly R8I: GLenum;
14936 readonly R8UI: GLenum;
14937 readonly R8_SNORM: GLenum;
14938 readonly RASTERIZER_DISCARD: GLenum;
14939 readonly READ_BUFFER: GLenum;
14940 readonly READ_FRAMEBUFFER: GLenum;
14941 readonly READ_FRAMEBUFFER_BINDING: GLenum;
14942 readonly RED: GLenum;
14943 readonly RED_INTEGER: GLenum;
14944 readonly RENDERBUFFER_SAMPLES: GLenum;
14945 readonly RG: GLenum;
14946 readonly RG16F: GLenum;
14947 readonly RG16I: GLenum;
14948 readonly RG16UI: GLenum;
14949 readonly RG32F: GLenum;
14950 readonly RG32I: GLenum;
14951 readonly RG32UI: GLenum;
14952 readonly RG8: GLenum;
14953 readonly RG8I: GLenum;
14954 readonly RG8UI: GLenum;
14955 readonly RG8_SNORM: GLenum;
14956 readonly RGB10_A2: GLenum;
14957 readonly RGB10_A2UI: GLenum;
14958 readonly RGB16F: GLenum;
14959 readonly RGB16I: GLenum;
14960 readonly RGB16UI: GLenum;
14961 readonly RGB32F: GLenum;
14962 readonly RGB32I: GLenum;
14963 readonly RGB32UI: GLenum;
14964 readonly RGB8: GLenum;
14965 readonly RGB8I: GLenum;
14966 readonly RGB8UI: GLenum;
14967 readonly RGB8_SNORM: GLenum;
14968 readonly RGB9_E5: GLenum;
14969 readonly RGBA16F: GLenum;
14970 readonly RGBA16I: GLenum;
14971 readonly RGBA16UI: GLenum;
14972 readonly RGBA32F: GLenum;
14973 readonly RGBA32I: GLenum;
14974 readonly RGBA32UI: GLenum;
14975 readonly RGBA8: GLenum;
14976 readonly RGBA8I: GLenum;
14977 readonly RGBA8UI: GLenum;
14978 readonly RGBA8_SNORM: GLenum;
14979 readonly RGBA_INTEGER: GLenum;
14980 readonly RGB_INTEGER: GLenum;
14981 readonly RG_INTEGER: GLenum;
14982 readonly SAMPLER_2D_ARRAY: GLenum;
14983 readonly SAMPLER_2D_ARRAY_SHADOW: GLenum;
14984 readonly SAMPLER_2D_SHADOW: GLenum;
14985 readonly SAMPLER_3D: GLenum;
14986 readonly SAMPLER_BINDING: GLenum;
14987 readonly SAMPLER_CUBE_SHADOW: GLenum;
14988 readonly SEPARATE_ATTRIBS: GLenum;
14989 readonly SIGNALED: GLenum;
14990 readonly SIGNED_NORMALIZED: GLenum;
14991 readonly SRGB: GLenum;
14992 readonly SRGB8: GLenum;
14993 readonly SRGB8_ALPHA8: GLenum;
14994 readonly STATIC_COPY: GLenum;
14995 readonly STATIC_READ: GLenum;
14996 readonly STENCIL: GLenum;
14997 readonly STREAM_COPY: GLenum;
14998 readonly STREAM_READ: GLenum;
14999 readonly SYNC_CONDITION: GLenum;
15000 readonly SYNC_FENCE: GLenum;
15001 readonly SYNC_FLAGS: GLenum;
15002 readonly SYNC_FLUSH_COMMANDS_BIT: GLenum;
15003 readonly SYNC_GPU_COMMANDS_COMPLETE: GLenum;
15004 readonly SYNC_STATUS: GLenum;
15005 readonly TEXTURE_2D_ARRAY: GLenum;
15006 readonly TEXTURE_3D: GLenum;
15007 readonly TEXTURE_BASE_LEVEL: GLenum;
15008 readonly TEXTURE_BINDING_2D_ARRAY: GLenum;
15009 readonly TEXTURE_BINDING_3D: GLenum;
15010 readonly TEXTURE_COMPARE_FUNC: GLenum;
15011 readonly TEXTURE_COMPARE_MODE: GLenum;
15012 readonly TEXTURE_IMMUTABLE_FORMAT: GLenum;
15013 readonly TEXTURE_IMMUTABLE_LEVELS: GLenum;
15014 readonly TEXTURE_MAX_LEVEL: GLenum;
15015 readonly TEXTURE_MAX_LOD: GLenum;
15016 readonly TEXTURE_MIN_LOD: GLenum;
15017 readonly TEXTURE_WRAP_R: GLenum;
15018 readonly TIMEOUT_EXPIRED: GLenum;
15019 readonly TIMEOUT_IGNORED: GLint64;
15020 readonly TRANSFORM_FEEDBACK: GLenum;
15021 readonly TRANSFORM_FEEDBACK_ACTIVE: GLenum;
15022 readonly TRANSFORM_FEEDBACK_BINDING: GLenum;
15023 readonly TRANSFORM_FEEDBACK_BUFFER: GLenum;
15024 readonly TRANSFORM_FEEDBACK_BUFFER_BINDING: GLenum;
15025 readonly TRANSFORM_FEEDBACK_BUFFER_MODE: GLenum;
15026 readonly TRANSFORM_FEEDBACK_BUFFER_SIZE: GLenum;
15027 readonly TRANSFORM_FEEDBACK_BUFFER_START: GLenum;
15028 readonly TRANSFORM_FEEDBACK_PAUSED: GLenum;
15029 readonly TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN: GLenum;
15030 readonly TRANSFORM_FEEDBACK_VARYINGS: GLenum;
15031 readonly UNIFORM_ARRAY_STRIDE: GLenum;
15032 readonly UNIFORM_BLOCK_ACTIVE_UNIFORMS: GLenum;
15033 readonly UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES: GLenum;
15034 readonly UNIFORM_BLOCK_BINDING: GLenum;
15035 readonly UNIFORM_BLOCK_DATA_SIZE: GLenum;
15036 readonly UNIFORM_BLOCK_INDEX: GLenum;
15037 readonly UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER: GLenum;
15038 readonly UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER: GLenum;
15039 readonly UNIFORM_BUFFER: GLenum;
15040 readonly UNIFORM_BUFFER_BINDING: GLenum;
15041 readonly UNIFORM_BUFFER_OFFSET_ALIGNMENT: GLenum;
15042 readonly UNIFORM_BUFFER_SIZE: GLenum;
15043 readonly UNIFORM_BUFFER_START: GLenum;
15044 readonly UNIFORM_IS_ROW_MAJOR: GLenum;
15045 readonly UNIFORM_MATRIX_STRIDE: GLenum;
15046 readonly UNIFORM_OFFSET: GLenum;
15047 readonly UNIFORM_SIZE: GLenum;
15048 readonly UNIFORM_TYPE: GLenum;
15049 readonly UNPACK_IMAGE_HEIGHT: GLenum;
15050 readonly UNPACK_ROW_LENGTH: GLenum;
15051 readonly UNPACK_SKIP_IMAGES: GLenum;
15052 readonly UNPACK_SKIP_PIXELS: GLenum;
15053 readonly UNPACK_SKIP_ROWS: GLenum;
15054 readonly UNSIGNALED: GLenum;
15055 readonly UNSIGNED_INT_10F_11F_11F_REV: GLenum;
15056 readonly UNSIGNED_INT_24_8: GLenum;
15057 readonly UNSIGNED_INT_2_10_10_10_REV: GLenum;
15058 readonly UNSIGNED_INT_5_9_9_9_REV: GLenum;
15059 readonly UNSIGNED_INT_SAMPLER_2D: GLenum;
15060 readonly UNSIGNED_INT_SAMPLER_2D_ARRAY: GLenum;
15061 readonly UNSIGNED_INT_SAMPLER_3D: GLenum;
15062 readonly UNSIGNED_INT_SAMPLER_CUBE: GLenum;
15063 readonly UNSIGNED_INT_VEC2: GLenum;
15064 readonly UNSIGNED_INT_VEC3: GLenum;
15065 readonly UNSIGNED_INT_VEC4: GLenum;
15066 readonly UNSIGNED_NORMALIZED: GLenum;
15067 readonly VERTEX_ARRAY_BINDING: GLenum;
15068 readonly VERTEX_ATTRIB_ARRAY_DIVISOR: GLenum;
15069 readonly VERTEX_ATTRIB_ARRAY_INTEGER: GLenum;
15070 readonly WAIT_FAILED: GLenum;
15073 interface WebGL2RenderingContextOverloads {
15074 bufferData(target: GLenum, size: GLsizeiptr, usage: GLenum): void;
15075 bufferData(target: GLenum, srcData: BufferSource | null, usage: GLenum): void;
15076 bufferData(target: GLenum, srcData: ArrayBufferView, usage: GLenum, srcOffset: GLuint, length?: GLuint): void;
15077 bufferSubData(target: GLenum, dstByteOffset: GLintptr, srcData: BufferSource): void;
15078 bufferSubData(target: GLenum, dstByteOffset: GLintptr, srcData: ArrayBufferView, srcOffset: GLuint, length?: GLuint): void;
15079 compressedTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, border: GLint, imageSize: GLsizei, offset: GLintptr): void;
15080 compressedTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, border: GLint, srcData: ArrayBufferView, srcOffset?: GLuint, srcLengthOverride?: GLuint): void;
15081 compressedTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, imageSize: GLsizei, offset: GLintptr): void;
15082 compressedTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, srcData: ArrayBufferView, srcOffset?: GLuint, srcLengthOverride?: GLuint): void;
15083 readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, dstData: ArrayBufferView | null): void;
15084 readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, offset: GLintptr): void;
15085 readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, dstData: ArrayBufferView, dstOffset: GLuint): void;
15086 texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, pixels: ArrayBufferView | null): void;
15087 texImage2D(target: GLenum, level: GLint, internalformat: GLint, format: GLenum, type: GLenum, source: TexImageSource): void;
15088 texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, pboOffset: GLintptr): void;
15089 texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, source: TexImageSource): void;
15090 texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, srcData: ArrayBufferView, srcOffset: GLuint): void;
15091 texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pixels: ArrayBufferView | null): void;
15092 texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, format: GLenum, type: GLenum, source: TexImageSource): void;
15093 texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pboOffset: GLintptr): void;
15094 texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, source: TexImageSource): void;
15095 texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, srcData: ArrayBufferView, srcOffset: GLuint): void;
15096 uniform1fv(location: WebGLUniformLocation | null, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint): void;
15097 uniform1iv(location: WebGLUniformLocation | null, data: Int32List, srcOffset?: GLuint, srcLength?: GLuint): void;
15098 uniform2fv(location: WebGLUniformLocation | null, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint): void;
15099 uniform2iv(location: WebGLUniformLocation | null, data: Int32List, srcOffset?: GLuint, srcLength?: GLuint): void;
15100 uniform3fv(location: WebGLUniformLocation | null, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint): void;
15101 uniform3iv(location: WebGLUniformLocation | null, data: Int32List, srcOffset?: GLuint, srcLength?: GLuint): void;
15102 uniform4fv(location: WebGLUniformLocation | null, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint): void;
15103 uniform4iv(location: WebGLUniformLocation | null, data: Int32List, srcOffset?: GLuint, srcLength?: GLuint): void;
15104 uniformMatrix2fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint): void;
15105 uniformMatrix3fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint): void;
15106 uniformMatrix4fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint): void;
15109 /** Part of the WebGL API and represents the information returned by calling the WebGLRenderingContext.getActiveAttrib() and WebGLRenderingContext.getActiveUniform() methods. */
15110 interface WebGLActiveInfo {
15111 readonly name: string;
15112 readonly size: GLint;
15113 readonly type: GLenum;
15116 declare var WebGLActiveInfo: {
15117 prototype: WebGLActiveInfo;
15118 new(): WebGLActiveInfo;
15121 /** Part of the WebGL API and represents an opaque buffer object storing data such as vertices or colors. */
15122 interface WebGLBuffer {
15125 declare var WebGLBuffer: {
15126 prototype: WebGLBuffer;
15127 new(): WebGLBuffer;
15130 /** 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. */
15131 interface WebGLContextEvent extends Event {
15132 readonly statusMessage: string;
15135 declare var WebGLContextEvent: {
15136 prototype: WebGLContextEvent;
15137 new(type: string, eventInit?: WebGLContextEventInit): WebGLContextEvent;
15140 /** Part of the WebGL API and represents a collection of buffers that serve as a rendering destination. */
15141 interface WebGLFramebuffer {
15144 declare var WebGLFramebuffer: {
15145 prototype: WebGLFramebuffer;
15146 new(): WebGLFramebuffer;
15149 /** 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). */
15150 interface WebGLProgram {
15153 declare var WebGLProgram: {
15154 prototype: WebGLProgram;
15155 new(): WebGLProgram;
15158 interface WebGLQuery {
15161 declare var WebGLQuery: {
15162 prototype: WebGLQuery;
15166 /** Part of the WebGL API and represents a buffer that can contain an image, or can be source or target of an rendering operation. */
15167 interface WebGLRenderbuffer {
15170 declare var WebGLRenderbuffer: {
15171 prototype: WebGLRenderbuffer;
15172 new(): WebGLRenderbuffer;
15175 /** Provides an interface to the OpenGL ES 2.0 graphics rendering context for the drawing surface of an HTML <canvas> element. */
15176 interface WebGLRenderingContext extends WebGLRenderingContextBase, WebGLRenderingContextOverloads {
15179 declare var WebGLRenderingContext: {
15180 prototype: WebGLRenderingContext;
15181 new(): WebGLRenderingContext;
15182 readonly ACTIVE_ATTRIBUTES: GLenum;
15183 readonly ACTIVE_TEXTURE: GLenum;
15184 readonly ACTIVE_UNIFORMS: GLenum;
15185 readonly ALIASED_LINE_WIDTH_RANGE: GLenum;
15186 readonly ALIASED_POINT_SIZE_RANGE: GLenum;
15187 readonly ALPHA: GLenum;
15188 readonly ALPHA_BITS: GLenum;
15189 readonly ALWAYS: GLenum;
15190 readonly ARRAY_BUFFER: GLenum;
15191 readonly ARRAY_BUFFER_BINDING: GLenum;
15192 readonly ATTACHED_SHADERS: GLenum;
15193 readonly BACK: GLenum;
15194 readonly BLEND: GLenum;
15195 readonly BLEND_COLOR: GLenum;
15196 readonly BLEND_DST_ALPHA: GLenum;
15197 readonly BLEND_DST_RGB: GLenum;
15198 readonly BLEND_EQUATION: GLenum;
15199 readonly BLEND_EQUATION_ALPHA: GLenum;
15200 readonly BLEND_EQUATION_RGB: GLenum;
15201 readonly BLEND_SRC_ALPHA: GLenum;
15202 readonly BLEND_SRC_RGB: GLenum;
15203 readonly BLUE_BITS: GLenum;
15204 readonly BOOL: GLenum;
15205 readonly BOOL_VEC2: GLenum;
15206 readonly BOOL_VEC3: GLenum;
15207 readonly BOOL_VEC4: GLenum;
15208 readonly BROWSER_DEFAULT_WEBGL: GLenum;
15209 readonly BUFFER_SIZE: GLenum;
15210 readonly BUFFER_USAGE: GLenum;
15211 readonly BYTE: GLenum;
15212 readonly CCW: GLenum;
15213 readonly CLAMP_TO_EDGE: GLenum;
15214 readonly COLOR_ATTACHMENT0: GLenum;
15215 readonly COLOR_BUFFER_BIT: GLenum;
15216 readonly COLOR_CLEAR_VALUE: GLenum;
15217 readonly COLOR_WRITEMASK: GLenum;
15218 readonly COMPILE_STATUS: GLenum;
15219 readonly COMPRESSED_TEXTURE_FORMATS: GLenum;
15220 readonly CONSTANT_ALPHA: GLenum;
15221 readonly CONSTANT_COLOR: GLenum;
15222 readonly CONTEXT_LOST_WEBGL: GLenum;
15223 readonly CULL_FACE: GLenum;
15224 readonly CULL_FACE_MODE: GLenum;
15225 readonly CURRENT_PROGRAM: GLenum;
15226 readonly CURRENT_VERTEX_ATTRIB: GLenum;
15227 readonly CW: GLenum;
15228 readonly DECR: GLenum;
15229 readonly DECR_WRAP: GLenum;
15230 readonly DELETE_STATUS: GLenum;
15231 readonly DEPTH_ATTACHMENT: GLenum;
15232 readonly DEPTH_BITS: GLenum;
15233 readonly DEPTH_BUFFER_BIT: GLenum;
15234 readonly DEPTH_CLEAR_VALUE: GLenum;
15235 readonly DEPTH_COMPONENT: GLenum;
15236 readonly DEPTH_COMPONENT16: GLenum;
15237 readonly DEPTH_FUNC: GLenum;
15238 readonly DEPTH_RANGE: GLenum;
15239 readonly DEPTH_STENCIL: GLenum;
15240 readonly DEPTH_STENCIL_ATTACHMENT: GLenum;
15241 readonly DEPTH_TEST: GLenum;
15242 readonly DEPTH_WRITEMASK: GLenum;
15243 readonly DITHER: GLenum;
15244 readonly DONT_CARE: GLenum;
15245 readonly DST_ALPHA: GLenum;
15246 readonly DST_COLOR: GLenum;
15247 readonly DYNAMIC_DRAW: GLenum;
15248 readonly ELEMENT_ARRAY_BUFFER: GLenum;
15249 readonly ELEMENT_ARRAY_BUFFER_BINDING: GLenum;
15250 readonly EQUAL: GLenum;
15251 readonly FASTEST: GLenum;
15252 readonly FLOAT: GLenum;
15253 readonly FLOAT_MAT2: GLenum;
15254 readonly FLOAT_MAT3: GLenum;
15255 readonly FLOAT_MAT4: GLenum;
15256 readonly FLOAT_VEC2: GLenum;
15257 readonly FLOAT_VEC3: GLenum;
15258 readonly FLOAT_VEC4: GLenum;
15259 readonly FRAGMENT_SHADER: GLenum;
15260 readonly FRAMEBUFFER: GLenum;
15261 readonly FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: GLenum;
15262 readonly FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: GLenum;
15263 readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: GLenum;
15264 readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: GLenum;
15265 readonly FRAMEBUFFER_BINDING: GLenum;
15266 readonly FRAMEBUFFER_COMPLETE: GLenum;
15267 readonly FRAMEBUFFER_INCOMPLETE_ATTACHMENT: GLenum;
15268 readonly FRAMEBUFFER_INCOMPLETE_DIMENSIONS: GLenum;
15269 readonly FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: GLenum;
15270 readonly FRAMEBUFFER_UNSUPPORTED: GLenum;
15271 readonly FRONT: GLenum;
15272 readonly FRONT_AND_BACK: GLenum;
15273 readonly FRONT_FACE: GLenum;
15274 readonly FUNC_ADD: GLenum;
15275 readonly FUNC_REVERSE_SUBTRACT: GLenum;
15276 readonly FUNC_SUBTRACT: GLenum;
15277 readonly GENERATE_MIPMAP_HINT: GLenum;
15278 readonly GEQUAL: GLenum;
15279 readonly GREATER: GLenum;
15280 readonly GREEN_BITS: GLenum;
15281 readonly HIGH_FLOAT: GLenum;
15282 readonly HIGH_INT: GLenum;
15283 readonly IMPLEMENTATION_COLOR_READ_FORMAT: GLenum;
15284 readonly IMPLEMENTATION_COLOR_READ_TYPE: GLenum;
15285 readonly INCR: GLenum;
15286 readonly INCR_WRAP: GLenum;
15287 readonly INT: GLenum;
15288 readonly INT_VEC2: GLenum;
15289 readonly INT_VEC3: GLenum;
15290 readonly INT_VEC4: GLenum;
15291 readonly INVALID_ENUM: GLenum;
15292 readonly INVALID_FRAMEBUFFER_OPERATION: GLenum;
15293 readonly INVALID_OPERATION: GLenum;
15294 readonly INVALID_VALUE: GLenum;
15295 readonly INVERT: GLenum;
15296 readonly KEEP: GLenum;
15297 readonly LEQUAL: GLenum;
15298 readonly LESS: GLenum;
15299 readonly LINEAR: GLenum;
15300 readonly LINEAR_MIPMAP_LINEAR: GLenum;
15301 readonly LINEAR_MIPMAP_NEAREST: GLenum;
15302 readonly LINES: GLenum;
15303 readonly LINE_LOOP: GLenum;
15304 readonly LINE_STRIP: GLenum;
15305 readonly LINE_WIDTH: GLenum;
15306 readonly LINK_STATUS: GLenum;
15307 readonly LOW_FLOAT: GLenum;
15308 readonly LOW_INT: GLenum;
15309 readonly LUMINANCE: GLenum;
15310 readonly LUMINANCE_ALPHA: GLenum;
15311 readonly MAX_COMBINED_TEXTURE_IMAGE_UNITS: GLenum;
15312 readonly MAX_CUBE_MAP_TEXTURE_SIZE: GLenum;
15313 readonly MAX_FRAGMENT_UNIFORM_VECTORS: GLenum;
15314 readonly MAX_RENDERBUFFER_SIZE: GLenum;
15315 readonly MAX_TEXTURE_IMAGE_UNITS: GLenum;
15316 readonly MAX_TEXTURE_SIZE: GLenum;
15317 readonly MAX_VARYING_VECTORS: GLenum;
15318 readonly MAX_VERTEX_ATTRIBS: GLenum;
15319 readonly MAX_VERTEX_TEXTURE_IMAGE_UNITS: GLenum;
15320 readonly MAX_VERTEX_UNIFORM_VECTORS: GLenum;
15321 readonly MAX_VIEWPORT_DIMS: GLenum;
15322 readonly MEDIUM_FLOAT: GLenum;
15323 readonly MEDIUM_INT: GLenum;
15324 readonly MIRRORED_REPEAT: GLenum;
15325 readonly NEAREST: GLenum;
15326 readonly NEAREST_MIPMAP_LINEAR: GLenum;
15327 readonly NEAREST_MIPMAP_NEAREST: GLenum;
15328 readonly NEVER: GLenum;
15329 readonly NICEST: GLenum;
15330 readonly NONE: GLenum;
15331 readonly NOTEQUAL: GLenum;
15332 readonly NO_ERROR: GLenum;
15333 readonly ONE: GLenum;
15334 readonly ONE_MINUS_CONSTANT_ALPHA: GLenum;
15335 readonly ONE_MINUS_CONSTANT_COLOR: GLenum;
15336 readonly ONE_MINUS_DST_ALPHA: GLenum;
15337 readonly ONE_MINUS_DST_COLOR: GLenum;
15338 readonly ONE_MINUS_SRC_ALPHA: GLenum;
15339 readonly ONE_MINUS_SRC_COLOR: GLenum;
15340 readonly OUT_OF_MEMORY: GLenum;
15341 readonly PACK_ALIGNMENT: GLenum;
15342 readonly POINTS: GLenum;
15343 readonly POLYGON_OFFSET_FACTOR: GLenum;
15344 readonly POLYGON_OFFSET_FILL: GLenum;
15345 readonly POLYGON_OFFSET_UNITS: GLenum;
15346 readonly RED_BITS: GLenum;
15347 readonly RENDERBUFFER: GLenum;
15348 readonly RENDERBUFFER_ALPHA_SIZE: GLenum;
15349 readonly RENDERBUFFER_BINDING: GLenum;
15350 readonly RENDERBUFFER_BLUE_SIZE: GLenum;
15351 readonly RENDERBUFFER_DEPTH_SIZE: GLenum;
15352 readonly RENDERBUFFER_GREEN_SIZE: GLenum;
15353 readonly RENDERBUFFER_HEIGHT: GLenum;
15354 readonly RENDERBUFFER_INTERNAL_FORMAT: GLenum;
15355 readonly RENDERBUFFER_RED_SIZE: GLenum;
15356 readonly RENDERBUFFER_STENCIL_SIZE: GLenum;
15357 readonly RENDERBUFFER_WIDTH: GLenum;
15358 readonly RENDERER: GLenum;
15359 readonly REPEAT: GLenum;
15360 readonly REPLACE: GLenum;
15361 readonly RGB: GLenum;
15362 readonly RGB565: GLenum;
15363 readonly RGB5_A1: GLenum;
15364 readonly RGBA: GLenum;
15365 readonly RGBA4: GLenum;
15366 readonly SAMPLER_2D: GLenum;
15367 readonly SAMPLER_CUBE: GLenum;
15368 readonly SAMPLES: GLenum;
15369 readonly SAMPLE_ALPHA_TO_COVERAGE: GLenum;
15370 readonly SAMPLE_BUFFERS: GLenum;
15371 readonly SAMPLE_COVERAGE: GLenum;
15372 readonly SAMPLE_COVERAGE_INVERT: GLenum;
15373 readonly SAMPLE_COVERAGE_VALUE: GLenum;
15374 readonly SCISSOR_BOX: GLenum;
15375 readonly SCISSOR_TEST: GLenum;
15376 readonly SHADER_TYPE: GLenum;
15377 readonly SHADING_LANGUAGE_VERSION: GLenum;
15378 readonly SHORT: GLenum;
15379 readonly SRC_ALPHA: GLenum;
15380 readonly SRC_ALPHA_SATURATE: GLenum;
15381 readonly SRC_COLOR: GLenum;
15382 readonly STATIC_DRAW: GLenum;
15383 readonly STENCIL_ATTACHMENT: GLenum;
15384 readonly STENCIL_BACK_FAIL: GLenum;
15385 readonly STENCIL_BACK_FUNC: GLenum;
15386 readonly STENCIL_BACK_PASS_DEPTH_FAIL: GLenum;
15387 readonly STENCIL_BACK_PASS_DEPTH_PASS: GLenum;
15388 readonly STENCIL_BACK_REF: GLenum;
15389 readonly STENCIL_BACK_VALUE_MASK: GLenum;
15390 readonly STENCIL_BACK_WRITEMASK: GLenum;
15391 readonly STENCIL_BITS: GLenum;
15392 readonly STENCIL_BUFFER_BIT: GLenum;
15393 readonly STENCIL_CLEAR_VALUE: GLenum;
15394 readonly STENCIL_FAIL: GLenum;
15395 readonly STENCIL_FUNC: GLenum;
15396 readonly STENCIL_INDEX8: GLenum;
15397 readonly STENCIL_PASS_DEPTH_FAIL: GLenum;
15398 readonly STENCIL_PASS_DEPTH_PASS: GLenum;
15399 readonly STENCIL_REF: GLenum;
15400 readonly STENCIL_TEST: GLenum;
15401 readonly STENCIL_VALUE_MASK: GLenum;
15402 readonly STENCIL_WRITEMASK: GLenum;
15403 readonly STREAM_DRAW: GLenum;
15404 readonly SUBPIXEL_BITS: GLenum;
15405 readonly TEXTURE: GLenum;
15406 readonly TEXTURE0: GLenum;
15407 readonly TEXTURE1: GLenum;
15408 readonly TEXTURE10: GLenum;
15409 readonly TEXTURE11: GLenum;
15410 readonly TEXTURE12: GLenum;
15411 readonly TEXTURE13: GLenum;
15412 readonly TEXTURE14: GLenum;
15413 readonly TEXTURE15: GLenum;
15414 readonly TEXTURE16: GLenum;
15415 readonly TEXTURE17: GLenum;
15416 readonly TEXTURE18: GLenum;
15417 readonly TEXTURE19: GLenum;
15418 readonly TEXTURE2: GLenum;
15419 readonly TEXTURE20: GLenum;
15420 readonly TEXTURE21: GLenum;
15421 readonly TEXTURE22: GLenum;
15422 readonly TEXTURE23: GLenum;
15423 readonly TEXTURE24: GLenum;
15424 readonly TEXTURE25: GLenum;
15425 readonly TEXTURE26: GLenum;
15426 readonly TEXTURE27: GLenum;
15427 readonly TEXTURE28: GLenum;
15428 readonly TEXTURE29: GLenum;
15429 readonly TEXTURE3: GLenum;
15430 readonly TEXTURE30: GLenum;
15431 readonly TEXTURE31: GLenum;
15432 readonly TEXTURE4: GLenum;
15433 readonly TEXTURE5: GLenum;
15434 readonly TEXTURE6: GLenum;
15435 readonly TEXTURE7: GLenum;
15436 readonly TEXTURE8: GLenum;
15437 readonly TEXTURE9: GLenum;
15438 readonly TEXTURE_2D: GLenum;
15439 readonly TEXTURE_BINDING_2D: GLenum;
15440 readonly TEXTURE_BINDING_CUBE_MAP: GLenum;
15441 readonly TEXTURE_CUBE_MAP: GLenum;
15442 readonly TEXTURE_CUBE_MAP_NEGATIVE_X: GLenum;
15443 readonly TEXTURE_CUBE_MAP_NEGATIVE_Y: GLenum;
15444 readonly TEXTURE_CUBE_MAP_NEGATIVE_Z: GLenum;
15445 readonly TEXTURE_CUBE_MAP_POSITIVE_X: GLenum;
15446 readonly TEXTURE_CUBE_MAP_POSITIVE_Y: GLenum;
15447 readonly TEXTURE_CUBE_MAP_POSITIVE_Z: GLenum;
15448 readonly TEXTURE_MAG_FILTER: GLenum;
15449 readonly TEXTURE_MIN_FILTER: GLenum;
15450 readonly TEXTURE_WRAP_S: GLenum;
15451 readonly TEXTURE_WRAP_T: GLenum;
15452 readonly TRIANGLES: GLenum;
15453 readonly TRIANGLE_FAN: GLenum;
15454 readonly TRIANGLE_STRIP: GLenum;
15455 readonly UNPACK_ALIGNMENT: GLenum;
15456 readonly UNPACK_COLORSPACE_CONVERSION_WEBGL: GLenum;
15457 readonly UNPACK_FLIP_Y_WEBGL: GLenum;
15458 readonly UNPACK_PREMULTIPLY_ALPHA_WEBGL: GLenum;
15459 readonly UNSIGNED_BYTE: GLenum;
15460 readonly UNSIGNED_INT: GLenum;
15461 readonly UNSIGNED_SHORT: GLenum;
15462 readonly UNSIGNED_SHORT_4_4_4_4: GLenum;
15463 readonly UNSIGNED_SHORT_5_5_5_1: GLenum;
15464 readonly UNSIGNED_SHORT_5_6_5: GLenum;
15465 readonly VALIDATE_STATUS: GLenum;
15466 readonly VENDOR: GLenum;
15467 readonly VERSION: GLenum;
15468 readonly VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: GLenum;
15469 readonly VERTEX_ATTRIB_ARRAY_ENABLED: GLenum;
15470 readonly VERTEX_ATTRIB_ARRAY_NORMALIZED: GLenum;
15471 readonly VERTEX_ATTRIB_ARRAY_POINTER: GLenum;
15472 readonly VERTEX_ATTRIB_ARRAY_SIZE: GLenum;
15473 readonly VERTEX_ATTRIB_ARRAY_STRIDE: GLenum;
15474 readonly VERTEX_ATTRIB_ARRAY_TYPE: GLenum;
15475 readonly VERTEX_SHADER: GLenum;
15476 readonly VIEWPORT: GLenum;
15477 readonly ZERO: GLenum;
15480 interface WebGLRenderingContextBase {
15481 readonly canvas: HTMLCanvasElement;
15482 readonly drawingBufferHeight: GLsizei;
15483 readonly drawingBufferWidth: GLsizei;
15484 activeTexture(texture: GLenum): void;
15485 attachShader(program: WebGLProgram, shader: WebGLShader): void;
15486 bindAttribLocation(program: WebGLProgram, index: GLuint, name: string): void;
15487 bindBuffer(target: GLenum, buffer: WebGLBuffer | null): void;
15488 bindFramebuffer(target: GLenum, framebuffer: WebGLFramebuffer | null): void;
15489 bindRenderbuffer(target: GLenum, renderbuffer: WebGLRenderbuffer | null): void;
15490 bindTexture(target: GLenum, texture: WebGLTexture | null): void;
15491 blendColor(red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf): void;
15492 blendEquation(mode: GLenum): void;
15493 blendEquationSeparate(modeRGB: GLenum, modeAlpha: GLenum): void;
15494 blendFunc(sfactor: GLenum, dfactor: GLenum): void;
15495 blendFuncSeparate(srcRGB: GLenum, dstRGB: GLenum, srcAlpha: GLenum, dstAlpha: GLenum): void;
15496 checkFramebufferStatus(target: GLenum): GLenum;
15497 clear(mask: GLbitfield): void;
15498 clearColor(red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf): void;
15499 clearDepth(depth: GLclampf): void;
15500 clearStencil(s: GLint): void;
15501 colorMask(red: GLboolean, green: GLboolean, blue: GLboolean, alpha: GLboolean): void;
15502 compileShader(shader: WebGLShader): void;
15503 copyTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, x: GLint, y: GLint, width: GLsizei, height: GLsizei, border: GLint): void;
15504 copyTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, x: GLint, y: GLint, width: GLsizei, height: GLsizei): void;
15505 createBuffer(): WebGLBuffer | null;
15506 createFramebuffer(): WebGLFramebuffer | null;
15507 createProgram(): WebGLProgram | null;
15508 createRenderbuffer(): WebGLRenderbuffer | null;
15509 createShader(type: GLenum): WebGLShader | null;
15510 createTexture(): WebGLTexture | null;
15511 cullFace(mode: GLenum): void;
15512 deleteBuffer(buffer: WebGLBuffer | null): void;
15513 deleteFramebuffer(framebuffer: WebGLFramebuffer | null): void;
15514 deleteProgram(program: WebGLProgram | null): void;
15515 deleteRenderbuffer(renderbuffer: WebGLRenderbuffer | null): void;
15516 deleteShader(shader: WebGLShader | null): void;
15517 deleteTexture(texture: WebGLTexture | null): void;
15518 depthFunc(func: GLenum): void;
15519 depthMask(flag: GLboolean): void;
15520 depthRange(zNear: GLclampf, zFar: GLclampf): void;
15521 detachShader(program: WebGLProgram, shader: WebGLShader): void;
15522 disable(cap: GLenum): void;
15523 disableVertexAttribArray(index: GLuint): void;
15524 drawArrays(mode: GLenum, first: GLint, count: GLsizei): void;
15525 drawElements(mode: GLenum, count: GLsizei, type: GLenum, offset: GLintptr): void;
15526 enable(cap: GLenum): void;
15527 enableVertexAttribArray(index: GLuint): void;
15530 framebufferRenderbuffer(target: GLenum, attachment: GLenum, renderbuffertarget: GLenum, renderbuffer: WebGLRenderbuffer | null): void;
15531 framebufferTexture2D(target: GLenum, attachment: GLenum, textarget: GLenum, texture: WebGLTexture | null, level: GLint): void;
15532 frontFace(mode: GLenum): void;
15533 generateMipmap(target: GLenum): void;
15534 getActiveAttrib(program: WebGLProgram, index: GLuint): WebGLActiveInfo | null;
15535 getActiveUniform(program: WebGLProgram, index: GLuint): WebGLActiveInfo | null;
15536 getAttachedShaders(program: WebGLProgram): WebGLShader[] | null;
15537 getAttribLocation(program: WebGLProgram, name: string): GLint;
15538 getBufferParameter(target: GLenum, pname: GLenum): any;
15539 getContextAttributes(): WebGLContextAttributes | null;
15540 getError(): GLenum;
15541 getExtension(extensionName: "EXT_blend_minmax"): EXT_blend_minmax | null;
15542 getExtension(extensionName: "EXT_color_buffer_float"): EXT_color_buffer_float | null;
15543 getExtension(extensionName: "EXT_color_buffer_half_float"): EXT_color_buffer_half_float | null;
15544 getExtension(extensionName: "EXT_float_blend"): EXT_float_blend | null;
15545 getExtension(extensionName: "EXT_texture_filter_anisotropic"): EXT_texture_filter_anisotropic | null;
15546 getExtension(extensionName: "EXT_frag_depth"): EXT_frag_depth | null;
15547 getExtension(extensionName: "EXT_shader_texture_lod"): EXT_shader_texture_lod | null;
15548 getExtension(extensionName: "EXT_sRGB"): EXT_sRGB | null;
15549 getExtension(extensionName: "KHR_parallel_shader_compile"): KHR_parallel_shader_compile | null;
15550 getExtension(extensionName: "OES_vertex_array_object"): OES_vertex_array_object | null;
15551 getExtension(extensionName: "OVR_multiview2"): OVR_multiview2 | null;
15552 getExtension(extensionName: "WEBGL_color_buffer_float"): WEBGL_color_buffer_float | null;
15553 getExtension(extensionName: "WEBGL_compressed_texture_astc"): WEBGL_compressed_texture_astc | null;
15554 getExtension(extensionName: "WEBGL_compressed_texture_etc"): WEBGL_compressed_texture_etc | null;
15555 getExtension(extensionName: "WEBGL_compressed_texture_etc1"): WEBGL_compressed_texture_etc1 | null;
15556 getExtension(extensionName: "WEBGL_compressed_texture_pvrtc"): WEBGL_compressed_texture_pvrtc | null;
15557 getExtension(extensionName: "WEBGL_compressed_texture_s3tc_srgb"): WEBGL_compressed_texture_s3tc_srgb | null;
15558 getExtension(extensionName: "WEBGL_debug_shaders"): WEBGL_debug_shaders | null;
15559 getExtension(extensionName: "WEBGL_draw_buffers"): WEBGL_draw_buffers | null;
15560 getExtension(extensionName: "WEBGL_lose_context"): WEBGL_lose_context | null;
15561 getExtension(extensionName: "WEBGL_depth_texture"): WEBGL_depth_texture | null;
15562 getExtension(extensionName: "WEBGL_debug_renderer_info"): WEBGL_debug_renderer_info | null;
15563 getExtension(extensionName: "WEBGL_compressed_texture_s3tc"): WEBGL_compressed_texture_s3tc | null;
15564 getExtension(extensionName: "OES_texture_half_float_linear"): OES_texture_half_float_linear | null;
15565 getExtension(extensionName: "OES_texture_half_float"): OES_texture_half_float | null;
15566 getExtension(extensionName: "OES_texture_float_linear"): OES_texture_float_linear | null;
15567 getExtension(extensionName: "OES_texture_float"): OES_texture_float | null;
15568 getExtension(extensionName: "OES_standard_derivatives"): OES_standard_derivatives | null;
15569 getExtension(extensionName: "OES_element_index_uint"): OES_element_index_uint | null;
15570 getExtension(extensionName: "ANGLE_instanced_arrays"): ANGLE_instanced_arrays | null;
15571 getExtension(name: string): any;
15572 getFramebufferAttachmentParameter(target: GLenum, attachment: GLenum, pname: GLenum): any;
15573 getParameter(pname: GLenum): any;
15574 getProgramInfoLog(program: WebGLProgram): string | null;
15575 getProgramParameter(program: WebGLProgram, pname: GLenum): any;
15576 getRenderbufferParameter(target: GLenum, pname: GLenum): any;
15577 getShaderInfoLog(shader: WebGLShader): string | null;
15578 getShaderParameter(shader: WebGLShader, pname: GLenum): any;
15579 getShaderPrecisionFormat(shadertype: GLenum, precisiontype: GLenum): WebGLShaderPrecisionFormat | null;
15580 getShaderSource(shader: WebGLShader): string | null;
15581 getSupportedExtensions(): string[] | null;
15582 getTexParameter(target: GLenum, pname: GLenum): any;
15583 getUniform(program: WebGLProgram, location: WebGLUniformLocation): any;
15584 getUniformLocation(program: WebGLProgram, name: string): WebGLUniformLocation | null;
15585 getVertexAttrib(index: GLuint, pname: GLenum): any;
15586 getVertexAttribOffset(index: GLuint, pname: GLenum): GLintptr;
15587 hint(target: GLenum, mode: GLenum): void;
15588 isBuffer(buffer: WebGLBuffer | null): GLboolean;
15589 isContextLost(): boolean;
15590 isEnabled(cap: GLenum): GLboolean;
15591 isFramebuffer(framebuffer: WebGLFramebuffer | null): GLboolean;
15592 isProgram(program: WebGLProgram | null): GLboolean;
15593 isRenderbuffer(renderbuffer: WebGLRenderbuffer | null): GLboolean;
15594 isShader(shader: WebGLShader | null): GLboolean;
15595 isTexture(texture: WebGLTexture | null): GLboolean;
15596 lineWidth(width: GLfloat): void;
15597 linkProgram(program: WebGLProgram): void;
15598 pixelStorei(pname: GLenum, param: GLint | GLboolean): void;
15599 polygonOffset(factor: GLfloat, units: GLfloat): void;
15600 renderbufferStorage(target: GLenum, internalformat: GLenum, width: GLsizei, height: GLsizei): void;
15601 sampleCoverage(value: GLclampf, invert: GLboolean): void;
15602 scissor(x: GLint, y: GLint, width: GLsizei, height: GLsizei): void;
15603 shaderSource(shader: WebGLShader, source: string): void;
15604 stencilFunc(func: GLenum, ref: GLint, mask: GLuint): void;
15605 stencilFuncSeparate(face: GLenum, func: GLenum, ref: GLint, mask: GLuint): void;
15606 stencilMask(mask: GLuint): void;
15607 stencilMaskSeparate(face: GLenum, mask: GLuint): void;
15608 stencilOp(fail: GLenum, zfail: GLenum, zpass: GLenum): void;
15609 stencilOpSeparate(face: GLenum, fail: GLenum, zfail: GLenum, zpass: GLenum): void;
15610 texParameterf(target: GLenum, pname: GLenum, param: GLfloat): void;
15611 texParameteri(target: GLenum, pname: GLenum, param: GLint): void;
15612 uniform1f(location: WebGLUniformLocation | null, x: GLfloat): void;
15613 uniform1i(location: WebGLUniformLocation | null, x: GLint): void;
15614 uniform2f(location: WebGLUniformLocation | null, x: GLfloat, y: GLfloat): void;
15615 uniform2i(location: WebGLUniformLocation | null, x: GLint, y: GLint): void;
15616 uniform3f(location: WebGLUniformLocation | null, x: GLfloat, y: GLfloat, z: GLfloat): void;
15617 uniform3i(location: WebGLUniformLocation | null, x: GLint, y: GLint, z: GLint): void;
15618 uniform4f(location: WebGLUniformLocation | null, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat): void;
15619 uniform4i(location: WebGLUniformLocation | null, x: GLint, y: GLint, z: GLint, w: GLint): void;
15620 useProgram(program: WebGLProgram | null): void;
15621 validateProgram(program: WebGLProgram): void;
15622 vertexAttrib1f(index: GLuint, x: GLfloat): void;
15623 vertexAttrib1fv(index: GLuint, values: Float32List): void;
15624 vertexAttrib2f(index: GLuint, x: GLfloat, y: GLfloat): void;
15625 vertexAttrib2fv(index: GLuint, values: Float32List): void;
15626 vertexAttrib3f(index: GLuint, x: GLfloat, y: GLfloat, z: GLfloat): void;
15627 vertexAttrib3fv(index: GLuint, values: Float32List): void;
15628 vertexAttrib4f(index: GLuint, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat): void;
15629 vertexAttrib4fv(index: GLuint, values: Float32List): void;
15630 vertexAttribPointer(index: GLuint, size: GLint, type: GLenum, normalized: GLboolean, stride: GLsizei, offset: GLintptr): void;
15631 viewport(x: GLint, y: GLint, width: GLsizei, height: GLsizei): void;
15632 readonly ACTIVE_ATTRIBUTES: GLenum;
15633 readonly ACTIVE_TEXTURE: GLenum;
15634 readonly ACTIVE_UNIFORMS: GLenum;
15635 readonly ALIASED_LINE_WIDTH_RANGE: GLenum;
15636 readonly ALIASED_POINT_SIZE_RANGE: GLenum;
15637 readonly ALPHA: GLenum;
15638 readonly ALPHA_BITS: GLenum;
15639 readonly ALWAYS: GLenum;
15640 readonly ARRAY_BUFFER: GLenum;
15641 readonly ARRAY_BUFFER_BINDING: GLenum;
15642 readonly ATTACHED_SHADERS: GLenum;
15643 readonly BACK: GLenum;
15644 readonly BLEND: GLenum;
15645 readonly BLEND_COLOR: GLenum;
15646 readonly BLEND_DST_ALPHA: GLenum;
15647 readonly BLEND_DST_RGB: GLenum;
15648 readonly BLEND_EQUATION: GLenum;
15649 readonly BLEND_EQUATION_ALPHA: GLenum;
15650 readonly BLEND_EQUATION_RGB: GLenum;
15651 readonly BLEND_SRC_ALPHA: GLenum;
15652 readonly BLEND_SRC_RGB: GLenum;
15653 readonly BLUE_BITS: GLenum;
15654 readonly BOOL: GLenum;
15655 readonly BOOL_VEC2: GLenum;
15656 readonly BOOL_VEC3: GLenum;
15657 readonly BOOL_VEC4: GLenum;
15658 readonly BROWSER_DEFAULT_WEBGL: GLenum;
15659 readonly BUFFER_SIZE: GLenum;
15660 readonly BUFFER_USAGE: GLenum;
15661 readonly BYTE: GLenum;
15662 readonly CCW: GLenum;
15663 readonly CLAMP_TO_EDGE: GLenum;
15664 readonly COLOR_ATTACHMENT0: GLenum;
15665 readonly COLOR_BUFFER_BIT: GLenum;
15666 readonly COLOR_CLEAR_VALUE: GLenum;
15667 readonly COLOR_WRITEMASK: GLenum;
15668 readonly COMPILE_STATUS: GLenum;
15669 readonly COMPRESSED_TEXTURE_FORMATS: GLenum;
15670 readonly CONSTANT_ALPHA: GLenum;
15671 readonly CONSTANT_COLOR: GLenum;
15672 readonly CONTEXT_LOST_WEBGL: GLenum;
15673 readonly CULL_FACE: GLenum;
15674 readonly CULL_FACE_MODE: GLenum;
15675 readonly CURRENT_PROGRAM: GLenum;
15676 readonly CURRENT_VERTEX_ATTRIB: GLenum;
15677 readonly CW: GLenum;
15678 readonly DECR: GLenum;
15679 readonly DECR_WRAP: GLenum;
15680 readonly DELETE_STATUS: GLenum;
15681 readonly DEPTH_ATTACHMENT: GLenum;
15682 readonly DEPTH_BITS: GLenum;
15683 readonly DEPTH_BUFFER_BIT: GLenum;
15684 readonly DEPTH_CLEAR_VALUE: GLenum;
15685 readonly DEPTH_COMPONENT: GLenum;
15686 readonly DEPTH_COMPONENT16: GLenum;
15687 readonly DEPTH_FUNC: GLenum;
15688 readonly DEPTH_RANGE: GLenum;
15689 readonly DEPTH_STENCIL: GLenum;
15690 readonly DEPTH_STENCIL_ATTACHMENT: GLenum;
15691 readonly DEPTH_TEST: GLenum;
15692 readonly DEPTH_WRITEMASK: GLenum;
15693 readonly DITHER: GLenum;
15694 readonly DONT_CARE: GLenum;
15695 readonly DST_ALPHA: GLenum;
15696 readonly DST_COLOR: GLenum;
15697 readonly DYNAMIC_DRAW: GLenum;
15698 readonly ELEMENT_ARRAY_BUFFER: GLenum;
15699 readonly ELEMENT_ARRAY_BUFFER_BINDING: GLenum;
15700 readonly EQUAL: GLenum;
15701 readonly FASTEST: GLenum;
15702 readonly FLOAT: GLenum;
15703 readonly FLOAT_MAT2: GLenum;
15704 readonly FLOAT_MAT3: GLenum;
15705 readonly FLOAT_MAT4: GLenum;
15706 readonly FLOAT_VEC2: GLenum;
15707 readonly FLOAT_VEC3: GLenum;
15708 readonly FLOAT_VEC4: GLenum;
15709 readonly FRAGMENT_SHADER: GLenum;
15710 readonly FRAMEBUFFER: GLenum;
15711 readonly FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: GLenum;
15712 readonly FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: GLenum;
15713 readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: GLenum;
15714 readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: GLenum;
15715 readonly FRAMEBUFFER_BINDING: GLenum;
15716 readonly FRAMEBUFFER_COMPLETE: GLenum;
15717 readonly FRAMEBUFFER_INCOMPLETE_ATTACHMENT: GLenum;
15718 readonly FRAMEBUFFER_INCOMPLETE_DIMENSIONS: GLenum;
15719 readonly FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: GLenum;
15720 readonly FRAMEBUFFER_UNSUPPORTED: GLenum;
15721 readonly FRONT: GLenum;
15722 readonly FRONT_AND_BACK: GLenum;
15723 readonly FRONT_FACE: GLenum;
15724 readonly FUNC_ADD: GLenum;
15725 readonly FUNC_REVERSE_SUBTRACT: GLenum;
15726 readonly FUNC_SUBTRACT: GLenum;
15727 readonly GENERATE_MIPMAP_HINT: GLenum;
15728 readonly GEQUAL: GLenum;
15729 readonly GREATER: GLenum;
15730 readonly GREEN_BITS: GLenum;
15731 readonly HIGH_FLOAT: GLenum;
15732 readonly HIGH_INT: GLenum;
15733 readonly IMPLEMENTATION_COLOR_READ_FORMAT: GLenum;
15734 readonly IMPLEMENTATION_COLOR_READ_TYPE: GLenum;
15735 readonly INCR: GLenum;
15736 readonly INCR_WRAP: GLenum;
15737 readonly INT: GLenum;
15738 readonly INT_VEC2: GLenum;
15739 readonly INT_VEC3: GLenum;
15740 readonly INT_VEC4: GLenum;
15741 readonly INVALID_ENUM: GLenum;
15742 readonly INVALID_FRAMEBUFFER_OPERATION: GLenum;
15743 readonly INVALID_OPERATION: GLenum;
15744 readonly INVALID_VALUE: GLenum;
15745 readonly INVERT: GLenum;
15746 readonly KEEP: GLenum;
15747 readonly LEQUAL: GLenum;
15748 readonly LESS: GLenum;
15749 readonly LINEAR: GLenum;
15750 readonly LINEAR_MIPMAP_LINEAR: GLenum;
15751 readonly LINEAR_MIPMAP_NEAREST: GLenum;
15752 readonly LINES: GLenum;
15753 readonly LINE_LOOP: GLenum;
15754 readonly LINE_STRIP: GLenum;
15755 readonly LINE_WIDTH: GLenum;
15756 readonly LINK_STATUS: GLenum;
15757 readonly LOW_FLOAT: GLenum;
15758 readonly LOW_INT: GLenum;
15759 readonly LUMINANCE: GLenum;
15760 readonly LUMINANCE_ALPHA: GLenum;
15761 readonly MAX_COMBINED_TEXTURE_IMAGE_UNITS: GLenum;
15762 readonly MAX_CUBE_MAP_TEXTURE_SIZE: GLenum;
15763 readonly MAX_FRAGMENT_UNIFORM_VECTORS: GLenum;
15764 readonly MAX_RENDERBUFFER_SIZE: GLenum;
15765 readonly MAX_TEXTURE_IMAGE_UNITS: GLenum;
15766 readonly MAX_TEXTURE_SIZE: GLenum;
15767 readonly MAX_VARYING_VECTORS: GLenum;
15768 readonly MAX_VERTEX_ATTRIBS: GLenum;
15769 readonly MAX_VERTEX_TEXTURE_IMAGE_UNITS: GLenum;
15770 readonly MAX_VERTEX_UNIFORM_VECTORS: GLenum;
15771 readonly MAX_VIEWPORT_DIMS: GLenum;
15772 readonly MEDIUM_FLOAT: GLenum;
15773 readonly MEDIUM_INT: GLenum;
15774 readonly MIRRORED_REPEAT: GLenum;
15775 readonly NEAREST: GLenum;
15776 readonly NEAREST_MIPMAP_LINEAR: GLenum;
15777 readonly NEAREST_MIPMAP_NEAREST: GLenum;
15778 readonly NEVER: GLenum;
15779 readonly NICEST: GLenum;
15780 readonly NONE: GLenum;
15781 readonly NOTEQUAL: GLenum;
15782 readonly NO_ERROR: GLenum;
15783 readonly ONE: GLenum;
15784 readonly ONE_MINUS_CONSTANT_ALPHA: GLenum;
15785 readonly ONE_MINUS_CONSTANT_COLOR: GLenum;
15786 readonly ONE_MINUS_DST_ALPHA: GLenum;
15787 readonly ONE_MINUS_DST_COLOR: GLenum;
15788 readonly ONE_MINUS_SRC_ALPHA: GLenum;
15789 readonly ONE_MINUS_SRC_COLOR: GLenum;
15790 readonly OUT_OF_MEMORY: GLenum;
15791 readonly PACK_ALIGNMENT: GLenum;
15792 readonly POINTS: GLenum;
15793 readonly POLYGON_OFFSET_FACTOR: GLenum;
15794 readonly POLYGON_OFFSET_FILL: GLenum;
15795 readonly POLYGON_OFFSET_UNITS: GLenum;
15796 readonly RED_BITS: GLenum;
15797 readonly RENDERBUFFER: GLenum;
15798 readonly RENDERBUFFER_ALPHA_SIZE: GLenum;
15799 readonly RENDERBUFFER_BINDING: GLenum;
15800 readonly RENDERBUFFER_BLUE_SIZE: GLenum;
15801 readonly RENDERBUFFER_DEPTH_SIZE: GLenum;
15802 readonly RENDERBUFFER_GREEN_SIZE: GLenum;
15803 readonly RENDERBUFFER_HEIGHT: GLenum;
15804 readonly RENDERBUFFER_INTERNAL_FORMAT: GLenum;
15805 readonly RENDERBUFFER_RED_SIZE: GLenum;
15806 readonly RENDERBUFFER_STENCIL_SIZE: GLenum;
15807 readonly RENDERBUFFER_WIDTH: GLenum;
15808 readonly RENDERER: GLenum;
15809 readonly REPEAT: GLenum;
15810 readonly REPLACE: GLenum;
15811 readonly RGB: GLenum;
15812 readonly RGB565: GLenum;
15813 readonly RGB5_A1: GLenum;
15814 readonly RGBA: GLenum;
15815 readonly RGBA4: GLenum;
15816 readonly SAMPLER_2D: GLenum;
15817 readonly SAMPLER_CUBE: GLenum;
15818 readonly SAMPLES: GLenum;
15819 readonly SAMPLE_ALPHA_TO_COVERAGE: GLenum;
15820 readonly SAMPLE_BUFFERS: GLenum;
15821 readonly SAMPLE_COVERAGE: GLenum;
15822 readonly SAMPLE_COVERAGE_INVERT: GLenum;
15823 readonly SAMPLE_COVERAGE_VALUE: GLenum;
15824 readonly SCISSOR_BOX: GLenum;
15825 readonly SCISSOR_TEST: GLenum;
15826 readonly SHADER_TYPE: GLenum;
15827 readonly SHADING_LANGUAGE_VERSION: GLenum;
15828 readonly SHORT: GLenum;
15829 readonly SRC_ALPHA: GLenum;
15830 readonly SRC_ALPHA_SATURATE: GLenum;
15831 readonly SRC_COLOR: GLenum;
15832 readonly STATIC_DRAW: GLenum;
15833 readonly STENCIL_ATTACHMENT: GLenum;
15834 readonly STENCIL_BACK_FAIL: GLenum;
15835 readonly STENCIL_BACK_FUNC: GLenum;
15836 readonly STENCIL_BACK_PASS_DEPTH_FAIL: GLenum;
15837 readonly STENCIL_BACK_PASS_DEPTH_PASS: GLenum;
15838 readonly STENCIL_BACK_REF: GLenum;
15839 readonly STENCIL_BACK_VALUE_MASK: GLenum;
15840 readonly STENCIL_BACK_WRITEMASK: GLenum;
15841 readonly STENCIL_BITS: GLenum;
15842 readonly STENCIL_BUFFER_BIT: GLenum;
15843 readonly STENCIL_CLEAR_VALUE: GLenum;
15844 readonly STENCIL_FAIL: GLenum;
15845 readonly STENCIL_FUNC: GLenum;
15846 readonly STENCIL_INDEX8: GLenum;
15847 readonly STENCIL_PASS_DEPTH_FAIL: GLenum;
15848 readonly STENCIL_PASS_DEPTH_PASS: GLenum;
15849 readonly STENCIL_REF: GLenum;
15850 readonly STENCIL_TEST: GLenum;
15851 readonly STENCIL_VALUE_MASK: GLenum;
15852 readonly STENCIL_WRITEMASK: GLenum;
15853 readonly STREAM_DRAW: GLenum;
15854 readonly SUBPIXEL_BITS: GLenum;
15855 readonly TEXTURE: GLenum;
15856 readonly TEXTURE0: GLenum;
15857 readonly TEXTURE1: GLenum;
15858 readonly TEXTURE10: GLenum;
15859 readonly TEXTURE11: GLenum;
15860 readonly TEXTURE12: GLenum;
15861 readonly TEXTURE13: GLenum;
15862 readonly TEXTURE14: GLenum;
15863 readonly TEXTURE15: GLenum;
15864 readonly TEXTURE16: GLenum;
15865 readonly TEXTURE17: GLenum;
15866 readonly TEXTURE18: GLenum;
15867 readonly TEXTURE19: GLenum;
15868 readonly TEXTURE2: GLenum;
15869 readonly TEXTURE20: GLenum;
15870 readonly TEXTURE21: GLenum;
15871 readonly TEXTURE22: GLenum;
15872 readonly TEXTURE23: GLenum;
15873 readonly TEXTURE24: GLenum;
15874 readonly TEXTURE25: GLenum;
15875 readonly TEXTURE26: GLenum;
15876 readonly TEXTURE27: GLenum;
15877 readonly TEXTURE28: GLenum;
15878 readonly TEXTURE29: GLenum;
15879 readonly TEXTURE3: GLenum;
15880 readonly TEXTURE30: GLenum;
15881 readonly TEXTURE31: GLenum;
15882 readonly TEXTURE4: GLenum;
15883 readonly TEXTURE5: GLenum;
15884 readonly TEXTURE6: GLenum;
15885 readonly TEXTURE7: GLenum;
15886 readonly TEXTURE8: GLenum;
15887 readonly TEXTURE9: GLenum;
15888 readonly TEXTURE_2D: GLenum;
15889 readonly TEXTURE_BINDING_2D: GLenum;
15890 readonly TEXTURE_BINDING_CUBE_MAP: GLenum;
15891 readonly TEXTURE_CUBE_MAP: GLenum;
15892 readonly TEXTURE_CUBE_MAP_NEGATIVE_X: GLenum;
15893 readonly TEXTURE_CUBE_MAP_NEGATIVE_Y: GLenum;
15894 readonly TEXTURE_CUBE_MAP_NEGATIVE_Z: GLenum;
15895 readonly TEXTURE_CUBE_MAP_POSITIVE_X: GLenum;
15896 readonly TEXTURE_CUBE_MAP_POSITIVE_Y: GLenum;
15897 readonly TEXTURE_CUBE_MAP_POSITIVE_Z: GLenum;
15898 readonly TEXTURE_MAG_FILTER: GLenum;
15899 readonly TEXTURE_MIN_FILTER: GLenum;
15900 readonly TEXTURE_WRAP_S: GLenum;
15901 readonly TEXTURE_WRAP_T: GLenum;
15902 readonly TRIANGLES: GLenum;
15903 readonly TRIANGLE_FAN: GLenum;
15904 readonly TRIANGLE_STRIP: GLenum;
15905 readonly UNPACK_ALIGNMENT: GLenum;
15906 readonly UNPACK_COLORSPACE_CONVERSION_WEBGL: GLenum;
15907 readonly UNPACK_FLIP_Y_WEBGL: GLenum;
15908 readonly UNPACK_PREMULTIPLY_ALPHA_WEBGL: GLenum;
15909 readonly UNSIGNED_BYTE: GLenum;
15910 readonly UNSIGNED_INT: GLenum;
15911 readonly UNSIGNED_SHORT: GLenum;
15912 readonly UNSIGNED_SHORT_4_4_4_4: GLenum;
15913 readonly UNSIGNED_SHORT_5_5_5_1: GLenum;
15914 readonly UNSIGNED_SHORT_5_6_5: GLenum;
15915 readonly VALIDATE_STATUS: GLenum;
15916 readonly VENDOR: GLenum;
15917 readonly VERSION: GLenum;
15918 readonly VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: GLenum;
15919 readonly VERTEX_ATTRIB_ARRAY_ENABLED: GLenum;
15920 readonly VERTEX_ATTRIB_ARRAY_NORMALIZED: GLenum;
15921 readonly VERTEX_ATTRIB_ARRAY_POINTER: GLenum;
15922 readonly VERTEX_ATTRIB_ARRAY_SIZE: GLenum;
15923 readonly VERTEX_ATTRIB_ARRAY_STRIDE: GLenum;
15924 readonly VERTEX_ATTRIB_ARRAY_TYPE: GLenum;
15925 readonly VERTEX_SHADER: GLenum;
15926 readonly VIEWPORT: GLenum;
15927 readonly ZERO: GLenum;
15930 interface WebGLRenderingContextOverloads {
15931 bufferData(target: GLenum, size: GLsizeiptr, usage: GLenum): void;
15932 bufferData(target: GLenum, data: BufferSource | null, usage: GLenum): void;
15933 bufferSubData(target: GLenum, offset: GLintptr, data: BufferSource): void;
15934 compressedTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, border: GLint, data: ArrayBufferView): void;
15935 compressedTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, data: ArrayBufferView): void;
15936 readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pixels: ArrayBufferView | null): void;
15937 texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, pixels: ArrayBufferView | null): void;
15938 texImage2D(target: GLenum, level: GLint, internalformat: GLint, format: GLenum, type: GLenum, source: TexImageSource): void;
15939 texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pixels: ArrayBufferView | null): void;
15940 texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, format: GLenum, type: GLenum, source: TexImageSource): void;
15941 uniform1fv(location: WebGLUniformLocation | null, v: Float32List): void;
15942 uniform1iv(location: WebGLUniformLocation | null, v: Int32List): void;
15943 uniform2fv(location: WebGLUniformLocation | null, v: Float32List): void;
15944 uniform2iv(location: WebGLUniformLocation | null, v: Int32List): void;
15945 uniform3fv(location: WebGLUniformLocation | null, v: Float32List): void;
15946 uniform3iv(location: WebGLUniformLocation | null, v: Int32List): void;
15947 uniform4fv(location: WebGLUniformLocation | null, v: Float32List): void;
15948 uniform4iv(location: WebGLUniformLocation | null, v: Int32List): void;
15949 uniformMatrix2fv(location: WebGLUniformLocation | null, transpose: GLboolean, value: Float32List): void;
15950 uniformMatrix3fv(location: WebGLUniformLocation | null, transpose: GLboolean, value: Float32List): void;
15951 uniformMatrix4fv(location: WebGLUniformLocation | null, transpose: GLboolean, value: Float32List): void;
15954 interface WebGLSampler {
15957 declare var WebGLSampler: {
15958 prototype: WebGLSampler;
15959 new(): WebGLSampler;
15962 /** 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. */
15963 interface WebGLShader {
15966 declare var WebGLShader: {
15967 prototype: WebGLShader;
15968 new(): WebGLShader;
15971 /** Part of the WebGL API and represents the information returned by calling the WebGLRenderingContext.getShaderPrecisionFormat() method. */
15972 interface WebGLShaderPrecisionFormat {
15973 readonly precision: GLint;
15974 readonly rangeMax: GLint;
15975 readonly rangeMin: GLint;
15978 declare var WebGLShaderPrecisionFormat: {
15979 prototype: WebGLShaderPrecisionFormat;
15980 new(): WebGLShaderPrecisionFormat;
15983 interface WebGLSync {
15986 declare var WebGLSync: {
15987 prototype: WebGLSync;
15991 /** Part of the WebGL API and represents an opaque texture object providing storage and state for texturing operations. */
15992 interface WebGLTexture {
15995 declare var WebGLTexture: {
15996 prototype: WebGLTexture;
15997 new(): WebGLTexture;
16000 interface WebGLTransformFeedback {
16003 declare var WebGLTransformFeedback: {
16004 prototype: WebGLTransformFeedback;
16005 new(): WebGLTransformFeedback;
16008 /** Part of the WebGL API and represents the location of a uniform variable in a shader program. */
16009 interface WebGLUniformLocation {
16012 declare var WebGLUniformLocation: {
16013 prototype: WebGLUniformLocation;
16014 new(): WebGLUniformLocation;
16017 interface WebGLVertexArrayObject {
16020 declare var WebGLVertexArrayObject: {
16021 prototype: WebGLVertexArrayObject;
16022 new(): WebGLVertexArrayObject;
16025 interface WebGLVertexArrayObjectOES {
16028 interface WebSocketEventMap {
16029 "close": CloseEvent;
16031 "message": MessageEvent;
16035 /** Provides the API for creating and managing a WebSocket connection to a server, as well as for sending and receiving data on the connection. */
16036 interface WebSocket extends EventTarget {
16038 * Returns a string that indicates how binary data from the WebSocket object is exposed to scripts:
16040 * Can be set, to change how binary data is returned. The default is "blob".
16042 binaryType: BinaryType;
16044 * Returns the number of bytes of application data (UTF-8 text and binary data) that have been queued using send() but not yet been transmitted to the network.
16046 * If the WebSocket connection is closed, this attribute's value will only increase with each call to the send() method. (The number does not reset to zero once the connection closes.)
16048 readonly bufferedAmount: number;
16049 /** Returns the extensions selected by the server, if any. */
16050 readonly extensions: string;
16051 onclose: ((this: WebSocket, ev: CloseEvent) => any) | null;
16052 onerror: ((this: WebSocket, ev: Event) => any) | null;
16053 onmessage: ((this: WebSocket, ev: MessageEvent) => any) | null;
16054 onopen: ((this: WebSocket, ev: Event) => any) | null;
16055 /** Returns the subprotocol selected by the server, if any. It can be used in conjunction with the array form of the constructor's second argument to perform subprotocol negotiation. */
16056 readonly protocol: string;
16057 /** Returns the state of the WebSocket object's connection. It can have the values described below. */
16058 readonly readyState: number;
16059 /** Returns the URL that was used to establish the WebSocket connection. */
16060 readonly url: string;
16061 /** Closes the WebSocket connection, optionally using code as the the WebSocket connection close code and reason as the the WebSocket connection close reason. */
16062 close(code?: number, reason?: string): void;
16063 /** Transmits data using the WebSocket connection. data can be a string, a Blob, an ArrayBuffer, or an ArrayBufferView. */
16064 send(data: string | ArrayBufferLike | Blob | ArrayBufferView): void;
16065 readonly CLOSED: number;
16066 readonly CLOSING: number;
16067 readonly CONNECTING: number;
16068 readonly OPEN: number;
16069 addEventListener<K extends keyof WebSocketEventMap>(type: K, listener: (this: WebSocket, ev: WebSocketEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
16070 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
16071 removeEventListener<K extends keyof WebSocketEventMap>(type: K, listener: (this: WebSocket, ev: WebSocketEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
16072 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
16075 declare var WebSocket: {
16076 prototype: WebSocket;
16077 new(url: string | URL, protocols?: string | string[]): WebSocket;
16078 readonly CLOSED: number;
16079 readonly CLOSING: number;
16080 readonly CONNECTING: number;
16081 readonly OPEN: number;
16084 /** Events that occur due to the user moving a mouse wheel or similar input device. */
16085 interface WheelEvent extends MouseEvent {
16086 readonly deltaMode: number;
16087 readonly deltaX: number;
16088 readonly deltaY: number;
16089 readonly deltaZ: number;
16090 readonly DOM_DELTA_LINE: number;
16091 readonly DOM_DELTA_PAGE: number;
16092 readonly DOM_DELTA_PIXEL: number;
16095 declare var WheelEvent: {
16096 prototype: WheelEvent;
16097 new(type: string, eventInitDict?: WheelEventInit): WheelEvent;
16098 readonly DOM_DELTA_LINE: number;
16099 readonly DOM_DELTA_PAGE: number;
16100 readonly DOM_DELTA_PIXEL: number;
16103 interface WindowEventMap extends GlobalEventHandlersEventMap, WindowEventHandlersEventMap {
16104 "devicemotion": DeviceMotionEvent;
16105 "deviceorientation": DeviceOrientationEvent;
16106 "gamepadconnected": GamepadEvent;
16107 "gamepaddisconnected": GamepadEvent;
16108 "orientationchange": Event;
16111 /** A window containing a DOM document; the document property points to the DOM document loaded in that window. */
16112 interface Window extends EventTarget, AnimationFrameProvider, GlobalEventHandlers, WindowEventHandlers, WindowLocalStorage, WindowOrWorkerGlobalScope, WindowSessionStorage {
16113 /** @deprecated This is a legacy alias of `navigator`. */
16114 readonly clientInformation: Navigator;
16115 /** Returns true if the window has been closed, false otherwise. */
16116 readonly closed: boolean;
16117 /** Defines a new custom element, mapping the given name to the given constructor as an autonomous custom element. */
16118 readonly customElements: CustomElementRegistry;
16119 readonly devicePixelRatio: number;
16120 readonly document: Document;
16122 readonly event: Event | undefined;
16124 readonly external: External;
16125 readonly frameElement: Element | null;
16126 readonly frames: WindowProxy;
16127 readonly history: History;
16128 readonly innerHeight: number;
16129 readonly innerWidth: number;
16130 readonly length: number;
16131 get location(): Location;
16132 set location(href: string | Location);
16133 /** Returns true if the location bar is visible; otherwise, returns false. */
16134 readonly locationbar: BarProp;
16135 /** Returns true if the menu bar is visible; otherwise, returns false. */
16136 readonly menubar: BarProp;
16138 readonly navigator: Navigator;
16139 /** Available only in secure contexts. */
16140 ondevicemotion: ((this: Window, ev: DeviceMotionEvent) => any) | null;
16141 /** Available only in secure contexts. */
16142 ondeviceorientation: ((this: Window, ev: DeviceOrientationEvent) => any) | null;
16144 onorientationchange: ((this: Window, ev: Event) => any) | null;
16147 readonly orientation: number;
16148 readonly outerHeight: number;
16149 readonly outerWidth: number;
16150 /** @deprecated This is a legacy alias of `scrollX`. */
16151 readonly pageXOffset: number;
16152 /** @deprecated This is a legacy alias of `scrollY`. */
16153 readonly pageYOffset: number;
16155 * Refers to either the parent WindowProxy, or itself.
16157 * It can rarely be null e.g. for contentWindow of an iframe that is already removed from the parent.
16159 readonly parent: WindowProxy;
16160 /** Returns true if the personal bar is visible; otherwise, returns false. */
16161 readonly personalbar: BarProp;
16162 readonly screen: Screen;
16163 readonly screenLeft: number;
16164 readonly screenTop: number;
16165 readonly screenX: number;
16166 readonly screenY: number;
16167 readonly scrollX: number;
16168 readonly scrollY: number;
16169 /** Returns true if the scrollbars are visible; otherwise, returns false. */
16170 readonly scrollbars: BarProp;
16171 readonly self: Window & typeof globalThis;
16172 readonly speechSynthesis: SpeechSynthesis;
16175 /** Returns true if the status bar is visible; otherwise, returns false. */
16176 readonly statusbar: BarProp;
16177 /** Returns true if the toolbar is visible; otherwise, returns false. */
16178 readonly toolbar: BarProp;
16179 readonly top: WindowProxy | null;
16180 readonly visualViewport: VisualViewport;
16181 readonly window: Window & typeof globalThis;
16182 alert(message?: any): void;
16184 cancelIdleCallback(handle: number): void;
16186 captureEvents(): void;
16187 /** Closes the window. */
16189 confirm(message?: string): boolean;
16190 /** Moves the focus to the window's browsing context, if any. */
16192 getComputedStyle(elt: Element, pseudoElt?: string | null): CSSStyleDeclaration;
16193 getSelection(): Selection | null;
16194 matchMedia(query: string): MediaQueryList;
16195 moveBy(x: number, y: number): void;
16196 moveTo(x: number, y: number): void;
16197 open(url?: string | URL, target?: string, features?: string): WindowProxy | null;
16199 * Posts a message to the given window. Messages can be structured objects, e.g. nested objects and arrays, can contain JavaScript values (strings, numbers, Date objects, etc), and can contain certain data objects such as File Blob, FileList, and ArrayBuffer objects.
16201 * Objects listed in the transfer member of options are transferred, not just cloned, meaning that they are no longer usable on the sending side.
16203 * A target origin can be specified using the targetOrigin member of options. If not provided, it defaults to "/". This default restricts the message to same-origin targets only.
16205 * If the origin of the target window doesn't match the given target origin, the message is discarded, to avoid information leakage. To send the message to the target regardless of origin, set the target origin to "*".
16207 * Throws a "DataCloneError" DOMException if transfer array contains duplicate objects or if message could not be cloned.
16209 postMessage(message: any, targetOrigin: string, transfer?: Transferable[]): void;
16210 postMessage(message: any, options?: WindowPostMessageOptions): void;
16212 prompt(message?: string, _default?: string): string | null;
16214 releaseEvents(): void;
16215 requestIdleCallback(callback: IdleRequestCallback, options?: IdleRequestOptions): number;
16216 resizeBy(x: number, y: number): void;
16217 resizeTo(width: number, height: number): void;
16218 scroll(options?: ScrollToOptions): void;
16219 scroll(x: number, y: number): void;
16220 scrollBy(options?: ScrollToOptions): void;
16221 scrollBy(x: number, y: number): void;
16222 scrollTo(options?: ScrollToOptions): void;
16223 scrollTo(x: number, y: number): void;
16224 /** Cancels the document load. */
16226 addEventListener<K extends keyof WindowEventMap>(type: K, listener: (this: Window, ev: WindowEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
16227 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
16228 removeEventListener<K extends keyof WindowEventMap>(type: K, listener: (this: Window, ev: WindowEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
16229 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
16230 [index: number]: Window;
16233 declare var Window: {
16238 interface WindowEventHandlersEventMap {
16239 "afterprint": Event;
16240 "beforeprint": Event;
16241 "beforeunload": BeforeUnloadEvent;
16242 "gamepadconnected": GamepadEvent;
16243 "gamepaddisconnected": GamepadEvent;
16244 "hashchange": HashChangeEvent;
16245 "languagechange": Event;
16246 "message": MessageEvent;
16247 "messageerror": MessageEvent;
16250 "pagehide": PageTransitionEvent;
16251 "pageshow": PageTransitionEvent;
16252 "popstate": PopStateEvent;
16253 "rejectionhandled": PromiseRejectionEvent;
16254 "storage": StorageEvent;
16255 "unhandledrejection": PromiseRejectionEvent;
16259 interface WindowEventHandlers {
16260 onafterprint: ((this: WindowEventHandlers, ev: Event) => any) | null;
16261 onbeforeprint: ((this: WindowEventHandlers, ev: Event) => any) | null;
16262 onbeforeunload: ((this: WindowEventHandlers, ev: BeforeUnloadEvent) => any) | null;
16263 ongamepadconnected: ((this: WindowEventHandlers, ev: GamepadEvent) => any) | null;
16264 ongamepaddisconnected: ((this: WindowEventHandlers, ev: GamepadEvent) => any) | null;
16265 onhashchange: ((this: WindowEventHandlers, ev: HashChangeEvent) => any) | null;
16266 onlanguagechange: ((this: WindowEventHandlers, ev: Event) => any) | null;
16267 onmessage: ((this: WindowEventHandlers, ev: MessageEvent) => any) | null;
16268 onmessageerror: ((this: WindowEventHandlers, ev: MessageEvent) => any) | null;
16269 onoffline: ((this: WindowEventHandlers, ev: Event) => any) | null;
16270 ononline: ((this: WindowEventHandlers, ev: Event) => any) | null;
16271 onpagehide: ((this: WindowEventHandlers, ev: PageTransitionEvent) => any) | null;
16272 onpageshow: ((this: WindowEventHandlers, ev: PageTransitionEvent) => any) | null;
16273 onpopstate: ((this: WindowEventHandlers, ev: PopStateEvent) => any) | null;
16274 onrejectionhandled: ((this: WindowEventHandlers, ev: PromiseRejectionEvent) => any) | null;
16275 onstorage: ((this: WindowEventHandlers, ev: StorageEvent) => any) | null;
16276 onunhandledrejection: ((this: WindowEventHandlers, ev: PromiseRejectionEvent) => any) | null;
16277 onunload: ((this: WindowEventHandlers, ev: Event) => any) | null;
16278 addEventListener<K extends keyof WindowEventHandlersEventMap>(type: K, listener: (this: WindowEventHandlers, ev: WindowEventHandlersEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
16279 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
16280 removeEventListener<K extends keyof WindowEventHandlersEventMap>(type: K, listener: (this: WindowEventHandlers, ev: WindowEventHandlersEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
16281 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
16284 interface WindowLocalStorage {
16285 readonly localStorage: Storage;
16288 interface WindowOrWorkerGlobalScope {
16289 /** Available only in secure contexts. */
16290 readonly caches: CacheStorage;
16291 readonly crossOriginIsolated: boolean;
16292 readonly crypto: Crypto;
16293 readonly indexedDB: IDBFactory;
16294 readonly isSecureContext: boolean;
16295 readonly origin: string;
16296 readonly performance: Performance;
16297 atob(data: string): string;
16298 btoa(data: string): string;
16299 clearInterval(handle?: number): void;
16300 clearTimeout(handle?: number): void;
16301 createImageBitmap(image: ImageBitmapSource, options?: ImageBitmapOptions): Promise<ImageBitmap>;
16302 createImageBitmap(image: ImageBitmapSource, sx: number, sy: number, sw: number, sh: number, options?: ImageBitmapOptions): Promise<ImageBitmap>;
16303 fetch(input: RequestInfo, init?: RequestInit): Promise<Response>;
16304 queueMicrotask(callback: VoidFunction): void;
16305 setInterval(handler: TimerHandler, timeout?: number, ...arguments: any[]): number;
16306 setTimeout(handler: TimerHandler, timeout?: number, ...arguments: any[]): number;
16309 interface WindowSessionStorage {
16310 readonly sessionStorage: Storage;
16313 interface WorkerEventMap extends AbstractWorkerEventMap {
16314 "message": MessageEvent;
16315 "messageerror": MessageEvent;
16318 /** 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. */
16319 interface Worker extends EventTarget, AbstractWorker {
16320 onmessage: ((this: Worker, ev: MessageEvent) => any) | null;
16321 onmessageerror: ((this: Worker, ev: MessageEvent) => any) | null;
16322 /** Clones message and transmits it to worker's global environment. transfer can be passed as a list of objects that are to be transferred rather than cloned. */
16323 postMessage(message: any, transfer: Transferable[]): void;
16324 postMessage(message: any, options?: StructuredSerializeOptions): void;
16325 /** Aborts worker's associated global environment. */
16327 addEventListener<K extends keyof WorkerEventMap>(type: K, listener: (this: Worker, ev: WorkerEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
16328 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
16329 removeEventListener<K extends keyof WorkerEventMap>(type: K, listener: (this: Worker, ev: WorkerEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
16330 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
16333 declare var Worker: {
16335 new(scriptURL: string | URL, options?: WorkerOptions): Worker;
16338 /** Available only in secure contexts. */
16339 interface Worklet {
16341 * Loads and executes the module script given by moduleURL into all of worklet's global scopes. It can also create additional global scopes as part of this process, depending on the worklet type. The returned promise will fulfill once the script has been successfully loaded and run in all global scopes.
16343 * The credentials option can be set to a credentials mode to modify the script-fetching process. It defaults to "same-origin".
16345 * Any failures in fetching the script or its dependencies will cause the returned promise to be rejected with an "AbortError" DOMException. Any errors in parsing the script or its dependencies will cause the returned promise to be rejected with the exception generated during parsing.
16347 addModule(moduleURL: string | URL, options?: WorkletOptions): Promise<void>;
16350 declare var Worklet: {
16351 prototype: Worklet;
16355 /** 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. */
16356 interface WritableStream<W = any> {
16357 readonly locked: boolean;
16358 abort(reason?: any): Promise<void>;
16359 close(): Promise<void>;
16360 getWriter(): WritableStreamDefaultWriter<W>;
16363 declare var WritableStream: {
16364 prototype: WritableStream;
16365 new<W = any>(underlyingSink?: UnderlyingSink<W>, strategy?: QueuingStrategy<W>): WritableStream<W>;
16368 /** 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. */
16369 interface WritableStreamDefaultController {
16370 error(e?: any): void;
16373 declare var WritableStreamDefaultController: {
16374 prototype: WritableStreamDefaultController;
16375 new(): WritableStreamDefaultController;
16378 /** 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. */
16379 interface WritableStreamDefaultWriter<W = any> {
16380 readonly closed: Promise<undefined>;
16381 readonly desiredSize: number | null;
16382 readonly ready: Promise<undefined>;
16383 abort(reason?: any): Promise<void>;
16384 close(): Promise<void>;
16385 releaseLock(): void;
16386 write(chunk?: W): Promise<void>;
16389 declare var WritableStreamDefaultWriter: {
16390 prototype: WritableStreamDefaultWriter;
16391 new<W = any>(stream: WritableStream<W>): WritableStreamDefaultWriter<W>;
16394 /** 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. */
16395 interface XMLDocument extends Document {
16396 addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: XMLDocument, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
16397 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
16398 removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: XMLDocument, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
16399 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
16402 declare var XMLDocument: {
16403 prototype: XMLDocument;
16404 new(): XMLDocument;
16407 interface XMLHttpRequestEventMap extends XMLHttpRequestEventTargetEventMap {
16408 "readystatechange": Event;
16411 /** 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. */
16412 interface XMLHttpRequest extends XMLHttpRequestEventTarget {
16413 onreadystatechange: ((this: XMLHttpRequest, ev: Event) => any) | null;
16414 /** Returns client's state. */
16415 readonly readyState: number;
16416 /** Returns the response body. */
16417 readonly response: any;
16419 * Returns response as text.
16421 * Throws an "InvalidStateError" DOMException if responseType is not the empty string or "text".
16423 readonly responseText: string;
16425 * Returns the response type.
16427 * Can be set to change the response type. Values are: the empty string (default), "arraybuffer", "blob", "document", "json", and "text".
16429 * When set: setting to "document" is ignored if current global object is not a Window object.
16431 * When set: throws an "InvalidStateError" DOMException if state is loading or done.
16433 * When set: throws an "InvalidAccessError" DOMException if the synchronous flag is set and current global object is a Window object.
16435 responseType: XMLHttpRequestResponseType;
16436 readonly responseURL: string;
16438 * Returns the response as document.
16440 * Throws an "InvalidStateError" DOMException if responseType is not the empty string or "document".
16442 readonly responseXML: Document | null;
16443 readonly status: number;
16444 readonly statusText: string;
16446 * 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 this's synchronous flag is unset, a timeout event will then be dispatched, or a "TimeoutError" DOMException will be thrown otherwise (for the send() method).
16448 * When set: throws an "InvalidAccessError" DOMException if the synchronous flag is set and current global object is a Window object.
16451 /** Returns the associated XMLHttpRequestUpload object. It can be used to gather transmission information when data is transferred to a server. */
16452 readonly upload: XMLHttpRequestUpload;
16454 * 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.
16456 * When set: throws an "InvalidStateError" DOMException if state is not unsent or opened, or if the send() flag is set.
16458 withCredentials: boolean;
16459 /** Cancels any network activity. */
16461 getAllResponseHeaders(): string;
16462 getResponseHeader(name: string): string | null;
16464 * Sets the request method, request URL, and synchronous flag.
16466 * Throws a "SyntaxError" DOMException if either method is not a valid method or url cannot be parsed.
16468 * Throws a "SecurityError" DOMException if method is a case-insensitive match for `CONNECT`, `TRACE`, or `TRACK`.
16470 * 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.
16472 open(method: string, url: string | URL): void;
16473 open(method: string, url: string | URL, async: boolean, username?: string | null, password?: string | null): void;
16475 * Acts as if the `Content-Type` header value for a response is mime. (It does not change the header.)
16477 * Throws an "InvalidStateError" DOMException if state is loading or done.
16479 overrideMimeType(mime: string): void;
16481 * Initiates the request. The body argument provides the request body, if any, and is ignored if the request method is GET or HEAD.
16483 * Throws an "InvalidStateError" DOMException if either state is not opened or the send() flag is set.
16485 send(body?: Document | XMLHttpRequestBodyInit | null): void;
16487 * Combines a header in author request headers.
16489 * Throws an "InvalidStateError" DOMException if either state is not opened or the send() flag is set.
16491 * Throws a "SyntaxError" DOMException if name is not a header name or if value is not a header value.
16493 setRequestHeader(name: string, value: string): void;
16494 readonly DONE: number;
16495 readonly HEADERS_RECEIVED: number;
16496 readonly LOADING: number;
16497 readonly OPENED: number;
16498 readonly UNSENT: number;
16499 addEventListener<K extends keyof XMLHttpRequestEventMap>(type: K, listener: (this: XMLHttpRequest, ev: XMLHttpRequestEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
16500 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
16501 removeEventListener<K extends keyof XMLHttpRequestEventMap>(type: K, listener: (this: XMLHttpRequest, ev: XMLHttpRequestEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
16502 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
16505 declare var XMLHttpRequest: {
16506 prototype: XMLHttpRequest;
16507 new(): XMLHttpRequest;
16508 readonly DONE: number;
16509 readonly HEADERS_RECEIVED: number;
16510 readonly LOADING: number;
16511 readonly OPENED: number;
16512 readonly UNSENT: number;
16515 interface XMLHttpRequestEventTargetEventMap {
16516 "abort": ProgressEvent<XMLHttpRequestEventTarget>;
16517 "error": ProgressEvent<XMLHttpRequestEventTarget>;
16518 "load": ProgressEvent<XMLHttpRequestEventTarget>;
16519 "loadend": ProgressEvent<XMLHttpRequestEventTarget>;
16520 "loadstart": ProgressEvent<XMLHttpRequestEventTarget>;
16521 "progress": ProgressEvent<XMLHttpRequestEventTarget>;
16522 "timeout": ProgressEvent<XMLHttpRequestEventTarget>;
16525 interface XMLHttpRequestEventTarget extends EventTarget {
16526 onabort: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;
16527 onerror: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;
16528 onload: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;
16529 onloadend: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;
16530 onloadstart: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;
16531 onprogress: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;
16532 ontimeout: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;
16533 addEventListener<K extends keyof XMLHttpRequestEventTargetEventMap>(type: K, listener: (this: XMLHttpRequestEventTarget, ev: XMLHttpRequestEventTargetEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
16534 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
16535 removeEventListener<K extends keyof XMLHttpRequestEventTargetEventMap>(type: K, listener: (this: XMLHttpRequestEventTarget, ev: XMLHttpRequestEventTargetEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
16536 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
16539 declare var XMLHttpRequestEventTarget: {
16540 prototype: XMLHttpRequestEventTarget;
16541 new(): XMLHttpRequestEventTarget;
16544 interface XMLHttpRequestUpload extends XMLHttpRequestEventTarget {
16545 addEventListener<K extends keyof XMLHttpRequestEventTargetEventMap>(type: K, listener: (this: XMLHttpRequestUpload, ev: XMLHttpRequestEventTargetEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
16546 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
16547 removeEventListener<K extends keyof XMLHttpRequestEventTargetEventMap>(type: K, listener: (this: XMLHttpRequestUpload, ev: XMLHttpRequestEventTargetEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
16548 removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
16551 declare var XMLHttpRequestUpload: {
16552 prototype: XMLHttpRequestUpload;
16553 new(): XMLHttpRequestUpload;
16556 /** Provides the serializeToString() method to construct an XML string representing a DOM tree. */
16557 interface XMLSerializer {
16558 serializeToString(root: Node): string;
16561 declare var XMLSerializer: {
16562 prototype: XMLSerializer;
16563 new(): XMLSerializer;
16566 /** The XPathEvaluator interface allows to compile and evaluate XPath expressions. */
16567 interface XPathEvaluator extends XPathEvaluatorBase {
16570 declare var XPathEvaluator: {
16571 prototype: XPathEvaluator;
16572 new(): XPathEvaluator;
16575 interface XPathEvaluatorBase {
16576 createExpression(expression: string, resolver?: XPathNSResolver | null): XPathExpression;
16577 createNSResolver(nodeResolver: Node): XPathNSResolver;
16578 evaluate(expression: string, contextNode: Node, resolver?: XPathNSResolver | null, type?: number, result?: XPathResult | null): XPathResult;
16581 /** This interface is a compiled XPath expression that can be evaluated on a document or specific node to return information its DOM tree. */
16582 interface XPathExpression {
16583 evaluate(contextNode: Node, type?: number, result?: XPathResult | null): XPathResult;
16586 declare var XPathExpression: {
16587 prototype: XPathExpression;
16588 new(): XPathExpression;
16591 /** The results generated by evaluating an XPath expression within the context of a given node. */
16592 interface XPathResult {
16593 readonly booleanValue: boolean;
16594 readonly invalidIteratorState: boolean;
16595 readonly numberValue: number;
16596 readonly resultType: number;
16597 readonly singleNodeValue: Node | null;
16598 readonly snapshotLength: number;
16599 readonly stringValue: string;
16600 iterateNext(): Node | null;
16601 snapshotItem(index: number): Node | null;
16602 readonly ANY_TYPE: number;
16603 readonly ANY_UNORDERED_NODE_TYPE: number;
16604 readonly BOOLEAN_TYPE: number;
16605 readonly FIRST_ORDERED_NODE_TYPE: number;
16606 readonly NUMBER_TYPE: number;
16607 readonly ORDERED_NODE_ITERATOR_TYPE: number;
16608 readonly ORDERED_NODE_SNAPSHOT_TYPE: number;
16609 readonly STRING_TYPE: number;
16610 readonly UNORDERED_NODE_ITERATOR_TYPE: number;
16611 readonly UNORDERED_NODE_SNAPSHOT_TYPE: number;
16614 declare var XPathResult: {
16615 prototype: XPathResult;
16616 new(): XPathResult;
16617 readonly ANY_TYPE: number;
16618 readonly ANY_UNORDERED_NODE_TYPE: number;
16619 readonly BOOLEAN_TYPE: number;
16620 readonly FIRST_ORDERED_NODE_TYPE: number;
16621 readonly NUMBER_TYPE: number;
16622 readonly ORDERED_NODE_ITERATOR_TYPE: number;
16623 readonly ORDERED_NODE_SNAPSHOT_TYPE: number;
16624 readonly STRING_TYPE: number;
16625 readonly UNORDERED_NODE_ITERATOR_TYPE: number;
16626 readonly UNORDERED_NODE_SNAPSHOT_TYPE: number;
16629 /** 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. */
16630 interface XSLTProcessor {
16631 clearParameters(): void;
16632 getParameter(namespaceURI: string | null, localName: string): any;
16633 importStylesheet(style: Node): void;
16634 removeParameter(namespaceURI: string | null, localName: string): void;
16636 setParameter(namespaceURI: string | null, localName: string, value: any): void;
16637 transformToDocument(source: Node): Document;
16638 transformToFragment(source: Node, output: Document): DocumentFragment;
16641 declare var XSLTProcessor: {
16642 prototype: XSLTProcessor;
16643 new(): XSLTProcessor;
16646 interface Console {
16647 assert(condition?: boolean, ...data: any[]): void;
16649 count(label?: string): void;
16650 countReset(label?: string): void;
16651 debug(...data: any[]): void;
16652 dir(item?: any, options?: any): void;
16653 dirxml(...data: any[]): void;
16654 error(...data: any[]): void;
16655 group(...data: any[]): void;
16656 groupCollapsed(...data: any[]): void;
16658 info(...data: any[]): void;
16659 log(...data: any[]): void;
16660 table(tabularData?: any, properties?: string[]): void;
16661 time(label?: string): void;
16662 timeEnd(label?: string): void;
16663 timeLog(label?: string, ...data: any[]): void;
16664 timeStamp(label?: string): void;
16665 trace(...data: any[]): void;
16666 warn(...data: any[]): void;
16669 declare var console: Console;
16671 /** Holds useful CSS-related methods. No object with this interface are implemented: it contains only static methods and therefore is a utilitarian interface. */
16672 declare namespace CSS {
16673 function escape(ident: string): string;
16674 function supports(property: string, value: string): boolean;
16675 function supports(conditionText: string): boolean;
16678 declare namespace WebAssembly {
16679 interface CompileError extends Error {
16682 var CompileError: {
16683 prototype: CompileError;
16684 new(message?: string): CompileError;
16685 (message?: string): CompileError;
16695 new(descriptor: GlobalDescriptor, v?: any): Global;
16698 interface Instance {
16699 readonly exports: Exports;
16703 prototype: Instance;
16704 new(module: Module, importObject?: Imports): Instance;
16707 interface LinkError extends Error {
16711 prototype: LinkError;
16712 new(message?: string): LinkError;
16713 (message?: string): LinkError;
16717 readonly buffer: ArrayBuffer;
16718 grow(delta: number): number;
16723 new(descriptor: MemoryDescriptor): Memory;
16731 new(bytes: BufferSource): Module;
16732 customSections(moduleObject: Module, sectionName: string): ArrayBuffer[];
16733 exports(moduleObject: Module): ModuleExportDescriptor[];
16734 imports(moduleObject: Module): ModuleImportDescriptor[];
16737 interface RuntimeError extends Error {
16740 var RuntimeError: {
16741 prototype: RuntimeError;
16742 new(message?: string): RuntimeError;
16743 (message?: string): RuntimeError;
16747 readonly length: number;
16748 get(index: number): any;
16749 grow(delta: number, value?: any): number;
16750 set(index: number, value?: any): void;
16755 new(descriptor: TableDescriptor, value?: any): Table;
16758 interface GlobalDescriptor {
16763 interface MemoryDescriptor {
16769 interface ModuleExportDescriptor {
16770 kind: ImportExportKind;
16774 interface ModuleImportDescriptor {
16775 kind: ImportExportKind;
16780 interface TableDescriptor {
16781 element: TableKind;
16786 interface WebAssemblyInstantiatedSource {
16787 instance: Instance;
16791 type ImportExportKind = "function" | "global" | "memory" | "table";
16792 type TableKind = "anyfunc" | "externref";
16793 type ValueType = "anyfunc" | "externref" | "f32" | "f64" | "i32" | "i64";
16794 type ExportValue = Function | Global | Memory | Table;
16795 type Exports = Record<string, ExportValue>;
16796 type ImportValue = ExportValue | number;
16797 type Imports = Record<string, ModuleImports>;
16798 type ModuleImports = Record<string, ImportValue>;
16799 function compile(bytes: BufferSource): Promise<Module>;
16800 function compileStreaming(source: Response | PromiseLike<Response>): Promise<Module>;
16801 function instantiate(bytes: BufferSource, importObject?: Imports): Promise<WebAssemblyInstantiatedSource>;
16802 function instantiate(moduleObject: Module, importObject?: Imports): Promise<Instance>;
16803 function instantiateStreaming(source: Response | PromiseLike<Response>, importObject?: Imports): Promise<WebAssemblyInstantiatedSource>;
16804 function validate(bytes: BufferSource): boolean;
16807 interface BlobCallback {
16808 (blob: Blob | null): void;
16811 interface CustomElementConstructor {
16812 new (...params: any[]): HTMLElement;
16815 interface DecodeErrorCallback {
16816 (error: DOMException): void;
16819 interface DecodeSuccessCallback {
16820 (decodedData: AudioBuffer): void;
16823 interface ErrorCallback {
16824 (err: DOMException): void;
16827 interface FileCallback {
16828 (file: File): void;
16831 interface FileSystemEntriesCallback {
16832 (entries: FileSystemEntry[]): void;
16835 interface FileSystemEntryCallback {
16836 (entry: FileSystemEntry): void;
16839 interface FrameRequestCallback {
16840 (time: DOMHighResTimeStamp): void;
16843 interface FunctionStringCallback {
16844 (data: string): void;
16847 interface IdleRequestCallback {
16848 (deadline: IdleDeadline): void;
16851 interface IntersectionObserverCallback {
16852 (entries: IntersectionObserverEntry[], observer: IntersectionObserver): void;
16855 interface MediaSessionActionHandler {
16856 (details: MediaSessionActionDetails): void;
16859 interface MutationCallback {
16860 (mutations: MutationRecord[], observer: MutationObserver): void;
16863 interface NotificationPermissionCallback {
16864 (permission: NotificationPermission): void;
16867 interface OnBeforeUnloadEventHandlerNonNull {
16868 (event: Event): string | null;
16871 interface OnErrorEventHandlerNonNull {
16872 (event: Event | string, source?: string, lineno?: number, colno?: number, error?: Error): any;
16875 interface PerformanceObserverCallback {
16876 (entries: PerformanceObserverEntryList, observer: PerformanceObserver): void;
16879 interface PositionCallback {
16880 (position: GeolocationPosition): void;
16883 interface PositionErrorCallback {
16884 (positionError: GeolocationPositionError): void;
16887 interface QueuingStrategySize<T = any> {
16888 (chunk: T): number;
16891 interface RTCPeerConnectionErrorCallback {
16892 (error: DOMException): void;
16895 interface RTCSessionDescriptionCallback {
16896 (description: RTCSessionDescriptionInit): void;
16899 interface RemotePlaybackAvailabilityCallback {
16900 (available: boolean): void;
16903 interface ResizeObserverCallback {
16904 (entries: ResizeObserverEntry[], observer: ResizeObserver): void;
16907 interface TransformerFlushCallback<O> {
16908 (controller: TransformStreamDefaultController<O>): void | PromiseLike<void>;
16911 interface TransformerStartCallback<O> {
16912 (controller: TransformStreamDefaultController<O>): any;
16915 interface TransformerTransformCallback<I, O> {
16916 (chunk: I, controller: TransformStreamDefaultController<O>): void | PromiseLike<void>;
16919 interface UnderlyingSinkAbortCallback {
16920 (reason?: any): void | PromiseLike<void>;
16923 interface UnderlyingSinkCloseCallback {
16924 (): void | PromiseLike<void>;
16927 interface UnderlyingSinkStartCallback {
16928 (controller: WritableStreamDefaultController): any;
16931 interface UnderlyingSinkWriteCallback<W> {
16932 (chunk: W, controller: WritableStreamDefaultController): void | PromiseLike<void>;
16935 interface UnderlyingSourceCancelCallback {
16936 (reason?: any): void | PromiseLike<void>;
16939 interface UnderlyingSourcePullCallback<R> {
16940 (controller: ReadableStreamController<R>): void | PromiseLike<void>;
16943 interface UnderlyingSourceStartCallback<R> {
16944 (controller: ReadableStreamController<R>): any;
16947 interface VoidFunction {
16951 interface HTMLElementTagNameMap {
16952 "a": HTMLAnchorElement;
16953 "abbr": HTMLElement;
16954 "address": HTMLElement;
16955 "area": HTMLAreaElement;
16956 "article": HTMLElement;
16957 "aside": HTMLElement;
16958 "audio": HTMLAudioElement;
16960 "base": HTMLBaseElement;
16961 "bdi": HTMLElement;
16962 "bdo": HTMLElement;
16963 "blockquote": HTMLQuoteElement;
16964 "body": HTMLBodyElement;
16965 "br": HTMLBRElement;
16966 "button": HTMLButtonElement;
16967 "canvas": HTMLCanvasElement;
16968 "caption": HTMLTableCaptionElement;
16969 "cite": HTMLElement;
16970 "code": HTMLElement;
16971 "col": HTMLTableColElement;
16972 "colgroup": HTMLTableColElement;
16973 "data": HTMLDataElement;
16974 "datalist": HTMLDataListElement;
16976 "del": HTMLModElement;
16977 "details": HTMLDetailsElement;
16978 "dfn": HTMLElement;
16979 "dialog": HTMLDialogElement;
16980 "dir": HTMLDirectoryElement;
16981 "div": HTMLDivElement;
16982 "dl": HTMLDListElement;
16985 "embed": HTMLEmbedElement;
16986 "fieldset": HTMLFieldSetElement;
16987 "figcaption": HTMLElement;
16988 "figure": HTMLElement;
16989 "font": HTMLFontElement;
16990 "footer": HTMLElement;
16991 "form": HTMLFormElement;
16992 "frame": HTMLFrameElement;
16993 "frameset": HTMLFrameSetElement;
16994 "h1": HTMLHeadingElement;
16995 "h2": HTMLHeadingElement;
16996 "h3": HTMLHeadingElement;
16997 "h4": HTMLHeadingElement;
16998 "h5": HTMLHeadingElement;
16999 "h6": HTMLHeadingElement;
17000 "head": HTMLHeadElement;
17001 "header": HTMLElement;
17002 "hgroup": HTMLElement;
17003 "hr": HTMLHRElement;
17004 "html": HTMLHtmlElement;
17006 "iframe": HTMLIFrameElement;
17007 "img": HTMLImageElement;
17008 "input": HTMLInputElement;
17009 "ins": HTMLModElement;
17010 "kbd": HTMLElement;
17011 "label": HTMLLabelElement;
17012 "legend": HTMLLegendElement;
17013 "li": HTMLLIElement;
17014 "link": HTMLLinkElement;
17015 "main": HTMLElement;
17016 "map": HTMLMapElement;
17017 "mark": HTMLElement;
17018 "marquee": HTMLMarqueeElement;
17019 "menu": HTMLMenuElement;
17020 "meta": HTMLMetaElement;
17021 "meter": HTMLMeterElement;
17022 "nav": HTMLElement;
17023 "noscript": HTMLElement;
17024 "object": HTMLObjectElement;
17025 "ol": HTMLOListElement;
17026 "optgroup": HTMLOptGroupElement;
17027 "option": HTMLOptionElement;
17028 "output": HTMLOutputElement;
17029 "p": HTMLParagraphElement;
17030 "param": HTMLParamElement;
17031 "picture": HTMLPictureElement;
17032 "pre": HTMLPreElement;
17033 "progress": HTMLProgressElement;
17034 "q": HTMLQuoteElement;
17037 "ruby": HTMLElement;
17039 "samp": HTMLElement;
17040 "script": HTMLScriptElement;
17041 "section": HTMLElement;
17042 "select": HTMLSelectElement;
17043 "slot": HTMLSlotElement;
17044 "small": HTMLElement;
17045 "source": HTMLSourceElement;
17046 "span": HTMLSpanElement;
17047 "strong": HTMLElement;
17048 "style": HTMLStyleElement;
17049 "sub": HTMLElement;
17050 "summary": HTMLElement;
17051 "sup": HTMLElement;
17052 "table": HTMLTableElement;
17053 "tbody": HTMLTableSectionElement;
17054 "td": HTMLTableCellElement;
17055 "template": HTMLTemplateElement;
17056 "textarea": HTMLTextAreaElement;
17057 "tfoot": HTMLTableSectionElement;
17058 "th": HTMLTableCellElement;
17059 "thead": HTMLTableSectionElement;
17060 "time": HTMLTimeElement;
17061 "title": HTMLTitleElement;
17062 "tr": HTMLTableRowElement;
17063 "track": HTMLTrackElement;
17065 "ul": HTMLUListElement;
17066 "var": HTMLElement;
17067 "video": HTMLVideoElement;
17068 "wbr": HTMLElement;
17071 interface HTMLElementDeprecatedTagNameMap {
17072 "listing": HTMLPreElement;
17073 "xmp": HTMLPreElement;
17076 interface SVGElementTagNameMap {
17078 "animate": SVGAnimateElement;
17079 "animateMotion": SVGAnimateMotionElement;
17080 "animateTransform": SVGAnimateTransformElement;
17081 "circle": SVGCircleElement;
17082 "clipPath": SVGClipPathElement;
17083 "defs": SVGDefsElement;
17084 "desc": SVGDescElement;
17085 "ellipse": SVGEllipseElement;
17086 "feBlend": SVGFEBlendElement;
17087 "feColorMatrix": SVGFEColorMatrixElement;
17088 "feComponentTransfer": SVGFEComponentTransferElement;
17089 "feComposite": SVGFECompositeElement;
17090 "feConvolveMatrix": SVGFEConvolveMatrixElement;
17091 "feDiffuseLighting": SVGFEDiffuseLightingElement;
17092 "feDisplacementMap": SVGFEDisplacementMapElement;
17093 "feDistantLight": SVGFEDistantLightElement;
17094 "feDropShadow": SVGFEDropShadowElement;
17095 "feFlood": SVGFEFloodElement;
17096 "feFuncA": SVGFEFuncAElement;
17097 "feFuncB": SVGFEFuncBElement;
17098 "feFuncG": SVGFEFuncGElement;
17099 "feFuncR": SVGFEFuncRElement;
17100 "feGaussianBlur": SVGFEGaussianBlurElement;
17101 "feImage": SVGFEImageElement;
17102 "feMerge": SVGFEMergeElement;
17103 "feMergeNode": SVGFEMergeNodeElement;
17104 "feMorphology": SVGFEMorphologyElement;
17105 "feOffset": SVGFEOffsetElement;
17106 "fePointLight": SVGFEPointLightElement;
17107 "feSpecularLighting": SVGFESpecularLightingElement;
17108 "feSpotLight": SVGFESpotLightElement;
17109 "feTile": SVGFETileElement;
17110 "feTurbulence": SVGFETurbulenceElement;
17111 "filter": SVGFilterElement;
17112 "foreignObject": SVGForeignObjectElement;
17114 "image": SVGImageElement;
17115 "line": SVGLineElement;
17116 "linearGradient": SVGLinearGradientElement;
17117 "marker": SVGMarkerElement;
17118 "mask": SVGMaskElement;
17119 "metadata": SVGMetadataElement;
17120 "mpath": SVGMPathElement;
17121 "path": SVGPathElement;
17122 "pattern": SVGPatternElement;
17123 "polygon": SVGPolygonElement;
17124 "polyline": SVGPolylineElement;
17125 "radialGradient": SVGRadialGradientElement;
17126 "rect": SVGRectElement;
17127 "script": SVGScriptElement;
17128 "set": SVGSetElement;
17129 "stop": SVGStopElement;
17130 "style": SVGStyleElement;
17131 "svg": SVGSVGElement;
17132 "switch": SVGSwitchElement;
17133 "symbol": SVGSymbolElement;
17134 "text": SVGTextElement;
17135 "textPath": SVGTextPathElement;
17136 "title": SVGTitleElement;
17137 "tspan": SVGTSpanElement;
17138 "use": SVGUseElement;
17139 "view": SVGViewElement;
17142 /** @deprecated Directly use HTMLElementTagNameMap or SVGElementTagNameMap as appropriate, instead. */
17143 type ElementTagNameMap = HTMLElementTagNameMap & Pick<SVGElementTagNameMap, Exclude<keyof SVGElementTagNameMap, keyof HTMLElementTagNameMap>>;
17145 declare var Audio: {
17146 new(src?: string): HTMLAudioElement;
17148 declare var Image: {
17149 new(width?: number, height?: number): HTMLImageElement;
17151 declare var Option: {
17152 new(text?: string, value?: string, defaultSelected?: boolean, selected?: boolean): HTMLOptionElement;
17154 /** @deprecated This is a legacy alias of `navigator`. */
17155 declare var clientInformation: Navigator;
17156 /** Returns true if the window has been closed, false otherwise. */
17157 declare var closed: boolean;
17158 /** Defines a new custom element, mapping the given name to the given constructor as an autonomous custom element. */
17159 declare var customElements: CustomElementRegistry;
17160 declare var devicePixelRatio: number;
17161 declare var document: Document;
17163 declare var event: Event | undefined;
17165 declare var external: External;
17166 declare var frameElement: Element | null;
17167 declare var frames: WindowProxy;
17168 declare var history: History;
17169 declare var innerHeight: number;
17170 declare var innerWidth: number;
17171 declare var length: number;
17172 declare var location: Location;
17173 /** Returns true if the location bar is visible; otherwise, returns false. */
17174 declare var locationbar: BarProp;
17175 /** Returns true if the menu bar is visible; otherwise, returns false. */
17176 declare var menubar: BarProp;
17178 declare const name: void;
17179 declare var navigator: Navigator;
17180 /** Available only in secure contexts. */
17181 declare var ondevicemotion: ((this: Window, ev: DeviceMotionEvent) => any) | null;
17182 /** Available only in secure contexts. */
17183 declare var ondeviceorientation: ((this: Window, ev: DeviceOrientationEvent) => any) | null;
17185 declare var onorientationchange: ((this: Window, ev: Event) => any) | null;
17186 declare var opener: any;
17188 declare var orientation: number;
17189 declare var outerHeight: number;
17190 declare var outerWidth: number;
17191 /** @deprecated This is a legacy alias of `scrollX`. */
17192 declare var pageXOffset: number;
17193 /** @deprecated This is a legacy alias of `scrollY`. */
17194 declare var pageYOffset: number;
17196 * Refers to either the parent WindowProxy, or itself.
17198 * It can rarely be null e.g. for contentWindow of an iframe that is already removed from the parent.
17200 declare var parent: WindowProxy;
17201 /** Returns true if the personal bar is visible; otherwise, returns false. */
17202 declare var personalbar: BarProp;
17203 declare var screen: Screen;
17204 declare var screenLeft: number;
17205 declare var screenTop: number;
17206 declare var screenX: number;
17207 declare var screenY: number;
17208 declare var scrollX: number;
17209 declare var scrollY: number;
17210 /** Returns true if the scrollbars are visible; otherwise, returns false. */
17211 declare var scrollbars: BarProp;
17212 declare var self: Window & typeof globalThis;
17213 declare var speechSynthesis: SpeechSynthesis;
17215 declare var status: string;
17216 /** Returns true if the status bar is visible; otherwise, returns false. */
17217 declare var statusbar: BarProp;
17218 /** Returns true if the toolbar is visible; otherwise, returns false. */
17219 declare var toolbar: BarProp;
17220 declare var top: WindowProxy | null;
17221 declare var visualViewport: VisualViewport;
17222 declare var window: Window & typeof globalThis;
17223 declare function alert(message?: any): void;
17224 declare function blur(): void;
17225 declare function cancelIdleCallback(handle: number): void;
17227 declare function captureEvents(): void;
17228 /** Closes the window. */
17229 declare function close(): void;
17230 declare function confirm(message?: string): boolean;
17231 /** Moves the focus to the window's browsing context, if any. */
17232 declare function focus(): void;
17233 declare function getComputedStyle(elt: Element, pseudoElt?: string | null): CSSStyleDeclaration;
17234 declare function getSelection(): Selection | null;
17235 declare function matchMedia(query: string): MediaQueryList;
17236 declare function moveBy(x: number, y: number): void;
17237 declare function moveTo(x: number, y: number): void;
17238 declare function open(url?: string | URL, target?: string, features?: string): WindowProxy | null;
17240 * Posts a message to the given window. Messages can be structured objects, e.g. nested objects and arrays, can contain JavaScript values (strings, numbers, Date objects, etc), and can contain certain data objects such as File Blob, FileList, and ArrayBuffer objects.
17242 * Objects listed in the transfer member of options are transferred, not just cloned, meaning that they are no longer usable on the sending side.
17244 * A target origin can be specified using the targetOrigin member of options. If not provided, it defaults to "/". This default restricts the message to same-origin targets only.
17246 * If the origin of the target window doesn't match the given target origin, the message is discarded, to avoid information leakage. To send the message to the target regardless of origin, set the target origin to "*".
17248 * Throws a "DataCloneError" DOMException if transfer array contains duplicate objects or if message could not be cloned.
17250 declare function postMessage(message: any, targetOrigin: string, transfer?: Transferable[]): void;
17251 declare function postMessage(message: any, options?: WindowPostMessageOptions): void;
17252 declare function print(): void;
17253 declare function prompt(message?: string, _default?: string): string | null;
17255 declare function releaseEvents(): void;
17256 declare function requestIdleCallback(callback: IdleRequestCallback, options?: IdleRequestOptions): number;
17257 declare function resizeBy(x: number, y: number): void;
17258 declare function resizeTo(width: number, height: number): void;
17259 declare function scroll(options?: ScrollToOptions): void;
17260 declare function scroll(x: number, y: number): void;
17261 declare function scrollBy(options?: ScrollToOptions): void;
17262 declare function scrollBy(x: number, y: number): void;
17263 declare function scrollTo(options?: ScrollToOptions): void;
17264 declare function scrollTo(x: number, y: number): void;
17265 /** Cancels the document load. */
17266 declare function stop(): void;
17267 declare function toString(): string;
17268 /** 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. */
17269 declare function dispatchEvent(event: Event): boolean;
17270 declare function cancelAnimationFrame(handle: number): void;
17271 declare function requestAnimationFrame(callback: FrameRequestCallback): number;
17273 * Fires when the user aborts the download.
17274 * @param ev The event.
17276 declare var onabort: ((this: Window, ev: UIEvent) => any) | null;
17277 declare var onanimationcancel: ((this: Window, ev: AnimationEvent) => any) | null;
17278 declare var onanimationend: ((this: Window, ev: AnimationEvent) => any) | null;
17279 declare var onanimationiteration: ((this: Window, ev: AnimationEvent) => any) | null;
17280 declare var onanimationstart: ((this: Window, ev: AnimationEvent) => any) | null;
17281 declare var onauxclick: ((this: Window, ev: MouseEvent) => any) | null;
17283 * Fires when the object loses the input focus.
17284 * @param ev The focus event.
17286 declare var onblur: ((this: Window, ev: FocusEvent) => any) | null;
17288 * Occurs when playback is possible, but would require further buffering.
17289 * @param ev The event.
17291 declare var oncanplay: ((this: Window, ev: Event) => any) | null;
17292 declare var oncanplaythrough: ((this: Window, ev: Event) => any) | null;
17294 * Fires when the contents of the object or selection have changed.
17295 * @param ev The event.
17297 declare var onchange: ((this: Window, ev: Event) => any) | null;
17299 * Fires when the user clicks the left mouse button on the object
17300 * @param ev The mouse event.
17302 declare var onclick: ((this: Window, ev: MouseEvent) => any) | null;
17303 declare var onclose: ((this: Window, ev: Event) => any) | null;
17305 * Fires when the user clicks the right mouse button in the client area, opening the context menu.
17306 * @param ev The mouse event.
17308 declare var oncontextmenu: ((this: Window, ev: MouseEvent) => any) | null;
17309 declare var oncuechange: ((this: Window, ev: Event) => any) | null;
17311 * Fires when the user double-clicks the object.
17312 * @param ev The mouse event.
17314 declare var ondblclick: ((this: Window, ev: MouseEvent) => any) | null;
17316 * Fires on the source object continuously during a drag operation.
17317 * @param ev The event.
17319 declare var ondrag: ((this: Window, ev: DragEvent) => any) | null;
17321 * Fires on the source object when the user releases the mouse at the close of a drag operation.
17322 * @param ev The event.
17324 declare var ondragend: ((this: Window, ev: DragEvent) => any) | null;
17326 * Fires on the target element when the user drags the object to a valid drop target.
17327 * @param ev The drag event.
17329 declare var ondragenter: ((this: Window, ev: DragEvent) => any) | null;
17331 * Fires on the target object when the user moves the mouse out of a valid drop target during a drag operation.
17332 * @param ev The drag event.
17334 declare var ondragleave: ((this: Window, ev: DragEvent) => any) | null;
17336 * Fires on the target element continuously while the user drags the object over a valid drop target.
17337 * @param ev The event.
17339 declare var ondragover: ((this: Window, ev: DragEvent) => any) | null;
17341 * Fires on the source object when the user starts to drag a text selection or selected object.
17342 * @param ev The event.
17344 declare var ondragstart: ((this: Window, ev: DragEvent) => any) | null;
17345 declare var ondrop: ((this: Window, ev: DragEvent) => any) | null;
17347 * Occurs when the duration attribute is updated.
17348 * @param ev The event.
17350 declare var ondurationchange: ((this: Window, ev: Event) => any) | null;
17352 * Occurs when the media element is reset to its initial state.
17353 * @param ev The event.
17355 declare var onemptied: ((this: Window, ev: Event) => any) | null;
17357 * Occurs when the end of playback is reached.
17358 * @param ev The event
17360 declare var onended: ((this: Window, ev: Event) => any) | null;
17362 * Fires when an error occurs during object loading.
17363 * @param ev The event.
17365 declare var onerror: OnErrorEventHandler;
17367 * Fires when the object receives focus.
17368 * @param ev The event.
17370 declare var onfocus: ((this: Window, ev: FocusEvent) => any) | null;
17371 declare var onformdata: ((this: Window, ev: FormDataEvent) => any) | null;
17372 declare var ongotpointercapture: ((this: Window, ev: PointerEvent) => any) | null;
17373 declare var oninput: ((this: Window, ev: Event) => any) | null;
17374 declare var oninvalid: ((this: Window, ev: Event) => any) | null;
17376 * Fires when the user presses a key.
17377 * @param ev The keyboard event
17379 declare var onkeydown: ((this: Window, ev: KeyboardEvent) => any) | null;
17381 * Fires when the user presses an alphanumeric key.
17382 * @param ev The event.
17385 declare var onkeypress: ((this: Window, ev: KeyboardEvent) => any) | null;
17387 * Fires when the user releases a key.
17388 * @param ev The keyboard event
17390 declare var onkeyup: ((this: Window, ev: KeyboardEvent) => any) | null;
17392 * Fires immediately after the browser loads the object.
17393 * @param ev The event.
17395 declare var onload: ((this: Window, ev: Event) => any) | null;
17397 * Occurs when media data is loaded at the current playback position.
17398 * @param ev The event.
17400 declare var onloadeddata: ((this: Window, ev: Event) => any) | null;
17402 * Occurs when the duration and dimensions of the media have been determined.
17403 * @param ev The event.
17405 declare var onloadedmetadata: ((this: Window, ev: Event) => any) | null;
17407 * Occurs when Internet Explorer begins looking for media data.
17408 * @param ev The event.
17410 declare var onloadstart: ((this: Window, ev: Event) => any) | null;
17411 declare var onlostpointercapture: ((this: Window, ev: PointerEvent) => any) | null;
17413 * Fires when the user clicks the object with either mouse button.
17414 * @param ev The mouse event.
17416 declare var onmousedown: ((this: Window, ev: MouseEvent) => any) | null;
17417 declare var onmouseenter: ((this: Window, ev: MouseEvent) => any) | null;
17418 declare var onmouseleave: ((this: Window, ev: MouseEvent) => any) | null;
17420 * Fires when the user moves the mouse over the object.
17421 * @param ev The mouse event.
17423 declare var onmousemove: ((this: Window, ev: MouseEvent) => any) | null;
17425 * Fires when the user moves the mouse pointer outside the boundaries of the object.
17426 * @param ev The mouse event.
17428 declare var onmouseout: ((this: Window, ev: MouseEvent) => any) | null;
17430 * Fires when the user moves the mouse pointer into the object.
17431 * @param ev The mouse event.
17433 declare var onmouseover: ((this: Window, ev: MouseEvent) => any) | null;
17435 * Fires when the user releases a mouse button while the mouse is over the object.
17436 * @param ev The mouse event.
17438 declare var onmouseup: ((this: Window, ev: MouseEvent) => any) | null;
17440 * Occurs when playback is paused.
17441 * @param ev The event.
17443 declare var onpause: ((this: Window, ev: Event) => any) | null;
17445 * Occurs when the play method is requested.
17446 * @param ev The event.
17448 declare var onplay: ((this: Window, ev: Event) => any) | null;
17450 * Occurs when the audio or video has started playing.
17451 * @param ev The event.
17453 declare var onplaying: ((this: Window, ev: Event) => any) | null;
17454 declare var onpointercancel: ((this: Window, ev: PointerEvent) => any) | null;
17455 declare var onpointerdown: ((this: Window, ev: PointerEvent) => any) | null;
17456 declare var onpointerenter: ((this: Window, ev: PointerEvent) => any) | null;
17457 declare var onpointerleave: ((this: Window, ev: PointerEvent) => any) | null;
17458 declare var onpointermove: ((this: Window, ev: PointerEvent) => any) | null;
17459 declare var onpointerout: ((this: Window, ev: PointerEvent) => any) | null;
17460 declare var onpointerover: ((this: Window, ev: PointerEvent) => any) | null;
17461 declare var onpointerup: ((this: Window, ev: PointerEvent) => any) | null;
17463 * Occurs to indicate progress while downloading media data.
17464 * @param ev The event.
17466 declare var onprogress: ((this: Window, ev: ProgressEvent) => any) | null;
17468 * Occurs when the playback rate is increased or decreased.
17469 * @param ev The event.
17471 declare var onratechange: ((this: Window, ev: Event) => any) | null;
17473 * Fires when the user resets a form.
17474 * @param ev The event.
17476 declare var onreset: ((this: Window, ev: Event) => any) | null;
17477 declare var onresize: ((this: Window, ev: UIEvent) => any) | null;
17479 * Fires when the user repositions the scroll box in the scroll bar on the object.
17480 * @param ev The event.
17482 declare var onscroll: ((this: Window, ev: Event) => any) | null;
17484 * Occurs when the seek operation ends.
17485 * @param ev The event.
17487 declare var onseeked: ((this: Window, ev: Event) => any) | null;
17489 * Occurs when the current playback position is moved.
17490 * @param ev The event.
17492 declare var onseeking: ((this: Window, ev: Event) => any) | null;
17494 * Fires when the current selection changes.
17495 * @param ev The event.
17497 declare var onselect: ((this: Window, ev: Event) => any) | null;
17498 declare var onselectionchange: ((this: Window, ev: Event) => any) | null;
17499 declare var onselectstart: ((this: Window, ev: Event) => any) | null;
17501 * Occurs when the download has stopped.
17502 * @param ev The event.
17504 declare var onstalled: ((this: Window, ev: Event) => any) | null;
17505 declare var onsubmit: ((this: Window, ev: SubmitEvent) => any) | null;
17507 * Occurs if the load operation has been intentionally halted.
17508 * @param ev The event.
17510 declare var onsuspend: ((this: Window, ev: Event) => any) | null;
17512 * Occurs to indicate the current playback position.
17513 * @param ev The event.
17515 declare var ontimeupdate: ((this: Window, ev: Event) => any) | null;
17516 declare var ontoggle: ((this: Window, ev: Event) => any) | null;
17517 declare var ontouchcancel: ((this: Window, ev: TouchEvent) => any) | null | undefined;
17518 declare var ontouchend: ((this: Window, ev: TouchEvent) => any) | null | undefined;
17519 declare var ontouchmove: ((this: Window, ev: TouchEvent) => any) | null | undefined;
17520 declare var ontouchstart: ((this: Window, ev: TouchEvent) => any) | null | undefined;
17521 declare var ontransitioncancel: ((this: Window, ev: TransitionEvent) => any) | null;
17522 declare var ontransitionend: ((this: Window, ev: TransitionEvent) => any) | null;
17523 declare var ontransitionrun: ((this: Window, ev: TransitionEvent) => any) | null;
17524 declare var ontransitionstart: ((this: Window, ev: TransitionEvent) => any) | null;
17526 * Occurs when the volume is changed, or playback is muted or unmuted.
17527 * @param ev The event.
17529 declare var onvolumechange: ((this: Window, ev: Event) => any) | null;
17531 * Occurs when playback stops because the next frame of a video resource is not available.
17532 * @param ev The event.
17534 declare var onwaiting: ((this: Window, ev: Event) => any) | null;
17535 /** @deprecated This is a legacy alias of `onanimationend`. */
17536 declare var onwebkitanimationend: ((this: Window, ev: Event) => any) | null;
17537 /** @deprecated This is a legacy alias of `onanimationiteration`. */
17538 declare var onwebkitanimationiteration: ((this: Window, ev: Event) => any) | null;
17539 /** @deprecated This is a legacy alias of `onanimationstart`. */
17540 declare var onwebkitanimationstart: ((this: Window, ev: Event) => any) | null;
17541 /** @deprecated This is a legacy alias of `ontransitionend`. */
17542 declare var onwebkittransitionend: ((this: Window, ev: Event) => any) | null;
17543 declare var onwheel: ((this: Window, ev: WheelEvent) => any) | null;
17544 declare var onafterprint: ((this: Window, ev: Event) => any) | null;
17545 declare var onbeforeprint: ((this: Window, ev: Event) => any) | null;
17546 declare var onbeforeunload: ((this: Window, ev: BeforeUnloadEvent) => any) | null;
17547 declare var ongamepadconnected: ((this: Window, ev: GamepadEvent) => any) | null;
17548 declare var ongamepaddisconnected: ((this: Window, ev: GamepadEvent) => any) | null;
17549 declare var onhashchange: ((this: Window, ev: HashChangeEvent) => any) | null;
17550 declare var onlanguagechange: ((this: Window, ev: Event) => any) | null;
17551 declare var onmessage: ((this: Window, ev: MessageEvent) => any) | null;
17552 declare var onmessageerror: ((this: Window, ev: MessageEvent) => any) | null;
17553 declare var onoffline: ((this: Window, ev: Event) => any) | null;
17554 declare var ononline: ((this: Window, ev: Event) => any) | null;
17555 declare var onpagehide: ((this: Window, ev: PageTransitionEvent) => any) | null;
17556 declare var onpageshow: ((this: Window, ev: PageTransitionEvent) => any) | null;
17557 declare var onpopstate: ((this: Window, ev: PopStateEvent) => any) | null;
17558 declare var onrejectionhandled: ((this: Window, ev: PromiseRejectionEvent) => any) | null;
17559 declare var onstorage: ((this: Window, ev: StorageEvent) => any) | null;
17560 declare var onunhandledrejection: ((this: Window, ev: PromiseRejectionEvent) => any) | null;
17561 declare var onunload: ((this: Window, ev: Event) => any) | null;
17562 declare var localStorage: Storage;
17563 /** Available only in secure contexts. */
17564 declare var caches: CacheStorage;
17565 declare var crossOriginIsolated: boolean;
17566 declare var crypto: Crypto;
17567 declare var indexedDB: IDBFactory;
17568 declare var isSecureContext: boolean;
17569 declare var origin: string;
17570 declare var performance: Performance;
17571 declare function atob(data: string): string;
17572 declare function btoa(data: string): string;
17573 declare function clearInterval(handle?: number): void;
17574 declare function clearTimeout(handle?: number): void;
17575 declare function createImageBitmap(image: ImageBitmapSource, options?: ImageBitmapOptions): Promise<ImageBitmap>;
17576 declare function createImageBitmap(image: ImageBitmapSource, sx: number, sy: number, sw: number, sh: number, options?: ImageBitmapOptions): Promise<ImageBitmap>;
17577 declare function fetch(input: RequestInfo, init?: RequestInit): Promise<Response>;
17578 declare function queueMicrotask(callback: VoidFunction): void;
17579 declare function setInterval(handler: TimerHandler, timeout?: number, ...arguments: any[]): number;
17580 declare function setTimeout(handler: TimerHandler, timeout?: number, ...arguments: any[]): number;
17581 declare var sessionStorage: Storage;
17582 declare function addEventListener<K extends keyof WindowEventMap>(type: K, listener: (this: Window, ev: WindowEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
17583 declare function addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
17584 declare function removeEventListener<K extends keyof WindowEventMap>(type: K, listener: (this: Window, ev: WindowEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
17585 declare function removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
17586 type AlgorithmIdentifier = Algorithm | string;
17587 type BigInteger = Uint8Array;
17588 type BinaryData = ArrayBuffer | ArrayBufferView;
17589 type BlobPart = BufferSource | Blob | string;
17590 type BodyInit = ReadableStream | XMLHttpRequestBodyInit;
17591 type BufferSource = ArrayBufferView | ArrayBuffer;
17592 type COSEAlgorithmIdentifier = number;
17593 type CSSNumberish = number;
17594 type CanvasImageSource = HTMLOrSVGImageElement | HTMLVideoElement | HTMLCanvasElement | ImageBitmap;
17595 type ClipboardItemData = Promise<ClipboardItemDataType>;
17596 type ClipboardItemDataType = string | Blob;
17597 type ClipboardItems = ClipboardItem[];
17598 type ConstrainBoolean = boolean | ConstrainBooleanParameters;
17599 type ConstrainDOMString = string | string[] | ConstrainDOMStringParameters;
17600 type ConstrainDouble = number | ConstrainDoubleRange;
17601 type ConstrainULong = number | ConstrainULongRange;
17602 type DOMHighResTimeStamp = number;
17603 type DOMTimeStamp = number;
17604 type EventListenerOrEventListenerObject = EventListener | EventListenerObject;
17605 type Float32List = Float32Array | GLfloat[];
17606 type FormDataEntryValue = File | string;
17607 type GLbitfield = number;
17608 type GLboolean = boolean;
17609 type GLclampf = number;
17610 type GLenum = number;
17611 type GLfloat = number;
17612 type GLint = number;
17613 type GLint64 = number;
17614 type GLintptr = number;
17615 type GLsizei = number;
17616 type GLsizeiptr = number;
17617 type GLuint = number;
17618 type GLuint64 = number;
17619 type HTMLOrSVGImageElement = HTMLImageElement | SVGImageElement;
17620 type HTMLOrSVGScriptElement = HTMLScriptElement | SVGScriptElement;
17621 type HashAlgorithmIdentifier = AlgorithmIdentifier;
17622 type HeadersInit = string[][] | Record<string, string> | Headers;
17623 type IDBValidKey = number | string | Date | BufferSource | IDBValidKey[];
17624 type ImageBitmapSource = CanvasImageSource | Blob | ImageData;
17625 type InsertPosition = "beforebegin" | "afterbegin" | "beforeend" | "afterend";
17626 type Int32List = Int32Array | GLint[];
17627 type LineAndPositionSetting = number | AutoKeyword;
17628 type MediaProvider = MediaStream | MediaSource | Blob;
17629 type MessageEventSource = WindowProxy | MessagePort | ServiceWorker;
17630 type MutationRecordType = "attributes" | "characterData" | "childList";
17631 type NamedCurve = string;
17632 type OnBeforeUnloadEventHandler = OnBeforeUnloadEventHandlerNonNull | null;
17633 type OnErrorEventHandler = OnErrorEventHandlerNonNull | null;
17634 type PerformanceEntryList = PerformanceEntry[];
17635 type ReadableStreamController<T> = ReadableStreamDefaultController<T>;
17636 type ReadableStreamDefaultReadResult<T> = ReadableStreamDefaultReadValueResult<T> | ReadableStreamDefaultReadDoneResult;
17637 type ReadableStreamReader<T> = ReadableStreamDefaultReader<T>;
17638 type RenderingContext = CanvasRenderingContext2D | ImageBitmapRenderingContext | WebGLRenderingContext | WebGL2RenderingContext;
17639 type RequestInfo = Request | string;
17640 type TexImageSource = ImageBitmap | ImageData | HTMLImageElement | HTMLCanvasElement | HTMLVideoElement;
17641 type TimerHandler = string | Function;
17642 type Transferable = ArrayBuffer | MessagePort | ImageBitmap;
17643 type Uint32List = Uint32Array | GLuint[];
17644 type UvmEntries = UvmEntry[];
17645 type UvmEntry = number[];
17646 type VibratePattern = number | number[];
17647 type WindowProxy = Window;
17648 type XMLHttpRequestBodyInit = Blob | BufferSource | FormData | URLSearchParams | string;
17649 type AlignSetting = "center" | "end" | "left" | "right" | "start";
17650 type AnimationPlayState = "finished" | "idle" | "paused" | "running";
17651 type AnimationReplaceState = "active" | "persisted" | "removed";
17652 type AppendMode = "segments" | "sequence";
17653 type AttestationConveyancePreference = "direct" | "enterprise" | "indirect" | "none";
17654 type AudioContextLatencyCategory = "balanced" | "interactive" | "playback";
17655 type AudioContextState = "closed" | "running" | "suspended";
17656 type AuthenticatorAttachment = "cross-platform" | "platform";
17657 type AuthenticatorTransport = "ble" | "internal" | "nfc" | "usb";
17658 type AutoKeyword = "auto";
17659 type AutomationRate = "a-rate" | "k-rate";
17660 type BinaryType = "arraybuffer" | "blob";
17661 type BiquadFilterType = "allpass" | "bandpass" | "highpass" | "highshelf" | "lowpass" | "lowshelf" | "notch" | "peaking";
17662 type CanPlayTypeResult = "" | "maybe" | "probably";
17663 type CanvasDirection = "inherit" | "ltr" | "rtl";
17664 type CanvasFillRule = "evenodd" | "nonzero";
17665 type CanvasFontKerning = "auto" | "none" | "normal";
17666 type CanvasFontStretch = "condensed" | "expanded" | "extra-condensed" | "extra-expanded" | "normal" | "semi-condensed" | "semi-expanded" | "ultra-condensed" | "ultra-expanded";
17667 type CanvasFontVariantCaps = "all-petite-caps" | "all-small-caps" | "normal" | "petite-caps" | "small-caps" | "titling-caps" | "unicase";
17668 type CanvasLineCap = "butt" | "round" | "square";
17669 type CanvasLineJoin = "bevel" | "miter" | "round";
17670 type CanvasTextAlign = "center" | "end" | "left" | "right" | "start";
17671 type CanvasTextBaseline = "alphabetic" | "bottom" | "hanging" | "ideographic" | "middle" | "top";
17672 type CanvasTextRendering = "auto" | "geometricPrecision" | "optimizeLegibility" | "optimizeSpeed";
17673 type ChannelCountMode = "clamped-max" | "explicit" | "max";
17674 type ChannelInterpretation = "discrete" | "speakers";
17675 type ClientTypes = "all" | "sharedworker" | "window" | "worker";
17676 type ColorGamut = "p3" | "rec2020" | "srgb";
17677 type ColorSpaceConversion = "default" | "none";
17678 type CompositeOperation = "accumulate" | "add" | "replace";
17679 type CompositeOperationOrAuto = "accumulate" | "add" | "auto" | "replace";
17680 type ConnectionType = "bluetooth" | "cellular" | "ethernet" | "mixed" | "none" | "other" | "unknown" | "wifi";
17681 type CredentialMediationRequirement = "optional" | "required" | "silent";
17682 type DOMParserSupportedType = "application/xhtml+xml" | "application/xml" | "image/svg+xml" | "text/html" | "text/xml";
17683 type DirectionSetting = "" | "lr" | "rl";
17684 type DisplayCaptureSurfaceType = "application" | "browser" | "monitor" | "window";
17685 type DistanceModelType = "exponential" | "inverse" | "linear";
17686 type DocumentReadyState = "complete" | "interactive" | "loading";
17687 type EndOfStreamError = "decode" | "network";
17688 type EndingType = "native" | "transparent";
17689 type FillMode = "auto" | "backwards" | "both" | "forwards" | "none";
17690 type FontFaceLoadStatus = "error" | "loaded" | "loading" | "unloaded";
17691 type FontFaceSetLoadStatus = "loaded" | "loading";
17692 type FullscreenNavigationUI = "auto" | "hide" | "show";
17693 type GamepadHapticActuatorType = "vibration";
17694 type GamepadMappingType = "" | "standard" | "xr-standard";
17695 type HdrMetadataType = "smpteSt2086" | "smpteSt2094-10" | "smpteSt2094-40";
17696 type IDBCursorDirection = "next" | "nextunique" | "prev" | "prevunique";
17697 type IDBRequestReadyState = "done" | "pending";
17698 type IDBTransactionMode = "readonly" | "readwrite" | "versionchange";
17699 type ImageOrientation = "flipY" | "none";
17700 type ImageSmoothingQuality = "high" | "low" | "medium";
17701 type IterationCompositeOperation = "accumulate" | "replace";
17702 type KeyFormat = "jwk" | "pkcs8" | "raw" | "spki";
17703 type KeyType = "private" | "public" | "secret";
17704 type KeyUsage = "decrypt" | "deriveBits" | "deriveKey" | "encrypt" | "sign" | "unwrapKey" | "verify" | "wrapKey";
17705 type LineAlignSetting = "center" | "end" | "start";
17706 type MediaDecodingType = "file" | "media-source" | "webrtc";
17707 type MediaDeviceKind = "audioinput" | "audiooutput" | "videoinput";
17708 type MediaEncodingType = "record" | "webrtc";
17709 type MediaKeyMessageType = "individualization-request" | "license-release" | "license-renewal" | "license-request";
17710 type MediaKeySessionClosedReason = "closed-by-application" | "hardware-context-reset" | "internal-error" | "release-acknowledged" | "resource-evicted";
17711 type MediaKeySessionType = "persistent-license" | "temporary";
17712 type MediaKeyStatus = "expired" | "internal-error" | "output-downscaled" | "output-restricted" | "released" | "status-pending" | "usable" | "usable-in-future";
17713 type MediaKeysRequirement = "not-allowed" | "optional" | "required";
17714 type MediaSessionAction = "hangup" | "nexttrack" | "pause" | "play" | "previoustrack" | "seekbackward" | "seekforward" | "seekto" | "skipad" | "stop" | "togglecamera" | "togglemicrophone";
17715 type MediaSessionPlaybackState = "none" | "paused" | "playing";
17716 type MediaStreamTrackState = "ended" | "live";
17717 type NavigationType = "back_forward" | "navigate" | "prerender" | "reload";
17718 type NotificationDirection = "auto" | "ltr" | "rtl";
17719 type NotificationPermission = "default" | "denied" | "granted";
17720 type OrientationLockType = "any" | "landscape" | "landscape-primary" | "landscape-secondary" | "natural" | "portrait" | "portrait-primary" | "portrait-secondary";
17721 type OrientationType = "landscape-primary" | "landscape-secondary" | "portrait-primary" | "portrait-secondary";
17722 type OscillatorType = "custom" | "sawtooth" | "sine" | "square" | "triangle";
17723 type OverSampleType = "2x" | "4x" | "none";
17724 type PanningModelType = "HRTF" | "equalpower";
17725 type PaymentComplete = "fail" | "success" | "unknown";
17726 type PermissionName = "geolocation" | "notifications" | "persistent-storage" | "push" | "screen-wake-lock" | "xr-spatial-tracking";
17727 type PermissionState = "denied" | "granted" | "prompt";
17728 type PlaybackDirection = "alternate" | "alternate-reverse" | "normal" | "reverse";
17729 type PositionAlignSetting = "auto" | "center" | "line-left" | "line-right";
17730 type PredefinedColorSpace = "display-p3" | "srgb";
17731 type PremultiplyAlpha = "default" | "none" | "premultiply";
17732 type PresentationStyle = "attachment" | "inline" | "unspecified";
17733 type PublicKeyCredentialType = "public-key";
17734 type PushEncryptionKeyName = "auth" | "p256dh";
17735 type PushPermissionState = "denied" | "granted" | "prompt";
17736 type RTCBundlePolicy = "balanced" | "max-bundle" | "max-compat";
17737 type RTCDataChannelState = "closed" | "closing" | "connecting" | "open";
17738 type RTCDegradationPreference = "balanced" | "maintain-framerate" | "maintain-resolution";
17739 type RTCDtlsTransportState = "closed" | "connected" | "connecting" | "failed" | "new";
17740 type RTCIceCandidateType = "host" | "prflx" | "relay" | "srflx";
17741 type RTCIceComponent = "rtcp" | "rtp";
17742 type RTCIceConnectionState = "checking" | "closed" | "completed" | "connected" | "disconnected" | "failed" | "new";
17743 type RTCIceCredentialType = "password";
17744 type RTCIceGathererState = "complete" | "gathering" | "new";
17745 type RTCIceGatheringState = "complete" | "gathering" | "new";
17746 type RTCIceProtocol = "tcp" | "udp";
17747 type RTCIceTcpCandidateType = "active" | "passive" | "so";
17748 type RTCIceTransportPolicy = "all" | "relay";
17749 type RTCIceTransportState = "checking" | "closed" | "completed" | "connected" | "disconnected" | "failed" | "new";
17750 type RTCPeerConnectionState = "closed" | "connected" | "connecting" | "disconnected" | "failed" | "new";
17751 type RTCPriorityType = "high" | "low" | "medium" | "very-low";
17752 type RTCRtcpMuxPolicy = "require";
17753 type RTCRtpTransceiverDirection = "inactive" | "recvonly" | "sendonly" | "sendrecv" | "stopped";
17754 type RTCSdpType = "answer" | "offer" | "pranswer" | "rollback";
17755 type RTCSignalingState = "closed" | "have-local-offer" | "have-local-pranswer" | "have-remote-offer" | "have-remote-pranswer" | "stable";
17756 type RTCStatsIceCandidatePairState = "failed" | "frozen" | "in-progress" | "inprogress" | "succeeded" | "waiting";
17757 type RTCStatsType = "candidate-pair" | "certificate" | "codec" | "csrc" | "data-channel" | "inbound-rtp" | "local-candidate" | "media-source" | "outbound-rtp" | "peer-connection" | "remote-candidate" | "remote-inbound-rtp" | "remote-outbound-rtp" | "track" | "transport";
17758 type ReadyState = "closed" | "ended" | "open";
17759 type RecordingState = "inactive" | "paused" | "recording";
17760 type ReferrerPolicy = "" | "no-referrer" | "no-referrer-when-downgrade" | "origin" | "origin-when-cross-origin" | "same-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url";
17761 type RemotePlaybackState = "connected" | "connecting" | "disconnected";
17762 type RequestCache = "default" | "force-cache" | "no-cache" | "no-store" | "only-if-cached" | "reload";
17763 type RequestCredentials = "include" | "omit" | "same-origin";
17764 type RequestDestination = "" | "audio" | "audioworklet" | "document" | "embed" | "font" | "frame" | "iframe" | "image" | "manifest" | "object" | "paintworklet" | "report" | "script" | "sharedworker" | "style" | "track" | "video" | "worker" | "xslt";
17765 type RequestMode = "cors" | "navigate" | "no-cors" | "same-origin";
17766 type RequestRedirect = "error" | "follow" | "manual";
17767 type ResidentKeyRequirement = "discouraged" | "preferred" | "required";
17768 type ResizeObserverBoxOptions = "border-box" | "content-box" | "device-pixel-content-box";
17769 type ResizeQuality = "high" | "low" | "medium" | "pixelated";
17770 type ResponseType = "basic" | "cors" | "default" | "error" | "opaque" | "opaqueredirect";
17771 type ScrollBehavior = "auto" | "smooth";
17772 type ScrollLogicalPosition = "center" | "end" | "nearest" | "start";
17773 type ScrollRestoration = "auto" | "manual";
17774 type ScrollSetting = "" | "up";
17775 type SecurityPolicyViolationEventDisposition = "enforce" | "report";
17776 type SelectionMode = "end" | "preserve" | "select" | "start";
17777 type ServiceWorkerState = "activated" | "activating" | "installed" | "installing" | "parsed" | "redundant";
17778 type ServiceWorkerUpdateViaCache = "all" | "imports" | "none";
17779 type ShadowRootMode = "closed" | "open";
17780 type SlotAssignmentMode = "manual" | "named";
17781 type SpeechSynthesisErrorCode = "audio-busy" | "audio-hardware" | "canceled" | "interrupted" | "invalid-argument" | "language-unavailable" | "network" | "not-allowed" | "synthesis-failed" | "synthesis-unavailable" | "text-too-long" | "voice-unavailable";
17782 type TextTrackKind = "captions" | "chapters" | "descriptions" | "metadata" | "subtitles";
17783 type TextTrackMode = "disabled" | "hidden" | "showing";
17784 type TouchType = "direct" | "stylus";
17785 type TransferFunction = "hlg" | "pq" | "srgb";
17786 type UserVerificationRequirement = "discouraged" | "preferred" | "required";
17787 type VideoFacingModeEnum = "environment" | "left" | "right" | "user";
17788 type VisibilityState = "hidden" | "visible";
17789 type WebGLPowerPreference = "default" | "high-performance" | "low-power";
17790 type WorkerType = "classic" | "module";
17791 type XMLHttpRequestResponseType = "" | "arraybuffer" | "blob" | "document" | "json" | "text";