///
///
///
///
/////////////////////////////
/// Window APIs
/////////////////////////////
interface AddEventListenerOptions extends EventListenerOptions {
once?: boolean;
passive?: boolean;
signal?: AbortSignal;
}
interface AddressErrors {
addressLine?: string;
city?: string;
country?: string;
dependentLocality?: string;
organization?: string;
phone?: string;
postalCode?: string;
recipient?: string;
region?: string;
sortingCode?: string;
}
interface AesCbcParams extends Algorithm {
iv: BufferSource;
}
interface AesCtrParams extends Algorithm {
counter: BufferSource;
length: number;
}
interface AesDerivedKeyParams extends Algorithm {
length: number;
}
interface AesGcmParams extends Algorithm {
additionalData?: BufferSource;
iv: BufferSource;
tagLength?: number;
}
interface AesKeyAlgorithm extends KeyAlgorithm {
length: number;
}
interface AesKeyGenParams extends Algorithm {
length: number;
}
interface Algorithm {
name: string;
}
interface AllAcceptedCredentialsOptions {
allAcceptedCredentialIds: Base64URLString[];
rpId: string;
userId: Base64URLString;
}
interface AnalyserOptions extends AudioNodeOptions {
fftSize?: number;
maxDecibels?: number;
minDecibels?: number;
smoothingTimeConstant?: number;
}
interface AnimationEventInit extends EventInit {
animationName?: string;
elapsedTime?: number;
pseudoElement?: string;
}
interface AnimationPlaybackEventInit extends EventInit {
currentTime?: CSSNumberish | null;
timelineTime?: CSSNumberish | null;
}
interface AssignedNodesOptions {
flatten?: boolean;
}
interface AudioBufferOptions {
length: number;
numberOfChannels?: number;
sampleRate: number;
}
interface AudioBufferSourceOptions {
buffer?: AudioBuffer | null;
detune?: number;
loop?: boolean;
loopEnd?: number;
loopStart?: number;
playbackRate?: number;
}
interface AudioConfiguration {
bitrate?: number;
channels?: string;
contentType: string;
samplerate?: number;
spatialRendering?: boolean;
}
interface AudioContextOptions {
latencyHint?: AudioContextLatencyCategory | number;
sampleRate?: number;
}
interface AudioDataCopyToOptions {
format?: AudioSampleFormat;
frameCount?: number;
frameOffset?: number;
planeIndex: number;
}
interface AudioDataInit {
data: BufferSource;
format: AudioSampleFormat;
numberOfChannels: number;
numberOfFrames: number;
sampleRate: number;
timestamp: number;
transfer?: ArrayBuffer[];
}
interface AudioDecoderConfig {
codec: string;
description?: AllowSharedBufferSource;
numberOfChannels: number;
sampleRate: number;
}
interface AudioDecoderInit {
error: WebCodecsErrorCallback;
output: AudioDataOutputCallback;
}
interface AudioDecoderSupport {
config?: AudioDecoderConfig;
supported?: boolean;
}
interface AudioEncoderConfig {
bitrate?: number;
bitrateMode?: BitrateMode;
codec: string;
numberOfChannels: number;
opus?: OpusEncoderConfig;
sampleRate: number;
}
interface AudioEncoderInit {
error: WebCodecsErrorCallback;
output: EncodedAudioChunkOutputCallback;
}
interface AudioEncoderSupport {
config?: AudioEncoderConfig;
supported?: boolean;
}
interface AudioNodeOptions {
channelCount?: number;
channelCountMode?: ChannelCountMode;
channelInterpretation?: ChannelInterpretation;
}
interface AudioProcessingEventInit extends EventInit {
inputBuffer: AudioBuffer;
outputBuffer: AudioBuffer;
playbackTime: number;
}
interface AudioTimestamp {
contextTime?: number;
performanceTime?: DOMHighResTimeStamp;
}
interface AudioWorkletNodeOptions extends AudioNodeOptions {
numberOfInputs?: number;
numberOfOutputs?: number;
outputChannelCount?: number[];
parameterData?: Record;
processorOptions?: any;
}
interface AuthenticationExtensionsClientInputs {
appid?: string;
credProps?: boolean;
credentialProtectionPolicy?: string;
enforceCredentialProtectionPolicy?: boolean;
hmacCreateSecret?: boolean;
largeBlob?: AuthenticationExtensionsLargeBlobInputs;
minPinLength?: boolean;
prf?: AuthenticationExtensionsPRFInputs;
}
interface AuthenticationExtensionsClientInputsJSON {
appid?: string;
credProps?: boolean;
largeBlob?: AuthenticationExtensionsLargeBlobInputsJSON;
prf?: AuthenticationExtensionsPRFInputsJSON;
}
interface AuthenticationExtensionsClientOutputs {
appid?: boolean;
credProps?: CredentialPropertiesOutput;
hmacCreateSecret?: boolean;
largeBlob?: AuthenticationExtensionsLargeBlobOutputs;
prf?: AuthenticationExtensionsPRFOutputs;
}
interface AuthenticationExtensionsLargeBlobInputs {
read?: boolean;
support?: string;
write?: BufferSource;
}
interface AuthenticationExtensionsLargeBlobInputsJSON {
read?: boolean;
support?: string;
write?: Base64URLString;
}
interface AuthenticationExtensionsLargeBlobOutputs {
blob?: ArrayBuffer;
supported?: boolean;
written?: boolean;
}
interface AuthenticationExtensionsPRFInputs {
eval?: AuthenticationExtensionsPRFValues;
evalByCredential?: Record;
}
interface AuthenticationExtensionsPRFInputsJSON {
eval?: AuthenticationExtensionsPRFValuesJSON;
evalByCredential?: Record;
}
interface AuthenticationExtensionsPRFOutputs {
enabled?: boolean;
results?: AuthenticationExtensionsPRFValues;
}
interface AuthenticationExtensionsPRFValues {
first: BufferSource;
second?: BufferSource;
}
interface AuthenticationExtensionsPRFValuesJSON {
first: Base64URLString;
second?: Base64URLString;
}
interface AuthenticatorSelectionCriteria {
authenticatorAttachment?: AuthenticatorAttachment;
requireResidentKey?: boolean;
residentKey?: ResidentKeyRequirement;
userVerification?: UserVerificationRequirement;
}
interface AvcEncoderConfig {
format?: AvcBitstreamFormat;
}
interface BiquadFilterOptions extends AudioNodeOptions {
Q?: number;
detune?: number;
frequency?: number;
gain?: number;
type?: BiquadFilterType;
}
interface BlobEventInit extends EventInit {
data: Blob;
timecode?: DOMHighResTimeStamp;
}
interface BlobPropertyBag {
endings?: EndingType;
type?: string;
}
interface CSSMatrixComponentOptions {
is2D?: boolean;
}
interface CSSNumericType {
angle?: number;
flex?: number;
frequency?: number;
length?: number;
percent?: number;
percentHint?: CSSNumericBaseType;
resolution?: number;
time?: number;
}
interface CSSStyleSheetInit {
baseURL?: string;
disabled?: boolean;
media?: MediaList | string;
}
interface CacheQueryOptions {
ignoreMethod?: boolean;
ignoreSearch?: boolean;
ignoreVary?: boolean;
}
interface CanvasRenderingContext2DSettings {
alpha?: boolean;
colorSpace?: PredefinedColorSpace;
desynchronized?: boolean;
willReadFrequently?: boolean;
}
interface CaretPositionFromPointOptions {
shadowRoots?: ShadowRoot[];
}
interface ChannelMergerOptions extends AudioNodeOptions {
numberOfInputs?: number;
}
interface ChannelSplitterOptions extends AudioNodeOptions {
numberOfOutputs?: number;
}
interface CheckVisibilityOptions {
checkOpacity?: boolean;
checkVisibilityCSS?: boolean;
contentVisibilityAuto?: boolean;
opacityProperty?: boolean;
visibilityProperty?: boolean;
}
interface ClientQueryOptions {
includeUncontrolled?: boolean;
type?: ClientTypes;
}
interface ClipboardEventInit extends EventInit {
clipboardData?: DataTransfer | null;
}
interface ClipboardItemOptions {
presentationStyle?: PresentationStyle;
}
interface CloseEventInit extends EventInit {
code?: number;
reason?: string;
wasClean?: boolean;
}
interface CommandEventInit extends EventInit {
command?: string;
source?: Element | null;
}
interface CompositionEventInit extends UIEventInit {
data?: string;
}
interface ComputedEffectTiming extends EffectTiming {
activeDuration?: CSSNumberish;
currentIteration?: number | null;
endTime?: CSSNumberish;
localTime?: CSSNumberish | null;
progress?: number | null;
startTime?: CSSNumberish;
}
interface ComputedKeyframe {
composite: CompositeOperationOrAuto;
computedOffset: number;
easing: string;
offset: number | null;
[property: string]: string | number | null | undefined;
}
interface ConstantSourceOptions {
offset?: number;
}
interface ConstrainBooleanOrDOMStringParameters {
exact?: boolean | string;
ideal?: boolean | string;
}
interface ConstrainBooleanParameters {
exact?: boolean;
ideal?: boolean;
}
interface ConstrainDOMStringParameters {
exact?: string | string[];
ideal?: string | string[];
}
interface ConstrainDoubleRange extends DoubleRange {
exact?: number;
ideal?: number;
}
interface ConstrainULongRange extends ULongRange {
exact?: number;
ideal?: number;
}
interface ContentVisibilityAutoStateChangeEventInit extends EventInit {
skipped?: boolean;
}
interface ConvolverOptions extends AudioNodeOptions {
buffer?: AudioBuffer | null;
disableNormalization?: boolean;
}
interface CookieChangeEventInit extends EventInit {
changed?: CookieList;
deleted?: CookieList;
}
interface CookieInit {
domain?: string | null;
expires?: DOMHighResTimeStamp | null;
name: string;
partitioned?: boolean;
path?: string;
sameSite?: CookieSameSite;
value: string;
}
interface CookieListItem {
name?: string;
value?: string;
}
interface CookieStoreDeleteOptions {
domain?: string | null;
name: string;
partitioned?: boolean;
path?: string;
}
interface CookieStoreGetOptions {
name?: string;
url?: string;
}
interface CredentialCreationOptions {
publicKey?: PublicKeyCredentialCreationOptions;
signal?: AbortSignal;
}
interface CredentialPropertiesOutput {
rk?: boolean;
}
interface CredentialRequestOptions {
mediation?: CredentialMediationRequirement;
publicKey?: PublicKeyCredentialRequestOptions;
signal?: AbortSignal;
}
interface CryptoKeyPair {
privateKey: CryptoKey;
publicKey: CryptoKey;
}
interface CurrentUserDetailsOptions {
displayName: string;
name: string;
rpId: string;
userId: Base64URLString;
}
interface CustomEventInit extends EventInit {
detail?: T;
}
interface DOMMatrix2DInit {
a?: number;
b?: number;
c?: number;
d?: number;
e?: number;
f?: number;
m11?: number;
m12?: number;
m21?: number;
m22?: number;
m41?: number;
m42?: number;
}
interface DOMMatrixInit extends DOMMatrix2DInit {
is2D?: boolean;
m13?: number;
m14?: number;
m23?: number;
m24?: number;
m31?: number;
m32?: number;
m33?: number;
m34?: number;
m43?: number;
m44?: number;
}
interface DOMPointInit {
w?: number;
x?: number;
y?: number;
z?: number;
}
interface DOMQuadInit {
p1?: DOMPointInit;
p2?: DOMPointInit;
p3?: DOMPointInit;
p4?: DOMPointInit;
}
interface DOMRectInit {
height?: number;
width?: number;
x?: number;
y?: number;
}
interface DelayOptions extends AudioNodeOptions {
delayTime?: number;
maxDelayTime?: number;
}
interface DeviceMotionEventAccelerationInit {
x?: number | null;
y?: number | null;
z?: number | null;
}
interface DeviceMotionEventInit extends EventInit {
acceleration?: DeviceMotionEventAccelerationInit;
accelerationIncludingGravity?: DeviceMotionEventAccelerationInit;
interval?: number;
rotationRate?: DeviceMotionEventRotationRateInit;
}
interface DeviceMotionEventRotationRateInit {
alpha?: number | null;
beta?: number | null;
gamma?: number | null;
}
interface DeviceOrientationEventInit extends EventInit {
absolute?: boolean;
alpha?: number | null;
beta?: number | null;
gamma?: number | null;
}
interface DisplayMediaStreamOptions {
audio?: boolean | MediaTrackConstraints;
video?: boolean | MediaTrackConstraints;
}
interface DocumentTimelineOptions {
originTime?: DOMHighResTimeStamp;
}
interface DoubleRange {
max?: number;
min?: number;
}
interface DragEventInit extends MouseEventInit {
dataTransfer?: DataTransfer | null;
}
interface DynamicsCompressorOptions extends AudioNodeOptions {
attack?: number;
knee?: number;
ratio?: number;
release?: number;
threshold?: number;
}
interface EcKeyAlgorithm extends KeyAlgorithm {
namedCurve: NamedCurve;
}
interface EcKeyGenParams extends Algorithm {
namedCurve: NamedCurve;
}
interface EcKeyImportParams extends Algorithm {
namedCurve: NamedCurve;
}
interface EcdhKeyDeriveParams extends Algorithm {
public: CryptoKey;
}
interface EcdsaParams extends Algorithm {
hash: HashAlgorithmIdentifier;
}
interface EffectTiming {
delay?: number;
direction?: PlaybackDirection;
duration?: number | CSSNumericValue | string;
easing?: string;
endDelay?: number;
fill?: FillMode;
iterationStart?: number;
iterations?: number;
playbackRate?: number;
}
interface ElementCreationOptions {
customElementRegistry?: CustomElementRegistry | null;
is?: string;
}
interface ElementDefinitionOptions {
extends?: string;
}
interface EncodedAudioChunkInit {
data: AllowSharedBufferSource;
duration?: number;
timestamp: number;
transfer?: ArrayBuffer[];
type: EncodedAudioChunkType;
}
interface EncodedAudioChunkMetadata {
decoderConfig?: AudioDecoderConfig;
}
interface EncodedVideoChunkInit {
data: AllowSharedBufferSource;
duration?: number;
timestamp: number;
type: EncodedVideoChunkType;
}
interface EncodedVideoChunkMetadata {
decoderConfig?: VideoDecoderConfig;
}
interface ErrorEventInit extends EventInit {
colno?: number;
error?: any;
filename?: string;
lineno?: number;
message?: string;
}
interface EventInit {
bubbles?: boolean;
cancelable?: boolean;
composed?: boolean;
}
interface EventListenerOptions {
capture?: boolean;
}
interface EventModifierInit extends UIEventInit {
altKey?: boolean;
ctrlKey?: boolean;
metaKey?: boolean;
modifierAltGraph?: boolean;
modifierCapsLock?: boolean;
modifierFn?: boolean;
modifierFnLock?: boolean;
modifierHyper?: boolean;
modifierNumLock?: boolean;
modifierScrollLock?: boolean;
modifierSuper?: boolean;
modifierSymbol?: boolean;
modifierSymbolLock?: boolean;
shiftKey?: boolean;
}
interface EventSourceInit {
withCredentials?: boolean;
}
interface FilePropertyBag extends BlobPropertyBag {
lastModified?: number;
}
interface FileSystemCreateWritableOptions {
keepExistingData?: boolean;
}
interface FileSystemFlags {
create?: boolean;
exclusive?: boolean;
}
interface FileSystemGetDirectoryOptions {
create?: boolean;
}
interface FileSystemGetFileOptions {
create?: boolean;
}
interface FileSystemRemoveOptions {
recursive?: boolean;
}
interface FocusEventInit extends UIEventInit {
relatedTarget?: EventTarget | null;
}
interface FocusOptions {
preventScroll?: boolean;
}
interface FontFaceDescriptors {
ascentOverride?: string;
descentOverride?: string;
display?: FontDisplay;
featureSettings?: string;
lineGapOverride?: string;
stretch?: string;
style?: string;
unicodeRange?: string;
weight?: string;
}
interface FontFaceSetLoadEventInit extends EventInit {
fontfaces?: FontFace[];
}
interface FormDataEventInit extends EventInit {
formData: FormData;
}
interface FullscreenOptions {
navigationUI?: FullscreenNavigationUI;
}
interface GPUPipelineErrorInit {
reason: GPUPipelineErrorReason;
}
interface GainOptions extends AudioNodeOptions {
gain?: number;
}
interface GamepadEffectParameters {
duration?: number;
leftTrigger?: number;
rightTrigger?: number;
startDelay?: number;
strongMagnitude?: number;
weakMagnitude?: number;
}
interface GamepadEventInit extends EventInit {
gamepad: Gamepad;
}
interface GetAnimationsOptions {
subtree?: boolean;
}
interface GetComposedRangesOptions {
shadowRoots?: ShadowRoot[];
}
interface GetHTMLOptions {
serializableShadowRoots?: boolean;
shadowRoots?: ShadowRoot[];
}
interface GetNotificationOptions {
tag?: string;
}
interface GetRootNodeOptions {
composed?: boolean;
}
interface HashChangeEventInit extends EventInit {
newURL?: string;
oldURL?: string;
}
interface HkdfParams extends Algorithm {
hash: HashAlgorithmIdentifier;
info: BufferSource;
salt: BufferSource;
}
interface HmacImportParams extends Algorithm {
hash: HashAlgorithmIdentifier;
length?: number;
}
interface HmacKeyAlgorithm extends KeyAlgorithm {
hash: KeyAlgorithm;
length: number;
}
interface HmacKeyGenParams extends Algorithm {
hash: HashAlgorithmIdentifier;
length?: number;
}
interface IDBDatabaseInfo {
name?: string;
version?: number;
}
interface IDBIndexParameters {
multiEntry?: boolean;
unique?: boolean;
}
interface IDBObjectStoreParameters {
autoIncrement?: boolean;
keyPath?: string | string[] | null;
}
interface IDBTransactionOptions {
durability?: IDBTransactionDurability;
}
interface IDBVersionChangeEventInit extends EventInit {
newVersion?: number | null;
oldVersion?: number;
}
interface IIRFilterOptions extends AudioNodeOptions {
feedback: number[];
feedforward: number[];
}
interface IdleRequestOptions {
timeout?: number;
}
interface ImageBitmapOptions {
colorSpaceConversion?: ColorSpaceConversion;
imageOrientation?: ImageOrientation;
premultiplyAlpha?: PremultiplyAlpha;
resizeHeight?: number;
resizeQuality?: ResizeQuality;
resizeWidth?: number;
}
interface ImageBitmapRenderingContextSettings {
alpha?: boolean;
}
interface ImageDataSettings {
colorSpace?: PredefinedColorSpace;
}
interface ImageDecodeOptions {
completeFramesOnly?: boolean;
frameIndex?: number;
}
interface ImageDecodeResult {
complete: boolean;
image: VideoFrame;
}
interface ImageDecoderInit {
colorSpaceConversion?: ColorSpaceConversion;
data: ImageBufferSource;
desiredHeight?: number;
desiredWidth?: number;
preferAnimation?: boolean;
transfer?: ArrayBuffer[];
type: string;
}
interface ImageEncodeOptions {
quality?: number;
type?: string;
}
interface ImportNodeOptions {
customElementRegistry?: CustomElementRegistry;
selfOnly?: boolean;
}
interface InputEventInit extends UIEventInit {
data?: string | null;
dataTransfer?: DataTransfer | null;
inputType?: string;
isComposing?: boolean;
targetRanges?: StaticRange[];
}
interface IntersectionObserverInit {
root?: Element | Document | null;
rootMargin?: string;
scrollMargin?: string;
threshold?: number | number[];
}
interface JsonWebKey {
alg?: string;
crv?: string;
d?: string;
dp?: string;
dq?: string;
e?: string;
ext?: boolean;
k?: string;
key_ops?: string[];
kty?: string;
n?: string;
oth?: RsaOtherPrimesInfo[];
p?: string;
q?: string;
qi?: string;
use?: string;
x?: string;
y?: string;
}
interface KeyAlgorithm {
name: string;
}
interface KeySystemTrackConfiguration {
robustness?: string;
}
interface KeyboardEventInit extends EventModifierInit {
/** @deprecated `charCode` is inconsistent across environments, consider using `key` instead. */
charCode?: number;
code?: string;
isComposing?: boolean;
key?: string;
/** @deprecated `keyCode` is inconsistent across environments, consider using `key` instead. */
keyCode?: number;
location?: number;
repeat?: boolean;
}
interface Keyframe {
composite?: CompositeOperationOrAuto;
easing?: string;
offset?: number | null;
[property: string]: string | number | null | undefined;
}
interface KeyframeAnimationOptions extends KeyframeEffectOptions {
id?: string;
timeline?: AnimationTimeline | null;
}
interface KeyframeEffectOptions extends EffectTiming {
composite?: CompositeOperation;
iterationComposite?: IterationCompositeOperation;
pseudoElement?: string | null;
}
interface LockInfo {
clientId?: string;
mode?: LockMode;
name?: string;
}
interface LockManagerSnapshot {
held?: LockInfo[];
pending?: LockInfo[];
}
interface LockOptions {
ifAvailable?: boolean;
mode?: LockMode;
signal?: AbortSignal;
steal?: boolean;
}
interface MIDIConnectionEventInit extends EventInit {
port?: MIDIPort;
}
interface MIDIMessageEventInit extends EventInit {
data?: Uint8Array;
}
interface MIDIOptions {
software?: boolean;
sysex?: boolean;
}
interface MediaCapabilitiesDecodingInfo extends MediaCapabilitiesInfo {
keySystemAccess: MediaKeySystemAccess | null;
}
interface MediaCapabilitiesEncodingInfo extends MediaCapabilitiesInfo {
}
interface MediaCapabilitiesInfo {
powerEfficient: boolean;
smooth: boolean;
supported: boolean;
}
interface MediaCapabilitiesKeySystemConfiguration {
audio?: KeySystemTrackConfiguration;
distinctiveIdentifier?: MediaKeysRequirement;
initDataType?: string;
keySystem: string;
persistentState?: MediaKeysRequirement;
sessionTypes?: string[];
video?: KeySystemTrackConfiguration;
}
interface MediaConfiguration {
audio?: AudioConfiguration;
video?: VideoConfiguration;
}
interface MediaDecodingConfiguration extends MediaConfiguration {
keySystemConfiguration?: MediaCapabilitiesKeySystemConfiguration;
type: MediaDecodingType;
}
interface MediaElementAudioSourceOptions {
mediaElement: HTMLMediaElement;
}
interface MediaEncodingConfiguration extends MediaConfiguration {
type: MediaEncodingType;
}
interface MediaEncryptedEventInit extends EventInit {
initData?: ArrayBuffer | null;
initDataType?: string;
}
interface MediaImage {
sizes?: string;
src: string;
type?: string;
}
interface MediaKeyMessageEventInit extends EventInit {
message: ArrayBuffer;
messageType: MediaKeyMessageType;
}
interface MediaKeySystemConfiguration {
audioCapabilities?: MediaKeySystemMediaCapability[];
distinctiveIdentifier?: MediaKeysRequirement;
initDataTypes?: string[];
label?: string;
persistentState?: MediaKeysRequirement;
sessionTypes?: string[];
videoCapabilities?: MediaKeySystemMediaCapability[];
}
interface MediaKeySystemMediaCapability {
contentType?: string;
encryptionScheme?: string | null;
robustness?: string;
}
interface MediaKeysPolicy {
minHdcpVersion?: string;
}
interface MediaMetadataInit {
album?: string;
artist?: string;
artwork?: MediaImage[];
title?: string;
}
interface MediaPositionState {
duration?: number;
playbackRate?: number;
position?: number;
}
interface MediaQueryListEventInit extends EventInit {
matches?: boolean;
media?: string;
}
interface MediaRecorderOptions {
audioBitsPerSecond?: number;
bitsPerSecond?: number;
mimeType?: string;
videoBitsPerSecond?: number;
}
interface MediaSessionActionDetails {
action: MediaSessionAction;
fastSeek?: boolean;
seekOffset?: number;
seekTime?: number;
}
interface MediaSettingsRange {
max?: number;
min?: number;
step?: number;
}
interface MediaStreamAudioSourceOptions {
mediaStream: MediaStream;
}
interface MediaStreamConstraints {
audio?: boolean | MediaTrackConstraints;
peerIdentity?: string;
preferCurrentTab?: boolean;
video?: boolean | MediaTrackConstraints;
}
interface MediaStreamTrackEventInit extends EventInit {
track: MediaStreamTrack;
}
interface MediaTrackCapabilities {
aspectRatio?: DoubleRange;
autoGainControl?: boolean[];
backgroundBlur?: boolean[];
channelCount?: ULongRange;
deviceId?: string;
displaySurface?: string;
echoCancellation?: (boolean | string)[];
facingMode?: string[];
frameRate?: DoubleRange;
groupId?: string;
height?: ULongRange;
noiseSuppression?: boolean[];
sampleRate?: ULongRange;
sampleSize?: ULongRange;
width?: ULongRange;
}
interface MediaTrackConstraintSet {
aspectRatio?: ConstrainDouble;
autoGainControl?: ConstrainBoolean;
backgroundBlur?: ConstrainBoolean;
channelCount?: ConstrainULong;
deviceId?: ConstrainDOMString;
displaySurface?: ConstrainDOMString;
echoCancellation?: ConstrainBooleanOrDOMString;
facingMode?: ConstrainDOMString;
frameRate?: ConstrainDouble;
groupId?: ConstrainDOMString;
height?: ConstrainULong;
noiseSuppression?: ConstrainBoolean;
sampleRate?: ConstrainULong;
sampleSize?: ConstrainULong;
width?: ConstrainULong;
}
interface MediaTrackConstraints extends MediaTrackConstraintSet {
advanced?: MediaTrackConstraintSet[];
}
interface MediaTrackSettings {
aspectRatio?: number;
autoGainControl?: boolean;
backgroundBlur?: boolean;
channelCount?: number;
deviceId?: string;
displaySurface?: string;
echoCancellation?: boolean | string;
facingMode?: string;
frameRate?: number;
groupId?: string;
height?: number;
noiseSuppression?: boolean;
sampleRate?: number;
sampleSize?: number;
torch?: boolean;
whiteBalanceMode?: string;
width?: number;
zoom?: number;
}
interface MediaTrackSupportedConstraints {
aspectRatio?: boolean;
autoGainControl?: boolean;
backgroundBlur?: boolean;
channelCount?: boolean;
deviceId?: boolean;
displaySurface?: boolean;
echoCancellation?: boolean;
facingMode?: boolean;
frameRate?: boolean;
groupId?: boolean;
height?: boolean;
noiseSuppression?: boolean;
sampleRate?: boolean;
sampleSize?: boolean;
width?: boolean;
}
interface MessageEventInit extends EventInit {
data?: T;
lastEventId?: string;
origin?: string;
ports?: MessagePort[];
source?: MessageEventSource | null;
}
interface MouseEventInit extends EventModifierInit {
button?: number;
buttons?: number;
clientX?: number;
clientY?: number;
movementX?: number;
movementY?: number;
relatedTarget?: EventTarget | null;
screenX?: number;
screenY?: number;
}
interface MultiCacheQueryOptions extends CacheQueryOptions {
cacheName?: string;
}
interface MutationObserverInit {
/** 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. */
attributeFilter?: string[];
/** Set to true if attributes is true or omitted and target's attribute value before the mutation needs to be recorded. */
attributeOldValue?: boolean;
/** Set to true if mutations to target's attributes are to be observed. Can be omitted if attributeOldValue or attributeFilter is specified. */
attributes?: boolean;
/** Set to true if mutations to target's data are to be observed. Can be omitted if characterDataOldValue is specified. */
characterData?: boolean;
/** Set to true if characterData is set to true or omitted and target's data before the mutation needs to be recorded. */
characterDataOldValue?: boolean;
/** Set to true if mutations to target's children are to be observed. */
childList?: boolean;
/** Set to true if mutations to not just target, but also target's descendants are to be observed. */
subtree?: boolean;
}
interface NavigateEventInit extends EventInit {
canIntercept?: boolean;
destination: NavigationDestination;
downloadRequest?: string | null;
formData?: FormData | null;
hasUAVisualTransition?: boolean;
hashChange?: boolean;
info?: any;
navigationType?: NavigationType;
signal: AbortSignal;
sourceElement?: Element | null;
userInitiated?: boolean;
}
interface NavigationCurrentEntryChangeEventInit extends EventInit {
from: NavigationHistoryEntry;
navigationType?: NavigationType | null;
}
interface NavigationInterceptOptions {
focusReset?: NavigationFocusReset;
handler?: NavigationInterceptHandler;
precommitHandler?: NavigationPrecommitHandler;
scroll?: NavigationScrollBehavior;
}
interface NavigationNavigateOptions extends NavigationOptions {
history?: NavigationHistoryBehavior;
state?: any;
}
interface NavigationOptions {
info?: any;
}
interface NavigationPreloadState {
enabled?: boolean;
headerValue?: string;
}
interface NavigationReloadOptions extends NavigationOptions {
state?: any;
}
interface NavigationResult {
committed?: Promise;
finished?: Promise;
}
interface NavigationUpdateCurrentEntryOptions {
state: any;
}
interface NotificationOptions {
badge?: string;
body?: string;
data?: any;
dir?: NotificationDirection;
icon?: string;
lang?: string;
requireInteraction?: boolean;
silent?: boolean | null;
tag?: string;
}
interface OfflineAudioCompletionEventInit extends EventInit {
renderedBuffer: AudioBuffer;
}
interface OfflineAudioContextOptions {
length: number;
numberOfChannels?: number;
sampleRate: number;
}
interface OptionalEffectTiming {
delay?: number;
direction?: PlaybackDirection;
duration?: number | string;
easing?: string;
endDelay?: number;
fill?: FillMode;
iterationStart?: number;
iterations?: number;
playbackRate?: number;
}
interface OpusEncoderConfig {
complexity?: number;
format?: OpusBitstreamFormat;
frameDuration?: number;
packetlossperc?: number;
usedtx?: boolean;
useinbandfec?: boolean;
}
interface OscillatorOptions extends AudioNodeOptions {
detune?: number;
frequency?: number;
periodicWave?: PeriodicWave;
type?: OscillatorType;
}
interface PageRevealEventInit extends EventInit {
viewTransition?: ViewTransition | null;
}
interface PageSwapEventInit extends EventInit {
activation?: NavigationActivation | null;
viewTransition?: ViewTransition | null;
}
interface PageTransitionEventInit extends EventInit {
persisted?: boolean;
}
interface PannerOptions extends AudioNodeOptions {
coneInnerAngle?: number;
coneOuterAngle?: number;
coneOuterGain?: number;
distanceModel?: DistanceModelType;
maxDistance?: number;
orientationX?: number;
orientationY?: number;
orientationZ?: number;
panningModel?: PanningModelType;
positionX?: number;
positionY?: number;
positionZ?: number;
refDistance?: number;
rolloffFactor?: number;
}
interface PayerErrors {
email?: string;
name?: string;
phone?: string;
}
interface PaymentCurrencyAmount {
currency: string;
value: string;
}
interface PaymentDetailsBase {
displayItems?: PaymentItem[];
modifiers?: PaymentDetailsModifier[];
shippingOptions?: PaymentShippingOption[];
}
interface PaymentDetailsInit extends PaymentDetailsBase {
id?: string;
total: PaymentItem;
}
interface PaymentDetailsModifier {
additionalDisplayItems?: PaymentItem[];
data?: any;
supportedMethods: string;
total?: PaymentItem;
}
interface PaymentDetailsUpdate extends PaymentDetailsBase {
error?: string;
paymentMethodErrors?: any;
shippingAddressErrors?: AddressErrors;
total?: PaymentItem;
}
interface PaymentItem {
amount: PaymentCurrencyAmount;
label: string;
pending?: boolean;
}
interface PaymentMethodChangeEventInit extends PaymentRequestUpdateEventInit {
methodDetails?: any;
methodName?: string;
}
interface PaymentMethodData {
data?: any;
supportedMethods: string;
}
interface PaymentOptions {
requestPayerEmail?: boolean;
requestPayerName?: boolean;
requestPayerPhone?: boolean;
requestShipping?: boolean;
shippingType?: PaymentShippingType;
}
interface PaymentRequestUpdateEventInit extends EventInit {
}
interface PaymentShippingOption {
amount: PaymentCurrencyAmount;
id: string;
label: string;
selected?: boolean;
}
interface PaymentValidationErrors {
error?: string;
payer?: PayerErrors;
shippingAddress?: AddressErrors;
}
interface Pbkdf2Params extends Algorithm {
hash: HashAlgorithmIdentifier;
iterations: number;
salt: BufferSource;
}
interface PerformanceMarkOptions {
detail?: any;
startTime?: DOMHighResTimeStamp;
}
interface PerformanceMeasureOptions {
detail?: any;
duration?: DOMHighResTimeStamp;
end?: string | DOMHighResTimeStamp;
start?: string | DOMHighResTimeStamp;
}
interface PerformanceObserverInit {
buffered?: boolean;
entryTypes?: string[];
type?: string;
}
interface PeriodicWaveConstraints {
disableNormalization?: boolean;
}
interface PeriodicWaveOptions extends PeriodicWaveConstraints {
imag?: number[] | Float32Array;
real?: number[] | Float32Array;
}
interface PermissionDescriptor {
name: PermissionName;
}
interface PhotoCapabilities {
fillLightMode?: FillLightMode[];
imageHeight?: MediaSettingsRange;
imageWidth?: MediaSettingsRange;
redEyeReduction?: RedEyeReduction;
}
interface PhotoSettings {
fillLightMode?: FillLightMode;
imageHeight?: number;
imageWidth?: number;
redEyeReduction?: boolean;
}
interface PictureInPictureEventInit extends EventInit {
pictureInPictureWindow: PictureInPictureWindow;
}
interface PlaneLayout {
offset: number;
stride: number;
}
interface PointerEventInit extends MouseEventInit {
altitudeAngle?: number;
azimuthAngle?: number;
coalescedEvents?: PointerEvent[];
height?: number;
isPrimary?: boolean;
pointerId?: number;
pointerType?: string;
predictedEvents?: PointerEvent[];
pressure?: number;
tangentialPressure?: number;
tiltX?: number;
tiltY?: number;
twist?: number;
width?: number;
}
interface PointerLockOptions {
unadjustedMovement?: boolean;
}
interface PopStateEventInit extends EventInit {
state?: any;
}
interface PositionOptions {
enableHighAccuracy?: boolean;
maximumAge?: number;
timeout?: number;
}
interface ProgressEventInit extends EventInit {
lengthComputable?: boolean;
loaded?: number;
total?: number;
}
interface PromiseRejectionEventInit extends EventInit {
promise: Promise;
reason?: any;
}
interface PropertyDefinition {
inherits: boolean;
initialValue?: string;
name: string;
syntax?: string;
}
interface PropertyIndexedKeyframes {
composite?: CompositeOperationOrAuto | CompositeOperationOrAuto[];
easing?: string | string[];
offset?: number | (number | null)[];
[property: string]: string | string[] | number | null | (number | null)[] | undefined;
}
interface PublicKeyCredentialCreationOptions {
attestation?: AttestationConveyancePreference;
authenticatorSelection?: AuthenticatorSelectionCriteria;
challenge: BufferSource;
excludeCredentials?: PublicKeyCredentialDescriptor[];
extensions?: AuthenticationExtensionsClientInputs;
pubKeyCredParams: PublicKeyCredentialParameters[];
rp: PublicKeyCredentialRpEntity;
timeout?: number;
user: PublicKeyCredentialUserEntity;
}
interface PublicKeyCredentialCreationOptionsJSON {
attestation?: string;
authenticatorSelection?: AuthenticatorSelectionCriteria;
challenge: Base64URLString;
excludeCredentials?: PublicKeyCredentialDescriptorJSON[];
extensions?: AuthenticationExtensionsClientInputsJSON;
hints?: string[];
pubKeyCredParams: PublicKeyCredentialParameters[];
rp: PublicKeyCredentialRpEntity;
timeout?: number;
user: PublicKeyCredentialUserEntityJSON;
}
interface PublicKeyCredentialDescriptor {
id: BufferSource;
transports?: AuthenticatorTransport[];
type: PublicKeyCredentialType;
}
interface PublicKeyCredentialDescriptorJSON {
id: Base64URLString;
transports?: string[];
type: string;
}
interface PublicKeyCredentialEntity {
name: string;
}
interface PublicKeyCredentialParameters {
alg: COSEAlgorithmIdentifier;
type: PublicKeyCredentialType;
}
interface PublicKeyCredentialRequestOptions {
allowCredentials?: PublicKeyCredentialDescriptor[];
challenge: BufferSource;
extensions?: AuthenticationExtensionsClientInputs;
rpId?: string;
timeout?: number;
userVerification?: UserVerificationRequirement;
}
interface PublicKeyCredentialRequestOptionsJSON {
allowCredentials?: PublicKeyCredentialDescriptorJSON[];
challenge: Base64URLString;
extensions?: AuthenticationExtensionsClientInputsJSON;
hints?: string[];
rpId?: string;
timeout?: number;
userVerification?: string;
}
interface PublicKeyCredentialRpEntity extends PublicKeyCredentialEntity {
id?: string;
}
interface PublicKeyCredentialUserEntity extends PublicKeyCredentialEntity {
displayName: string;
id: BufferSource;
}
interface PublicKeyCredentialUserEntityJSON {
displayName: string;
id: Base64URLString;
name: string;
}
interface PushSubscriptionJSON {
endpoint?: string;
expirationTime?: EpochTimeStamp | null;
keys?: Record;
}
interface PushSubscriptionOptionsInit {
applicationServerKey?: BufferSource | string | null;
userVisibleOnly?: boolean;
}
interface QueuingStrategy {
highWaterMark?: number;
size?: QueuingStrategySize;
}
interface QueuingStrategyInit {
/**
* Creates a new ByteLengthQueuingStrategy with the provided high water mark.
*
* 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.
*/
highWaterMark: number;
}
interface RTCAnswerOptions extends RTCOfferAnswerOptions {
}
interface RTCCertificateExpiration {
expires?: number;
}
interface RTCConfiguration {
bundlePolicy?: RTCBundlePolicy;
certificates?: RTCCertificate[];
iceCandidatePoolSize?: number;
iceServers?: RTCIceServer[];
iceTransportPolicy?: RTCIceTransportPolicy;
rtcpMuxPolicy?: RTCRtcpMuxPolicy;
}
interface RTCDTMFToneChangeEventInit extends EventInit {
tone?: string;
}
interface RTCDataChannelEventInit extends EventInit {
channel: RTCDataChannel;
}
interface RTCDataChannelInit {
id?: number;
maxPacketLifeTime?: number;
maxRetransmits?: number;
negotiated?: boolean;
ordered?: boolean;
protocol?: string;
}
interface RTCDtlsFingerprint {
algorithm?: string;
value?: string;
}
interface RTCEncodedAudioFrameMetadata extends RTCEncodedFrameMetadata {
sequenceNumber?: number;
}
interface RTCEncodedFrameMetadata {
contributingSources?: number[];
mimeType?: string;
payloadType?: number;
rtpTimestamp?: number;
synchronizationSource?: number;
}
interface RTCEncodedVideoFrameMetadata extends RTCEncodedFrameMetadata {
dependencies?: number[];
frameId?: number;
height?: number;
spatialIndex?: number;
temporalIndex?: number;
timestamp?: number;
width?: number;
}
interface RTCErrorEventInit extends EventInit {
error: RTCError;
}
interface RTCErrorInit {
errorDetail: RTCErrorDetailType;
httpRequestStatusCode?: number;
receivedAlert?: number;
sctpCauseCode?: number;
sdpLineNumber?: number;
sentAlert?: number;
}
interface RTCIceCandidateInit {
candidate?: string;
sdpMLineIndex?: number | null;
sdpMid?: string | null;
usernameFragment?: string | null;
}
interface RTCIceCandidatePairStats extends RTCStats {
availableIncomingBitrate?: number;
availableOutgoingBitrate?: number;
bytesDiscardedOnSend?: number;
bytesReceived?: number;
bytesSent?: number;
consentRequestsSent?: number;
currentRoundTripTime?: number;
lastPacketReceivedTimestamp?: DOMHighResTimeStamp;
lastPacketSentTimestamp?: DOMHighResTimeStamp;
localCandidateId: string;
nominated?: boolean;
packetsDiscardedOnSend?: number;
packetsReceived?: number;
packetsSent?: number;
remoteCandidateId: string;
requestsReceived?: number;
requestsSent?: number;
responsesReceived?: number;
responsesSent?: number;
state: RTCStatsIceCandidatePairState;
totalRoundTripTime?: number;
transportId: string;
}
interface RTCIceServer {
credential?: string;
urls: string | string[];
username?: string;
}
interface RTCInboundRtpStreamStats extends RTCReceivedRtpStreamStats {
audioLevel?: number;
bytesReceived?: number;
concealedSamples?: number;
concealmentEvents?: number;
decoderImplementation?: string;
estimatedPlayoutTimestamp?: DOMHighResTimeStamp;
fecBytesReceived?: number;
fecPacketsDiscarded?: number;
fecPacketsReceived?: number;
fecSsrc?: number;
firCount?: number;
frameHeight?: number;
frameWidth?: number;
framesAssembledFromMultiplePackets?: number;
framesDecoded?: number;
framesDropped?: number;
framesPerSecond?: number;
framesReceived?: number;
framesRendered?: number;
freezeCount?: number;
headerBytesReceived?: number;
insertedSamplesForDeceleration?: number;
jitterBufferDelay?: number;
jitterBufferEmittedCount?: number;
jitterBufferMinimumDelay?: number;
jitterBufferTargetDelay?: number;
keyFramesDecoded?: number;
lastPacketReceivedTimestamp?: DOMHighResTimeStamp;
mid?: string;
nackCount?: number;
packetsDiscarded?: number;
pauseCount?: number;
playoutId?: string;
pliCount?: number;
qpSum?: number;
remoteId?: string;
removedSamplesForAcceleration?: number;
retransmittedBytesReceived?: number;
retransmittedPacketsReceived?: number;
rtxSsrc?: number;
silentConcealedSamples?: number;
totalAssemblyTime?: number;
totalAudioEnergy?: number;
totalDecodeTime?: number;
totalFreezesDuration?: number;
totalInterFrameDelay?: number;
totalPausesDuration?: number;
totalProcessingDelay?: number;
totalSamplesDuration?: number;
totalSamplesReceived?: number;
totalSquaredInterFrameDelay?: number;
trackIdentifier: string;
}
interface RTCLocalIceCandidateInit extends RTCIceCandidateInit {
}
interface RTCLocalSessionDescriptionInit {
sdp?: string;
type?: RTCSdpType;
}
interface RTCOfferAnswerOptions {
}
interface RTCOfferOptions extends RTCOfferAnswerOptions {
iceRestart?: boolean;
offerToReceiveAudio?: boolean;
offerToReceiveVideo?: boolean;
}
interface RTCOutboundRtpStreamStats extends RTCSentRtpStreamStats {
active?: boolean;
firCount?: number;
frameHeight?: number;
frameWidth?: number;
framesEncoded?: number;
framesPerSecond?: number;
framesSent?: number;
headerBytesSent?: number;
hugeFramesSent?: number;
keyFramesEncoded?: number;
mediaSourceId?: string;
mid?: string;
nackCount?: number;
pliCount?: number;
qpSum?: number;
qualityLimitationDurations?: Record;
qualityLimitationReason?: RTCQualityLimitationReason;
qualityLimitationResolutionChanges?: number;
remoteId?: string;
retransmittedBytesSent?: number;
retransmittedPacketsSent?: number;
rid?: string;
rtxSsrc?: number;
scalabilityMode?: string;
targetBitrate?: number;
totalEncodeTime?: number;
totalEncodedBytesTarget?: number;
totalPacketSendDelay?: number;
}
interface RTCPeerConnectionIceErrorEventInit extends EventInit {
address?: string | null;
errorCode: number;
errorText?: string;
port?: number | null;
url?: string;
}
interface RTCPeerConnectionIceEventInit extends EventInit {
candidate?: RTCIceCandidate | null;
}
interface RTCReceivedRtpStreamStats extends RTCRtpStreamStats {
jitter?: number;
packetsLost?: number;
packetsReceived?: number;
}
interface RTCRtcpParameters {
cname?: string;
reducedSize?: boolean;
}
interface RTCRtpCapabilities {
codecs: RTCRtpCodec[];
headerExtensions: RTCRtpHeaderExtensionCapability[];
}
interface RTCRtpCodec {
channels?: number;
clockRate: number;
mimeType: string;
sdpFmtpLine?: string;
}
interface RTCRtpCodecParameters extends RTCRtpCodec {
payloadType: number;
}
interface RTCRtpCodingParameters {
rid?: string;
}
interface RTCRtpContributingSource {
audioLevel?: number;
rtpTimestamp: number;
source: number;
timestamp: DOMHighResTimeStamp;
}
interface RTCRtpEncodingParameters extends RTCRtpCodingParameters {
active?: boolean;
maxBitrate?: number;
maxFramerate?: number;
networkPriority?: RTCPriorityType;
priority?: RTCPriorityType;
scaleResolutionDownBy?: number;
}
interface RTCRtpHeaderExtensionCapability {
uri: string;
}
interface RTCRtpHeaderExtensionParameters {
encrypted?: boolean;
id: number;
uri: string;
}
interface RTCRtpParameters {
codecs: RTCRtpCodecParameters[];
headerExtensions: RTCRtpHeaderExtensionParameters[];
rtcp: RTCRtcpParameters;
}
interface RTCRtpReceiveParameters extends RTCRtpParameters {
}
interface RTCRtpSendParameters extends RTCRtpParameters {
degradationPreference?: RTCDegradationPreference;
encodings: RTCRtpEncodingParameters[];
transactionId: string;
}
interface RTCRtpStreamStats extends RTCStats {
codecId?: string;
kind: string;
ssrc: number;
transportId?: string;
}
interface RTCRtpSynchronizationSource extends RTCRtpContributingSource {
}
interface RTCRtpTransceiverInit {
direction?: RTCRtpTransceiverDirection;
sendEncodings?: RTCRtpEncodingParameters[];
streams?: MediaStream[];
}
interface RTCSentRtpStreamStats extends RTCRtpStreamStats {
bytesSent?: number;
packetsSent?: number;
}
interface RTCSessionDescriptionInit {
sdp?: string;
type: RTCSdpType;
}
interface RTCSetParameterOptions {
}
interface RTCStats {
id: string;
timestamp: DOMHighResTimeStamp;
type: RTCStatsType;
}
interface RTCTrackEventInit extends EventInit {
receiver: RTCRtpReceiver;
streams?: MediaStream[];
track: MediaStreamTrack;
transceiver: RTCRtpTransceiver;
}
interface RTCTransportStats extends RTCStats {
bytesReceived?: number;
bytesSent?: number;
dtlsCipher?: string;
dtlsRole?: RTCDtlsRole;
dtlsState: RTCDtlsTransportState;
iceLocalUsernameFragment?: string;
iceRole?: RTCIceRole;
iceState?: RTCIceTransportState;
localCertificateId?: string;
packetsReceived?: number;
packetsSent?: number;
remoteCertificateId?: string;
selectedCandidatePairChanges?: number;
selectedCandidatePairId?: string;
srtpCipher?: string;
tlsVersion?: string;
}
interface ReadableStreamBYOBReaderReadOptions {
min?: number;
}
interface ReadableStreamGetReaderOptions {
/**
* Creates a ReadableStreamBYOBReader and locks the stream to the new reader.
*
* This call behaves the same way as the no-argument variant, except that it only works on readable byte streams, i.e. streams which were constructed specifically with the ability to handle "bring your own buffer" reading. The returned BYOB reader provides the ability to directly read individual chunks from the stream via its read() method, into developer-supplied buffers, allowing more precise control over allocation.
*/
mode?: ReadableStreamReaderMode;
}
interface ReadableStreamIteratorOptions {
/**
* Asynchronously iterates over the chunks in the stream's internal queue.
*
* Asynchronously iterating over the stream will lock it, preventing any other consumer from acquiring a reader. The lock will be released if the async iterator's return() method is called, e.g. by breaking out of the loop.
*
* By default, calling the async iterator's return() method will also cancel the stream. To prevent this, use the stream's values() method, passing true for the preventCancel option.
*/
preventCancel?: boolean;
}
interface ReadableStreamReadDoneResult {
done: true;
value: T | undefined;
}
interface ReadableStreamReadValueResult {
done: false;
value: T;
}
interface ReadableWritablePair {
readable: ReadableStream;
/**
* 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.
*
* Piping a stream will lock it for the duration of the pipe, preventing any other consumer from acquiring a reader.
*/
writable: WritableStream;
}
interface RegistrationOptions {
scope?: string;
type?: WorkerType;
updateViaCache?: ServiceWorkerUpdateViaCache;
}
interface Report {
body?: ReportBody | null;
type?: string;
url?: string;
}
interface ReportBody {
}
interface ReportingObserverOptions {
buffered?: boolean;
types?: string[];
}
interface RequestInit {
/** A BodyInit object or null to set request's body. */
body?: BodyInit | null;
/** A string indicating how the request will interact with the browser's cache to set request's cache. */
cache?: RequestCache;
/** 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. */
credentials?: RequestCredentials;
/** A Headers object, an object literal, or an array of two-item arrays to set request's headers. */
headers?: HeadersInit;
/** A cryptographic hash of the resource to be fetched by request. Sets request's integrity. */
integrity?: string;
/** A boolean to set request's keepalive. */
keepalive?: boolean;
/** A string to set request's method. */
method?: string;
/** A string to indicate whether the request will use CORS, or will be restricted to same-origin URLs. Sets request's mode. */
mode?: RequestMode;
priority?: RequestPriority;
/** 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. */
redirect?: RequestRedirect;
/** A string whose value is a same-origin URL, "about:client", or the empty string, to set request's referrer. */
referrer?: string;
/** A referrer policy to set request's referrerPolicy. */
referrerPolicy?: ReferrerPolicy;
/** An AbortSignal to set request's signal. */
signal?: AbortSignal | null;
/** Can only be null. Used to disassociate request from any Window. */
window?: null;
}
interface ResizeObserverOptions {
box?: ResizeObserverBoxOptions;
}
interface ResponseInit {
headers?: HeadersInit;
status?: number;
statusText?: string;
}
interface RsaHashedImportParams extends Algorithm {
hash: HashAlgorithmIdentifier;
}
interface RsaHashedKeyAlgorithm extends RsaKeyAlgorithm {
hash: KeyAlgorithm;
}
interface RsaHashedKeyGenParams extends RsaKeyGenParams {
hash: HashAlgorithmIdentifier;
}
interface RsaKeyAlgorithm extends KeyAlgorithm {
modulusLength: number;
publicExponent: BigInteger;
}
interface RsaKeyGenParams extends Algorithm {
modulusLength: number;
publicExponent: BigInteger;
}
interface RsaOaepParams extends Algorithm {
label?: BufferSource;
}
interface RsaOtherPrimesInfo {
d?: string;
r?: string;
t?: string;
}
interface RsaPssParams extends Algorithm {
saltLength: number;
}
interface SVGBoundingBoxOptions {
clipped?: boolean;
fill?: boolean;
markers?: boolean;
stroke?: boolean;
}
interface SchedulerPostTaskOptions {
delay?: number;
priority?: TaskPriority;
signal?: AbortSignal;
}
interface ScrollIntoViewOptions extends ScrollOptions {
block?: ScrollLogicalPosition;
inline?: ScrollLogicalPosition;
}
interface ScrollOptions {
behavior?: ScrollBehavior;
}
interface ScrollTimelineOptions {
axis?: ScrollAxis;
source?: Element | null;
}
interface ScrollToOptions extends ScrollOptions {
left?: number;
top?: number;
}
interface SecurityPolicyViolationEventInit extends EventInit {
blockedURI?: string;
columnNumber?: number;
disposition?: SecurityPolicyViolationEventDisposition;
documentURI?: string;
effectiveDirective?: string;
lineNumber?: number;
originalPolicy?: string;
referrer?: string;
sample?: string;
sourceFile?: string;
statusCode?: number;
violatedDirective?: string;
}
interface ShadowRootInit {
clonable?: boolean;
customElementRegistry?: CustomElementRegistry | null;
delegatesFocus?: boolean;
mode: ShadowRootMode;
serializable?: boolean;
slotAssignment?: SlotAssignmentMode;
}
interface ShareData {
files?: File[];
text?: string;
title?: string;
url?: string;
}
interface ShowPopoverOptions {
source?: HTMLElement;
}
interface SpeechRecognitionErrorEventInit extends EventInit {
error: SpeechRecognitionErrorCode;
message?: string;
}
interface SpeechRecognitionEventInit extends EventInit {
resultIndex?: number;
results: SpeechRecognitionResultList;
}
interface SpeechSynthesisErrorEventInit extends SpeechSynthesisEventInit {
error: SpeechSynthesisErrorCode;
}
interface SpeechSynthesisEventInit extends EventInit {
charIndex?: number;
charLength?: number;
elapsedTime?: number;
name?: string;
utterance: SpeechSynthesisUtterance;
}
interface StartViewTransitionOptions {
types?: string[] | null;
update?: ViewTransitionUpdateCallback | null;
}
interface StaticRangeInit {
endContainer: Node;
endOffset: number;
startContainer: Node;
startOffset: number;
}
interface StereoPannerOptions extends AudioNodeOptions {
pan?: number;
}
interface StorageEstimate {
quota?: number;
usage?: number;
}
interface StorageEventInit extends EventInit {
key?: string | null;
newValue?: string | null;
oldValue?: string | null;
storageArea?: Storage | null;
url?: string;
}
interface StreamPipeOptions {
preventAbort?: boolean;
preventCancel?: boolean;
/**
* 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.
*
* Piping a stream will lock it for the duration of the pipe, preventing any other consumer from acquiring a reader.
*
* Errors and closures of the source and destination streams propagate as follows:
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*/
preventClose?: boolean;
signal?: AbortSignal;
}
interface StructuredSerializeOptions {
transfer?: Transferable[];
}
interface SubmitEventInit extends EventInit {
submitter?: HTMLElement | null;
}
interface TaskControllerInit {
priority?: TaskPriority;
}
interface TaskPriorityChangeEventInit extends EventInit {
previousPriority: TaskPriority;
}
interface TaskSignalAnyInit {
priority?: TaskPriority | TaskSignal;
}
interface TextDecodeOptions {
stream?: boolean;
}
interface TextDecoderOptions {
fatal?: boolean;
ignoreBOM?: boolean;
}
interface TextEncoderEncodeIntoResult {
read: number;
written: number;
}
interface ToggleEventInit extends EventInit {
newState?: string;
oldState?: string;
source?: Element | null;
}
interface TogglePopoverOptions extends ShowPopoverOptions {
force?: boolean;
}
interface TouchEventInit extends EventModifierInit {
changedTouches?: Touch[];
targetTouches?: Touch[];
touches?: Touch[];
}
interface TouchInit {
altitudeAngle?: number;
azimuthAngle?: number;
clientX?: number;
clientY?: number;
force?: number;
identifier: number;
pageX?: number;
pageY?: number;
radiusX?: number;
radiusY?: number;
rotationAngle?: number;
screenX?: number;
screenY?: number;
target: EventTarget;
touchType?: TouchType;
}
interface TrackEventInit extends EventInit {
track?: TextTrack | null;
}
interface Transformer {
flush?: TransformerFlushCallback;
readableType?: undefined;
start?: TransformerStartCallback;
transform?: TransformerTransformCallback;
writableType?: undefined;
}
interface TransitionEventInit extends EventInit {
elapsedTime?: number;
propertyName?: string;
pseudoElement?: string;
}
interface UIEventInit extends EventInit {
detail?: number;
view?: Window | null;
/** @deprecated */
which?: number;
}
interface ULongRange {
max?: number;
min?: number;
}
interface URLPatternComponentResult {
groups: Record;
input: string;
}
interface URLPatternInit {
baseURL?: string;
hash?: string;
hostname?: string;
password?: string;
pathname?: string;
port?: string;
protocol?: string;
search?: string;
username?: string;
}
interface URLPatternOptions {
ignoreCase?: boolean;
}
interface URLPatternResult {
hash: URLPatternComponentResult;
hostname: URLPatternComponentResult;
inputs: URLPatternInput[];
password: URLPatternComponentResult;
pathname: URLPatternComponentResult;
port: URLPatternComponentResult;
protocol: URLPatternComponentResult;
search: URLPatternComponentResult;
username: URLPatternComponentResult;
}
interface UnderlyingByteSource {
autoAllocateChunkSize?: number;
cancel?: UnderlyingSourceCancelCallback;
pull?: (controller: ReadableByteStreamController) => void | PromiseLike;
start?: (controller: ReadableByteStreamController) => any;
type: "bytes";
}
interface UnderlyingDefaultSource {
cancel?: UnderlyingSourceCancelCallback;
pull?: (controller: ReadableStreamDefaultController) => void | PromiseLike;
start?: (controller: ReadableStreamDefaultController) => any;
type?: undefined;
}
interface UnderlyingSink {
abort?: UnderlyingSinkAbortCallback;
close?: UnderlyingSinkCloseCallback;
start?: UnderlyingSinkStartCallback;
type?: undefined;
write?: UnderlyingSinkWriteCallback;
}
interface UnderlyingSource {
autoAllocateChunkSize?: number;
cancel?: UnderlyingSourceCancelCallback;
pull?: UnderlyingSourcePullCallback;
start?: UnderlyingSourceStartCallback;
type?: ReadableStreamType;
}
interface UnknownCredentialOptions {
credentialId: Base64URLString;
rpId: string;
}
interface ValidityStateFlags {
badInput?: boolean;
customError?: boolean;
patternMismatch?: boolean;
rangeOverflow?: boolean;
rangeUnderflow?: boolean;
stepMismatch?: boolean;
tooLong?: boolean;
tooShort?: boolean;
typeMismatch?: boolean;
valueMissing?: boolean;
}
interface VideoColorSpaceInit {
fullRange?: boolean | null;
matrix?: VideoMatrixCoefficients | null;
primaries?: VideoColorPrimaries | null;
transfer?: VideoTransferCharacteristics | null;
}
interface VideoConfiguration {
bitrate: number;
colorGamut?: ColorGamut;
contentType: string;
framerate: number;
hasAlphaChannel?: boolean;
hdrMetadataType?: HdrMetadataType;
height: number;
scalabilityMode?: string;
transferFunction?: TransferFunction;
width: number;
}
interface VideoDecoderConfig {
codec: string;
codedHeight?: number;
codedWidth?: number;
colorSpace?: VideoColorSpaceInit;
description?: AllowSharedBufferSource;
displayAspectHeight?: number;
displayAspectWidth?: number;
hardwareAcceleration?: HardwareAcceleration;
optimizeForLatency?: boolean;
}
interface VideoDecoderInit {
error: WebCodecsErrorCallback;
output: VideoFrameOutputCallback;
}
interface VideoDecoderSupport {
config?: VideoDecoderConfig;
supported?: boolean;
}
interface VideoEncoderConfig {
alpha?: AlphaOption;
avc?: AvcEncoderConfig;
bitrate?: number;
bitrateMode?: VideoEncoderBitrateMode;
codec: string;
contentHint?: string;
displayHeight?: number;
displayWidth?: number;
framerate?: number;
hardwareAcceleration?: HardwareAcceleration;
height: number;
latencyMode?: LatencyMode;
scalabilityMode?: string;
width: number;
}
interface VideoEncoderEncodeOptions {
avc?: VideoEncoderEncodeOptionsForAvc;
keyFrame?: boolean;
}
interface VideoEncoderEncodeOptionsForAvc {
quantizer?: number | null;
}
interface VideoEncoderInit {
error: WebCodecsErrorCallback;
output: EncodedVideoChunkOutputCallback;
}
interface VideoEncoderSupport {
config?: VideoEncoderConfig;
supported?: boolean;
}
interface VideoFrameBufferInit {
codedHeight: number;
codedWidth: number;
colorSpace?: VideoColorSpaceInit;
displayHeight?: number;
displayWidth?: number;
duration?: number;
format: VideoPixelFormat;
layout?: PlaneLayout[];
timestamp: number;
visibleRect?: DOMRectInit;
}
interface VideoFrameCallbackMetadata {
captureTime?: DOMHighResTimeStamp;
expectedDisplayTime: DOMHighResTimeStamp;
height: number;
mediaTime: number;
presentationTime: DOMHighResTimeStamp;
presentedFrames: number;
processingDuration?: number;
receiveTime?: DOMHighResTimeStamp;
rtpTimestamp?: number;
width: number;
}
interface VideoFrameCopyToOptions {
colorSpace?: PredefinedColorSpace;
format?: VideoPixelFormat;
layout?: PlaneLayout[];
rect?: DOMRectInit;
}
interface VideoFrameInit {
alpha?: AlphaOption;
displayHeight?: number;
displayWidth?: number;
duration?: number;
timestamp?: number;
visibleRect?: DOMRectInit;
}
interface ViewTimelineOptions {
axis?: ScrollAxis;
inset?: string | (CSSNumericValue | CSSKeywordValue)[];
subject?: Element;
}
interface WaveShaperOptions extends AudioNodeOptions {
curve?: number[] | Float32Array;
oversample?: OverSampleType;
}
interface WebGLContextAttributes {
alpha?: boolean;
antialias?: boolean;
depth?: boolean;
desynchronized?: boolean;
failIfMajorPerformanceCaveat?: boolean;
powerPreference?: WebGLPowerPreference;
premultipliedAlpha?: boolean;
preserveDrawingBuffer?: boolean;
stencil?: boolean;
}
interface WebGLContextEventInit extends EventInit {
statusMessage?: string;
}
interface WebTransportCloseInfo {
closeCode?: number;
reason?: string;
}
interface WebTransportErrorOptions {
source?: WebTransportErrorSource;
streamErrorCode?: number | null;
}
interface WebTransportHash {
algorithm: string;
value: BufferSource;
}
interface WebTransportOptions {
allowPooling?: boolean;
congestionControl?: WebTransportCongestionControl;
requireUnreliable?: boolean;
serverCertificateHashes?: WebTransportHash[];
}
interface WebTransportSendOptions {
sendOrder?: number;
}
interface WebTransportSendStreamOptions extends WebTransportSendOptions {
}
interface WheelEventInit extends MouseEventInit {
deltaMode?: number;
deltaX?: number;
deltaY?: number;
deltaZ?: number;
}
interface WindowPostMessageOptions extends StructuredSerializeOptions {
targetOrigin?: string;
}
interface WorkerOptions {
credentials?: RequestCredentials;
name?: string;
type?: WorkerType;
}
interface WorkletOptions {
credentials?: RequestCredentials;
}
interface WriteParams {
data?: BufferSource | Blob | string | null;
position?: number | null;
size?: number | null;
type: WriteCommandType;
}
type NodeFilter = ((node: Node) => number) | { acceptNode(node: Node): number; };
declare var NodeFilter: {
readonly FILTER_ACCEPT: 1;
readonly FILTER_REJECT: 2;
readonly FILTER_SKIP: 3;
readonly SHOW_ALL: 0xFFFFFFFF;
readonly SHOW_ELEMENT: 0x1;
readonly SHOW_ATTRIBUTE: 0x2;
readonly SHOW_TEXT: 0x4;
readonly SHOW_CDATA_SECTION: 0x8;
readonly SHOW_ENTITY_REFERENCE: 0x10;
readonly SHOW_ENTITY: 0x20;
readonly SHOW_PROCESSING_INSTRUCTION: 0x40;
readonly SHOW_COMMENT: 0x80;
readonly SHOW_DOCUMENT: 0x100;
readonly SHOW_DOCUMENT_TYPE: 0x200;
readonly SHOW_DOCUMENT_FRAGMENT: 0x400;
readonly SHOW_NOTATION: 0x800;
};
type XPathNSResolver = ((prefix: string | null) => string | null) | { lookupNamespaceURI(prefix: string | null): string | null; };
/**
* 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.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/ANGLE_instanced_arrays)
*/
interface ANGLE_instanced_arrays {
/**
* The **`ANGLE_instanced_arrays.drawArraysInstancedANGLE()`** method of the WebGL API renders primitives from array data like the gl.drawArrays() method. In addition, it can execute multiple instances of the range of elements.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/ANGLE_instanced_arrays/drawArraysInstancedANGLE)
*/
drawArraysInstancedANGLE(mode: GLenum, first: GLint, count: GLsizei, primcount: GLsizei): void;
/**
* The **`ANGLE_instanced_arrays.drawElementsInstancedANGLE()`** method of the WebGL API renders primitives from array data like the gl.drawElements() method. In addition, it can execute multiple instances of a set of elements.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/ANGLE_instanced_arrays/drawElementsInstancedANGLE)
*/
drawElementsInstancedANGLE(mode: GLenum, count: GLsizei, type: GLenum, offset: GLintptr, primcount: GLsizei): void;
/**
* The **`ANGLE_instanced_arrays.vertexAttribDivisorANGLE()`** method of the WebGL API modifies the rate at which generic vertex attributes advance when rendering multiple instances of primitives with ext.drawArraysInstancedANGLE() and ext.drawElementsInstancedANGLE().
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/ANGLE_instanced_arrays/vertexAttribDivisorANGLE)
*/
vertexAttribDivisorANGLE(index: GLuint, divisor: GLuint): void;
readonly VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE: 0x88FE;
}
interface ARIAMixin {
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaActiveDescendantElement) */
ariaActiveDescendantElement: Element | null;
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaAtomic) */
ariaAtomic: string | null;
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaAutoComplete) */
ariaAutoComplete: string | null;
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaBrailleLabel) */
ariaBrailleLabel: string | null;
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaBrailleRoleDescription) */
ariaBrailleRoleDescription: string | null;
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaBusy) */
ariaBusy: string | null;
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaChecked) */
ariaChecked: string | null;
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaColCount) */
ariaColCount: string | null;
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaColIndex) */
ariaColIndex: string | null;
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaColIndexText) */
ariaColIndexText: string | null;
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaColSpan) */
ariaColSpan: string | null;
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaControlsElements) */
ariaControlsElements: ReadonlyArray | null;
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaCurrent) */
ariaCurrent: string | null;
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaDescribedByElements) */
ariaDescribedByElements: ReadonlyArray | null;
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaDescription) */
ariaDescription: string | null;
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaDetailsElements) */
ariaDetailsElements: ReadonlyArray | null;
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaDisabled) */
ariaDisabled: string | null;
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaErrorMessageElements) */
ariaErrorMessageElements: ReadonlyArray | null;
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaExpanded) */
ariaExpanded: string | null;
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaFlowToElements) */
ariaFlowToElements: ReadonlyArray | null;
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaHasPopup) */
ariaHasPopup: string | null;
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaHidden) */
ariaHidden: string | null;
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaInvalid) */
ariaInvalid: string | null;
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaKeyShortcuts) */
ariaKeyShortcuts: string | null;
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaLabel) */
ariaLabel: string | null;
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaLabelledByElements) */
ariaLabelledByElements: ReadonlyArray | null;
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaLevel) */
ariaLevel: string | null;
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaLive) */
ariaLive: string | null;
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaModal) */
ariaModal: string | null;
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaMultiLine) */
ariaMultiLine: string | null;
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaMultiSelectable) */
ariaMultiSelectable: string | null;
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaOrientation) */
ariaOrientation: string | null;
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaOwnsElements) */
ariaOwnsElements: ReadonlyArray | null;
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaPlaceholder) */
ariaPlaceholder: string | null;
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaPosInSet) */
ariaPosInSet: string | null;
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaPressed) */
ariaPressed: string | null;
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaReadOnly) */
ariaReadOnly: string | null;
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaRelevant) */
ariaRelevant: string | null;
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaRequired) */
ariaRequired: string | null;
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaRoleDescription) */
ariaRoleDescription: string | null;
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaRowCount) */
ariaRowCount: string | null;
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaRowIndex) */
ariaRowIndex: string | null;
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaRowIndexText) */
ariaRowIndexText: string | null;
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaRowSpan) */
ariaRowSpan: string | null;
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaSelected) */
ariaSelected: string | null;
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaSetSize) */
ariaSetSize: string | null;
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaSort) */
ariaSort: string | null;
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaValueMax) */
ariaValueMax: string | null;
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaValueMin) */
ariaValueMin: string | null;
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaValueNow) */
ariaValueNow: string | null;
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaValueText) */
ariaValueText: string | null;
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/role) */
role: string | null;
}
/**
* The **`AbortController`** interface represents a controller object that allows you to abort one or more Web requests as and when desired.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/AbortController)
*/
interface AbortController {
/**
* The **`signal`** read-only property of the AbortController interface returns an AbortSignal object instance, which can be used to communicate with/abort an asynchronous operation as desired.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/AbortController/signal)
*/
readonly signal: AbortSignal;
/**
* The **`abort()`** method of the AbortController interface aborts an asynchronous operation before it has completed. This is able to abort fetch requests, the consumption of any response bodies, or streams.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/AbortController/abort)
*/
abort(reason?: any): void;
}
declare var AbortController: {
prototype: AbortController;
new(): AbortController;
};
interface AbortSignalEventMap {
"abort": Event;
}
/**
* The **`AbortSignal`** interface represents a signal object that allows you to communicate with an asynchronous operation (such as a fetch request) and abort it if required via an AbortController object.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/AbortSignal)
*/
interface AbortSignal extends EventTarget {
/**
* The **`aborted`** read-only property returns a value that indicates whether the asynchronous operations the signal is communicating with are aborted (true) or not (false).
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/AbortSignal/aborted)
*/
readonly aborted: boolean;
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AbortSignal/abort_event) */
onabort: ((this: AbortSignal, ev: Event) => any) | null;
/**
* The **`reason`** read-only property returns a JavaScript value that indicates the abort reason.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/AbortSignal/reason)
*/
readonly reason: any;
/**
* The **`throwIfAborted()`** method throws the signal's abort reason if the signal has been aborted; otherwise it does nothing.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/AbortSignal/throwIfAborted)
*/
throwIfAborted(): void;
addEventListener(type: K, listener: (this: AbortSignal, ev: AbortSignalEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
removeEventListener(type: K, listener: (this: AbortSignal, ev: AbortSignalEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
}
declare var AbortSignal: {
prototype: AbortSignal;
new(): AbortSignal;
/**
* The **`AbortSignal.abort()`** static method returns an AbortSignal that is already set as aborted (and which does not trigger an abort event).
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/AbortSignal/abort_static)
*/
abort(reason?: any): AbortSignal;
/**
* The **`AbortSignal.any()`** static method takes an iterable of abort signals and returns an AbortSignal. The returned abort signal is aborted when any of the input iterable abort signals are aborted. The abort reason will be set to the reason of the first signal that is aborted. If any of the given abort signals are already aborted then so will be the returned AbortSignal.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/AbortSignal/any_static)
*/
any(signals: AbortSignal[]): AbortSignal;
/**
* The **`AbortSignal.timeout()`** static method returns an AbortSignal that will automatically abort after a specified time.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/AbortSignal/timeout_static)
*/
timeout(milliseconds: number): AbortSignal;
};
/**
* The **`AbstractRange`** abstract interface is the base class upon which all DOM range types are defined. A range is an object that indicates the start and end points of a section of content within the document.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/AbstractRange)
*/
interface AbstractRange {
/**
* The read-only **`collapsed`** property of the AbstractRange interface returns true if the range's start position and end position are the same.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/AbstractRange/collapsed)
*/
readonly collapsed: boolean;
/**
* The read-only **`endContainer`** property of the AbstractRange interface returns the Node in which the end of the range is located.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/AbstractRange/endContainer)
*/
readonly endContainer: Node;
/**
* The **`endOffset`** property of the AbstractRange interface returns the offset into the end node of the range's end position.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/AbstractRange/endOffset)
*/
readonly endOffset: number;
/**
* The read-only **`startContainer`** property of the AbstractRange interface returns the start Node for the range.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/AbstractRange/startContainer)
*/
readonly startContainer: Node;
/**
* The read-only **`startOffset`** property of the AbstractRange interface returns the offset into the start node of the range's start position.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/AbstractRange/startOffset)
*/
readonly startOffset: number;
}
declare var AbstractRange: {
prototype: AbstractRange;
new(): AbstractRange;
};
interface AbstractWorkerEventMap {
"error": ErrorEvent;
}
interface AbstractWorker {
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorker/error_event) */
onerror: ((this: AbstractWorker, ev: ErrorEvent) => any) | null;
addEventListener(type: K, listener: (this: AbstractWorker, ev: AbstractWorkerEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
removeEventListener(type: K, listener: (this: AbstractWorker, ev: AbstractWorkerEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
}
/**
* The **`AnalyserNode`** interface represents 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.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/AnalyserNode)
*/
interface AnalyserNode extends AudioNode {
/**
* The **`fftSize`** property of the AnalyserNode interface is an unsigned long value and represents the window size in samples that is used when performing a Fast Fourier Transform (FFT) to get frequency domain data.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/AnalyserNode/fftSize)
*/
fftSize: number;
/**
* The **`frequencyBinCount`** read-only property of the AnalyserNode interface contains the total number of data points available to AudioContext sampleRate. This is half of the value of the AnalyserNode.fftSize. The two methods' indices have a linear relationship with the frequencies they represent, between 0 and the Nyquist frequency.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/AnalyserNode/frequencyBinCount)
*/
readonly frequencyBinCount: number;
/**
* The **`maxDecibels`** property of the AnalyserNode interface is a double value representing the maximum power value in the scaling range for the FFT analysis data, for conversion to unsigned byte values — basically, this specifies the maximum value for the range of results when using getByteFrequencyData().
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/AnalyserNode/maxDecibels)
*/
maxDecibels: number;
/**
* The **`minDecibels`** property of the AnalyserNode interface is a double value representing the minimum power value in the scaling range for the FFT analysis data, for conversion to unsigned byte values — basically, this specifies the minimum value for the range of results when using getByteFrequencyData().
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/AnalyserNode/minDecibels)
*/
minDecibels: number;
/**
* The **`smoothingTimeConstant`** property of the AnalyserNode interface is a double value representing the averaging constant with the last analysis frame. It's basically an average between the current buffer and the last buffer the AnalyserNode processed, and results in a much smoother set of value changes over time.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/AnalyserNode/smoothingTimeConstant)
*/
smoothingTimeConstant: number;
/**
* The **`getByteFrequencyData()`** method of the AnalyserNode interface copies the current frequency data into a Uint8Array (unsigned byte array) passed into it.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/AnalyserNode/getByteFrequencyData)
*/
getByteFrequencyData(array: Uint8Array): void;
/**
* The **`getByteTimeDomainData()`** method of the AnalyserNode Interface copies the current waveform, or time-domain, data into a Uint8Array (unsigned byte array) passed into it.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/AnalyserNode/getByteTimeDomainData)
*/
getByteTimeDomainData(array: Uint8Array): void;
/**
* The **`getFloatFrequencyData()`** method of the AnalyserNode Interface copies the current frequency data into a Float32Array array passed into it.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/AnalyserNode/getFloatFrequencyData)
*/
getFloatFrequencyData(array: Float32Array): void;
/**
* The **`getFloatTimeDomainData()`** method of the AnalyserNode Interface copies the current waveform, or time-domain, data into a Float32Array array passed into it. Each array value is a sample, the magnitude of the signal at a particular time.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/AnalyserNode/getFloatTimeDomainData)
*/
getFloatTimeDomainData(array: Float32Array): void;
}
declare var AnalyserNode: {
prototype: AnalyserNode;
new(context: BaseAudioContext, options?: AnalyserOptions): AnalyserNode;
};
interface Animatable {
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/animate) */
animate(keyframes: Keyframe[] | PropertyIndexedKeyframes | null, options?: number | KeyframeAnimationOptions): Animation;
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/getAnimations) */
getAnimations(options?: GetAnimationsOptions): Animation[];
}
interface AnimationEventMap {
"cancel": AnimationPlaybackEvent;
"finish": AnimationPlaybackEvent;
"remove": AnimationPlaybackEvent;
}
/**
* The **`Animation`** interface of the Web Animations API represents a single animation player and provides playback controls and a timeline for an animation node or source.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/Animation)
*/
interface Animation extends EventTarget {
/**
* The **`Animation.currentTime`** property of the Web Animations API returns and sets the current time value of the animation in milliseconds, whether running or paused.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/Animation/currentTime)
*/
currentTime: CSSNumberish | null;
/**
* The **`Animation.effect`** property of the Web Animations API gets and sets the target effect of an animation. The target effect may be either an effect object of a type based on AnimationEffect, such as KeyframeEffect, or null.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/Animation/effect)
*/
effect: AnimationEffect | null;
/**
* The **`Animation.finished`** read-only property of the Web Animations API returns a Promise which resolves once the animation has finished playing.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/Animation/finished)
*/
readonly finished: Promise;
/**
* The **`Animation.id`** property of the Web Animations API returns or sets a string used to identify the animation.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/Animation/id)
*/
id: string;
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Animation/cancel_event) */
oncancel: ((this: Animation, ev: AnimationPlaybackEvent) => any) | null;
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Animation/finish_event) */
onfinish: ((this: Animation, ev: AnimationPlaybackEvent) => any) | null;
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Animation/remove_event) */
onremove: ((this: Animation, ev: AnimationPlaybackEvent) => any) | null;
/**
* The **`overallProgress`** read-only property of the Animation interface returns a number between 0 and 1 indicating the animation's overall progress towards its finished state. This is the overall progress across all of the animation's iterations, not each individual iteration.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/Animation/overallProgress)
*/
readonly overallProgress: number | null;
/**
* The read-only **`Animation.pending`** property of the Web Animations API indicates whether the animation is currently waiting for an asynchronous operation such as initiating playback or pausing a running animation.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/Animation/pending)
*/
readonly pending: boolean;
/**
* The read-only **`Animation.playState`** property of the Web Animations API returns an enumerated value describing the playback state of an animation.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/Animation/playState)
*/
readonly playState: AnimationPlayState;
/**
* The **`Animation.playbackRate`** property of the Web Animations API returns or sets the playback rate of the animation.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/Animation/playbackRate)
*/
playbackRate: number;
/**
* The read-only **`Animation.ready`** property of the Web Animations API returns a Promise which resolves when the animation is ready to play. A new promise is created every time the animation enters the "pending" play state as well as when the animation is canceled, since in both of those scenarios, the animation is ready to be started again.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/Animation/ready)
*/
readonly ready: Promise;
/**
* The read-only **`Animation.replaceState`** property of the Web Animations API indicates whether the animation has been removed by the browser automatically after being replaced by another animation.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/Animation/replaceState)
*/
readonly replaceState: AnimationReplaceState;
/**
* The **`Animation.startTime`** property of the Animation interface is a double-precision floating-point value which indicates the scheduled time when an animation's playback should begin.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/Animation/startTime)
*/
startTime: CSSNumberish | null;
/**
* The **`Animation.timeline`** property of the Animation interface returns or sets the timeline associated with this animation. A timeline is a source of time values for synchronization purposes, and is an AnimationTimeline-based object. By default, the animation's timeline and the Document's timeline are the same.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/Animation/timeline)
*/
timeline: AnimationTimeline | null;
/**
* The Web Animations API's **`cancel()`** method of the Animation interface clears all KeyframeEffects caused by this animation and aborts its playback.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/Animation/cancel)
*/
cancel(): void;
/**
* The **`commitStyles()`** method of the Web Animations API's Animation interface writes the computed values of the animation's current styles into its target element's style attribute.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/Animation/commitStyles)
*/
commitStyles(): void;
/**
* The **`finish()`** method of the Web Animations API's Animation Interface sets the current playback time to the end of the animation corresponding to the current playback direction.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/Animation/finish)
*/
finish(): void;
/**
* The **`pause()`** method of the Web Animations API's Animation interface suspends playback of the animation.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/Animation/pause)
*/
pause(): void;
/**
* The **`persist()`** method of the Web Animations API's Animation interface explicitly persists an animation, preventing it from being automatically removed when it is replaced by another animation.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/Animation/persist)
*/
persist(): void;
/**
* The **`play()`** method of the Web Animations API's Animation Interface starts or resumes playing of an animation. If the animation is finished, calling play() restarts the animation, playing it from the beginning.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/Animation/play)
*/
play(): void;
/**
* The **`Animation.reverse()`** method of the Animation Interface reverses the playback direction, meaning the animation ends at its beginning. If called on an unplayed animation, the whole animation is played backwards. If called on a paused animation, the animation will continue in reverse.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/Animation/reverse)
*/
reverse(): void;
/**
* The **`updatePlaybackRate()`** method of the Web Animations API's Animation Interface sets the speed of an animation after first synchronizing its playback position.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/Animation/updatePlaybackRate)
*/
updatePlaybackRate(playbackRate: number): void;
addEventListener(type: K, listener: (this: Animation, ev: AnimationEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
removeEventListener(type: K, listener: (this: Animation, ev: AnimationEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
}
declare var Animation: {
prototype: Animation;
new(effect?: AnimationEffect | null, timeline?: AnimationTimeline | null): Animation;
};
/**
* The **`AnimationEffect`** interface of the Web Animations API is an interface representing animation effects.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/AnimationEffect)
*/
interface AnimationEffect {
/**
* The **`getComputedTiming()`** method of the AnimationEffect interface returns the calculated timing properties for this animation effect.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/AnimationEffect/getComputedTiming)
*/
getComputedTiming(): ComputedEffectTiming;
/**
* The **`AnimationEffect.getTiming()`** method of the AnimationEffect interface returns an object containing the timing properties for the Animation Effect.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/AnimationEffect/getTiming)
*/
getTiming(): EffectTiming;
/**
* The **`updateTiming()`** method of the AnimationEffect interface updates the specified timing properties for an animation effect.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/AnimationEffect/updateTiming)
*/
updateTiming(timing?: OptionalEffectTiming): void;
}
declare var AnimationEffect: {
prototype: AnimationEffect;
new(): AnimationEffect;
};
/**
* The **`AnimationEvent`** interface represents events providing information related to animations.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/AnimationEvent)
*/
interface AnimationEvent extends Event {
/**
* The **`AnimationEvent.animationName`** read-only property is a string containing the value of the animation-name CSS property associated with the transition.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/AnimationEvent/animationName)
*/
readonly animationName: string;
/**
* The **`AnimationEvent.elapsedTime`** read-only property is a float giving the amount of time the animation has been running, in seconds, when this event fired, excluding any time the animation was paused. For an animationstart event, elapsedTime is 0.0 unless there was a negative value for animation-delay, in which case the event will be fired with elapsedTime containing (-1 * delay).
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/AnimationEvent/elapsedTime)
*/
readonly elapsedTime: number;
/**
* The **`AnimationEvent.pseudoElement`** read-only property is a string, starting with '::', containing the name of the pseudo-element the animation runs on. If the animation doesn't run on a pseudo-element but on the element, an empty string: ''.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/AnimationEvent/pseudoElement)
*/
readonly pseudoElement: string;
}
declare var AnimationEvent: {
prototype: AnimationEvent;
new(type: string, animationEventInitDict?: AnimationEventInit): AnimationEvent;
};
interface AnimationFrameProvider {
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DedicatedWorkerGlobalScope/cancelAnimationFrame) */
cancelAnimationFrame(handle: number): void;
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DedicatedWorkerGlobalScope/requestAnimationFrame) */
requestAnimationFrame(callback: FrameRequestCallback): number;
}
/**
* The **`AnimationPlaybackEvent`** interface of the Web Animations API represents animation events.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/AnimationPlaybackEvent)
*/
interface AnimationPlaybackEvent extends Event {
/**
* The **`currentTime`** read-only property of the AnimationPlaybackEvent interface represents the current time of the animation that generated the event at the moment the event is queued. This will be unresolved if the animation was idle at the time the event was generated.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/AnimationPlaybackEvent/currentTime)
*/
readonly currentTime: CSSNumberish | null;
/**
* The **`timelineTime`** read-only property of the AnimationPlaybackEvent interface represents the time value of the animation's timeline at the moment the event is queued. This will be unresolved if the animation was not associated with a timeline at the time the event was generated or if the associated timeline was inactive.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/AnimationPlaybackEvent/timelineTime)
*/
readonly timelineTime: CSSNumberish | null;
}
declare var AnimationPlaybackEvent: {
prototype: AnimationPlaybackEvent;
new(type: string, eventInitDict?: AnimationPlaybackEventInit): AnimationPlaybackEvent;
};
/**
* The **`AnimationTimeline`** interface of the Web Animations API represents the timeline of an animation. This interface exists to define timeline features, inherited by other timeline types:
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/AnimationTimeline)
*/
interface AnimationTimeline {
/**
* The **`currentTime`** read-only property of the Web Animations API's AnimationTimeline interface returns the timeline's current time in milliseconds, or null if the timeline is inactive.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/AnimationTimeline/currentTime)
*/
readonly currentTime: CSSNumberish | null;
/**
* The **`duration`** read-only property of the Web Animations API's AnimationTimeline interface returns the maximum value for this timeline or null.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/AnimationTimeline/duration)
*/
readonly duration: CSSNumberish | null;
}
declare var AnimationTimeline: {
prototype: AnimationTimeline;
new(): AnimationTimeline;
};
/**
* The **`Attr`** interface represents one of an element's attributes as an object. In most situations, you will directly retrieve the attribute value as a string (e.g., Element.getAttribute()), but some cases may require interacting with Attr instances (e.g., Element.getAttributeNode()).
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/Attr)
*/
interface Attr extends Node {
/**
* The read-only **`localName`** property of the Attr interface returns the local part of the qualified name of an attribute, that is the name of the attribute, stripped from any namespace in front of it. For example, if the qualified name is xml:lang, the returned local name is lang, if the element supports that namespace.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/Attr/localName)
*/
readonly localName: string;
/**
* The read-only **`name`** property of the Attr interface returns the qualified name of an attribute, that is the name of the attribute, with the namespace prefix, if any, in front of it. For example, if the local name is lang and the namespace prefix is xml, the returned qualified name is xml:lang.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/Attr/name)
*/
readonly name: string;
/**
* The read-only **`namespaceURI`** property of the Attr interface returns the namespace URI of the attribute, or null if the element is not in a namespace.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/Attr/namespaceURI)
*/
readonly namespaceURI: string | null;
readonly ownerDocument: Document;
/**
* The read-only **`ownerElement`** property of the Attr interface returns the Element the attribute belongs to.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/Attr/ownerElement)
*/
readonly ownerElement: Element | null;
/**
* The read-only **`prefix`** property of the Attr returns the namespace prefix of the attribute, or null if no prefix is specified.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/Attr/prefix)
*/
readonly prefix: string | null;
/**
* The read-only **`specified`** property of the Attr interface always returns true.
* @deprecated
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/Attr/specified)
*/
readonly specified: boolean;
/**
* The **`value`** property of the Attr interface contains the value of the attribute.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/Attr/value)
*/
value: string;
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Node/textContent) */
get textContent(): string;
set textContent(value: string | null);
}
declare var Attr: {
prototype: Attr;
new(): Attr;
};
/**
* The **`AudioBuffer`** interface represents 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.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioBuffer)
*/
interface AudioBuffer {
/**
* The **`duration`** property of the AudioBuffer interface returns a double representing the duration, in seconds, of the PCM data stored in the buffer.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioBuffer/duration)
*/
readonly duration: number;
/**
* The **`length`** property of the AudioBuffer interface returns an integer representing the length, in sample-frames, of the PCM data stored in the buffer.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioBuffer/length)
*/
readonly length: number;
/**
* The **`numberOfChannels`** property of the AudioBuffer interface returns an integer representing the number of discrete audio channels described by the PCM data stored in the buffer.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioBuffer/numberOfChannels)
*/
readonly numberOfChannels: number;
/**
* The **`sampleRate`** property of the AudioBuffer interface returns a float representing the sample rate, in samples per second, of the PCM data stored in the buffer.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioBuffer/sampleRate)
*/
readonly sampleRate: number;
/**
* The **`copyFromChannel()`** method of the AudioBuffer interface copies the audio sample data from the specified channel of the AudioBuffer to a specified Float32Array.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioBuffer/copyFromChannel)
*/
copyFromChannel(destination: Float32Array, channelNumber: number, bufferOffset?: number): void;
/**
* The **`copyToChannel()`** method of the AudioBuffer interface copies the samples to the specified channel of the AudioBuffer, from the source array.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioBuffer/copyToChannel)
*/
copyToChannel(source: Float32Array, channelNumber: number, bufferOffset?: number): void;
/**
* The **`getChannelData()`** method of the AudioBuffer Interface returns a Float32Array containing the PCM data associated with the channel, defined by the channel parameter (with 0 representing the first channel).
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioBuffer/getChannelData)
*/
getChannelData(channel: number): Float32Array;
}
declare var AudioBuffer: {
prototype: AudioBuffer;
new(options: AudioBufferOptions): AudioBuffer;
};
/**
* The **`AudioBufferSourceNode`** interface is an AudioScheduledSourceNode which represents an audio source consisting of in-memory audio data, stored in an AudioBuffer.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioBufferSourceNode)
*/
interface AudioBufferSourceNode extends AudioScheduledSourceNode {
/**
* The **`buffer`** property of the AudioBufferSourceNode interface provides the ability to play back audio using an AudioBuffer as the source of the sound data.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioBufferSourceNode/buffer)
*/
buffer: AudioBuffer | null;
/**
* The **`detune`** property of the AudioBufferSourceNode interface is a k-rate AudioParam representing detuning of oscillation in cents.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioBufferSourceNode/detune)
*/
readonly detune: AudioParam;
/**
* The **`loop`** property of the AudioBufferSourceNode interface is a Boolean indicating if the audio asset must be replayed when the end of the AudioBuffer is reached.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioBufferSourceNode/loop)
*/
loop: boolean;
/**
* The **`loopEnd`** property of the AudioBufferSourceNode interface specifies is a floating point number specifying, in seconds, at what offset into playing the AudioBuffer playback should loop back to the time indicated by the loopStart property. This is only used if the loop property is true.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioBufferSourceNode/loopEnd)
*/
loopEnd: number;
/**
* The **`loopStart`** property of the AudioBufferSourceNode interface is a floating-point value indicating, in seconds, where in the AudioBuffer the restart of the play must happen.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioBufferSourceNode/loopStart)
*/
loopStart: number;
/**
* The **`playbackRate`** property of the AudioBufferSourceNode interface Is a k-rate AudioParam that defines the speed at which the audio asset will be played.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioBufferSourceNode/playbackRate)
*/
readonly playbackRate: AudioParam;
/**
* The **`start()`** method of the AudioBufferSourceNode Interface is used to schedule playback of the audio data contained in the buffer, or to begin playback immediately.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioBufferSourceNode/start)
*/
start(when?: number, offset?: number, duration?: number): void;
addEventListener(type: K, listener: (this: AudioBufferSourceNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
removeEventListener(type: K, listener: (this: AudioBufferSourceNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
}
declare var AudioBufferSourceNode: {
prototype: AudioBufferSourceNode;
new(context: BaseAudioContext, options?: AudioBufferSourceOptions): AudioBufferSourceNode;
};
/**
* The **`AudioContext`** interface represents an audio-processing graph built from audio modules linked together, each represented by an AudioNode.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioContext)
*/
interface AudioContext extends BaseAudioContext {
/**
* The **`baseLatency`** read-only property of the AudioContext interface returns a double that represents the number of seconds of processing latency incurred by the AudioContext passing an audio buffer from the AudioDestinationNode — i.e., the end of the audio graph — into the host system's audio subsystem ready for playing.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioContext/baseLatency)
*/
readonly baseLatency: number;
/**
* The **`outputLatency`** read-only property of the AudioContext Interface provides an estimation of the output latency of the current audio context.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioContext/outputLatency)
*/
readonly outputLatency: number;
/**
* The **`close()`** method of the AudioContext Interface closes the audio context, releasing any system audio resources that it uses.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioContext/close)
*/
close(): Promise;
/**
* The **`createMediaElementSource()`** method of the AudioContext Interface is used to create a new MediaElementAudioSourceNode object, given an existing HTML