import { Observable } from "../Misc/observable"; import type { Nullable } from "../types"; import type { Scene } from "../scene"; import { Gamepad } from "./gamepad"; /** * Manager for handling gamepads */ export declare class GamepadManager { private _scene?; private _babylonGamepads; private _oneGamepadConnected; /** @internal */ _isMonitoring: boolean; private _gamepadEventSupported; private _gamepadSupport?; /** * observable to be triggered when the gamepad controller has been connected */ onGamepadConnectedObservable: Observable; /** * observable to be triggered when the gamepad controller has been disconnected */ onGamepadDisconnectedObservable: Observable; private _onGamepadConnectedEvent; private _onGamepadDisconnectedEvent; /** * Initializes the gamepad manager * @param _scene BabylonJS scene */ constructor(_scene?: Scene | undefined); /** * The gamepads in the game pad manager */ get gamepads(): Gamepad[]; /** * Get the gamepad controllers based on type * @param type The type of gamepad controller * @returns Nullable gamepad */ getGamepadByType(type?: number): Nullable; /** * Disposes the gamepad manager */ dispose(): void; private _addNewGamepad; private _startMonitoringGamepads; private _stopMonitoringGamepads; private _loggedErrors; /** @internal */ _checkGamepadsStatus(): void; private _updateGamepadObjects; }