/*! ***************************************************************************** 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. ***************************************************************************** */ export declare const __hack = "NOT TYPE ONLY"; export interface Account { displayName: string; id: string; imageURL?: string; name?: string; rpDisplayName: string; } export interface AddEventListenerOptions extends EventListenerOptions { once?: boolean; passive?: boolean; } export interface AesCbcParams extends Algorithm { iv: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; } export interface AesCtrParams extends Algorithm { counter: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; length: number; } export interface AesDerivedKeyParams extends Algorithm { length: number; } export interface AesGcmParams extends Algorithm { additionalData?: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; iv: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; tagLength?: number; } export interface AesKeyAlgorithm extends KeyAlgorithm { length: number; } export interface AesKeyGenParams extends Algorithm { length: number; } export interface Algorithm { name: string; } export interface AnalyserOptions extends AudioNodeOptions { fftSize?: number; maxDecibels?: number; minDecibels?: number; smoothingTimeConstant?: number; } export interface AnimationEventInit extends EventInit { animationName?: string; elapsedTime?: number; pseudoElement?: string; } export interface AnimationPlaybackEventInit extends EventInit { currentTime?: number | null; timelineTime?: number | null; } export interface AssertionOptions { allowList?: ScopedCredentialDescriptor[]; extensions?: WebAuthnExtensions; rpId?: string; timeoutSeconds?: number; } export interface AssignedNodesOptions { flatten?: boolean; } export interface AudioBufferOptions { length: number; numberOfChannels?: number; sampleRate: number; } export interface AudioBufferSourceOptions { buffer?: AudioBuffer | null; detune?: number; loop?: boolean; loopEnd?: number; loopStart?: number; playbackRate?: number; } export interface AudioContextInfo { currentTime?: number; sampleRate?: number; } export interface AudioContextOptions { latencyHint?: AudioContextLatencyCategory | number; sampleRate?: number; } export interface AudioNodeOptions { channelCount?: number; channelCountMode?: ChannelCountMode; channelInterpretation?: ChannelInterpretation; } export interface AudioParamDescriptor { automationRate?: AutomationRate; defaultValue?: number; maxValue?: number; minValue?: number; name: string; } export interface AudioProcessingEventInit extends EventInit { inputBuffer: AudioBuffer; outputBuffer: AudioBuffer; playbackTime: number; } export interface AudioTimestamp { contextTime?: number; performanceTime?: number; } export interface AudioWorkletNodeOptions extends AudioNodeOptions { numberOfInputs?: number; numberOfOutputs?: number; outputChannelCount?: number[]; parameterData?: Record; processorOptions?: any; } export interface AuthenticationExtensionsClientInputs { appid?: string; authnSel?: AuthenticatorSelectionList; exts?: boolean; loc?: boolean; txAuthGeneric?: txAuthGenericArg; txAuthSimple?: string; uvi?: boolean; uvm?: boolean; } export interface AuthenticationExtensionsClientOutputs { appid?: boolean; authnSel?: boolean; exts?: AuthenticationExtensionsSupported; loc?: Coordinates; txAuthGeneric?: ArrayBuffer; txAuthSimple?: string; uvi?: ArrayBuffer; uvm?: UvmEntries; } export interface AuthenticatorSelectionCriteria { authenticatorAttachment?: AuthenticatorAttachment; requireResidentKey?: boolean; userVerification?: UserVerificationRequirement; } export interface BiquadFilterOptions extends AudioNodeOptions { Q?: number; detune?: number; frequency?: number; gain?: number; type?: BiquadFilterType; } export interface BlobPropertyBag { endings?: EndingType; type?: string; } export interface ByteLengthChunk { byteLength?: number; } export interface CacheQueryOptions { ignoreMethod?: boolean; ignoreSearch?: boolean; ignoreVary?: boolean; } export interface CanvasRenderingContext2DSettings { alpha?: boolean; desynchronized?: boolean; } export interface ChannelMergerOptions extends AudioNodeOptions { numberOfInputs?: number; } export interface ChannelSplitterOptions extends AudioNodeOptions { numberOfOutputs?: number; } export interface ClientData { challenge: string; extensions?: WebAuthnExtensions; hashAlg: string | Algorithm; origin: string; rpId: string; tokenBinding?: string; } export interface ClientQueryOptions { includeUncontrolled?: boolean; type?: ClientTypes; } export interface ClipboardEventInit extends EventInit { clipboardData?: DataTransfer | null; } export interface CloseEventInit extends EventInit { code?: number; reason?: string; wasClean?: boolean; } export interface CompositionEventInit extends UIEventInit { data?: string; } export interface ComputedEffectTiming extends EffectTiming { activeDuration?: number; currentIteration?: number | null; endTime?: number; localTime?: number | null; progress?: number | null; } export interface ComputedKeyframe { composite: CompositeOperationOrAuto; computedOffset: number; easing: string; offset: number | null; [property: string]: string | number | null | undefined; } export interface ConfirmSiteSpecificExceptionsInformation extends ExceptionInformation { arrayOfDomainStrings?: string[]; } export interface ConstantSourceOptions { offset?: number; } export interface ConstrainBooleanParameters { exact?: boolean; ideal?: boolean; } export interface ConstrainDOMStringParameters { exact?: string | string[]; ideal?: string | string[]; } export interface ConstrainDoubleRange extends DoubleRange { exact?: number; ideal?: number; } export interface ConstrainULongRange extends ULongRange { exact?: number; ideal?: number; } export interface ConstrainVideoFacingModeParameters { exact?: VideoFacingModeEnum | VideoFacingModeEnum[]; ideal?: VideoFacingModeEnum | VideoFacingModeEnum[]; } export interface ConvolverOptions extends AudioNodeOptions { buffer?: AudioBuffer | null; disableNormalization?: boolean; } export interface CredentialCreationOptions { publicKey?: PublicKeyCredentialCreationOptions; signal?: AbortSignal; } export interface CredentialRequestOptions { mediation?: CredentialMediationRequirement; publicKey?: PublicKeyCredentialRequestOptions; signal?: AbortSignal; } export interface CustomEventInit extends EventInit { detail?: T; } export interface DOMMatrix2DInit { a?: number; b?: number; c?: number; d?: number; e?: number; f?: number; m11?: number; m12?: number; m21?: number; m22?: number; m41?: number; m42?: number; } export interface DOMMatrixInit extends DOMMatrix2DInit { is2D?: boolean; m13?: number; m14?: number; m23?: number; m24?: number; m31?: number; m32?: number; m33?: number; m34?: number; m43?: number; m44?: number; } export interface DOMPointInit { w?: number; x?: number; y?: number; z?: number; } export interface DOMQuadInit { p1?: DOMPointInit; p2?: DOMPointInit; p3?: DOMPointInit; p4?: DOMPointInit; } export interface DOMRectInit { height?: number; width?: number; x?: number; y?: number; } export interface DelayOptions extends AudioNodeOptions { delayTime?: number; maxDelayTime?: number; } export interface DeviceLightEventInit extends EventInit { value?: number; } export interface DeviceMotionEventAccelerationInit { x?: number | null; y?: number | null; z?: number | null; } export interface DeviceMotionEventInit extends EventInit { acceleration?: DeviceMotionEventAccelerationInit; accelerationIncludingGravity?: DeviceMotionEventAccelerationInit; interval?: number; rotationRate?: DeviceMotionEventRotationRateInit; } export interface DeviceMotionEventRotationRateInit { alpha?: number | null; beta?: number | null; gamma?: number | null; } export interface DeviceOrientationEventInit extends EventInit { absolute?: boolean; alpha?: number | null; beta?: number | null; gamma?: number | null; } export interface DevicePermissionDescriptor extends PermissionDescriptor { deviceId?: string; name: "camera" | "microphone" | "speaker"; } export interface DocumentTimelineOptions { originTime?: number; } export interface DoubleRange { max?: number; min?: number; } export interface DragEventInit extends MouseEventInit { dataTransfer?: DataTransfer | null; } export interface DynamicsCompressorOptions extends AudioNodeOptions { attack?: number; knee?: number; ratio?: number; release?: number; threshold?: number; } export interface EcKeyAlgorithm extends KeyAlgorithm { namedCurve: NamedCurve; } export interface EcKeyGenParams extends Algorithm { namedCurve: NamedCurve; } export interface EcKeyImportParams extends Algorithm { namedCurve: NamedCurve; } export interface EcdhKeyDeriveParams extends Algorithm { public: CryptoKey; } export interface EcdsaParams extends Algorithm { hash: HashAlgorithmIdentifier; } export interface EffectTiming { delay?: number; direction?: PlaybackDirection; duration?: number | string; easing?: string; endDelay?: number; fill?: FillMode; iterationStart?: number; iterations?: number; } export interface ElementCreationOptions { is?: string; } export interface ElementDefinitionOptions { extends?: string; } export interface ErrorEventInit extends EventInit { colno?: number; error?: any; filename?: string; lineno?: number; message?: string; } export interface EventInit { bubbles?: boolean; cancelable?: boolean; composed?: boolean; } export interface EventListenerOptions { capture?: boolean; } export interface EventModifierInit extends UIEventInit { altKey?: boolean; ctrlKey?: boolean; metaKey?: boolean; modifierAltGraph?: boolean; modifierCapsLock?: boolean; modifierFn?: boolean; modifierFnLock?: boolean; modifierHyper?: boolean; modifierNumLock?: boolean; modifierScrollLock?: boolean; modifierSuper?: boolean; modifierSymbol?: boolean; modifierSymbolLock?: boolean; shiftKey?: boolean; } export interface EventSourceInit { withCredentials?: boolean; } export interface ExceptionInformation { domain?: string | null; } export interface FilePropertyBag extends BlobPropertyBag { lastModified?: number; } export interface FocusEventInit extends UIEventInit { relatedTarget?: EventTarget | null; } export interface FocusNavigationEventInit extends EventInit { navigationReason?: string | null; originHeight?: number; originLeft?: number; originTop?: number; originWidth?: number; } export interface FocusNavigationOrigin { originHeight?: number; originLeft?: number; originTop?: number; originWidth?: number; } export interface FocusOptions { preventScroll?: boolean; } export interface FullscreenOptions { navigationUI?: FullscreenNavigationUI; } export interface GainOptions extends AudioNodeOptions { gain?: number; } export interface GamepadEventInit extends EventInit { gamepad: Gamepad; } export interface GetNotificationOptions { tag?: string; } export interface GetRootNodeOptions { composed?: boolean; } export interface HashChangeEventInit extends EventInit { newURL?: string; oldURL?: string; } export interface HkdfParams extends Algorithm { hash: HashAlgorithmIdentifier; info: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; salt: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; } export interface HmacImportParams extends Algorithm { hash: HashAlgorithmIdentifier; length?: number; } export interface HmacKeyAlgorithm extends KeyAlgorithm { hash: KeyAlgorithm; length: number; } export interface HmacKeyGenParams extends Algorithm { hash: HashAlgorithmIdentifier; length?: number; } export interface IDBIndexParameters { multiEntry?: boolean; unique?: boolean; } export interface IDBObjectStoreParameters { autoIncrement?: boolean; keyPath?: string | string[] | null; } export interface IDBVersionChangeEventInit extends EventInit { newVersion?: number | null; oldVersion?: number; } export interface IIRFilterOptions extends AudioNodeOptions { feedback: number[]; feedforward: number[]; } export interface ImageBitmapRenderingContextSettings { alpha?: boolean; } export interface ImageEncodeOptions { quality?: number; type?: string; } export interface InputEventInit extends UIEventInit { data?: string | null; inputType?: string; isComposing?: boolean; } export interface IntersectionObserverEntryInit { boundingClientRect: DOMRectInit; intersectionRatio: number; intersectionRect: DOMRectInit; isIntersecting: boolean; rootBounds: DOMRectInit | null; target: Element; time: number; } export interface IntersectionObserverInit { root?: Element | null; rootMargin?: string; threshold?: number | number[]; } export 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; } export interface KeyAlgorithm { name: string; } export interface KeyboardEventInit extends EventModifierInit { code?: string; isComposing?: boolean; key?: string; location?: number; repeat?: boolean; } export interface Keyframe { composite?: CompositeOperationOrAuto; easing?: string; offset?: number | null; [property: string]: string | number | null | undefined; } export interface KeyframeAnimationOptions extends KeyframeEffectOptions { id?: string; } export interface KeyframeEffectOptions extends EffectTiming { composite?: CompositeOperation; iterationComposite?: IterationCompositeOperation; } export interface MediaElementAudioSourceOptions { mediaElement: HTMLMediaElement; } export interface MediaEncryptedEventInit extends EventInit { initData?: ArrayBuffer | null; initDataType?: string; } export interface MediaKeyMessageEventInit extends EventInit { message: ArrayBuffer; messageType: MediaKeyMessageType; } export interface MediaKeySystemConfiguration { audioCapabilities?: MediaKeySystemMediaCapability[]; distinctiveIdentifier?: MediaKeysRequirement; initDataTypes?: string[]; label?: string; persistentState?: MediaKeysRequirement; sessionTypes?: string[]; videoCapabilities?: MediaKeySystemMediaCapability[]; } export interface MediaKeySystemMediaCapability { contentType?: string; robustness?: string; } export interface MediaQueryListEventInit extends EventInit { matches?: boolean; media?: string; } export interface MediaStreamAudioSourceOptions { mediaStream: MediaStream; } export interface MediaStreamConstraints { audio?: boolean | MediaTrackConstraints; peerIdentity?: string; video?: boolean | MediaTrackConstraints; } export interface MediaStreamErrorEventInit extends EventInit { error?: MediaStreamError | null; } export interface MediaStreamEventInit extends EventInit { stream?: MediaStream; } export interface MediaStreamTrackAudioSourceOptions { mediaStreamTrack: MediaStreamTrack; } export interface MediaStreamTrackEventInit extends EventInit { track: MediaStreamTrack; } export interface MediaTrackCapabilities { aspectRatio?: DoubleRange; autoGainControl?: boolean[]; channelCount?: ULongRange; deviceId?: string; echoCancellation?: boolean[]; facingMode?: string[]; frameRate?: DoubleRange; groupId?: string; height?: ULongRange; latency?: DoubleRange; noiseSuppression?: boolean[]; resizeMode?: string[]; sampleRate?: ULongRange; sampleSize?: ULongRange; width?: ULongRange; } export interface MediaTrackConstraintSet { aspectRatio?: ConstrainDouble; autoGainControl?: ConstrainBoolean; channelCount?: ConstrainULong; deviceId?: ConstrainDOMString; echoCancellation?: ConstrainBoolean; facingMode?: ConstrainDOMString; frameRate?: ConstrainDouble; groupId?: ConstrainDOMString; height?: ConstrainULong; latency?: ConstrainDouble; noiseSuppression?: ConstrainBoolean; resizeMode?: ConstrainDOMString; sampleRate?: ConstrainULong; sampleSize?: ConstrainULong; width?: ConstrainULong; } export interface MediaTrackConstraints extends MediaTrackConstraintSet { advanced?: MediaTrackConstraintSet[]; } export interface MediaTrackSettings { aspectRatio?: number; autoGainControl?: boolean; channelCount?: number; deviceId?: string; echoCancellation?: boolean; facingMode?: string; frameRate?: number; groupId?: string; height?: number; latency?: number; noiseSuppression?: boolean; resizeMode?: string; sampleRate?: number; sampleSize?: number; width?: number; } export interface MediaTrackSupportedConstraints { aspectRatio?: boolean; autoGainControl?: boolean; channelCount?: boolean; deviceId?: boolean; echoCancellation?: boolean; facingMode?: boolean; frameRate?: boolean; groupId?: boolean; height?: boolean; latency?: boolean; noiseSuppression?: boolean; resizeMode?: boolean; sampleRate?: boolean; sampleSize?: boolean; width?: boolean; } export interface MessageEventInit extends EventInit { data?: any; lastEventId?: string; origin?: string; ports?: MessagePort[]; source?: MessageEventSource | null; } export interface MidiPermissionDescriptor extends PermissionDescriptor { name: "midi"; sysex?: boolean; } export interface MouseEventInit extends EventModifierInit { button?: number; buttons?: number; clientX?: number; clientY?: number; movementX?: number; movementY?: number; relatedTarget?: EventTarget | null; screenX?: number; screenY?: number; } export interface MultiCacheQueryOptions extends CacheQueryOptions { cacheName?: string; } export interface MutationObserverInit { /** * Set to a list of attribute local names (without namespace) if not all attribute mutations need to be observed and attributes is true or omitted. */ attributeFilter?: string[]; /** * Set to true if attributes is true or omitted and target's attribute value before the mutation needs to be recorded. */ attributeOldValue?: boolean; /** * Set to true if mutations to target's attributes are to be observed. Can be omitted if attributeOldValue or attributeFilter is specified. */ attributes?: boolean; /** * Set to true if mutations to target's data are to be observed. Can be omitted if characterDataOldValue is specified. */ characterData?: boolean; /** * Set to true if characterData is set to true or omitted and target's data before the mutation needs to be recorded. */ characterDataOldValue?: boolean; /** * Set to true if mutations to target's children are to be observed. */ childList?: boolean; /** * Set to true if mutations to not just target, but also target's descendants are to be observed. */ subtree?: boolean; } export interface NavigationPreloadState { enabled?: boolean; headerValue?: string; } export interface NotificationAction { action: string; icon?: string; title: string; } export interface NotificationOptions { actions?: NotificationAction[]; badge?: string; body?: string; data?: any; dir?: NotificationDirection; icon?: string; image?: string; lang?: string; renotify?: boolean; requireInteraction?: boolean; silent?: boolean; tag?: string; timestamp?: number; vibrate?: VibratePattern; } export interface OfflineAudioCompletionEventInit extends EventInit { renderedBuffer: AudioBuffer; } export interface OfflineAudioContextOptions { length: number; numberOfChannels?: number; sampleRate: number; } export interface OptionalEffectTiming { delay?: number; direction?: PlaybackDirection; duration?: number | string; easing?: string; endDelay?: number; fill?: FillMode; iterationStart?: number; iterations?: number; } export interface OscillatorOptions extends AudioNodeOptions { detune?: number; frequency?: number; periodicWave?: PeriodicWave; type?: OscillatorType; } export interface PageTransitionEventInit extends EventInit { persisted?: boolean; } export 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; } export interface PaymentCurrencyAmount { currency: string; currencySystem?: string; value: string; } export interface PaymentDetailsBase { displayItems?: PaymentItem[]; modifiers?: PaymentDetailsModifier[]; shippingOptions?: PaymentShippingOption[]; } export interface PaymentDetailsInit extends PaymentDetailsBase { id?: string; total: PaymentItem; } export interface PaymentDetailsModifier { additionalDisplayItems?: PaymentItem[]; data?: any; supportedMethods: string | string[]; total?: PaymentItem; } export interface PaymentDetailsUpdate extends PaymentDetailsBase { error?: string; total?: PaymentItem; } export interface PaymentItem { amount: PaymentCurrencyAmount; label: string; pending?: boolean; } export interface PaymentMethodData { data?: any; supportedMethods: string | string[]; } export interface PaymentOptions { requestPayerEmail?: boolean; requestPayerName?: boolean; requestPayerPhone?: boolean; requestShipping?: boolean; shippingType?: string; } export interface PaymentRequestUpdateEventInit extends EventInit { } export interface PaymentShippingOption { amount: PaymentCurrencyAmount; id: string; label: string; selected?: boolean; } export interface Pbkdf2Params extends Algorithm { hash: HashAlgorithmIdentifier; iterations: number; salt: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; } export interface PerformanceObserverInit { buffered?: boolean; entryTypes?: string[]; type?: string; } export interface PeriodicWaveConstraints { disableNormalization?: boolean; } export interface PeriodicWaveOptions extends PeriodicWaveConstraints { imag?: number[] | Float32Array; real?: number[] | Float32Array; } export interface PermissionDescriptor { name: PermissionName; } export interface PipeOptions { preventAbort?: boolean; preventCancel?: boolean; preventClose?: boolean; signal?: AbortSignal; } export interface PointerEventInit extends MouseEventInit { height?: number; isPrimary?: boolean; pointerId?: number; pointerType?: string; pressure?: number; tangentialPressure?: number; tiltX?: number; tiltY?: number; twist?: number; width?: number; } export interface PopStateEventInit extends EventInit { state?: any; } export interface PositionOptions { enableHighAccuracy?: boolean; maximumAge?: number; timeout?: number; } export interface PostMessageOptions { transfer?: any[]; } export interface ProgressEventInit extends EventInit { lengthComputable?: boolean; loaded?: number; total?: number; } export interface PromiseRejectionEventInit extends EventInit { promise: Promise; reason?: any; } export interface PropertyIndexedKeyframes { composite?: CompositeOperationOrAuto | CompositeOperationOrAuto[]; easing?: string | string[]; offset?: number | (number | null)[]; [property: string]: string | string[] | number | null | (number | null)[] | undefined; } export interface PublicKeyCredentialCreationOptions { attestation?: AttestationConveyancePreference; authenticatorSelection?: AuthenticatorSelectionCriteria; challenge: BufferSource; excludeCredentials?: PublicKeyCredentialDescriptor[]; extensions?: AuthenticationExtensionsClientInputs; pubKeyCredParams: PublicKeyCredentialParameters[]; rp: PublicKeyCredentialRpEntity; timeout?: number; user: PublicKeyCredentialUserEntity; } export interface PublicKeyCredentialDescriptor { id: BufferSource; transports?: AuthenticatorTransport[]; type: PublicKeyCredentialType; } export interface PublicKeyCredentialEntity { icon?: string; name: string; } export interface PublicKeyCredentialParameters { alg: COSEAlgorithmIdentifier; type: PublicKeyCredentialType; } export interface PublicKeyCredentialRequestOptions { allowCredentials?: PublicKeyCredentialDescriptor[]; challenge: BufferSource; extensions?: AuthenticationExtensionsClientInputs; rpId?: string; timeout?: number; userVerification?: UserVerificationRequirement; } export interface PublicKeyCredentialRpEntity extends PublicKeyCredentialEntity { id?: string; } export interface PublicKeyCredentialUserEntity extends PublicKeyCredentialEntity { displayName: string; id: BufferSource; } export interface PushPermissionDescriptor extends PermissionDescriptor { name: "push"; userVisibleOnly?: boolean; } export interface PushSubscriptionJSON { endpoint?: string; expirationTime?: number | null; keys?: Record; } export interface PushSubscriptionOptionsInit { applicationServerKey?: BufferSource | string | null; userVisibleOnly?: boolean; } export interface QueuingStrategy { highWaterMark?: number; size?: QueuingStrategySizeCallback; } export interface RTCAnswerOptions extends RTCOfferAnswerOptions { } export interface RTCCertificateExpiration { expires?: number; } export interface RTCConfiguration { bundlePolicy?: RTCBundlePolicy; certificates?: RTCCertificate[]; iceCandidatePoolSize?: number; iceServers?: RTCIceServer[]; iceTransportPolicy?: RTCIceTransportPolicy; peerIdentity?: string; rtcpMuxPolicy?: RTCRtcpMuxPolicy; } export interface RTCDTMFToneChangeEventInit extends EventInit { tone: string; } export interface RTCDataChannelEventInit extends EventInit { channel: RTCDataChannel; } export interface RTCDataChannelInit { id?: number; maxPacketLifeTime?: number; maxRetransmits?: number; negotiated?: boolean; ordered?: boolean; priority?: RTCPriorityType; protocol?: string; } export interface RTCDtlsFingerprint { algorithm?: string; value?: string; } export interface RTCDtlsParameters { fingerprints?: RTCDtlsFingerprint[]; role?: RTCDtlsRole; } export interface RTCErrorEventInit extends EventInit { error: RTCError; } export interface RTCErrorInit { errorDetail: RTCErrorDetailType; httpRequestStatusCode?: number; receivedAlert?: number; sctpCauseCode?: number; sdpLineNumber?: number; sentAlert?: number; } export interface RTCIceCandidateAttributes extends RTCStats { addressSourceUrl?: string; candidateType?: RTCStatsIceCandidateType; ipAddress?: string; portNumber?: number; priority?: number; transport?: string; } export interface RTCIceCandidateComplete { } export interface RTCIceCandidateDictionary { foundation?: string; ip?: string; msMTurnSessionId?: string; port?: number; priority?: number; protocol?: RTCIceProtocol; relatedAddress?: string; relatedPort?: number; tcpType?: RTCIceTcpCandidateType; type?: RTCIceCandidateType; } export interface RTCIceCandidateInit { candidate?: string; sdpMLineIndex?: number | null; sdpMid?: string | null; usernameFragment?: string | null; } export interface RTCIceCandidatePair { local?: RTCIceCandidate; remote?: RTCIceCandidate; } export 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; } export interface RTCIceGatherOptions { gatherPolicy?: RTCIceGatherPolicy; iceservers?: RTCIceServer[]; } export interface RTCIceParameters { password?: string; usernameFragment?: string; } export interface RTCIceServer { credential?: string | RTCOAuthCredential; credentialType?: RTCIceCredentialType; urls: string | string[]; username?: string; } export interface RTCIdentityProviderOptions { peerIdentity?: string; protocol?: string; usernameHint?: string; } export interface RTCInboundRTPStreamStats extends RTCRTPStreamStats { bytesReceived?: number; fractionLost?: number; jitter?: number; packetsLost?: number; packetsReceived?: number; } export 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; } export interface RTCOAuthCredential { accessToken: string; macKey: string; } export interface RTCOfferAnswerOptions { voiceActivityDetection?: boolean; } export interface RTCOfferOptions extends RTCOfferAnswerOptions { iceRestart?: boolean; offerToReceiveAudio?: boolean; offerToReceiveVideo?: boolean; } export interface RTCOutboundRTPStreamStats extends RTCRTPStreamStats { bytesSent?: number; packetsSent?: number; roundTripTime?: number; targetBitrate?: number; } export interface RTCPeerConnectionIceErrorEventInit extends EventInit { errorCode: number; hostCandidate?: string; statusText?: string; url?: string; } export interface RTCPeerConnectionIceEventInit extends EventInit { candidate?: RTCIceCandidate | null; url?: string | null; } export 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; } export interface RTCRtcpFeedback { parameter?: string; type?: string; } export interface RTCRtcpParameters { cname?: string; reducedSize?: boolean; } export interface RTCRtpCapabilities { codecs: RTCRtpCodecCapability[]; headerExtensions: RTCRtpHeaderExtensionCapability[]; } export interface RTCRtpCodecCapability { channels?: number; clockRate: number; mimeType: string; sdpFmtpLine?: string; } export interface RTCRtpCodecParameters { channels?: number; clockRate: number; mimeType: string; payloadType: number; sdpFmtpLine?: string; } export interface RTCRtpCodingParameters { rid?: string; } export interface RTCRtpContributingSource { audioLevel?: number; rtpTimestamp: number; source: number; timestamp: number; } export interface RTCRtpDecodingParameters extends RTCRtpCodingParameters { } export interface RTCRtpEncodingParameters extends RTCRtpCodingParameters { active?: boolean; codecPayloadType?: number; dtx?: RTCDtxStatus; maxBitrate?: number; maxFramerate?: number; ptime?: number; scaleResolutionDownBy?: number; } export interface RTCRtpFecParameters { mechanism?: string; ssrc?: number; } export interface RTCRtpHeaderExtension { kind?: string; preferredEncrypt?: boolean; preferredId?: number; uri?: string; } export interface RTCRtpHeaderExtensionCapability { uri?: string; } export interface RTCRtpHeaderExtensionParameters { encrypted?: boolean; id: number; uri: string; } export interface RTCRtpParameters { codecs: RTCRtpCodecParameters[]; headerExtensions: RTCRtpHeaderExtensionParameters[]; rtcp: RTCRtcpParameters; } export interface RTCRtpReceiveParameters extends RTCRtpParameters { encodings: RTCRtpDecodingParameters[]; } export interface RTCRtpRtxParameters { ssrc?: number; } export interface RTCRtpSendParameters extends RTCRtpParameters { degradationPreference?: RTCDegradationPreference; encodings: RTCRtpEncodingParameters[]; priority?: RTCPriorityType; transactionId: string; } export interface RTCRtpSynchronizationSource extends RTCRtpContributingSource { voiceActivityFlag?: boolean; } export interface RTCRtpTransceiverInit { direction?: RTCRtpTransceiverDirection; sendEncodings?: RTCRtpEncodingParameters[]; streams?: MediaStream[]; } export interface RTCRtpUnhandled { muxId?: string; payloadType?: number; ssrc?: number; } export interface RTCSessionDescriptionInit { sdp?: string; type?: RTCSdpType; } export interface RTCSrtpKeyParam { keyMethod?: string; keySalt?: string; lifetime?: string; mkiLength?: number; mkiValue?: number; } export interface RTCSrtpSdesParameters { cryptoSuite?: string; keyParams?: RTCSrtpKeyParam[]; sessionParams?: string[]; tag?: number; } export interface RTCSsrcRange { max?: number; min?: number; } export interface RTCStats { id: string; timestamp: number; type: RTCStatsType; } export interface RTCStatsEventInit extends EventInit { report: RTCStatsReport; } export interface RTCStatsReport { } export interface RTCTrackEventInit extends EventInit { receiver: RTCRtpReceiver; streams?: MediaStream[]; track: MediaStreamTrack; transceiver: RTCRtpTransceiver; } export interface RTCTransportStats extends RTCStats { activeConnection?: boolean; bytesReceived?: number; bytesSent?: number; localCertificateId?: string; remoteCertificateId?: string; rtcpTransportStatsId?: string; selectedCandidatePairId?: string; } export interface ReadableStreamReadDoneResult { done: true; value?: T; } export interface ReadableStreamReadValueResult { done: false; value: T; } export interface RegistrationOptions { scope?: string; type?: WorkerType; updateViaCache?: ServiceWorkerUpdateViaCache; } export interface RequestInit { /** * A BodyInit object or null to set request's body. */ body?: BodyInit | null; /** * A string indicating how the request will interact with the browser's cache to set request's cache. */ cache?: RequestCache; /** * A string indicating whether credentials will be sent with the request always, never, or only when sent to a same-origin URL. Sets request's credentials. */ credentials?: RequestCredentials; /** * A Headers object, an object literal, or an array of two-item arrays to set request's headers. */ headers?: HeadersInit; /** * A cryptographic hash of the resource to be fetched by request. Sets request's integrity. */ integrity?: string; /** * A boolean to set request's keepalive. */ keepalive?: boolean; /** * A string to set request's method. */ method?: string; /** * A string to indicate whether the request will use CORS, or will be restricted to same-origin URLs. Sets request's mode. */ mode?: RequestMode; /** * A string indicating whether request follows redirects, results in an error upon encountering a redirect, or returns the redirect (in an opaque fashion). Sets request's redirect. */ redirect?: RequestRedirect; /** * A string whose value is a same-origin URL, "about:client", or the empty string, to set request's referrer. */ referrer?: string; /** * A referrer policy to set request's referrerPolicy. */ referrerPolicy?: ReferrerPolicy; /** * An AbortSignal to set request's signal. */ signal?: AbortSignal | null; /** * Can only be null. Used to disassociate request from any Window. */ window?: any; } export interface ResponseInit { headers?: HeadersInit; status?: number; statusText?: string; } export interface RsaHashedImportParams extends Algorithm { hash: HashAlgorithmIdentifier; } export interface RsaHashedKeyAlgorithm extends RsaKeyAlgorithm { hash: KeyAlgorithm; } export interface RsaHashedKeyGenParams extends RsaKeyGenParams { hash: HashAlgorithmIdentifier; } export interface RsaKeyAlgorithm extends KeyAlgorithm { modulusLength: number; publicExponent: BigInteger; } export interface RsaKeyGenParams extends Algorithm { modulusLength: number; publicExponent: BigInteger; } export interface RsaOaepParams extends Algorithm { label?: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; } export interface RsaOtherPrimesInfo { d?: string; r?: string; t?: string; } export interface RsaPssParams extends Algorithm { saltLength: number; } export interface SVGBoundingBoxOptions { clipped?: boolean; fill?: boolean; markers?: boolean; stroke?: boolean; } export interface ScopedCredentialDescriptor { id: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer | null; transports?: Transport[]; type: ScopedCredentialType; } export interface ScopedCredentialOptions { excludeList?: ScopedCredentialDescriptor[]; extensions?: WebAuthnExtensions; rpId?: string; timeoutSeconds?: number; } export interface ScopedCredentialParameters { algorithm: string | Algorithm; type: ScopedCredentialType; } export interface ScrollIntoViewOptions extends ScrollOptions { block?: ScrollLogicalPosition; inline?: ScrollLogicalPosition; } export interface ScrollOptions { behavior?: ScrollBehavior; } export interface ScrollToOptions extends ScrollOptions { left?: number; top?: number; } export interface SecurityPolicyViolationEventInit extends EventInit { blockedURI?: string; columnNumber?: number; documentURI?: string; effectiveDirective?: string; lineNumber?: number; originalPolicy?: string; referrer?: string; sourceFile?: string; statusCode?: number; violatedDirective?: string; } export interface ServiceWorkerMessageEventInit extends EventInit { data?: any; lastEventId?: string; origin?: string; ports?: MessagePort[] | null; source?: ServiceWorker | MessagePort | null; } export interface ShadowRootInit { delegatesFocus?: boolean; mode: ShadowRootMode; } export interface SpeechSynthesisErrorEventInit extends SpeechSynthesisEventInit { error: SpeechSynthesisErrorCode; } export interface SpeechSynthesisEventInit extends EventInit { charIndex?: number; charLength?: number; elapsedTime?: number; name?: string; utterance: SpeechSynthesisUtterance; } export interface StaticRangeInit { endContainer: Node; endOffset: number; startContainer: Node; startOffset: number; } export interface StereoPannerOptions extends AudioNodeOptions { pan?: number; } export interface StorageEstimate { quota?: number; usage?: number; } export interface StorageEventInit extends EventInit { key?: string | null; newValue?: string | null; oldValue?: string | null; storageArea?: Storage | null; url?: string; } export interface StoreExceptionsInformation extends ExceptionInformation { detailURI?: string | null; explanationString?: string | null; siteName?: string | null; } export interface StoreSiteSpecificExceptionsInformation extends StoreExceptionsInformation { arrayOfDomainStrings?: string[]; } export interface TextDecodeOptions { stream?: boolean; } export interface TextDecoderOptions { fatal?: boolean; ignoreBOM?: boolean; } export interface TextEncoderEncodeIntoResult { read?: number; written?: number; } export interface TouchEventInit extends EventModifierInit { changedTouches?: Touch[]; targetTouches?: Touch[]; touches?: Touch[]; } export interface TouchInit { altitudeAngle?: number; azimuthAngle?: number; clientX?: number; clientY?: number; force?: number; identifier: number; pageX?: number; pageY?: number; radiusX?: number; radiusY?: number; rotationAngle?: number; screenX?: number; screenY?: number; target: EventTarget; touchType?: TouchType; } export interface TrackEventInit extends EventInit { track?: VideoTrack | AudioTrack | TextTrack | null; } export interface Transformer { flush?: TransformStreamDefaultControllerCallback; readableType?: undefined; start?: TransformStreamDefaultControllerCallback; transform?: TransformStreamDefaultControllerTransformCallback; writableType?: undefined; } export interface TransitionEventInit extends EventInit { elapsedTime?: number; propertyName?: string; pseudoElement?: string; } export interface UIEventInit extends EventInit { detail?: number; view?: Window | null; } export interface ULongRange { max?: number; min?: number; } export interface UnderlyingByteSource { autoAllocateChunkSize?: number; cancel?: ReadableStreamErrorCallback; pull?: ReadableByteStreamControllerCallback; start?: ReadableByteStreamControllerCallback; type: "bytes"; } export interface UnderlyingSink { abort?: WritableStreamErrorCallback; close?: WritableStreamDefaultControllerCloseCallback; start?: WritableStreamDefaultControllerStartCallback; type?: undefined; write?: WritableStreamDefaultControllerWriteCallback; } export interface UnderlyingSource { cancel?: ReadableStreamErrorCallback; pull?: ReadableStreamDefaultControllerCallback; start?: ReadableStreamDefaultControllerCallback; type?: undefined; } export interface VRDisplayEventInit extends EventInit { display: VRDisplay; reason?: VRDisplayEventReason; } export interface VRLayer { leftBounds?: number[] | Float32Array | null; rightBounds?: number[] | Float32Array | null; source?: HTMLCanvasElement | null; } export interface VRStageParameters { sittingToStandingTransform?: Float32Array; sizeX?: number; sizeY?: number; } export interface WaveShaperOptions extends AudioNodeOptions { curve?: number[] | Float32Array; oversample?: OverSampleType; } export interface WebAuthnExtensions { } export interface WebGLContextAttributes { alpha?: boolean; antialias?: boolean; depth?: boolean; desynchronized?: boolean; failIfMajorPerformanceCaveat?: boolean; powerPreference?: WebGLPowerPreference; premultipliedAlpha?: boolean; preserveDrawingBuffer?: boolean; stencil?: boolean; } export interface WebGLContextEventInit extends EventInit { statusMessage?: string; } export interface WheelEventInit extends MouseEventInit { deltaMode?: number; deltaX?: number; deltaY?: number; deltaZ?: number; } export interface WorkerOptions { credentials?: RequestCredentials; name?: string; type?: WorkerType; } export interface WorkletOptions { credentials?: RequestCredentials; } export interface txAuthGenericArg { content: ArrayBuffer; contentType: string; } export interface EventListener { (evt: Event): void; } export declare type XPathNSResolver = ((prefix: string | null) => string | null) | { lookupNamespaceURI(prefix: string | null): string | null; }; /** The ANGLE_instanced_arrays extension is part of the WebGL API and allows to draw the same object, or groups of similar objects multiple times, if they share the same vertex data, primitive count and type. */ export interface ANGLE_instanced_arrays { drawArraysInstancedANGLE(mode: GLenum, first: GLint, count: GLsizei, primcount: GLsizei): void; drawElementsInstancedANGLE(mode: GLenum, count: GLsizei, type: GLenum, offset: GLintptr, primcount: GLsizei): void; vertexAttribDivisorANGLE(index: GLuint, divisor: GLuint): void; readonly VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE: GLenum; } /** A controller object that allows you to abort one or more DOM requests as and when desired. */ export interface AbortController { /** * Returns the AbortSignal object associated with this object. */ readonly signal: AbortSignal; /** * Invoking this method will set this object's AbortSignal's aborted flag and signal to any observers that the associated activity is to be aborted. */ abort(): void; } export interface AbortSignalEventMap { "abort": Event; } /** A signal object that allows you to communicate with a DOM request (such as a Fetch) and abort it if required via an AbortController object. */ export interface AbortSignal extends EventTarget { /** * Returns true if this AbortSignal's AbortController has signaled to abort, and false otherwise. */ readonly aborted: boolean; onabort: ((this: AbortSignal, ev: Event) => any) | null; addEventListener(type: K, listener: (this: AbortSignal, ev: AbortSignalEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: AbortSignal, ev: AbortSignalEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } export interface AbstractRange { /** * Returns true if range is collapsed, and false otherwise. */ readonly collapsed: boolean; /** * Returns range's end node. */ readonly endContainer: Node; /** * Returns range's end offset. */ readonly endOffset: number; /** * Returns range's start node. */ readonly startContainer: Node; /** * Returns range's start offset. */ readonly startOffset: number; } export interface AbstractWorkerEventMap { "error": ErrorEvent; } export interface AbstractWorker { onerror: ((this: AbstractWorker, ev: ErrorEvent) => any) | null; addEventListener(type: K, listener: (this: AbstractWorker, ev: AbstractWorkerEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: AbstractWorker, ev: AbstractWorkerEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } export interface AesCfbParams extends Algorithm { iv: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; } export interface AesCmacParams extends Algorithm { length: number; } /** A node able to provide real-time frequency and time-domain analysis information. It is an AudioNode that passes the audio stream unchanged from the input to the output, but allows you to take the generated data, process it, and create audio visualizations. */ export 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; } export interface Animatable { animate(keyframes: Keyframe[] | PropertyIndexedKeyframes | null, options?: number | KeyframeAnimationOptions): Animation; getAnimations(): Animation[]; } export interface AnimationEventMap { "cancel": AnimationPlaybackEvent; "finish": AnimationPlaybackEvent; } export interface Animation extends EventTarget { currentTime: number | null; effect: AnimationEffect | null; readonly finished: Promise; id: string; oncancel: ((this: Animation, ev: AnimationPlaybackEvent) => any) | null; onfinish: ((this: Animation, ev: AnimationPlaybackEvent) => any) | null; readonly pending: boolean; readonly playState: AnimationPlayState; playbackRate: number; readonly ready: Promise; startTime: number | null; timeline: AnimationTimeline | null; cancel(): void; finish(): void; pause(): void; play(): void; reverse(): void; updatePlaybackRate(playbackRate: number): void; addEventListener(type: K, listener: (this: Animation, ev: AnimationEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: Animation, ev: AnimationEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } export interface AnimationEffect { getComputedTiming(): ComputedEffectTiming; getTiming(): EffectTiming; updateTiming(timing?: OptionalEffectTiming): void; } /** Events providing information related to animations. */ export interface AnimationEvent extends Event { readonly animationName: string; readonly elapsedTime: number; readonly pseudoElement: string; } export interface AnimationFrameProvider { cancelAnimationFrame(handle: number): void; requestAnimationFrame(callback: FrameRequestCallback): number; } export interface AnimationPlaybackEvent extends Event { readonly currentTime: number | null; readonly timelineTime: number | null; } export interface AnimationTimeline { readonly currentTime: number | null; } export interface ApplicationCacheEventMap { "cached": Event; "checking": Event; "downloading": Event; "error": Event; "noupdate": Event; "obsolete": Event; "progress": ProgressEvent; "updateready": Event; } export interface ApplicationCache extends EventTarget { /** @deprecated */ oncached: ((this: ApplicationCache, ev: Event) => any) | null; /** @deprecated */ onchecking: ((this: ApplicationCache, ev: Event) => any) | null; /** @deprecated */ ondownloading: ((this: ApplicationCache, ev: Event) => any) | null; /** @deprecated */ onerror: ((this: ApplicationCache, ev: Event) => any) | null; /** @deprecated */ onnoupdate: ((this: ApplicationCache, ev: Event) => any) | null; /** @deprecated */ onobsolete: ((this: ApplicationCache, ev: Event) => any) | null; /** @deprecated */ onprogress: ((this: ApplicationCache, ev: ProgressEvent) => any) | null; /** @deprecated */ onupdateready: ((this: ApplicationCache, ev: Event) => any) | null; /** @deprecated */ readonly status: number; /** @deprecated */ abort(): void; /** @deprecated */ swapCache(): void; /** @deprecated */ update(): void; readonly CHECKING: number; readonly DOWNLOADING: number; readonly IDLE: number; readonly OBSOLETE: number; readonly UNCACHED: number; readonly UPDATEREADY: number; addEventListener(type: K, listener: (this: ApplicationCache, ev: ApplicationCacheEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: ApplicationCache, ev: ApplicationCacheEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } /** A DOM element's attribute as an object. In most DOM methods, you will probably directly retrieve the attribute as a string (e.g., Element.getAttribute(), but certain functions (e.g., Element.getAttributeNode()) or means of iterating give Attr types. */ export interface Attr extends Node { readonly localName: string; readonly name: string; readonly namespaceURI: string | null; readonly ownerElement: Element | null; readonly prefix: string | null; readonly specified: boolean; value: string; } /** A short audio asset residing in memory, created from an audio file using the AudioContext.decodeAudioData() method, or from raw data using AudioContext.createBuffer(). Once put into an AudioBuffer, the audio can then be played by being passed into an AudioBufferSourceNode. */ export interface AudioBuffer { readonly duration: number; readonly length: number; readonly numberOfChannels: number; readonly sampleRate: number; copyFromChannel(destination: Float32Array, channelNumber: number, bufferOffset?: number): void; copyToChannel(source: Float32Array, channelNumber: number, bufferOffset?: number): void; getChannelData(channel: number): Float32Array; } /** An AudioScheduledSourceNode which represents an audio source consisting of in-memory audio data, stored in an AudioBuffer. It's especially useful for playing back audio which has particularly stringent timing accuracy requirements, such as for sounds that must match a specific rhythm and can be kept in memory rather than being played from disk or the network. */ export interface AudioBufferSourceNode extends AudioScheduledSourceNode { buffer: AudioBuffer | null; readonly detune: AudioParam; loop: boolean; loopEnd: number; loopStart: number; readonly playbackRate: AudioParam; start(when?: number, offset?: number, duration?: number): void; addEventListener(type: K, listener: (this: AudioBufferSourceNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: AudioBufferSourceNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } /** An audio-processing graph built from audio modules linked together, each represented by an AudioNode. */ export interface AudioContext extends BaseAudioContext { readonly baseLatency: number; readonly outputLatency: number; close(): Promise; createMediaElementSource(mediaElement: HTMLMediaElement): MediaElementAudioSourceNode; createMediaStreamDestination(): MediaStreamAudioDestinationNode; createMediaStreamSource(mediaStream: MediaStream): MediaStreamAudioSourceNode; createMediaStreamTrackSource(mediaStreamTrack: MediaStreamTrack): MediaStreamTrackAudioSourceNode; getOutputTimestamp(): AudioTimestamp; resume(): Promise; suspend(): Promise; addEventListener(type: K, listener: (this: AudioContext, ev: BaseAudioContextEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: AudioContext, ev: BaseAudioContextEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } /** AudioDestinationNode has no output (as it is the output, no more AudioNode can be linked after it in the audio graph) and one input. The number of channels in the input must be between 0 and the maxChannelCount value or an exception is raised. */ export interface AudioDestinationNode extends AudioNode { readonly maxChannelCount: number; } /** The position and orientation of the unique person listening to the audio scene, and is used in audio spatialization. All PannerNodes spatialize in relation to the AudioListener stored in the BaseAudioContext.listener attribute. */ export interface AudioListener { readonly forwardX: AudioParam; readonly forwardY: AudioParam; readonly forwardZ: AudioParam; readonly positionX: AudioParam; readonly positionY: AudioParam; readonly positionZ: AudioParam; readonly upX: AudioParam; readonly upY: AudioParam; readonly upZ: AudioParam; /** @deprecated */ setOrientation(x: number, y: number, z: number, xUp: number, yUp: number, zUp: number): void; /** @deprecated */ setPosition(x: number, y: number, z: number): void; } /** A generic interface for representing an audio processing module. Examples include: */ export interface AudioNode extends EventTarget { channelCount: number; channelCountMode: ChannelCountMode; channelInterpretation: ChannelInterpretation; readonly context: BaseAudioContext; readonly numberOfInputs: number; readonly numberOfOutputs: number; connect(destinationNode: AudioNode, output?: number, input?: number): AudioNode; connect(destinationParam: AudioParam, output?: number): void; disconnect(): void; disconnect(output: number): void; disconnect(destinationNode: AudioNode): void; disconnect(destinationNode: AudioNode, output: number): void; disconnect(destinationNode: AudioNode, output: number, input: number): void; disconnect(destinationParam: AudioParam): void; disconnect(destinationParam: AudioParam, output: number): void; } /** The Web Audio API's AudioParam interface represents an audio-related parameter, usually a parameter of an AudioNode (such as GainNode.gain). */ export interface AudioParam { automationRate: AutomationRate; readonly defaultValue: number; readonly maxValue: number; readonly minValue: number; value: number; cancelAndHoldAtTime(cancelTime: number): AudioParam; cancelScheduledValues(cancelTime: 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: number[] | Float32Array, startTime: number, duration: number): AudioParam; } export interface AudioParamMap { forEach(callbackfn: (value: AudioParam, key: string, parent: AudioParamMap) => void, thisArg?: any): void; } /** The Web Audio API events that occur when a ScriptProcessorNode input buffer is ready to be processed. */ export interface AudioProcessingEvent extends Event { readonly inputBuffer: AudioBuffer; readonly outputBuffer: AudioBuffer; readonly playbackTime: number; } export interface AudioScheduledSourceNodeEventMap { "ended": Event; } export interface AudioScheduledSourceNode extends AudioNode { onended: ((this: AudioScheduledSourceNode, ev: Event) => any) | null; start(when?: number): void; stop(when?: number): void; addEventListener(type: K, listener: (this: AudioScheduledSourceNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: AudioScheduledSourceNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } /** A single audio track from one of the HTML media elements,