import { KeyboardController } from './KeyboardController'; import { MouseController } from './MouseController'; import { GamepadController } from './GamepadController'; import { Config, ControlSchemeType } from '../Config/Config'; import { InputCoordTranslator } from '../Util/InputCoordTranslator'; import { StreamMessageController } from '../UeInstanceMessage/StreamMessageController'; import { VideoPlayer } from '../VideoPlayer/VideoPlayer'; import { IInputController } from './IInputController'; /** * Class for making and setting up input class types */ export declare class InputClassesFactory { toStreamerMessagesProvider: StreamMessageController; videoElementProvider: VideoPlayer; coordinateConverter: InputCoordTranslator; activeKeys: ActiveKeys; /** * @param toStreamerMessagesProvider - Stream message instance * @param videoElementProvider - Video Player instance * @param coordinateConverter - A coordinateConverter instance */ constructor(toStreamerMessagesProvider: StreamMessageController, videoElementProvider: VideoPlayer, coordinateConverter: InputCoordTranslator); /** * Registers browser key events. */ registerKeyBoard(config: Config): KeyboardController; /** * register mouse events based on a control type * @param controlScheme - if the mouse is either hovering or locked */ registerMouse(controlScheme: ControlSchemeType, config: Config): MouseController; /** * register touch events * @param fakeMouseTouch - the faked mouse touch event */ registerTouch(fakeMouseTouch: boolean): IInputController; /** * registers a gamepad */ registerGamePad(): GamepadController; } /** * A class that keeps track of current active keys */ export declare class ActiveKeys { activeKeys: Array; constructor(); /** * Get the current array of active keys * @returns - an array of active keys */ getActiveKeys(): number[]; }