chen-typescript
Version:
TypeScript is a language for application scale JavaScript development
1,733 lines (1,543 loc) • 647 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"/>
/////////////////////////////
/// IE DOM APIs
/////////////////////////////
interface Algorithm {
name: string;
}
interface AriaRequestEventInit extends EventInit {
attributeName?: string;
attributeValue?: string;
}
interface CommandEventInit extends EventInit {
commandName?: string;
detail?: string;
}
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?: string | string[];
ideal?: string | string[];
}
interface CustomEventInit extends EventInit {
detail?: any;
}
interface DeviceAccelerationDict {
x?: number;
y?: number;
z?: number;
}
interface DeviceLightEventInit extends EventInit {
value?: number;
}
interface DeviceRotationRateDict {
alpha?: number;
beta?: number;
gamma?: number;
}
interface DoubleRange {
max?: number;
min?: number;
}
interface EventInit {
bubbles?: boolean;
cancelable?: boolean;
}
interface EventModifierInit extends UIEventInit {
ctrlKey?: boolean;
shiftKey?: boolean;
altKey?: 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;
}
interface ExceptionInformation {
domain?: string;
}
interface FocusEventInit extends UIEventInit {
relatedTarget?: EventTarget;
}
interface HashChangeEventInit extends EventInit {
newURL?: string;
oldURL?: string;
}
interface IDBIndexParameters {
multiEntry?: boolean;
unique?: boolean;
}
interface IDBObjectStoreParameters {
autoIncrement?: boolean;
keyPath?: IDBKeyPath;
}
interface KeyAlgorithm {
name?: string;
}
interface KeyboardEventInit extends EventModifierInit {
code?: string;
key?: string;
location?: number;
repeat?: boolean;
}
interface LongRange {
max?: number;
min?: number;
}
interface MSAccountInfo {
rpDisplayName?: string;
userDisplayName?: string;
accountName?: string;
userId?: string;
accountImageUri?: string;
}
interface MSAudioLocalClientEvent extends MSLocalClientEventBase {
networkSendQualityEventRatio?: number;
networkDelayEventRatio?: number;
cpuInsufficientEventRatio?: number;
deviceHalfDuplexAECEventRatio?: number;
deviceRenderNotFunctioningEventRatio?: number;
deviceCaptureNotFunctioningEventRatio?: number;
deviceGlitchesEventRatio?: number;
deviceLowSNREventRatio?: number;
deviceLowSpeechLevelEventRatio?: number;
deviceClippingEventRatio?: number;
deviceEchoEventRatio?: number;
deviceNearEndToEchoRatioEventRatio?: number;
deviceRenderZeroVolumeEventRatio?: number;
deviceRenderMuteEventRatio?: number;
deviceMultipleEndpointsEventCount?: number;
deviceHowlingEventCount?: number;
}
interface MSAudioRecvPayload extends MSPayloadBase {
samplingRate?: number;
signal?: MSAudioRecvSignal;
packetReorderRatio?: number;
packetReorderDepthAvg?: number;
packetReorderDepthMax?: number;
burstLossLength1?: number;
burstLossLength2?: number;
burstLossLength3?: number;
burstLossLength4?: number;
burstLossLength5?: number;
burstLossLength6?: number;
burstLossLength7?: number;
burstLossLength8OrHigher?: number;
fecRecvDistance1?: number;
fecRecvDistance2?: number;
fecRecvDistance3?: number;
ratioConcealedSamplesAvg?: number;
ratioStretchedSamplesAvg?: number;
ratioCompressedSamplesAvg?: number;
}
interface MSAudioRecvSignal {
initialSignalLevelRMS?: number;
recvSignalLevelCh1?: number;
recvNoiseLevelCh1?: number;
renderSignalLevel?: number;
renderNoiseLevel?: number;
renderLoopbackSignalLevel?: number;
}
interface MSAudioSendPayload extends MSPayloadBase {
samplingRate?: number;
signal?: MSAudioSendSignal;
audioFECUsed?: boolean;
sendMutePercent?: number;
}
interface MSAudioSendSignal {
noiseLevel?: number;
sendSignalLevelCh1?: number;
sendNoiseLevelCh1?: number;
}
interface MSConnectivity {
iceType?: string;
iceWarningFlags?: MSIceWarningFlags;
relayAddress?: MSRelayAddress;
}
interface MSCredentialFilter {
accept?: MSCredentialSpec[];
}
interface MSCredentialParameters {
type?: string;
}
interface MSCredentialSpec {
type?: string;
id?: string;
}
interface MSDelay {
roundTrip?: number;
roundTripMax?: number;
}
interface MSDescription extends RTCStats {
connectivity?: MSConnectivity;
transport?: string;
networkconnectivity?: MSNetworkConnectivityInfo;
localAddr?: MSIPAddressInfo;
remoteAddr?: MSIPAddressInfo;
deviceDevName?: string;
reflexiveLocalIPAddr?: MSIPAddressInfo;
}
interface MSFIDOCredentialParameters extends MSCredentialParameters {
algorithm?: string | Algorithm;
authenticators?: AAGUID[];
}
interface MSIPAddressInfo {
ipAddr?: string;
port?: number;
manufacturerMacAddrMask?: string;
}
interface MSIceWarningFlags {
turnTcpTimedOut?: boolean;
turnUdpAllocateFailed?: boolean;
turnUdpSendFailed?: boolean;
turnTcpAllocateFailed?: boolean;
turnTcpSendFailed?: boolean;
udpLocalConnectivityFailed?: boolean;
udpNatConnectivityFailed?: boolean;
udpRelayConnectivityFailed?: boolean;
tcpNatConnectivityFailed?: boolean;
tcpRelayConnectivityFailed?: boolean;
connCheckMessageIntegrityFailed?: boolean;
allocationMessageIntegrityFailed?: boolean;
connCheckOtherError?: boolean;
turnAuthUnknownUsernameError?: boolean;
noRelayServersConfigured?: boolean;
multipleRelayServersAttempted?: boolean;
portRangeExhausted?: boolean;
alternateServerReceived?: boolean;
pseudoTLSFailure?: boolean;
turnTurnTcpConnectivityFailed?: boolean;
useCandidateChecksFailed?: boolean;
fipsAllocationFailure?: boolean;
}
interface MSJitter {
interArrival?: number;
interArrivalMax?: number;
interArrivalSD?: number;
}
interface MSLocalClientEventBase extends RTCStats {
networkReceiveQualityEventRatio?: number;
networkBandwidthLowEventRatio?: number;
}
interface MSNetwork extends RTCStats {
jitter?: MSJitter;
delay?: MSDelay;
packetLoss?: MSPacketLoss;
utilization?: MSUtilization;
}
interface MSNetworkConnectivityInfo {
vpn?: boolean;
linkspeed?: number;
networkConnectionDetails?: string;
}
interface MSNetworkInterfaceType {
interfaceTypeEthernet?: boolean;
interfaceTypeWireless?: boolean;
interfaceTypePPP?: boolean;
interfaceTypeTunnel?: boolean;
interfaceTypeWWAN?: boolean;
}
interface MSOutboundNetwork extends MSNetwork {
appliedBandwidthLimit?: number;
}
interface MSPacketLoss {
lossRate?: number;
lossRateMax?: number;
}
interface MSPayloadBase extends RTCStats {
payloadDescription?: string;
}
interface MSRelayAddress {
relayAddress?: string;
port?: number;
}
interface MSSignatureParameters {
userPrompt?: string;
}
interface MSTransportDiagnosticsStats extends RTCStats {
baseAddress?: string;
localAddress?: string;
localSite?: string;
networkName?: string;
remoteAddress?: string;
remoteSite?: string;
localMR?: string;
remoteMR?: string;
iceWarningFlags?: MSIceWarningFlags;
portRangeMin?: number;
portRangeMax?: number;
localMRTCPPort?: number;
remoteMRTCPPort?: number;
stunVer?: number;
numConsentReqSent?: number;
numConsentReqReceived?: number;
numConsentRespSent?: number;
numConsentRespReceived?: number;
interfaces?: MSNetworkInterfaceType;
baseInterface?: MSNetworkInterfaceType;
protocol?: string;
localInterface?: MSNetworkInterfaceType;
localAddrType?: string;
remoteAddrType?: string;
iceRole?: string;
rtpRtcpMux?: boolean;
allocationTimeInMs?: number;
msRtcEngineVersion?: string;
}
interface MSUtilization {
packets?: number;
bandwidthEstimation?: number;
bandwidthEstimationMin?: number;
bandwidthEstimationMax?: number;
bandwidthEstimationStdDev?: number;
bandwidthEstimationAvg?: number;
}
interface MSVideoPayload extends MSPayloadBase {
resoluton?: string;
videoBitRateAvg?: number;
videoBitRateMax?: number;
videoFrameRateAvg?: number;
videoPacketLossRate?: number;
durationSeconds?: number;
}
interface MSVideoRecvPayload extends MSVideoPayload {
videoFrameLossRate?: number;
recvCodecType?: string;
recvResolutionWidth?: number;
recvResolutionHeight?: number;
videoResolutions?: MSVideoResolutionDistribution;
recvFrameRateAverage?: number;
recvBitRateMaximum?: number;
recvBitRateAverage?: number;
recvVideoStreamsMax?: number;
recvVideoStreamsMin?: number;
recvVideoStreamsMode?: number;
videoPostFECPLR?: number;
lowBitRateCallPercent?: number;
lowFrameRateCallPercent?: number;
reorderBufferTotalPackets?: number;
recvReorderBufferReorderedPackets?: number;
recvReorderBufferPacketsDroppedDueToBufferExhaustion?: number;
recvReorderBufferMaxSuccessfullyOrderedExtent?: number;
recvReorderBufferMaxSuccessfullyOrderedLateTime?: number;
recvReorderBufferPacketsDroppedDueToTimeout?: number;
recvFpsHarmonicAverage?: number;
recvNumResSwitches?: number;
}
interface MSVideoResolutionDistribution {
cifQuality?: number;
vgaQuality?: number;
h720Quality?: number;
h1080Quality?: number;
h1440Quality?: number;
h2160Quality?: number;
}
interface MSVideoSendPayload extends MSVideoPayload {
sendFrameRateAverage?: number;
sendBitRateMaximum?: number;
sendBitRateAverage?: number;
sendVideoStreamsMax?: number;
sendResolutionWidth?: number;
sendResolutionHeight?: number;
}
interface MediaEncryptedEventInit extends EventInit {
initDataType?: string;
initData?: ArrayBuffer;
}
interface MediaKeyMessageEventInit extends EventInit {
messageType?: string;
message?: ArrayBuffer;
}
interface MediaKeySystemConfiguration {
initDataTypes?: string[];
audioCapabilities?: MediaKeySystemMediaCapability[];
videoCapabilities?: MediaKeySystemMediaCapability[];
distinctiveIdentifier?: string;
persistentState?: string;
}
interface MediaKeySystemMediaCapability {
contentType?: string;
robustness?: string;
}
interface MediaStreamConstraints {
video?: boolean | MediaTrackConstraints;
audio?: boolean | MediaTrackConstraints;
}
interface MediaStreamErrorEventInit extends EventInit {
error?: MediaStreamError;
}
interface MediaStreamTrackEventInit extends EventInit {
track?: MediaStreamTrack;
}
interface MediaTrackCapabilities {
width?: number | LongRange;
height?: number | LongRange;
aspectRatio?: number | DoubleRange;
frameRate?: number | DoubleRange;
facingMode?: string;
volume?: number | DoubleRange;
sampleRate?: number | LongRange;
sampleSize?: number | LongRange;
echoCancellation?: boolean[];
deviceId?: string;
groupId?: string;
}
interface MediaTrackConstraintSet {
width?: number | ConstrainLongRange;
height?: number | ConstrainLongRange;
aspectRatio?: number | ConstrainDoubleRange;
frameRate?: number | ConstrainDoubleRange;
facingMode?: string | string[] | ConstrainDOMStringParameters;
volume?: number | ConstrainDoubleRange;
sampleRate?: number | ConstrainLongRange;
sampleSize?: number | ConstrainLongRange;
echoCancelation?: boolean | ConstrainBooleanParameters;
deviceId?: string | string[] | ConstrainDOMStringParameters;
groupId?: string | string[] | ConstrainDOMStringParameters;
}
interface MediaTrackConstraints extends MediaTrackConstraintSet {
advanced?: MediaTrackConstraintSet[];
}
interface MediaTrackSettings {
width?: number;
height?: number;
aspectRatio?: number;
frameRate?: number;
facingMode?: string;
volume?: number;
sampleRate?: number;
sampleSize?: number;
echoCancellation?: boolean;
deviceId?: string;
groupId?: string;
}
interface MediaTrackSupportedConstraints {
width?: boolean;
height?: boolean;
aspectRatio?: boolean;
frameRate?: boolean;
facingMode?: boolean;
volume?: boolean;
sampleRate?: boolean;
sampleSize?: boolean;
echoCancellation?: boolean;
deviceId?: boolean;
groupId?: boolean;
}
interface MouseEventInit extends EventModifierInit {
screenX?: number;
screenY?: number;
clientX?: number;
clientY?: number;
button?: number;
buttons?: number;
relatedTarget?: EventTarget;
}
interface MsZoomToOptions {
contentX?: number;
contentY?: number;
viewportX?: string;
viewportY?: string;
scaleFactor?: number;
animate?: string;
}
interface MutationObserverInit {
childList?: boolean;
attributes?: boolean;
characterData?: boolean;
subtree?: boolean;
attributeOldValue?: boolean;
characterDataOldValue?: boolean;
attributeFilter?: string[];
}
interface ObjectURLOptions {
oneTimeOnly?: boolean;
}
interface PeriodicWaveConstraints {
disableNormalization?: boolean;
}
interface PointerEventInit extends MouseEventInit {
pointerId?: number;
width?: number;
height?: number;
pressure?: number;
tiltX?: number;
tiltY?: number;
pointerType?: string;
isPrimary?: boolean;
}
interface PositionOptions {
enableHighAccuracy?: boolean;
timeout?: number;
maximumAge?: number;
}
interface RTCDTMFToneChangeEventInit extends EventInit {
tone?: string;
}
interface RTCDtlsFingerprint {
algorithm?: string;
value?: string;
}
interface RTCDtlsParameters {
role?: string;
fingerprints?: RTCDtlsFingerprint[];
}
interface RTCIceCandidate {
foundation?: string;
priority?: number;
ip?: string;
protocol?: string;
port?: number;
type?: string;
tcpType?: string;
relatedAddress?: string;
relatedPort?: number;
}
interface RTCIceCandidateAttributes extends RTCStats {
ipAddress?: string;
portNumber?: number;
transport?: string;
candidateType?: string;
priority?: number;
addressSourceUrl?: string;
}
interface RTCIceCandidateComplete {
}
interface RTCIceCandidatePair {
local?: RTCIceCandidate;
remote?: RTCIceCandidate;
}
interface RTCIceCandidatePairStats extends RTCStats {
transportId?: string;
localCandidateId?: string;
remoteCandidateId?: string;
state?: string;
priority?: number;
nominated?: boolean;
writable?: boolean;
readable?: boolean;
bytesSent?: number;
bytesReceived?: number;
roundTripTime?: number;
availableOutgoingBitrate?: number;
availableIncomingBitrate?: number;
}
interface RTCIceGatherOptions {
gatherPolicy?: string;
iceservers?: RTCIceServer[];
}
interface RTCIceParameters {
usernameFragment?: string;
password?: string;
}
interface RTCIceServer {
urls?: any;
username?: string;
credential?: string;
}
interface RTCInboundRTPStreamStats extends RTCRTPStreamStats {
packetsReceived?: number;
bytesReceived?: number;
packetsLost?: number;
jitter?: number;
fractionLost?: number;
}
interface RTCMediaStreamTrackStats extends RTCStats {
trackIdentifier?: string;
remoteSource?: boolean;
ssrcIds?: string[];
frameWidth?: number;
frameHeight?: number;
framesPerSecond?: number;
framesSent?: number;
framesReceived?: number;
framesDecoded?: number;
framesDropped?: number;
framesCorrupted?: number;
audioLevel?: number;
echoReturnLoss?: number;
echoReturnLossEnhancement?: number;
}
interface RTCOutboundRTPStreamStats extends RTCRTPStreamStats {
packetsSent?: number;
bytesSent?: number;
targetBitrate?: number;
roundTripTime?: number;
}
interface RTCRTPStreamStats extends RTCStats {
ssrc?: string;
associateStatsId?: string;
isRemote?: boolean;
mediaTrackId?: string;
transportId?: string;
codecId?: string;
firCount?: number;
pliCount?: number;
nackCount?: number;
sliCount?: number;
}
interface RTCRtcpFeedback {
type?: string;
parameter?: string;
}
interface RTCRtcpParameters {
ssrc?: number;
cname?: string;
reducedSize?: boolean;
mux?: boolean;
}
interface RTCRtpCapabilities {
codecs?: RTCRtpCodecCapability[];
headerExtensions?: RTCRtpHeaderExtension[];
fecMechanisms?: string[];
}
interface RTCRtpCodecCapability {
name?: string;
kind?: string;
clockRate?: number;
preferredPayloadType?: number;
maxptime?: number;
numChannels?: number;
rtcpFeedback?: RTCRtcpFeedback[];
parameters?: any;
options?: any;
maxTemporalLayers?: number;
maxSpatialLayers?: number;
svcMultiStreamSupport?: boolean;
}
interface RTCRtpCodecParameters {
name?: string;
payloadType?: any;
clockRate?: number;
maxptime?: number;
numChannels?: number;
rtcpFeedback?: RTCRtcpFeedback[];
parameters?: any;
}
interface RTCRtpContributingSource {
timestamp?: number;
csrc?: number;
audioLevel?: number;
}
interface RTCRtpEncodingParameters {
ssrc?: number;
codecPayloadType?: number;
fec?: RTCRtpFecParameters;
rtx?: RTCRtpRtxParameters;
priority?: number;
maxBitrate?: number;
minQuality?: number;
framerateBias?: number;
resolutionScale?: number;
framerateScale?: number;
active?: boolean;
encodingId?: string;
dependencyEncodingIds?: string[];
ssrcRange?: RTCSsrcRange;
}
interface RTCRtpFecParameters {
ssrc?: number;
mechanism?: string;
}
interface RTCRtpHeaderExtension {
kind?: string;
uri?: string;
preferredId?: number;
preferredEncrypt?: boolean;
}
interface RTCRtpHeaderExtensionParameters {
uri?: string;
id?: number;
encrypt?: boolean;
}
interface RTCRtpParameters {
muxId?: string;
codecs?: RTCRtpCodecParameters[];
headerExtensions?: RTCRtpHeaderExtensionParameters[];
encodings?: RTCRtpEncodingParameters[];
rtcp?: RTCRtcpParameters;
}
interface RTCRtpRtxParameters {
ssrc?: number;
}
interface RTCRtpUnhandled {
ssrc?: number;
payloadType?: number;
muxId?: string;
}
interface RTCSrtpKeyParam {
keyMethod?: string;
keySalt?: string;
lifetime?: string;
mkiValue?: number;
mkiLength?: number;
}
interface RTCSrtpSdesParameters {
tag?: number;
cryptoSuite?: string;
keyParams?: RTCSrtpKeyParam[];
sessionParams?: string[];
}
interface RTCSsrcRange {
min?: number;
max?: number;
}
interface RTCStats {
timestamp?: number;
type?: string;
id?: string;
msType?: string;
}
interface RTCStatsReport {
}
interface RTCTransportStats extends RTCStats {
bytesSent?: number;
bytesReceived?: number;
rtcpTransportStatsId?: string;
activeConnection?: boolean;
selectedCandidatePairId?: string;
localCertificateId?: string;
remoteCertificateId?: string;
}
interface StoreExceptionsInformation extends ExceptionInformation {
siteName?: string;
explanationString?: string;
detailURI?: string;
}
interface StoreSiteSpecificExceptionsInformation extends StoreExceptionsInformation {
arrayOfDomainStrings?: string[];
}
interface UIEventInit extends EventInit {
view?: Window;
detail?: number;
}
interface WebGLContextAttributes {
failIfMajorPerformanceCaveat?: boolean;
alpha?: boolean;
depth?: boolean;
stencil?: boolean;
antialias?: boolean;
premultipliedAlpha?: boolean;
preserveDrawingBuffer?: boolean;
}
interface WebGLContextEventInit extends EventInit {
statusMessage?: string;
}
interface WheelEventInit extends MouseEventInit {
deltaX?: number;
deltaY?: number;
deltaZ?: number;
deltaMode?: number;
}
interface EventListener {
(evt: Event): void;
}
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 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 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(): AnimationEvent;
}
interface ApplicationCache extends EventTarget {
oncached: (this: this, ev: Event) => any;
onchecking: (this: this, ev: Event) => any;
ondownloading: (this: this, ev: Event) => any;
onerror: (this: this, ev: ErrorEvent) => any;
onnoupdate: (this: this, ev: Event) => any;
onobsolete: (this: this, ev: Event) => any;
onprogress: (this: this, ev: ProgressEvent) => any;
onupdateready: (this: this, 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(type: "cached", listener: (this: this, ev: Event) => any, useCapture?: boolean): void;
addEventListener(type: "checking", listener: (this: this, ev: Event) => any, useCapture?: boolean): void;
addEventListener(type: "downloading", listener: (this: this, ev: Event) => any, useCapture?: boolean): void;
addEventListener(type: "error", listener: (this: this, ev: ErrorEvent) => any, useCapture?: boolean): void;
addEventListener(type: "noupdate", listener: (this: this, ev: Event) => any, useCapture?: boolean): void;
addEventListener(type: "obsolete", listener: (this: this, ev: Event) => any, useCapture?: boolean): void;
addEventListener(type: "progress", listener: (this: this, ev: ProgressEvent) => any, useCapture?: boolean): void;
addEventListener(type: "updateready", listener: (this: this, ev: Event) => any, useCapture?: boolean): void;
addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): 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 AriaRequestEvent extends Event {
readonly attributeName: string;
attributeValue: string | null;
}
declare var AriaRequestEvent: {
prototype: AriaRequestEvent;
new(type: string, eventInitDict?: AriaRequestEventInit): AriaRequestEvent;
}
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 AudioBufferSourceNode extends AudioNode {
buffer: AudioBuffer | null;
readonly detune: AudioParam;
loop: boolean;
loopEnd: number;
loopStart: number;
onended: (this: this, ev: MediaStreamErrorEvent) => any;
readonly playbackRate: AudioParam;
start(when?: number, offset?: number, duration?: number): void;
stop(when?: number): void;
addEventListener(type: "ended", listener: (this: this, ev: MediaStreamErrorEvent) => any, useCapture?: boolean): void;
addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void;
}
declare var AudioBufferSourceNode: {
prototype: AudioBufferSourceNode;
new(): AudioBufferSourceNode;
}
interface AudioContext extends EventTarget {
readonly currentTime: number;
readonly destination: AudioDestinationNode;
readonly listener: AudioListener;
readonly sampleRate: number;
state: string;
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;
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): PromiseLike<AudioBuffer>;
}
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: string;
channelInterpretation: string;
readonly context: AudioContext;
readonly numberOfInputs: number;
readonly numberOfOutputs: number;
connect(destination: AudioNode, output?: number, input?: 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): void;
exponentialRampToValueAtTime(value: number, endTime: number): void;
linearRampToValueAtTime(value: number, endTime: number): void;
setTargetAtTime(target: number, startTime: number, timeConstant: number): void;
setValueAtTime(value: number, startTime: number): void;
setValueCurveAtTime(values: Float32Array, startTime: number, duration: number): void;
}
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 AudioTrackList extends EventTarget {
readonly length: number;
onaddtrack: (this: this, ev: TrackEvent) => any;
onchange: (this: this, ev: Event) => any;
onremovetrack: (this: this, ev: TrackEvent) => any;
getTrackById(id: string): AudioTrack | null;
item(index: number): AudioTrack;
addEventListener(type: "addtrack", listener: (this: this, ev: TrackEvent) => any, useCapture?: boolean): void;
addEventListener(type: "change", listener: (this: this, ev: Event) => any, useCapture?: boolean): void;
addEventListener(type: "removetrack", listener: (this: this, ev: TrackEvent) => any, useCapture?: boolean): void;
addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): 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 Q: AudioParam;
readonly detune: AudioParam;
readonly frequency: AudioParam;
readonly gain: AudioParam;
type: string;
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 CDATASection extends Text {
}
declare var CDATASection: {
prototype: CDATASection;
new(): CDATASection;
}
interface CSS {
supports(property: string, value?: string): boolean;
}
declare var CSS: CSS;
interface CSSConditionRule extends CSSGroupingRule {
conditionText: string;
}
declare var CSSConditionRule: {
prototype: CSSConditionRule;
new(): CSSConditionRule;
}
interface CSSFontFaceRule extends CSSRule {
readonly style: CSSStyleDeclaration;
}
declare var CSSFontFaceRule: {
prototype: CSSFontFaceRule;
new(): CSSFontFaceRule;
}
interface CSSGroupingRule extends CSSRule {
readonly cssRules: CSSRuleList;
deleteRule(index: number): void;
insertRule(rule: string, index: number): number;
}
declare var CSSGroupingRule: {
prototype: CSSGroupingRule;
new(): CSSGroupingRule;
}
interface CSSImportRule extends CSSRule {
readonly href: string;
readonly media: MediaList;
readonly styleSheet: CSSStyleSheet;
}
declare var CSSImportRule: {
prototype: CSSImportRule;
new(): CSSImportRule;
}
interface CSSKeyframeRule extends CSSRule {
keyText: string;
readonly style: CSSStyleDeclaration;
}
declare var CSSKeyframeRule: {
prototype: CSSKeyframeRule;
new(): CSSKeyframeRule;
}
interface CSSKeyframesRule extends CSSRule {
readonly cssRules: CSSRuleList;
name: string;
appendRule(rule: string): void;
deleteRule(rule: string): void;
findRule(rule: string): CSSKeyframeRule;
}
declare var CSSKeyframesRule: {
prototype: CSSKeyframesRule;
new(): CSSKeyframesRule;
}
interface CSSMediaRule extends CSSConditionRule {
readonly media: MediaList;
}
declare var CSSMediaRule: {
prototype: CSSMediaRule;
new(): CSSMediaRule;
}
interface CSSNamespaceRule extends CSSRule {
readonly namespaceURI: string;
readonly prefix: string;
}
declare var CSSNamespaceRule: {
prototype: CSSNamespaceRule;
new(): CSSNamespaceRule;
}
interface CSSPageRule extends CSSRule {
readonly pseudoClass: string;
readonly selector: string;
selectorText: string;
readonly style: CSSStyleDeclaration;
}
declare var CSSPageRule: {
prototype: CSSPageRule;
new(): CSSPageRule;
}
interface CSSRule {
cssText: string;
readonly parentRule: CSSRule;
readonly parentStyleSheet: CSSStyleSheet;
readonly type: number;
readonly CHARSET_RULE: number;
readonly FONT_FACE_RULE: number;
readonly IMPORT_RULE: number;
readonly KEYFRAMES_RULE: number;
readonly KEYFRAME_RULE: number;
readonly MEDIA_RULE: number;
readonly NAMESPACE_RULE: number;
readonly PAGE_RULE: number;
readonly STYLE_RULE: number;
readonly SUPPORTS_RULE: number;
readonly UNKNOWN_RULE: number;
readonly VIEWPORT_RULE: number;
}
declare var CSSRule: {
prototype: CSSRule;
new(): CSSRule;
readonly CHARSET_RULE: number;
readonly FONT_FACE_RULE: number;
readonly IMPORT_RULE: number;
readonly KEYFRAMES_RULE: number;
readonly KEYFRAME_RULE: number;
readonly MEDIA_RULE: number;
readonly NAMESPACE_RULE: number;
readonly PAGE_RULE: number;
readonly STYLE_RULE: number;
readonly SUPPORTS_RULE: number;
readonly UNKNOWN_RULE: number;
readonly VIEWPORT_RULE: number;
}
interface CSSRuleList {
readonly length: number;
item(index: number): CSSRule;
[index: number]: CSSRule;
}
declare var CSSRuleList: {
prototype: CSSRuleList;
new(): CSSRuleList;
}
interface CSSStyleDeclaration {
alignContent: string | null;
alignItems: string | null;
alignSelf: string | null;
alignmentBaseline: string | null;
animation: string | null;
animationDelay: string | null;
animationDirection: string | null;
animationDuration: string | null;
animationFillMode: string | null;
animationIterationCount: string | null;
animationName: string | null;
animationPlayState: string | null;
animationTimingFunction: string | null;
backfaceVisibility: string | null;
background: string | null;
backgroundAttachment: string | null;
backgroundClip: string | null;
backgroundColor: string | null;
backgroundImage: string | null;
backgroundOrigin: string | null;
backgroundPosition: string | null;
backgroundPositionX: string | null;
backgroundPositionY: string | null;
backgroundRepeat: string | null;
backgroundSize: string | null;
baselineShift: string | null;
border: string | null;
borderBottom: string | null;
borderBottomColor: string | null;
borderBottomLeftRadius: string | null;
borderBottomRightRadius: string | null;
borderBottomStyle: string | null;
borderBottomWidth: string | null;
borderCollapse: string | null;
borderColor: string | null;
borderImage: string | null;
borderImageOutset: string | null;
borderImageRepeat: string | null;
borderImageSlice: string | null;
borderImageSource: string | null;
borderImageWidth: string | null;
borderLeft: string | null;
borderLeftColor: string | null;
borderLeftStyle: string | null;
borderLeftWidth: string | null;
borderRadius: string | null;
borderRight: string | null;
borderRightColor: string | null;
borderRightStyle: string | null;
borderRightWidth: string | null;
borderSpacing: string | null;
borderStyle: string | null;
borderTop: string | null;
borderTopColor: string | null;
borderTopLeftRadius: string | null;
borderTopRightRadius: string | null;
borderTopStyle: string | null;
borderTopWidth: string | null;
borderWidth: string | null;
bottom: string | null;
boxShadow: string | null;
boxSizing: string | null;
breakAfter: string | null;
breakBefore: string | null;
breakInside: string | null;
captionSide: string | null;
clear: string | null;
clip: string | null;
clipPath: string | null;
clipRule: string | null;
color: string | null;
colorInterpolationFilters: string | null;
columnCount: any;
columnFill: string | null;
columnGap: any;
columnRule: string | null;
columnRuleColor: any;
columnRuleStyle: string | null;
columnRuleWidth: any;
columnSpan: string | null;
columnWidth: any;
columns: string | null;
content: string | null;
counterIncrement: string | null;
counterReset: string | null;
cssFloat: string | null;
cssText: string;
cursor: string | null;
direction: string | null;
display: string | null;
dominantBaseline: string | null;
emptyCells: string | null;
enableBackground: string | null;
fill: string | null;
fillOpacity: string | null;
fillRule: string | null;
filter: string | null;
flex: string | null;
flexBasis: string | null;
flexDirection: string | null;
flexFlow: string | null;
flexGrow: string | null;
flexShrink: string | null;
flexWrap: string | null;
floodColor: string | null;
floodOpacity: string | null;
font: string | null;
fontFamily: string | null;
fontFeatureSettings: string | null;
fontSize: string | null;
fontSizeAdjust: string | null;
fontStretch: string | null;
fontStyle: string | null;
fontVariant: string | null;
fontWeight: string | null;
glyphOrientationHorizontal: string | null;
glyphOrientationVertical: string | null;
height: string | null;
imeMode: string | null;
justifyContent: string | null;
kerning: string | null;
left: string | null;
readonly length: number;
letterSpacing: string | null;
lightingColor: string | null;
lineHeight: string | null;
listStyle: string | null;
listStyleImage: string | null;
listStylePosition: string | null;
listStyleType: string | null;
margin: string | null;
marginBottom: string | null;
marginLeft: string | null;
marginRight: string | null;
marginTop: string | null;
marker: string | null;
markerEnd: string | null;
markerMid: string | null;
markerStart: string | null;
mask: string | null;
maxHeight: string | null;
maxWidth: string | null;
minHeight: string | null;
minWidth: string | null;
msContentZoomChaining: string | null;
msContentZoomLimit: string | null;
msContentZoomLimitMax: any;
msContentZoomLimitMin: any;
msContentZoomSnap: string | null;
msContentZoomSnapPoints: string | null;
msContentZoomSnapType: string | null;
msContentZooming: string | null;
msFlowFrom: string | null;
msFlowInto: string | null;
msFontFeatureSettings: string | null;
msGridColumn: any;
msGridColumnAlign: string | null;
msGridColumnSpan: any;
msGridColumns: string | null;
msGridRow: any;
msGridRowAlign: string | null;
msGridRowSpan: any;
msGridRows: string | null;
msHighContrastAdjust: string | null;
msHyphenateLimitChars: string | null;
msHyphenateLimitLines: any;
msHyphenateLimitZone: any;
msHyphens: string | null;
msImeAlign: string | null;
msOverflowStyle: string | null;
msScrollChaining: string | null;
msScrollLimit: string | null;
msScrollLimitXMax: any;
msScrollLimitXMin: any;
msScrollLimitYMax: any;
msScrollLimitYMin: any;
msScrollRails: string | null;
msScrollSnapPointsX: string | null;
msScrollSnapPointsY: string | null;
msScrollSnapType: string | null;
msScrollSnapX: string | null;
msScrollSnapY: string | null;
msScrollTranslation: string | null;
msTextCombineHorizontal: string | null;
msTextSizeAdjust: any;
msTouchAction: string | null;
msTouchSelect: string | null;
msUserSelect: string | null;
msWrapFlow: string;
msWrapMargin: any;
msWrapThrough: string;
opacity: string | null;
order: string | null;
orphans: string | null;
outline: string | null;
outlineColor: string | null;
outlineStyle: string | null;
outlineWidth: string | null;
overflow: string | null;
overflowX: string | null;
overflowY: string | null;
padding: string | null;
paddingBottom: string | null;
paddingLeft: string | null;
paddingRight: string | null;
paddingTop: string | null;
pageBreakAfter: string | null;
pageBreakBefore: string | null;
pageBreakInside: string | null;
readonly parentRule: CSSRule;
perspective: string | null;
perspectiveOrigin: string | null;
pointerEvents: string | null;
position: string | null;
quotes: string | null;
right: string | null;
rubyAlign: string | null;
rubyOverhang: string | null;
rubyPosition: string | null;
stopColor: string | null;
stopOpacity: string | null;
stroke: string | null;
strokeDasharray: string | null;
strokeDashoffset: string | null;
strokeLinecap: string | null;
strokeLinejoin: string | null;
strokeMiterlimit: string | null;
strokeOpacity: string | null;
strokeWidth: string | null;
tableLayout: string | null;
textAlign: string | null;
textAlignLast: string | null;
textAnchor: string | null;
textDecoration: string | null;
textIndent: string | null;
textJustify: string | null;
textKashida: string | null;
textKashidaSpace: string | null;
textOverflow: string | null;
textShadow: string | null;
textTransform: string | null;
textUnderlinePosition: string | null;
top: string | null;
touchAction: string | null;
transform: string | null;
transformOrigin: string | null;
transformStyle: string | null;
transition: string | null;
transitionDelay: string | null;
transitionDuration: string | null;
transitionProperty: string | null;
transitionTimingFunction: string | null;
unicodeBidi: string | null;
verticalAlign: string | null;
visibility: string | null;
webkitAlignContent: string | null;
webkitAlignItems: string | null;
webkitAlignSelf: string | null;
webkitAnimation: string | null;
webkitAnimationDelay: string | null;
webkitAnimationDirection: string | null;
webkitAnimationDuration: string | null;
webkitAnimationFillMode: string | null;
webkitAnimationIterationCount: string | null;
webkitAnimationName: string | null;
webkitAnimationPlayState: string | null;
webkitAnimationTimingFunction: string | null;
webkitAppearance: string | null;
webkitBackfaceVisibility: string | null;
webkitBackgroundClip: string | null;
webkitBackgroundOrigin: string | null;
webkitBackgroundSize: string | null;
webkitBorderBottomLeftRadius: string | null;
webkitBorderBottomRightRadius: string | null;
webkitBorderImage: string | null;
webkitBorderRadius: string | null;
webkitBorderTopLeftRadius: string | null;
webkitBorderTopRightRadius: string | null;
webkitBoxAlign: string | null;
webkitBoxDirection: string | null;
webkitBoxFlex: string | null;
webkitBoxOrdinalGroup: string | null;
webkitBoxOrient: string | null;
webkitBoxPack: string | null;
webkitBoxSizing: string | null;
webkitColumnBreakAfter: string | null;
webkitColumnBreakBefore: string | null;
webkitColumnBreakInside: string | null;
webkitColumnCount: any;
webkitColumnGap: any;
webkitColumnRule: string | null;
webkitColumnRuleColor: any;
webkitColumnRuleStyle: string | null;
webkitColumnRuleWidth: any;
webkitColumnSpan: string | null;
webkitColumnWidth: any;
webkitColumns: string | null;
webkitFilter: string | null;
webkitFlex: string | null;
webkitFlexBasis: string | null;
webkitFlexDirection: string | null;
webkitFlexFlow: string | null;
webkitFlexGrow: string | null;
webkitFlexShrink: string | null;
webkitFlexWrap: string | null;
webkitJustifyContent: string | null;
webkitOrder: string | null;
webkitPerspective: string | null;
webkitPerspectiveOrigin: string | null;
webkitTapHighlightColor: string | null;
webkitTextFillColor: string | null;
webkitTextSizeAdjust: any;
webkitTransform: string | null;
webkitTransformOrigin: string | null;
webkitTransformStyle: string | null;
webkitTransition: string | null;
webkitTransitionDelay: string | null;
webkitTransitionDuration: string | null;
webkitTransitionProperty: string | null;
webkitTransitionTimingFunction: string | null;
webkitUserModify: string | null;
webkitUserSelect: string | null;
webkitWritingMode: string | null;
whiteSpace: string | null;
widows: string | null;
width: string | null;
wordBreak: string | null;
wordSpacing: string | null;
wordWrap: string | null;
writingMode: string | null;
zIndex: string | null;
zoom: string | null;
getPropertyPriority(propertyName: string): string;
getPropertyValue(propertyName: string): string;
item(index: number): string;
removeProperty(propertyName: string): string;
setProperty(propertyName: string, value: string | null, priority?: string): void;
[index: number]: string;
}
declare var CSSStyleDeclaration: {
prototype: CSSStyleDeclaration;
new(): CSSStyleDeclaration;
}
interface CSSStyleRule extends CSSRule {
readonly readOnly: boolean;
selectorText: string;
readonly style: CSSStyleDeclaration;
}
declare var CSSStyleRule: {
prototype: CSSStyleRule;
new(): CSSStyleRule;
}
interface CSSStyleSheet extends StyleSheet {
readonly cssRules: CSSRuleList;
cssText: string;
readonly href: string;
readonly id: string;
readonly imports: StyleSheetList;
readonly isAlternate: boolean;
readonly isPrefAlternate: boolean;
readonly ownerRule: CSSRule;
readonly owningElement: Element;
readonly pages: StyleSheetPageList;
readonly readOnly: bo