UNPKG

@types/web

Version:
2,134 lines (1,807 loc) 2.28 MB
/// <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