typescript
Version:
TypeScript is a language for application scale JavaScript development
1,899 lines (1,618 loc) • 631 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 AddEventListenerOptions extends EventListenerOptions {
once?: boolean;
passive?: boolean;
}
interface AesCbcParams extends Algorithm {
iv: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer | null;
}
interface AesCtrParams extends Algorithm {
counter: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer | null;
length: number;
}
interface AesDerivedKeyParams extends Algorithm {
length: number;
}
interface AesGcmParams extends Algorithm {
additionalData?: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer | null;
iv: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer | null;
tagLength?: number;
}
interface AesKeyAlgorithm extends KeyAlgorithm {
length: number;
}
interface AesKeyGenParams extends Algorithm {
length: number;
}
interface Algorithm {
name: string;
}
interface AnalyserOptions extends AudioNodeOptions {
fftSize?: number;
maxDecibels?: number;
minDecibels?: number;
smoothingTimeConstant?: number;
}
interface AnimationEventInit extends EventInit {
animationName?: string;
elapsedTime?: number;
}
interface AssertionOptions {
allowList?: ScopedCredentialDescriptor[];
extensions?: WebAuthnExtensions;
rpId?: string;
timeoutSeconds?: number;
}
interface AudioBufferOptions {
length: number;
numberOfChannels?: number;
sampleRate: number;
}
interface AudioBufferSourceOptions {
buffer?: AudioBuffer | null;
detune?: number;
loop?: boolean;
loopEnd?: number;
loopStart?: number;
playbackRate?: number;
}
interface AudioContextInfo {
currentTime?: number;
sampleRate?: number;
}
interface AudioContextOptions {
latencyHint?: AudioContextLatencyCategory | number;
sampleRate?: number;
}
interface AudioNodeOptions {
channelCount?: number;
channelCountMode?: ChannelCountMode;
channelInterpretation?: ChannelInterpretation;
}
interface AudioParamDescriptor {
defaultValue?: number;
maxValue?: number;
minValue?: number;
name?: string;
}
interface AudioProcessingEventInit extends EventInit {
inputBuffer: AudioBuffer;
outputBuffer: AudioBuffer;
playbackTime: number;
}
interface AudioTimestamp {
contextTime?: number;
performanceTime?: number;
}
interface BiquadFilterOptions extends AudioNodeOptions {
Q?: number;
detune?: number;
frequency?: number;
gain?: number;
type?: BiquadFilterType;
}
interface ByteLengthChunk {
byteLength?: number;
}
interface CacheQueryOptions {
cacheName?: string;
ignoreMethod?: boolean;
ignoreSearch?: boolean;
ignoreVary?: boolean;
}
interface ChannelMergerOptions extends AudioNodeOptions {
numberOfInputs?: number;
}
interface ChannelSplitterOptions extends AudioNodeOptions {
numberOfOutputs?: number;
}
interface ClientData {
challenge: string;
extensions?: WebAuthnExtensions;
hashAlg: string | Algorithm;
origin: string;
rpId: string;
tokenBinding?: string;
}
interface ClientQueryOptions {
includeReserved?: boolean;
includeUncontrolled?: boolean;
type?: ClientTypes;
}
interface CloseEventInit extends EventInit {
code?: number;
reason?: string;
wasClean?: boolean;
}
interface CompositionEventInit extends UIEventInit {
data?: string;
}
interface ConfirmSiteSpecificExceptionsInformation extends ExceptionInformation {
arrayOfDomainStrings?: string[];
}
interface ConstantSourceOptions {
offset?: number;
}
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 ConvolverOptions extends AudioNodeOptions {
buffer?: AudioBuffer | null;
disableNormalization?: boolean;
}
interface CustomEventInit<T = any> extends EventInit {
detail?: T;
}
interface DOMRectInit {
height?: number;
width?: number;
x?: number;
y?: number;
}
interface DelayOptions extends AudioNodeOptions {
delayTime?: number;
maxDelayTime?: number;
}
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 DoubleRange {
max?: number;
min?: number;
}
interface DynamicsCompressorOptions extends AudioNodeOptions {
attack?: number;
knee?: number;
ratio?: number;
release?: number;
threshold?: number;
}
interface EcKeyAlgorithm extends KeyAlgorithm {
namedCurve: string;
}
interface EcKeyGenParams extends Algorithm {
namedCurve: string;
}
interface EcKeyImportParams extends Algorithm {
namedCurve: string;
}
interface EcdhKeyDeriveParams extends Algorithm {
public: CryptoKey;
}
interface EcdsaParams extends Algorithm {
hash: string | Algorithm;
}
interface ErrorEventInit extends EventInit {
colno?: number;
error?: any;
filename?: string;
lineno?: number;
message?: string;
}
interface EventInit {
bubbles?: boolean;
cancelable?: boolean;
scoped?: boolean;
}
interface EventListenerOptions {
capture?: boolean;
}
interface EventModifierInit extends UIEventInit {
altKey?: boolean;
ctrlKey?: boolean;
metaKey?: boolean;
modifierAltGraph?: boolean;
modifierCapsLock?: boolean;
modifierFn?: boolean;
modifierFnLock?: boolean;
modifierHyper?: boolean;
modifierNumLock?: boolean;
modifierOS?: boolean;
modifierScrollLock?: boolean;
modifierSuper?: boolean;
modifierSymbol?: boolean;
modifierSymbolLock?: boolean;
shiftKey?: boolean;
}
interface ExceptionInformation {
domain?: string | null;
}
interface ExtendableEventInit extends EventInit {
}
interface ExtendableMessageEventInit extends ExtendableEventInit {
data?: any;
lastEventId?: string;
origin?: string;
ports?: MessagePort[] | null;
source?: object | ServiceWorker | MessagePort | null;
}
interface FetchEventInit extends ExtendableEventInit {
clientId?: string;
request: Request;
reservedClientId?: string;
targetClientId?: string;
}
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 GainOptions extends AudioNodeOptions {
gain?: number;
}
interface GamepadEventInit extends EventInit {
gamepad?: Gamepad;
}
interface GetNotificationOptions {
tag?: string;
}
interface HashChangeEventInit extends EventInit {
newURL?: string;
oldURL?: string;
}
interface HkdfParams extends Algorithm {
hash: string | Algorithm;
info: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer | null;
salt: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer | null;
}
interface HmacImportParams extends Algorithm {
hash: string | Algorithm;
length?: number;
}
interface HmacKeyAlgorithm extends KeyAlgorithm {
hash: KeyAlgorithm;
length: number;
}
interface HmacKeyGenParams extends Algorithm {
hash: string | Algorithm;
length?: number;
}
interface IDBIndexParameters {
multiEntry?: boolean;
unique?: boolean;
}
interface IDBObjectStoreParameters {
autoIncrement?: boolean;
keyPath?: string | string[];
}
interface IIRFilterOptions extends AudioNodeOptions {
feedback: number[];
feedforward: number[];
}
interface IntersectionObserverEntryInit {
boundingClientRect: DOMRectInit;
intersectionRect: DOMRectInit;
isIntersecting: boolean;
rootBounds: DOMRectInit;
target: Element;
time: number;
}
interface IntersectionObserverInit {
root?: Element | null;
rootMargin?: string;
threshold?: number | number[];
}
interface JsonWebKey {
alg?: string;
crv?: string;
d?: string;
dp?: string;
dq?: string;
e?: string;
ext?: boolean;
k?: string;
key_ops?: string[];
kty?: string;
n?: string;
oth?: RsaOtherPrimesInfo[];
p?: string;
q?: string;
qi?: string;
use?: string;
x?: string;
y?: string;
}
interface KeyAlgorithm {
name: string;
}
interface KeyboardEventInit extends EventModifierInit {
code?: string;
key?: string;
location?: number;
repeat?: boolean;
}
interface LongRange {
max?: number;
min?: 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 MSDCCEventInit extends EventInit {
maxFr?: number;
maxFs?: number;
}
interface MSDSHEventInit extends EventInit {
sources?: number[];
timestamp?: number;
}
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?: string[];
}
interface MSIPAddressInfo {
ipAddr?: string;
manufacturerMacAddrMask?: string;
port?: number;
}
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 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;
interfaceTypeWWAN?: boolean;
interfaceTypeWireless?: 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;
localAddrType?: MSIceAddrType;
localAddress?: string;
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;
remoteAddrType?: MSIceAddrType;
remoteAddress?: string;
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 MediaElementAudioSourceOptions {
mediaElement: HTMLMediaElement;
}
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 MediaTrackConstraintSet {
aspectRatio?: number | ConstrainDoubleRange;
channelCount?: number | ConstrainLongRange;
deviceId?: string | string[] | ConstrainDOMStringParameters;
displaySurface?: string | string[] | ConstrainDOMStringParameters;
echoCancellation?: boolean | ConstrainBooleanParameters;
facingMode?: string | string[] | ConstrainDOMStringParameters;
frameRate?: number | ConstrainDoubleRange;
groupId?: string | string[] | ConstrainDOMStringParameters;
height?: number | ConstrainLongRange;
latency?: number | ConstrainDoubleRange;
logicalSurface?: boolean | ConstrainBooleanParameters;
sampleRate?: number | ConstrainLongRange;
sampleSize?: number | ConstrainLongRange;
volume?: number | ConstrainDoubleRange;
width?: number | ConstrainLongRange;
}
interface MediaTrackConstraints extends MediaTrackConstraintSet {
advanced?: MediaTrackConstraintSet[];
}
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 {
channel?: string;
data?: any;
lastEventId?: string;
origin?: string;
ports?: MessagePort[];
source?: Window | null;
}
interface MouseEventInit extends EventModifierInit {
button?: number;
buttons?: number;
clientX?: number;
clientY?: number;
relatedTarget?: EventTarget | null;
screenX?: number;
screenY?: 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 NotificationEventInit extends ExtendableEventInit {
action?: string;
notification: Notification;
}
interface NotificationOptions {
body?: string;
data?: any;
dir?: NotificationDirection;
icon?: string;
lang?: string;
tag?: string;
}
interface ObjectURLOptions {
oneTimeOnly?: boolean;
}
interface OfflineAudioCompletionEventInit extends EventInit {
renderedBuffer: AudioBuffer;
}
interface OscillatorOptions extends AudioNodeOptions {
detune?: number;
frequency?: number;
periodicWave?: PeriodicWave;
type?: OscillatorType;
}
interface PannerOptions extends AudioNodeOptions {
coneInnerAngle?: number;
coneOuterAngle?: number;
coneOuterGain?: number;
distanceModel?: DistanceModelType;
maxDistance?: number;
orientationX?: number;
orientationY?: number;
orientationZ?: number;
panningModel?: PanningModelType;
positionX?: number;
positionY?: number;
positionZ?: number;
refDistance?: number;
rolloffFactor?: number;
}
interface PaymentCurrencyAmount {
currency: string;
currencySystem?: string;
value: string;
}
interface PaymentDetailsBase {
displayItems?: PaymentItem[];
modifiers?: PaymentDetailsModifier[];
shippingOptions?: PaymentShippingOption[];
}
interface PaymentDetailsInit extends PaymentDetailsBase {
id?: string;
total: PaymentItem;
}
interface PaymentDetailsModifier {
additionalDisplayItems?: PaymentItem[];
data?: any;
supportedMethods: string | string[];
total?: PaymentItem;
}
interface PaymentDetailsUpdate extends PaymentDetailsBase {
error?: string;
total?: PaymentItem;
}
interface PaymentItem {
amount: PaymentCurrencyAmount;
label: string;
pending?: boolean;
}
interface PaymentMethodData {
data?: any;
supportedMethods: string | 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 Pbkdf2Params extends Algorithm {
hash: string | Algorithm;
iterations: number;
salt: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer | null;
}
interface PeriodicWaveConstraints {
disableNormalization?: boolean;
}
interface PeriodicWaveOptions extends PeriodicWaveConstraints {
imag?: number[];
real?: number[];
}
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 PushEventInit extends ExtendableEventInit {
data?: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer | string | null;
}
interface PushSubscriptionChangeInit extends ExtendableEventInit {
newSubscription?: PushSubscription;
oldSubscription?: PushSubscription;
}
interface PushSubscriptionOptionsInit {
applicationServerKey?: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer | string | null;
userVisibleOnly?: boolean;
}
interface QueuingStrategy {
highWaterMark?: number;
size?: WritableStreamChunkCallback;
}
interface RTCConfiguration {
bundlePolicy?: RTCBundlePolicy;
iceServers?: RTCIceServer[];
iceTransportPolicy?: RTCIceTransportPolicy;
peerIdentity?: string;
}
interface RTCDTMFToneChangeEventInit extends EventInit {
tone?: string;
}
interface RTCDtlsFingerprint {
algorithm?: string;
value?: string;
}
interface RTCDtlsParameters {
fingerprints?: RTCDtlsFingerprint[];
role?: RTCDtlsRole;
}
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;
sdpMLineIndex?: number;
sdpMid?: string;
}
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;
frameWidth?: number;
framesCorrupted?: number;
framesDecoded?: number;
framesDropped?: number;
framesPerSecond?: number;
framesReceived?: number;
framesSent?: 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 RTCRTPStreamStats extends RTCStats {
associateStatsId?: string;
codecId?: string;
firCount?: number;
isRemote?: boolean;
mediaTrackId?: string;
mediaType?: string;
nackCount?: number;
pliCount?: number;
sliCount?: number;
ssrc?: string;
transportId?: string;
}
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;
maxSpatialLayers?: number;
maxTemporalLayers?: number;
maxptime?: 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?: number;
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 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 RegistrationOptions {
scope?: string;
}
interface RequestInit {
body?: Blob | Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer | FormData | string | null;
cache?: RequestCache;
credentials?: RequestCredentials;
headers?: HeadersInit;
integrity?: string;
keepalive?: boolean;
method?: string;
mode?: RequestMode;
redirect?: RequestRedirect;
referrer?: string;
referrerPolicy?: ReferrerPolicy;
signal?: AbortSignal;
window?: any;
}
interface ResponseInit {
headers?: HeadersInit;
status?: number;
statusText?: string;
}
interface RsaHashedImportParams extends Algorithm {
hash: string | Algorithm;
}
interface RsaHashedKeyAlgorithm extends RsaKeyAlgorithm {
hash: KeyAlgorithm;
}
interface RsaHashedKeyGenParams extends RsaKeyGenParams {
hash: string | Algorithm;
}
interface RsaKeyAlgorithm extends KeyAlgorithm {
modulusLength: number;
publicExponent: Uint8Array;
}
interface RsaKeyGenParams extends Algorithm {
modulusLength: number;
publicExponent: Uint8Array;
}
interface RsaOaepParams extends Algorithm {
label?: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer | null;
}
interface RsaOtherPrimesInfo {
d?: string;
r?: string;
t?: string;
}
interface RsaPssParams extends Algorithm {
saltLength: number;
}
interface ScopedCredentialDescriptor {
id: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer | null;
transports?: Transport[];
type: ScopedCredentialType;
}
interface ScopedCredentialOptions {
excludeList?: ScopedCredentialDescriptor[];
extensions?: WebAuthnExtensions;
rpId?: string;
timeoutSeconds?: number;
}
interface ScopedCredentialParameters {
algorithm: string | Algorithm;
type: ScopedCredentialType;
}
interface SecurityPolicyViolationEventInit extends EventInit {
blockedURI?: string;
columnNumber?: number;
documentURI?: string;
effectiveDirective?: string;
lineNumber?: number;
originalPolicy?: string;
referrer?: string;
sourceFile?: string;
statusCode?: number;
violatedDirective?: string;
}
interface ServiceWorkerMessageEventInit extends EventInit {
data?: any;
lastEventId?: string;
origin?: string;
ports?: MessagePort[] | null;
source?: ServiceWorker | MessagePort | null;
}
interface SpeechSynthesisEventInit extends EventInit {
charIndex?: number;
charLength?: number;
elapsedTime?: number;
name?: string;
utterance?: SpeechSynthesisUtterance | null;
}
interface StereoPannerOptions extends AudioNodeOptions {
pan?: number;
}
interface StoreExceptionsInformation extends ExceptionInformation {
detailURI?: string | null;
explanationString?: string | null;
siteName?: string | null;
}
interface StoreSiteSpecificExceptionsInformation extends StoreExceptionsInformation {
arrayOfDomainStrings?: string[];
}
interface SyncEventInit extends ExtendableEventInit {
lastChance?: boolean;
tag: string;
}
interface TextDecodeOptions {
stream?: boolean;
}
interface TextDecoderOptions {
fatal?: boolean;
ignoreBOM?: boolean;
}
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 UnderlyingSink {
abort?: WritableStreamErrorCallback;
close?: WritableStreamDefaultControllerCallback;
start: WritableStreamDefaultControllerCallback;
write?: WritableStreamChunkCallback;
}
interface VRDisplayEventInit extends EventInit {
display: VRDisplay;
reason?: VRDisplayEventReason;
}
interface VRLayer {
leftBounds?: number[] | null;
rightBounds?: number[] | null;
source?: HTMLCanvasElement | null;
}
interface VRStageParameters {
sittingToStandingTransform?: Float32Array;
sizeX?: number;
sizeY?: number;
}
interface WaveShaperOptions extends AudioNodeOptions {
curve?: number[];
oversample?: OverSampleType;
}
interface WebAuthnExtensions {
}
interface WebGLContextAttributes {
alpha?: boolean;
antialias?: boolean;
depth?: boolean;
failIfMajorPerformanceCaveat?: 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;
}
type WebKitEntriesCallback = ((entries: WebKitEntry[]) => void) | { handleEvent(entries: WebKitEntry[]): void; };
type WebKitErrorCallback = ((err: DOMError) => void) | { handleEvent(err: DOMError): void; };
type WebKitFileCallback = ((file: File) => void) | { handleEvent(file: File): 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 AbortController {
readonly signal: AbortSignal;
abort(): void;
}
declare var AbortController: {
prototype: AbortController;
new(): AbortController;
};
interface AbortSignalEventMap {
"abort": ProgressEvent;
}
interface AbortSignal extends EventTarget {
readonly aborted: boolean;
onabort: ((this: AbortSignal, ev: ProgressEvent) => any) | null;
addEventListener<K extends keyof AbortSignalEventMap>(type: K, listener: (this: AbortSignal, ev: AbortSignalEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
removeEventListener<K extends keyof AbortSignalEventMap>(type: K, listener: (this: AbortSignal, ev: AbortSignalEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
}
declare var AbortSignal: {
prototype: AbortSignal;
new(): AbortSignal;
};
interface AbstractWorkerEventMap {
"error": ErrorEvent;
}
interface AbstractWorker {
onerror: ((this: AbstractWorker, ev: ErrorEvent) => any) | null;
addEventListener<K extends keyof AbstractWorkerEventMap>(type: K, listener: (this: AbstractWorker, ev: AbstractWorkerEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
removeEventListener<K extends keyof AbstractWorkerEventMap>(type: K, listener: (this: AbstractWorker, ev: AbstractWorkerEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
}
interface AesCfbParams extends Algorithm {
iv: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer;
}
interface AesCmacParams extends Algorithm {
length: 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 Animation {
currentTime: number | null;
effect: AnimationEffectReadOnly;
readonly finished: Promise<Animation>;
id: string;
readonly pending: boolean;
readonly playState: "idle" | "running" | "paused" | "finished";
playbackRate: number;
readonly ready: Promise<Animation>;
startTime: number;
timeline: AnimationTimeline;
cancel(): void;
finish(): void;
oncancel: (this: Animation, ev: AnimationPlaybackEvent) => any;
onfinish: (this: Animation, ev: AnimationPlaybackEvent) => any;
pause(): void;
play(): void;
reverse(): void;
}
declare var Animation: {
prototype: Animation;
new(effect?: AnimationEffectReadOnly, timeline?: AnimationTimeline): Animation;
};
interface AnimationEffectReadOnly {
readonly timing: number;
getComputedTiming(): ComputedTimingProperties;
}
interface AnimationEvent extends Event {
readonly animationName: string;
readonly elapsedTime: number;
}
declare var AnimationEvent: {
prototype: AnimationEvent;
new(typeArg: string, eventInitDict?: AnimationEventInit): AnimationEvent;
};
interface AnimationKeyFrame {
easing?: string | string[];
offset?: number | null | (number | null)[];
[index: string]: string | number | number[] | string[] | null | (number | null)[] | undefined;
}
interface AnimationOptions {
delay?: number;
direction?: "normal" | "reverse" | "alternate" | "alternate-reverse";
duration?: number;
easing?: string;
endDelay?: number;
fill?: "none" | "forwards" | "backwards" | "both"| "auto";
id?: string;
iterationStart?: number;
iterations?: number;
}
interface AnimationPlaybackEvent extends Event {
readonly currentTime: number | null;
readonly timelineTime: number | null;
}
declare var AnimationPlaybackEvent: {
prototype: AnimationPlaybackEvent;
new(type: string, eventInitDict?: AnimationPlaybackEventInit): AnimationPlaybackEvent;
};
interface AnimationPlaybackEventInit extends EventInit {
currentTime?: number | null;
timelineTime?: number | null;
}
interface AnimationTimeline {
readonly currentTime: number | null;
}
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) | null;
onchecking: ((this: ApplicationCache, ev: Event) => any) | null;
ondownloading: ((this: ApplicationCache, ev: Event) => any) | null;
onerror: ((this: ApplicationCache, ev: Event) => any) | null;
onnoupdate: ((this: ApplicationCache, ev: Event) => any) | null;
onobsolete: ((this: ApplicationCache, ev: Event) => any) | null;
onprogress: ((this: ApplicationCache, ev: ProgressEvent) => any) | null;
onupdateready: ((this: ApplicationCache, ev: Event) => any) | null;
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 AssignedNodesOptions {
flatten?: boolean;
}
interface Attr extends Node {
readonly name: string;
readonly ownerElement: Element | null;
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": Event;
}
interface AudioBufferSourceNode extends AudioNode {
buffer: AudioBuffer | null;
readonly detune: AudioParam;
loop: boolean;
loopEnd: number;
loopStart: number;
onended: ((this: AudioBufferSourceNode, ev: Event) => any) | null;
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) | null;
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: Float3