import { Observable, OperatorFunction } from 'rxjs'; import type { Connection } from './connection'; import type { RunningState } from './running-state'; export declare class Helper { private static userInteractionEventEnable$; /** * @description pointer release status: if less than 0, user released pointer outside target element */ static pointerReleaseStatus: number; static enableUserInteraction(): void; static disableUserInteraction(): void; /** * @description make target inputable * @param target the video element */ static enhanceKeyboardInput(target: HTMLVideoElement): void; /** * @deprecated use `createPointerStream` instead * @description create default stream for basic interaction, transform to ArrayBuffer from the event-adapter definition * @param target the video element * @param runningInfo RunningState instance * @returns default event stream from the target, replace any stream you need before subscribe */ static createDefaultEventStream(target: HTMLVideoElement, runningInfo: RunningState): { wheelStream: Observable; mouseupStream: Observable; mousedownStream: Observable; mousemoveStream: Observable; zoomStream: Observable; startBufferStream: Observable; moveBufferStream: Observable; endBufferStream: Observable; leaveStream: Observable; }; static detectDocumentPointerup(connection: Connection, takeUntilWhat: OperatorFunction): void; /** * @description create pointer event stream for mouse/touch interaction, transform to ArrayBuffer by the event-adapter definition * @param target the video element * @param runningInfo RunningState instance * @param mouseOnly filter pointer event to mouse event * @returns pointer event stream, with compatibility mouse events */ static createPointerStream(target: HTMLVideoElement, runningInfo: RunningState, mouseOnly?: boolean): { downStream: Observable; upStream: Observable; moveStream: Observable; stickEdgeStream: Observable; compatibilityStream: Observable; wheelStream: Observable; }; static createGamepadStream(): Observable; /** * @deprecated use ClipboardSyncManager instead */ static createClipboardStream(target: HTMLVideoElement): Observable; /** * @description create default stream for keyboard */ static createKeyboardStream(target: HTMLVideoElement, filterKeys?: string[]): { keydownStream: Observable; keyupStream: Observable; }; static createMobileTouchStream(target: HTMLVideoElement, runningInfo: RunningState): Observable; static createMobileKeyboardStream(target: HTMLVideoElement, runningInfo: RunningState): Observable; static createUeMultiTouchStream(target: HTMLVideoElement, runningInfo: RunningState): Observable; static createWinTouchStream(target: HTMLVideoElement, runningInfo: RunningState): Observable; static attachMobileListener(target: HTMLVideoElement, runningInfo: RunningState, connection: Connection, { enableClipboard, }?: { enableClipboard?: boolean; }): import("rxjs").Subscription; /** * @description the default behavior for consuming the event stream */ static attachListener(target: HTMLVideoElement, runningInfo: RunningState, connection: Connection, { enableClipboard, enableGamepad, filterKeys, enableKeyBoard, usePointerEvent, enableWinTouch, }?: { enableGamepad?: boolean; enableClipboard?: boolean; filterKeys?: string[]; enableKeyBoard?: boolean; usePointerEvent?: boolean; enableWinTouch?: boolean; }): import("rxjs").Subscription; /** * @description the UE behavior for consuming the event stream */ static attachUEListener(target: HTMLVideoElement, runningInfo: RunningState, connection: Connection, { enableTouchInteraction, enableZoomInteraction, }?: { enableTouchInteraction?: boolean; enableZoomInteraction?: boolean; }): import("rxjs").Subscription; }