import { Event } from 'microevent.ts'; import DigitalJoystickInterface from '../../machine/io/DigitalJoystickInterface'; import SwitchInterface from '../../machine/io/SwitchInterface'; import { Target, Mapping } from './gamepad/Mapping'; export declare const joystickTargets: Array; export declare type AuxTarget = Target.start | Target.select | Target.pause; export declare const auxTargets: Array; export default class GamepadDriver { constructor(); static probeGamepadCount(): number; init(): void; deinit(): void; bind(joysticks?: Array, auxSwitches?: Partial>): void; unbind(): void; getGamepadCount(): number; setMapping(mapping: Array, id?: string): void; clearMapping(id: string): void; poll(): void; private static _onBeforeSwitchRead; private probeGamepads; private _getSwitchForTarget; private _controlledSwitches; private _readGamepads; private _onGamepadConnect; private _onGamepadDisconnect; gamepadCountChanged: Event; private _shadows; private _mappings; private _mappingStates; private _mappingTargets; private _bound; private _joysticks; private _auxSwitches; private _gamepadCount; private _lastPoll; }