@types/web
Version:
Types for the DOM, and other web technologies in browsers
2,134 lines (1,807 loc) • 2.28 MB
TypeScript
/// <reference path="./iterable.d.ts" />
/// <reference path="./asynciterable.d.ts" />
/// <reference lib="es2015" />
/// <reference lib="es2018.asynciterable" />
/////////////////////////////
/// Window APIs
/////////////////////////////
interface AacEncoderConfig {
format?: AacBitstreamFormat;
}
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 {
aac?: AacEncoderConfig;
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<string, number>;
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 AuthenticationExtensionsClientOutputsJSON {
appid?: boolean;
credProps?: CredentialPropertiesOutput;
largeBlob?: AuthenticationExtensionsLargeBlobOutputsJSON;
prf?: AuthenticationExtensionsPRFOutputsJSON;
}
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 AuthenticationExtensionsLargeBlobOutputsJSON {
blob?: Base64URLString;
supported?: boolean;
written?: boolean;
}
interface AuthenticationExtensionsPRFInputs {
eval?: AuthenticationExtensionsPRFValues;
evalByCredential?: Record<string, AuthenticationExtensionsPRFValues>;
}
interface AuthenticationExtensionsPRFInputsJSON {
eval?: AuthenticationExtensionsPRFValuesJSON;
evalByCredential?: Record<string, AuthenticationExtensionsPRFValuesJSON>;
}
interface AuthenticationExtensionsPRFOutputs {
enabled?: boolean;
results?: AuthenticationExtensionsPRFValues;
}
interface AuthenticationExtensionsPRFOutputsJSON {
enabled?: boolean;
results?: AuthenticationExtensionsPRFValuesJSON;
}
interface AuthenticationExtensionsPRFValues {
first: BufferSource;
second?: BufferSource;
}
interface AuthenticationExtensionsPRFValuesJSON {
first: Base64URLString;
second?: Base64URLString;
}
interface AuthenticationResponseJSON {
authenticatorAttachment?: string;
clientExtensionResults: AuthenticationExtensionsClientOutputsJSON;
id: string;
rawId: Base64URLString;
response: AuthenticatorAssertionResponseJSON;
type: string;
}
interface AuthenticatorAssertionResponseJSON {
authenticatorData: Base64URLString;
clientDataJSON: Base64URLString;
signature: Base64URLString;
userHandle?: Base64URLString;
}
interface AuthenticatorAttestationResponseJSON {
attestationObject: Base64URLString;
authenticatorData: Base64URLString;
clientDataJSON: Base64URLString;
publicKey?: Base64URLString;
publicKeyAlgorithm: COSEAlgorithmIdentifier;
transports: string[];
}
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<T = any> 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;
svc?: SvcOutputMetadata;
}
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 {
focusVisible?: boolean;
preventScroll?: boolean;
}
interface FontFaceDescriptors {
ascentOverride?: string;
descentOverride?: string;
display?: FontDisplay;
featureSettings?: string;
lineGapOverride?: string;
stretch?: string;
style?: string;
unicodeRange?: string;
variationSettings?: string;
weight?: string;
}
interface FontFaceSetLoadEventInit extends EventInit {
fontfaces?: FontFace[];
}
interface FormDataEventInit extends EventInit {
formData: FormData;
}
interface FullscreenOptions {
navigationUI?: FullscreenNavigationUI;
}
interface GPUObjectDescriptorBase {
label?: string;
}
interface GPUPipelineErrorInit {
reason: GPUPipelineErrorReason;
}
interface GPUTextureViewDescriptor extends GPUObjectDescriptorBase {
arrayLayerCount?: GPUIntegerCoordinate;
aspect?: GPUTextureAspect;
baseArrayLayer?: GPUIntegerCoordinate;
baseMipLevel?: GPUIntegerCoordinate;
dimension?: GPUTextureViewDimension;
format?: GPUTextureFormat;
mipLevelCount?: GPUIntegerCoordinate;
usage?: GPUTextureUsageFlags;
}
interface GPUUncapturedErrorEventInit extends EventInit {
error: GPUError;
}
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;
pixelFormat?: ImageDataPixelFormat;
}
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;
rangeEnd?: TimelineRangeOffset | CSSNumericValue | CSSKeywordValue | string;
rangeStart?: TimelineRangeOffset | CSSNumericValue | CSSKeywordValue | 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<ArrayBuffer>;
}
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<T = any> 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<NavigationHistoryEntry>;
finished?: Promise<NavigationHistoryEntry>;
}
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 {
hasUAVisualTransition?: boolean;
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<any>;
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<string, string>;
}
interface PushSubscriptionOptionsInit {
applicationServerKey?: BufferSource | string | null;
userVisibleOnly?: boolean;
}
interface QueuingStrategy<T = any> {
highWaterMark?: number;
size?: QueuingStrategySize<T>;
}
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<string, number>;
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 whic