relay-compiler-plus
Version:
A custom relay modern compiler that supports persisted queries
1,830 lines (1,575 loc) • 593 kB
TypeScript
/*! *****************************************************************************
Copyright (c) Microsoft Corporation. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
this file except in compliance with the License. You may obtain a copy of the
License at http://www.apache.org/licenses/LICENSE-2.0
THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
MERCHANTABLITY OR NON-INFRINGEMENT.
See the Apache Version 2.0 License for specific language governing permissions
and limitations under the License.
***************************************************************************** */
/// <reference no-default-lib="true"/>
/////////////////////////////
/// DOM APIs
/////////////////////////////
interface Account {
displayName: string;
id: string;
imageURL?: string;
name?: string;
rpDisplayName: string;
}
interface Algorithm {
name: string;
}
interface AnimationEventInit extends EventInit {
animationName?: string;
elapsedTime?: number;
}
interface AssertionOptions {
allowList?: ScopedCredentialDescriptor[];
extensions?: WebAuthnExtensions;
rpId?: USVString;
timeoutSeconds?: number;
}
interface CacheQueryOptions {
cacheName?: string;
ignoreMethod?: boolean;
ignoreSearch?: boolean;
ignoreVary?: boolean;
}
interface ClientData {
challenge: string;
extensions?: WebAuthnExtensions;
hashAlg: string | Algorithm;
origin: string;
rpId: string;
tokenBinding?: string;
}
interface CloseEventInit extends EventInit {
code?: number;
reason?: string;
wasClean?: boolean;
}
interface CompositionEventInit extends UIEventInit {
data?: string;
}
interface ConfirmSiteSpecificExceptionsInformation extends ExceptionInformation {
arrayOfDomainStrings?: string[];
}
interface ConstrainBooleanParameters {
exact?: boolean;
ideal?: boolean;
}
interface ConstrainDOMStringParameters {
exact?: string | string[];
ideal?: string | string[];
}
interface ConstrainDoubleRange extends DoubleRange {
exact?: number;
ideal?: number;
}
interface ConstrainLongRange extends LongRange {
exact?: number;
ideal?: number;
}
interface ConstrainVideoFacingModeParameters {
exact?: VideoFacingModeEnum | VideoFacingModeEnum[];
ideal?: VideoFacingModeEnum | VideoFacingModeEnum[];
}
interface CustomEventInit extends EventInit {
detail?: any;
}
interface DeviceAccelerationDict {
x?: number | null;
y?: number | null;
z?: number | null;
}
interface DeviceLightEventInit extends EventInit {
value?: number;
}
interface DeviceMotionEventInit extends EventInit {
acceleration?: DeviceAccelerationDict | null;
accelerationIncludingGravity?: DeviceAccelerationDict | null;
interval?: number | null;
rotationRate?: DeviceRotationRateDict | null;
}
interface DeviceOrientationEventInit extends EventInit {
absolute?: boolean;
alpha?: number | null;
beta?: number | null;
gamma?: number | null;
}
interface DeviceRotationRateDict {
alpha?: number | null;
beta?: number | null;
gamma?: number | null;
}
interface DOMRectInit {
height?: number;
width?: number;
x?: number;
y?: number;
}
interface DoubleRange {
max?: number;
min?: number;
}
interface ErrorEventInit extends EventInit {
colno?: number;
error?: any;
filename?: string;
lineno?: number;
message?: string;
}
interface EventInit {
scoped?: boolean;
bubbles?: boolean;
cancelable?: boolean;
}
interface EventModifierInit extends UIEventInit {
altKey?: boolean;
ctrlKey?: boolean;
metaKey?: boolean;
modifierAltGraph?: boolean;
modifierCapsLock?: boolean;
modifierFn?: boolean;
modifierFnLock?: boolean;
modifierHyper?: boolean;
modifierNumLock?: boolean;
modifierOS?: boolean;
modifierScrollLock?: boolean;
modifierSuper?: boolean;
modifierSymbol?: boolean;
modifierSymbolLock?: boolean;
shiftKey?: boolean;
}
interface ExceptionInformation {
domain?: string | null;
}
interface FocusEventInit extends UIEventInit {
relatedTarget?: EventTarget | null;
}
interface FocusNavigationEventInit extends EventInit {
navigationReason?: string | null;
originHeight?: number;
originLeft?: number;
originTop?: number;
originWidth?: number;
}
interface FocusNavigationOrigin {
originHeight?: number;
originLeft?: number;
originTop?: number;
originWidth?: number;
}
interface GamepadEventInit extends EventInit {
gamepad?: Gamepad | null;
}
interface GetNotificationOptions {
tag?: string;
}
interface HashChangeEventInit extends EventInit {
newURL?: string | null;
oldURL?: string | null;
}
interface IDBIndexParameters {
multiEntry?: boolean;
unique?: boolean;
}
interface IDBObjectStoreParameters {
autoIncrement?: boolean;
keyPath?: string | string[];
}
interface IntersectionObserverEntryInit {
isIntersecting: boolean;
boundingClientRect: DOMRectInit;
intersectionRect: DOMRectInit;
rootBounds: DOMRectInit;
target: Element;
time: number;
}
interface IntersectionObserverInit {
root?: Element | null;
rootMargin?: string;
threshold?: number | number[];
}
interface KeyAlgorithm {
name?: string;
}
interface KeyboardEventInit extends EventModifierInit {
code?: string;
key?: string;
location?: number;
repeat?: boolean;
}
interface LongRange {
max?: number;
min?: number;
}
interface MediaEncryptedEventInit extends EventInit {
initData?: ArrayBuffer | null;
initDataType?: string;
}
interface MediaKeyMessageEventInit extends EventInit {
message?: ArrayBuffer | null;
messageType?: MediaKeyMessageType;
}
interface MediaKeySystemConfiguration {
audioCapabilities?: MediaKeySystemMediaCapability[];
distinctiveIdentifier?: MediaKeysRequirement;
initDataTypes?: string[];
persistentState?: MediaKeysRequirement;
videoCapabilities?: MediaKeySystemMediaCapability[];
}
interface MediaKeySystemMediaCapability {
contentType?: string;
robustness?: string;
}
interface MediaStreamConstraints {
audio?: boolean | MediaTrackConstraints;
video?: boolean | MediaTrackConstraints;
}
interface MediaStreamErrorEventInit extends EventInit {
error?: MediaStreamError | null;
}
interface MediaStreamEventInit extends EventInit {
stream?: MediaStream;
}
interface MediaStreamTrackEventInit extends EventInit {
track?: MediaStreamTrack | null;
}
interface MediaTrackCapabilities {
aspectRatio?: number | DoubleRange;
deviceId?: string;
echoCancellation?: boolean[];
facingMode?: string;
frameRate?: number | DoubleRange;
groupId?: string;
height?: number | LongRange;
sampleRate?: number | LongRange;
sampleSize?: number | LongRange;
volume?: number | DoubleRange;
width?: number | LongRange;
}
interface MediaTrackConstraints extends MediaTrackConstraintSet {
advanced?: MediaTrackConstraintSet[];
}
interface MediaTrackConstraintSet {
aspectRatio?: number | ConstrainDoubleRange;
deviceId?: string | string[] | ConstrainDOMStringParameters;
echoCancelation?: boolean | ConstrainBooleanParameters;
facingMode?: string | string[] | ConstrainDOMStringParameters;
frameRate?: number | ConstrainDoubleRange;
groupId?: string | string[] | ConstrainDOMStringParameters;
height?: number | ConstrainLongRange;
sampleRate?: number | ConstrainLongRange;
sampleSize?: number | ConstrainLongRange;
volume?: number | ConstrainDoubleRange;
width?: number | ConstrainLongRange;
}
interface MediaTrackSettings {
aspectRatio?: number;
deviceId?: string;
echoCancellation?: boolean;
facingMode?: string;
frameRate?: number;
groupId?: string;
height?: number;
sampleRate?: number;
sampleSize?: number;
volume?: number;
width?: number;
}
interface MediaTrackSupportedConstraints {
aspectRatio?: boolean;
deviceId?: boolean;
echoCancellation?: boolean;
facingMode?: boolean;
frameRate?: boolean;
groupId?: boolean;
height?: boolean;
sampleRate?: boolean;
sampleSize?: boolean;
volume?: boolean;
width?: boolean;
}
interface MessageEventInit extends EventInit {
lastEventId?: string;
channel?: string;
data?: any;
origin?: string;
ports?: MessagePort[];
source?: Window;
}
interface MouseEventInit extends EventModifierInit {
button?: number;
buttons?: number;
clientX?: number;
clientY?: number;
relatedTarget?: EventTarget | null;
screenX?: number;
screenY?: number;
}
interface MSAccountInfo {
accountImageUri?: string;
accountName?: string;
rpDisplayName: string;
userDisplayName: string;
userId?: string;
}
interface MSAudioLocalClientEvent extends MSLocalClientEventBase {
cpuInsufficientEventRatio?: number;
deviceCaptureNotFunctioningEventRatio?: number;
deviceClippingEventRatio?: number;
deviceEchoEventRatio?: number;
deviceGlitchesEventRatio?: number;
deviceHalfDuplexAECEventRatio?: number;
deviceHowlingEventCount?: number;
deviceLowSNREventRatio?: number;
deviceLowSpeechLevelEventRatio?: number;
deviceMultipleEndpointsEventCount?: number;
deviceNearEndToEchoRatioEventRatio?: number;
deviceRenderMuteEventRatio?: number;
deviceRenderNotFunctioningEventRatio?: number;
deviceRenderZeroVolumeEventRatio?: number;
networkDelayEventRatio?: number;
networkSendQualityEventRatio?: number;
}
interface MSAudioRecvPayload extends MSPayloadBase {
burstLossLength1?: number;
burstLossLength2?: number;
burstLossLength3?: number;
burstLossLength4?: number;
burstLossLength5?: number;
burstLossLength6?: number;
burstLossLength7?: number;
burstLossLength8OrHigher?: number;
fecRecvDistance1?: number;
fecRecvDistance2?: number;
fecRecvDistance3?: number;
packetReorderDepthAvg?: number;
packetReorderDepthMax?: number;
packetReorderRatio?: number;
ratioCompressedSamplesAvg?: number;
ratioConcealedSamplesAvg?: number;
ratioStretchedSamplesAvg?: number;
samplingRate?: number;
signal?: MSAudioRecvSignal;
}
interface MSAudioRecvSignal {
initialSignalLevelRMS?: number;
recvNoiseLevelCh1?: number;
recvSignalLevelCh1?: number;
renderLoopbackSignalLevel?: number;
renderNoiseLevel?: number;
renderSignalLevel?: number;
}
interface MSAudioSendPayload extends MSPayloadBase {
audioFECUsed?: boolean;
samplingRate?: number;
sendMutePercent?: number;
signal?: MSAudioSendSignal;
}
interface MSAudioSendSignal {
noiseLevel?: number;
sendNoiseLevelCh1?: number;
sendSignalLevelCh1?: number;
}
interface MSConnectivity {
iceType?: MSIceType;
iceWarningFlags?: MSIceWarningFlags;
relayAddress?: MSRelayAddress;
}
interface MSCredentialFilter {
accept?: MSCredentialSpec[];
}
interface MSCredentialParameters {
type?: MSCredentialType;
}
interface MSCredentialSpec {
id?: string;
type: MSCredentialType;
}
interface MSDelay {
roundTrip?: number;
roundTripMax?: number;
}
interface MSDescription extends RTCStats {
connectivity?: MSConnectivity;
deviceDevName?: string;
localAddr?: MSIPAddressInfo;
networkconnectivity?: MSNetworkConnectivityInfo;
reflexiveLocalIPAddr?: MSIPAddressInfo;
remoteAddr?: MSIPAddressInfo;
transport?: RTCIceProtocol;
}
interface MSFIDOCredentialParameters extends MSCredentialParameters {
algorithm?: string | Algorithm;
authenticators?: AAGUID[];
}
interface MSIceWarningFlags {
allocationMessageIntegrityFailed?: boolean;
alternateServerReceived?: boolean;
connCheckMessageIntegrityFailed?: boolean;
connCheckOtherError?: boolean;
fipsAllocationFailure?: boolean;
multipleRelayServersAttempted?: boolean;
noRelayServersConfigured?: boolean;
portRangeExhausted?: boolean;
pseudoTLSFailure?: boolean;
tcpNatConnectivityFailed?: boolean;
tcpRelayConnectivityFailed?: boolean;
turnAuthUnknownUsernameError?: boolean;
turnTcpAllocateFailed?: boolean;
turnTcpSendFailed?: boolean;
turnTcpTimedOut?: boolean;
turnTurnTcpConnectivityFailed?: boolean;
turnUdpAllocateFailed?: boolean;
turnUdpSendFailed?: boolean;
udpLocalConnectivityFailed?: boolean;
udpNatConnectivityFailed?: boolean;
udpRelayConnectivityFailed?: boolean;
useCandidateChecksFailed?: boolean;
}
interface MSIPAddressInfo {
ipAddr?: string;
manufacturerMacAddrMask?: string;
port?: number;
}
interface MSJitter {
interArrival?: number;
interArrivalMax?: number;
interArrivalSD?: number;
}
interface MSLocalClientEventBase extends RTCStats {
networkBandwidthLowEventRatio?: number;
networkReceiveQualityEventRatio?: number;
}
interface MSNetwork extends RTCStats {
delay?: MSDelay;
jitter?: MSJitter;
packetLoss?: MSPacketLoss;
utilization?: MSUtilization;
}
interface MSNetworkConnectivityInfo {
linkspeed?: number;
networkConnectionDetails?: string;
vpn?: boolean;
}
interface MSNetworkInterfaceType {
interfaceTypeEthernet?: boolean;
interfaceTypePPP?: boolean;
interfaceTypeTunnel?: boolean;
interfaceTypeWireless?: boolean;
interfaceTypeWWAN?: boolean;
}
interface MSOutboundNetwork extends MSNetwork {
appliedBandwidthLimit?: number;
}
interface MSPacketLoss {
lossRate?: number;
lossRateMax?: number;
}
interface MSPayloadBase extends RTCStats {
payloadDescription?: string;
}
interface MSPortRange {
max?: number;
min?: number;
}
interface MSRelayAddress {
port?: number;
relayAddress?: string;
}
interface MSSignatureParameters {
userPrompt?: string;
}
interface MSTransportDiagnosticsStats extends RTCStats {
allocationTimeInMs?: number;
baseAddress?: string;
baseInterface?: MSNetworkInterfaceType;
iceRole?: RTCIceRole;
iceWarningFlags?: MSIceWarningFlags;
interfaces?: MSNetworkInterfaceType;
localAddress?: string;
localAddrType?: MSIceAddrType;
localInterface?: MSNetworkInterfaceType;
localMR?: string;
localMRTCPPort?: number;
localSite?: string;
msRtcEngineVersion?: string;
networkName?: string;
numConsentReqReceived?: number;
numConsentReqSent?: number;
numConsentRespReceived?: number;
numConsentRespSent?: number;
portRangeMax?: number;
portRangeMin?: number;
protocol?: RTCIceProtocol;
remoteAddress?: string;
remoteAddrType?: MSIceAddrType;
remoteMR?: string;
remoteMRTCPPort?: number;
remoteSite?: string;
rtpRtcpMux?: boolean;
stunVer?: number;
}
interface MSUtilization {
bandwidthEstimation?: number;
bandwidthEstimationAvg?: number;
bandwidthEstimationMax?: number;
bandwidthEstimationMin?: number;
bandwidthEstimationStdDev?: number;
packets?: number;
}
interface MSVideoPayload extends MSPayloadBase {
durationSeconds?: number;
resolution?: string;
videoBitRateAvg?: number;
videoBitRateMax?: number;
videoFrameRateAvg?: number;
videoPacketLossRate?: number;
}
interface MSVideoRecvPayload extends MSVideoPayload {
lowBitRateCallPercent?: number;
lowFrameRateCallPercent?: number;
recvBitRateAverage?: number;
recvBitRateMaximum?: number;
recvCodecType?: string;
recvFpsHarmonicAverage?: number;
recvFrameRateAverage?: number;
recvNumResSwitches?: number;
recvReorderBufferMaxSuccessfullyOrderedExtent?: number;
recvReorderBufferMaxSuccessfullyOrderedLateTime?: number;
recvReorderBufferPacketsDroppedDueToBufferExhaustion?: number;
recvReorderBufferPacketsDroppedDueToTimeout?: number;
recvReorderBufferReorderedPackets?: number;
recvResolutionHeight?: number;
recvResolutionWidth?: number;
recvVideoStreamsMax?: number;
recvVideoStreamsMin?: number;
recvVideoStreamsMode?: number;
reorderBufferTotalPackets?: number;
videoFrameLossRate?: number;
videoPostFECPLR?: number;
videoResolutions?: MSVideoResolutionDistribution;
}
interface MSVideoResolutionDistribution {
cifQuality?: number;
h1080Quality?: number;
h1440Quality?: number;
h2160Quality?: number;
h720Quality?: number;
vgaQuality?: number;
}
interface MSVideoSendPayload extends MSVideoPayload {
sendBitRateAverage?: number;
sendBitRateMaximum?: number;
sendFrameRateAverage?: number;
sendResolutionHeight?: number;
sendResolutionWidth?: number;
sendVideoStreamsMax?: number;
}
interface MsZoomToOptions {
animate?: string;
contentX?: number;
contentY?: number;
scaleFactor?: number;
viewportX?: string | null;
viewportY?: string | null;
}
interface MutationObserverInit {
attributeFilter?: string[];
attributeOldValue?: boolean;
attributes?: boolean;
characterData?: boolean;
characterDataOldValue?: boolean;
childList?: boolean;
subtree?: boolean;
}
interface NotificationOptions {
body?: string;
dir?: NotificationDirection;
icon?: string;
lang?: string;
tag?: string;
}
interface ObjectURLOptions {
oneTimeOnly?: boolean;
}
interface PaymentCurrencyAmount {
currency: string;
currencySystem?: string;
value: string;
}
interface PaymentDetails {
displayItems?: PaymentItem[];
error?: string;
modifiers?: PaymentDetailsModifier[];
shippingOptions?: PaymentShippingOption[];
total?: PaymentItem;
}
interface PaymentDetailsModifier {
additionalDisplayItems?: PaymentItem[];
data?: any;
supportedMethods: string[];
total?: PaymentItem;
}
interface PaymentItem {
amount: PaymentCurrencyAmount;
label: string;
pending?: boolean;
}
interface PaymentMethodData {
data?: any;
supportedMethods: string[];
}
interface PaymentOptions {
requestPayerEmail?: boolean;
requestPayerName?: boolean;
requestPayerPhone?: boolean;
requestShipping?: boolean;
shippingType?: string;
}
interface PaymentRequestUpdateEventInit extends EventInit {
}
interface PaymentShippingOption {
amount: PaymentCurrencyAmount;
id: string;
label: string;
selected?: boolean;
}
interface PeriodicWaveConstraints {
disableNormalization?: boolean;
}
interface PointerEventInit extends MouseEventInit {
height?: number;
isPrimary?: boolean;
pointerId?: number;
pointerType?: string;
pressure?: number;
tiltX?: number;
tiltY?: number;
width?: number;
}
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 PushSubscriptionOptionsInit {
applicationServerKey?: any;
userVisibleOnly?: boolean;
}
interface RegistrationOptions {
scope?: string;
}
interface RequestInit {
body?: any;
cache?: RequestCache;
credentials?: RequestCredentials;
headers?: HeadersInit;
integrity?: string;
keepalive?: boolean;
method?: string;
mode?: RequestMode;
redirect?: RequestRedirect;
referrer?: string;
referrerPolicy?: ReferrerPolicy;
window?: any;
}
interface ResponseInit {
headers?: HeadersInit;
status?: number;
statusText?: string;
}
interface RTCConfiguration {
bundlePolicy?: RTCBundlePolicy;
iceServers?: RTCIceServer[];
iceTransportPolicy?: RTCIceTransportPolicy;
peerIdentity?: string;
}
interface RTCDtlsFingerprint {
algorithm?: string;
value?: string;
}
interface RTCDtlsParameters {
fingerprints?: RTCDtlsFingerprint[];
role?: RTCDtlsRole;
}
interface RTCDTMFToneChangeEventInit extends EventInit {
tone?: string;
}
interface RTCIceCandidateAttributes extends RTCStats {
addressSourceUrl?: string;
candidateType?: RTCStatsIceCandidateType;
ipAddress?: string;
portNumber?: number;
priority?: number;
transport?: string;
}
interface RTCIceCandidateComplete {
}
interface RTCIceCandidateDictionary {
foundation?: string;
ip?: string;
msMTurnSessionId?: string;
port?: number;
priority?: number;
protocol?: RTCIceProtocol;
relatedAddress?: string;
relatedPort?: number;
tcpType?: RTCIceTcpCandidateType;
type?: RTCIceCandidateType;
}
interface RTCIceCandidateInit {
candidate?: string;
sdpMid?: string;
sdpMLineIndex?: number;
}
interface RTCIceCandidatePair {
local?: RTCIceCandidateDictionary;
remote?: RTCIceCandidateDictionary;
}
interface RTCIceCandidatePairStats extends RTCStats {
availableIncomingBitrate?: number;
availableOutgoingBitrate?: number;
bytesReceived?: number;
bytesSent?: number;
localCandidateId?: string;
nominated?: boolean;
priority?: number;
readable?: boolean;
remoteCandidateId?: string;
roundTripTime?: number;
state?: RTCStatsIceCandidatePairState;
transportId?: string;
writable?: boolean;
}
interface RTCIceGatherOptions {
gatherPolicy?: RTCIceGatherPolicy;
iceservers?: RTCIceServer[];
portRange?: MSPortRange;
}
interface RTCIceParameters {
iceLite?: boolean | null;
password?: string;
usernameFragment?: string;
}
interface RTCIceServer {
credential?: string | null;
urls?: any;
username?: string | null;
}
interface RTCInboundRTPStreamStats extends RTCRTPStreamStats {
bytesReceived?: number;
fractionLost?: number;
jitter?: number;
packetsLost?: number;
packetsReceived?: number;
}
interface RTCMediaStreamTrackStats extends RTCStats {
audioLevel?: number;
echoReturnLoss?: number;
echoReturnLossEnhancement?: number;
frameHeight?: number;
framesCorrupted?: number;
framesDecoded?: number;
framesDropped?: number;
framesPerSecond?: number;
framesReceived?: number;
framesSent?: number;
frameWidth?: number;
remoteSource?: boolean;
ssrcIds?: string[];
trackIdentifier?: string;
}
interface RTCOfferOptions {
iceRestart?: boolean;
offerToReceiveAudio?: number;
offerToReceiveVideo?: number;
voiceActivityDetection?: boolean;
}
interface RTCOutboundRTPStreamStats extends RTCRTPStreamStats {
bytesSent?: number;
packetsSent?: number;
roundTripTime?: number;
targetBitrate?: number;
}
interface RTCPeerConnectionIceEventInit extends EventInit {
candidate?: RTCIceCandidate;
}
interface RTCRtcpFeedback {
parameter?: string;
type?: string;
}
interface RTCRtcpParameters {
cname?: string;
mux?: boolean;
reducedSize?: boolean;
ssrc?: number;
}
interface RTCRtpCapabilities {
codecs?: RTCRtpCodecCapability[];
fecMechanisms?: string[];
headerExtensions?: RTCRtpHeaderExtension[];
}
interface RTCRtpCodecCapability {
clockRate?: number;
kind?: string;
maxptime?: number;
maxSpatialLayers?: number;
maxTemporalLayers?: number;
name?: string;
numChannels?: number;
options?: any;
parameters?: any;
preferredPayloadType?: number;
ptime?: number;
rtcpFeedback?: RTCRtcpFeedback[];
svcMultiStreamSupport?: boolean;
}
interface RTCRtpCodecParameters {
clockRate?: number;
maxptime?: number;
name?: string;
numChannels?: number;
parameters?: any;
payloadType?: any;
ptime?: number;
rtcpFeedback?: RTCRtcpFeedback[];
}
interface RTCRtpContributingSource {
audioLevel?: number;
csrc?: number;
timestamp?: number;
}
interface RTCRtpEncodingParameters {
active?: boolean;
codecPayloadType?: number;
dependencyEncodingIds?: string[];
encodingId?: string;
fec?: RTCRtpFecParameters;
framerateScale?: number;
maxBitrate?: number;
maxFramerate?: number;
minQuality?: number;
priority?: number;
resolutionScale?: number;
rtx?: RTCRtpRtxParameters;
ssrc?: number;
ssrcRange?: RTCSsrcRange;
}
interface RTCRtpFecParameters {
mechanism?: string;
ssrc?: number;
}
interface RTCRtpHeaderExtension {
kind?: string;
preferredEncrypt?: boolean;
preferredId?: number;
uri?: string;
}
interface RTCRtpHeaderExtensionParameters {
encrypt?: boolean;
id?: number;
uri?: string;
}
interface RTCRtpParameters {
codecs?: RTCRtpCodecParameters[];
degradationPreference?: RTCDegradationPreference;
encodings?: RTCRtpEncodingParameters[];
headerExtensions?: RTCRtpHeaderExtensionParameters[];
muxId?: string;
rtcp?: RTCRtcpParameters;
}
interface RTCRtpRtxParameters {
ssrc?: number;
}
interface RTCRTPStreamStats extends RTCStats {
associateStatsId?: string;
codecId?: string;
firCount?: number;
isRemote?: boolean;
mediaTrackId?: string;
nackCount?: number;
pliCount?: number;
sliCount?: number;
ssrc?: string;
transportId?: string;
}
interface RTCRtpUnhandled {
muxId?: string;
payloadType?: number;
ssrc?: number;
}
interface RTCSessionDescriptionInit {
sdp?: string;
type?: RTCSdpType;
}
interface RTCSrtpKeyParam {
keyMethod?: string;
keySalt?: string;
lifetime?: string;
mkiLength?: number;
mkiValue?: number;
}
interface RTCSrtpSdesParameters {
cryptoSuite?: string;
keyParams?: RTCSrtpKeyParam[];
sessionParams?: string[];
tag?: number;
}
interface RTCSsrcRange {
max?: number;
min?: number;
}
interface RTCStats {
id?: string;
msType?: MSStatsType;
timestamp?: number;
type?: RTCStatsType;
}
interface RTCStatsReport {
}
interface RTCTransportStats extends RTCStats {
activeConnection?: boolean;
bytesReceived?: number;
bytesSent?: number;
localCertificateId?: string;
remoteCertificateId?: string;
rtcpTransportStatsId?: string;
selectedCandidatePairId?: string;
}
interface ScopedCredentialDescriptor {
id: any;
transports?: Transport[];
type: ScopedCredentialType;
}
interface ScopedCredentialOptions {
excludeList?: ScopedCredentialDescriptor[];
extensions?: WebAuthnExtensions;
rpId?: USVString;
timeoutSeconds?: number;
}
interface ScopedCredentialParameters {
algorithm: string | Algorithm;
type: ScopedCredentialType;
}
interface ServiceWorkerMessageEventInit extends EventInit {
data?: any;
lastEventId?: string;
origin?: string;
ports?: MessagePort[] | null;
source?: ServiceWorker | MessagePort | null;
}
interface SpeechSynthesisEventInit extends EventInit {
charIndex?: number;
elapsedTime?: number;
name?: string;
utterance?: SpeechSynthesisUtterance | null;
}
interface StoreExceptionsInformation extends ExceptionInformation {
detailURI?: string | null;
explanationString?: string | null;
siteName?: string | null;
}
interface StoreSiteSpecificExceptionsInformation extends StoreExceptionsInformation {
arrayOfDomainStrings?: string[];
}
interface TrackEventInit extends EventInit {
track?: VideoTrack | AudioTrack | TextTrack | null;
}
interface TransitionEventInit extends EventInit {
elapsedTime?: number;
propertyName?: string;
}
interface UIEventInit extends EventInit {
detail?: number;
view?: Window | null;
}
interface WebAuthnExtensions {
}
interface WebGLContextAttributes {
failIfMajorPerformanceCaveat?: boolean;
alpha?: boolean;
antialias?: boolean;
depth?: boolean;
premultipliedAlpha?: boolean;
preserveDrawingBuffer?: boolean;
stencil?: boolean;
}
interface WebGLContextEventInit extends EventInit {
statusMessage?: string;
}
interface WheelEventInit extends MouseEventInit {
deltaMode?: number;
deltaX?: number;
deltaY?: number;
deltaZ?: number;
}
interface EventListener {
(evt: Event): void;
}
interface WebKitEntriesCallback {
(evt: Event): void;
}
interface WebKitErrorCallback {
(evt: Event): void;
}
interface WebKitFileCallback {
(evt: Event): void;
}
interface AnalyserNode extends AudioNode {
fftSize: number;
readonly frequencyBinCount: number;
maxDecibels: number;
minDecibels: number;
smoothingTimeConstant: number;
getByteFrequencyData(array: Uint8Array): void;
getByteTimeDomainData(array: Uint8Array): void;
getFloatFrequencyData(array: Float32Array): void;
getFloatTimeDomainData(array: Float32Array): void;
}
declare var AnalyserNode: {
prototype: AnalyserNode;
new(): AnalyserNode;
};
interface ANGLE_instanced_arrays {
drawArraysInstancedANGLE(mode: number, first: number, count: number, primcount: number): void;
drawElementsInstancedANGLE(mode: number, count: number, type: number, offset: number, primcount: number): void;
vertexAttribDivisorANGLE(index: number, divisor: number): void;
readonly VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE: number;
}
declare var ANGLE_instanced_arrays: {
prototype: ANGLE_instanced_arrays;
new(): ANGLE_instanced_arrays;
readonly VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE: number;
};
interface AnimationEvent extends Event {
readonly animationName: string;
readonly elapsedTime: number;
initAnimationEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, animationNameArg: string, elapsedTimeArg: number): void;
}
declare var AnimationEvent: {
prototype: AnimationEvent;
new(typeArg: string, eventInitDict?: AnimationEventInit): AnimationEvent;
};
interface ApplicationCacheEventMap {
"cached": Event;
"checking": Event;
"downloading": Event;
"error": Event;
"noupdate": Event;
"obsolete": Event;
"progress": ProgressEvent;
"updateready": Event;
}
interface ApplicationCache extends EventTarget {
oncached: (this: ApplicationCache, ev: Event) => any;
onchecking: (this: ApplicationCache, ev: Event) => any;
ondownloading: (this: ApplicationCache, ev: Event) => any;
onerror: (this: ApplicationCache, ev: Event) => any;
onnoupdate: (this: ApplicationCache, ev: Event) => any;
onobsolete: (this: ApplicationCache, ev: Event) => any;
onprogress: (this: ApplicationCache, ev: ProgressEvent) => any;
onupdateready: (this: ApplicationCache, ev: Event) => any;
readonly status: number;
abort(): void;
swapCache(): void;
update(): void;
readonly CHECKING: number;
readonly DOWNLOADING: number;
readonly IDLE: number;
readonly OBSOLETE: number;
readonly UNCACHED: number;
readonly UPDATEREADY: number;
addEventListener<K extends keyof ApplicationCacheEventMap>(type: K, listener: (this: ApplicationCache, ev: ApplicationCacheEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
removeEventListener<K extends keyof ApplicationCacheEventMap>(type: K, listener: (this: ApplicationCache, ev: ApplicationCacheEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
}
declare var ApplicationCache: {
prototype: ApplicationCache;
new(): ApplicationCache;
readonly CHECKING: number;
readonly DOWNLOADING: number;
readonly IDLE: number;
readonly OBSOLETE: number;
readonly UNCACHED: number;
readonly UPDATEREADY: number;
};
interface Attr extends Node {
readonly name: string;
readonly ownerElement: Element;
readonly prefix: string | null;
readonly specified: boolean;
value: string;
}
declare var Attr: {
prototype: Attr;
new(): Attr;
};
interface AudioBuffer {
readonly duration: number;
readonly length: number;
readonly numberOfChannels: number;
readonly sampleRate: number;
copyFromChannel(destination: Float32Array, channelNumber: number, startInChannel?: number): void;
copyToChannel(source: Float32Array, channelNumber: number, startInChannel?: number): void;
getChannelData(channel: number): Float32Array;
}
declare var AudioBuffer: {
prototype: AudioBuffer;
new(): AudioBuffer;
};
interface AudioBufferSourceNodeEventMap {
"ended": MediaStreamErrorEvent;
}
interface AudioBufferSourceNode extends AudioNode {
buffer: AudioBuffer | null;
readonly detune: AudioParam;
loop: boolean;
loopEnd: number;
loopStart: number;
onended: (this: AudioBufferSourceNode, ev: MediaStreamErrorEvent) => any;
readonly playbackRate: AudioParam;
start(when?: number, offset?: number, duration?: number): void;
stop(when?: number): void;
addEventListener<K extends keyof AudioBufferSourceNodeEventMap>(type: K, listener: (this: AudioBufferSourceNode, ev: AudioBufferSourceNodeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
removeEventListener<K extends keyof AudioBufferSourceNodeEventMap>(type: K, listener: (this: AudioBufferSourceNode, ev: AudioBufferSourceNodeEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
}
declare var AudioBufferSourceNode: {
prototype: AudioBufferSourceNode;
new(): AudioBufferSourceNode;
};
interface AudioContextEventMap {
"statechange": Event;
}
interface AudioContextBase extends EventTarget {
readonly currentTime: number;
readonly destination: AudioDestinationNode;
readonly listener: AudioListener;
onstatechange: (this: AudioContext, ev: Event) => any;
readonly sampleRate: number;
readonly state: AudioContextState;
close(): Promise<void>;
createAnalyser(): AnalyserNode;
createBiquadFilter(): BiquadFilterNode;
createBuffer(numberOfChannels: number, length: number, sampleRate: number): AudioBuffer;
createBufferSource(): AudioBufferSourceNode;
createChannelMerger(numberOfInputs?: number): ChannelMergerNode;
createChannelSplitter(numberOfOutputs?: number): ChannelSplitterNode;
createConvolver(): ConvolverNode;
createDelay(maxDelayTime?: number): DelayNode;
createDynamicsCompressor(): DynamicsCompressorNode;
createGain(): GainNode;
createIIRFilter(feedforward: number[], feedback: number[]): IIRFilterNode;
createMediaElementSource(mediaElement: HTMLMediaElement): MediaElementAudioSourceNode;
createMediaStreamSource(mediaStream: MediaStream): MediaStreamAudioSourceNode;
createOscillator(): OscillatorNode;
createPanner(): PannerNode;
createPeriodicWave(real: Float32Array, imag: Float32Array, constraints?: PeriodicWaveConstraints): PeriodicWave;
createScriptProcessor(bufferSize?: number, numberOfInputChannels?: number, numberOfOutputChannels?: number): ScriptProcessorNode;
createStereoPanner(): StereoPannerNode;
createWaveShaper(): WaveShaperNode;
decodeAudioData(audioData: ArrayBuffer, successCallback?: DecodeSuccessCallback, errorCallback?: DecodeErrorCallback): Promise<AudioBuffer>;
resume(): Promise<void>;
addEventListener<K extends keyof AudioContextEventMap>(type: K, listener: (this: AudioContext, ev: AudioContextEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
removeEventListener<K extends keyof AudioContextEventMap>(type: K, listener: (this: AudioContext, ev: AudioContextEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
}
interface AudioContext extends AudioContextBase {
suspend(): Promise<void>;
}
declare var AudioContext: {
prototype: AudioContext;
new(): AudioContext;
};
interface AudioDestinationNode extends AudioNode {
readonly maxChannelCount: number;
}
declare var AudioDestinationNode: {
prototype: AudioDestinationNode;
new(): AudioDestinationNode;
};
interface AudioListener {
dopplerFactor: number;
speedOfSound: number;
setOrientation(x: number, y: number, z: number, xUp: number, yUp: number, zUp: number): void;
setPosition(x: number, y: number, z: number): void;
setVelocity(x: number, y: number, z: number): void;
}
declare var AudioListener: {
prototype: AudioListener;
new(): AudioListener;
};
interface AudioNode extends EventTarget {
channelCount: number;
channelCountMode: ChannelCountMode;
channelInterpretation: ChannelInterpretation;
readonly context: AudioContext;
readonly numberOfInputs: number;
readonly numberOfOutputs: number;
connect(destination: AudioNode, output?: number, input?: number): AudioNode;
connect(destination: AudioParam, output?: number): void;
disconnect(output?: number): void;
disconnect(destination: AudioNode, output?: number, input?: number): void;
disconnect(destination: AudioParam, output?: number): void;
}
declare var AudioNode: {
prototype: AudioNode;
new(): AudioNode;
};
interface AudioParam {
readonly defaultValue: number;
value: number;
cancelScheduledValues(startTime: number): AudioParam;
exponentialRampToValueAtTime(value: number, endTime: number): AudioParam;
linearRampToValueAtTime(value: number, endTime: number): AudioParam;
setTargetAtTime(target: number, startTime: number, timeConstant: number): AudioParam;
setValueAtTime(value: number, startTime: number): AudioParam;
setValueCurveAtTime(values: Float32Array, startTime: number, duration: number): AudioParam;
}
declare var AudioParam: {
prototype: AudioParam;
new(): AudioParam;
};
interface AudioProcessingEvent extends Event {
readonly inputBuffer: AudioBuffer;
readonly outputBuffer: AudioBuffer;
readonly playbackTime: number;
}
declare var AudioProcessingEvent: {
prototype: AudioProcessingEvent;
new(): AudioProcessingEvent;
};
interface AudioTrack {
enabled: boolean;
readonly id: string;
kind: string;
readonly label: string;
language: string;
readonly sourceBuffer: SourceBuffer;
}
declare var AudioTrack: {
prototype: AudioTrack;
new(): AudioTrack;
};
interface AudioTrackListEventMap {
"addtrack": TrackEvent;
"change": Event;
"removetrack": TrackEvent;
}
interface AudioTrackList extends EventTarget {
readonly length: number;
onaddtrack: (this: AudioTrackList, ev: TrackEvent) => any;
onchange: (this: AudioTrackList, ev: Event) => any;
onremovetrack: (this: AudioTrackList, ev: TrackEvent) => any;
getTrackById(id: string): AudioTrack | null;
item(index: number): AudioTrack;
addEventListener<K extends keyof AudioTrackListEventMap>(type: K, listener: (this: AudioTrackList, ev: AudioTrackListEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
removeEventListener<K extends keyof AudioTrackListEventMap>(type: K, listener: (this: AudioTrackList, ev: AudioTrackListEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
[index: number]: AudioTrack;
}
declare var AudioTrackList: {
prototype: AudioTrackList;
new(): AudioTrackList;
};
interface BarProp {
readonly visible: boolean;
}
declare var BarProp: {
prototype: BarProp;
new(): BarProp;
};
interface BeforeUnloadEvent extends Event {
returnValue: any;
}
declare var BeforeUnloadEvent: {
prototype: BeforeUnloadEvent;
new(): BeforeUnloadEvent;
};
interface BiquadFilterNode extends AudioNode {
readonly detune: AudioParam;
readonly frequency: AudioParam;
readonly gain: AudioParam;
readonly Q: AudioParam;
type: BiquadFilterType;
getFrequencyResponse(frequencyHz: Float32Array, magResponse: Float32Array, phaseResponse: Float32Array): void;
}
declare var BiquadFilterNode: {
prototype: BiquadFilterNode;
new(): BiquadFilterNode;
};
interface Blob {
readonly size: number;
readonly type: string;
msClose(): void;
msDetachStream(): any;
slice(start?: number, end?: number, contentType?: string): Blob;
}
declare var Blob: {
prototype: Blob;
new (blobParts?: any[], options?: BlobPropertyBag): Blob;
};
interface Cache {
add(request: RequestInfo): Promise<void>;
addAll(requests: RequestInfo[]): Promise<void>;
delete(request: RequestInfo, options?: CacheQueryOptions): Promise<boolean>;
keys(request?: RequestInfo, options?: CacheQueryOptions): Promise<Request[]>;
match(request: RequestInfo, options?: CacheQueryOptions): Promise<Response>;
matchAll(request?: RequestInfo, options?: CacheQueryOptions): Promise<Response[]>;
put(request: RequestInfo, response: Response): Promise<void>;
}
declare var Cache: {
prototype: Cache;
new(): Cache;
};
interface CacheStorage {
delete(cacheName: string): Promise<boolean>;
has(cacheName: string): Promise<boolean>;
keys(): Promise<string[]>;
match(request: RequestInfo, options?: CacheQueryOptions): Promise<any>;
open(cacheName: string): Promise<Cache>;
}
declare var CacheStorage: {
prototype: CacheStorage;
new(): CacheStorage;
};
interface CanvasGradient {
addColorStop(offset: number, color: string): void;
}
declare var CanvasGradient: {
prototype: CanvasGradient;
new(): CanvasGradient;
};
interface CanvasPattern {
setTransform(matrix: SVGMatrix): void;
}
declare var CanvasPattern: {
prototype: CanvasPattern;
new(): CanvasPattern;
};
interface CanvasRenderingContext2D extends Object, CanvasPathMethods {
readonly canvas: HTMLCanvasElement;
fillStyle: string | CanvasGradient | CanvasPattern;
font: string;
globalAlpha: number;
globalCompositeOperation: string;
imageSmoothingEnabled: boolean;
lineCap: string;
lineDashOffset: number;
lineJoin: string;
lineWidth: number;
miterLimit: number;
msFillRule: CanvasFillRule;
shadowBlur: number;
shadowColor: string;
shadowOffsetX: number;
shadowOffsetY: number;
strokeStyle: string | CanvasGradient | CanvasPattern;
textAlign: string;
textBaseline: string;
mozImageSmoothingEnabled: boolean;
webkitImageSmoothingEnabled: boolean;
oImageSmoothingEnabled: boolean;
beginPath(): void;
clearRect(x: number, y: number, w: number, h: number): void;
clip(fillRule?: CanvasFillRule): void;
createImageData(imageDataOrSw: number | ImageData, sh?: number): ImageData;
createLinearGradient(x0: number, y0: number, x1: number, y1: number): CanvasGradient;
createPattern(image: HTMLImageElement | HTMLCanvasElement | HTMLVideoElement, repetition: string): CanvasPattern;
createRadialGradient(x0: number, y0: number, r0: number, x1: number, y1: number, r1: number): CanvasGradient;
drawFocusIfNeeded(element: Element): void;
drawImage(image: HTMLImageElement | HTMLCanvasElement | HTMLVideoElement | ImageBitmap, dstX: number, dstY: number): void;
drawImage(image: HTMLImageElement | HTMLCanvasElement | HTMLVideoElement | ImageBitmap, dstX: number, dstY: number, dstW: number, dstH: number): void;
drawImage(image: HTMLImageElement | HTMLCanvasElement | HTMLVideoElement | ImageBitmap, srcX: number, srcY: number, srcW: number, srcH: number, dstX: number, dstY: number, dstW: number, dstH: number): void;
fill(fillRule?: CanvasFillRule): void;
fillRect(x: number, y: number, w: number, h: number): void;
fillText(text: string, x: number, y: number, maxWidth?: number): void;
getImageData(sx: number, sy: number, sw: number, sh: number): ImageData;
getLineDash(): number[];
isPointInPath(x: number, y: number, fillRule?: CanvasFillRule): boolean;
measureText(text: string): TextMetrics;
putImageData(imagedata: ImageData, dx: number, dy: number, dirtyX?: number, dirtyY?: number, dirtyWidth?: number, dirtyHeight?: number): void;
restore(): void;
rotate(angle: number): void;
save(): void;
scale(x: number, y: number): void;
setLineDash(segments: number[]): void;
setTransform(m11: number, m12: number, m21: number, m22: number, dx: number, dy: number): void;
stroke(path?: Path2D): void;
strokeRect(x: number, y: number, w: number, h: number): void;
strokeText(text: string, x: number, y: number, maxWidth?: number): void;
transform(m11: number, m12: number, m21: number, m22: number, dx: number, dy: number): void;
translate(x: number, y: number): void;
}
declare var CanvasRenderingContext2D: {
prototype: CanvasRenderingContext2D;
new(): CanvasRenderingContext2D;
};
interface CDATASection extends Text {
}
declare var CDATASection: {
prototype: CDATASection;
new(): CDATASection;
};
interface ChannelMergerNode extends AudioNode {
}
declare var ChannelMergerNode: {
prototype: ChannelMergerNode;
new(): ChannelMergerNode;
};
interface ChannelSplitterNode extends AudioNode {
}
declare var ChannelSplitterNode: {
prototype: ChannelSplitterNode;
new(): ChannelSplitterNode;
};
interface CharacterData extends Node, ChildNode {
data: string;
readonly length: number;
appendData(arg: string): void;
deleteData(offset: number, count: number): void;
insertData(offset: number, arg: string): void;
replaceData(offset: number, count: number, arg: string): void;
substringData(offset: number, count: number): string;
}
declare var CharacterData: {
prototype: CharacterData;
new(): CharacterData;
};
interface ClientRect {
bottom: number;
readonly height: number;
left: number;
right: number;
top: number;
readonly width: number;
}
declare var ClientRect: {
prototype: ClientRect;
new(): ClientRect;
};
interface ClientRectList {
readonly length: number;
item(index: number): ClientRect;
[index: number]: ClientRect;
}
declare var ClientRectList: {
prototype: ClientRectList;
new(): ClientRectList;
};
interface ClipboardEvent extends Event {
readonly clipboardData: DataTransfer;
}
declare var ClipboardEvent: {
prototype: ClipboardEvent;
new(type: string, eventInitDict?: ClipboardEventInit): ClipboardEvent;
};
interface CloseEvent extends Event {
readonly code: number;
readonly reason: string;
readonly wasClean: boolean;
initCloseEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, wasCleanArg: boolean, codeArg: number, reasonArg: string): void;
}
declare var CloseEvent: {
prototype: CloseEvent;
new(typeArg: string, eventInitDict?: CloseEventInit): CloseEvent;
};
interface Comment extends CharacterData {
text: string;
}
declare var Comment: {
prototype: Comment;
new(): Comment;
};
interface CompositionEvent extends UIEvent {
readonly data: string;
readonly locale: string;
initCompositionEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, dataArg: string, locale: string): void;
}
declare var CompositionEvent: {
prototype: CompositionEvent;
new(typeArg: string, eventInitDict?: CompositionEventInit): CompositionEvent;
};
interface Console {
assert(test?: boolean, message?: string, ...optionalParams: any[]): void;
clear(): void;
count(countTitle?: string): void;
debug(message?: any, ...optionalParams: any[]): void;
dir(value?: any, ...optionalParams: any[]): void;
dirxml(value: any): void;
error(message?: any, ...optionalParams: any[]): void;
exception(message?: string, ...optionalParams: any[]): void;
group(groupTitle?: string, ...optionalParams: any[]): void;
groupCollapsed(groupTitle?: string, ...optionalParams: any[]): void;
groupEnd(): void;
info(message?: any, ...optionalParams: any[]): void;
log(message?: any, ...optionalParams: any[]): void;
msIsIndependentlyComposed(element: Element): boolean;
profile(reportName?: string): void;
profileEnd(): void;
select(element: Element): void;
table(...data: any[]): void;
time(timerName?: string): void;
timeEnd(timerName?: string): void;
trace(message?: any, ...optionalParams: any[]): void;
warn(message?: any, ...optionalParams: any[]): void;
}
declare var Console: {
prototype: Console;
new(): Console;
};
interface ConvolverNode extends AudioNode {
buffer: AudioBuffer | null;
normalize: boolean;
}
declare var ConvolverNode: {
prototype: ConvolverNode;
new(): ConvolverNode;
};
interface Coordinates {
readonly accuracy: number;
readonly altitude: number | null;
readonly altitudeAccuracy: number | null;
readonly heading: number | null;
readonly latitude: number;
readonly longitude: number;
readonly speed: number | null;
}
declare var Coordinates: {
prototype: Coordinates;
new(): Coordinates;
};
interface Crypto extends Object, RandomSource {
readonly subtle: SubtleCrypto;
}
declare var Crypto: {
prototype: Crypto;
new(): Crypto;
};
interface CryptoKey {
readonly algorithm: KeyAlgorithm;
readonly extractable: boolean;
readonly type: string;
readonly usages: string[];
}
d