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 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 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;