import { Momentary, Dpad, DpadParams, Mute, Unisense, UnisenseParams, Touchpad, Gyroscope, GyroscopeParams, Accelerometer, AccelerometerParams } from "./elements"; import { Input, InputParams } from "./input"; import { DualsenseHID } from "./hid"; import { Intensity } from "./math"; /** Settings for your Dualsense controller and each of its inputs */ export interface DualsenseParams extends InputParams { /** Sets the source for HID events. Default: decide automatically */ hid?: DualsenseHID | null; /** Settings for the Playstation button */ ps?: InputParams; /** Settings for the mute button */ mute?: InputParams; /** Settings for the options button */ options?: InputParams; /** Settings for the create button */ create?: InputParams; /** Settings for the triangle button */ triangle?: InputParams; /** Settings for the circle button */ circle?: InputParams; /** Settings for the cross button */ cross?: InputParams; /** Settings for the square button */ square?: InputParams; /** Settings for the dpad buttons */ dpad?: DpadParams; /** Settings for inputs on the left half of the controller */ left?: UnisenseParams; /** Settings for inputs on the right side of the controller */ right?: UnisenseParams; /** Settings for the touchpad inputs */ touchpad?: InputParams; /** Settings for the gyroscope */ gyroscope?: GyroscopeParams; /** Settings for the accelerometer */ accelerometer?: AccelerometerParams; } /** Represents a Dualsense controller */ export declare class Dualsense extends Input { readonly state: Dualsense; /** The Playstation button */ readonly ps: Momentary; /** The mute button and status light */ readonly mute: Mute; /** The options button */ readonly options: Momentary; /** The create button */ readonly create: Momentary; /** The triangle button */ readonly triangle: Momentary; /** The circle button */ readonly circle: Momentary; /** The cross, or X button */ readonly cross: Momentary; /** The square button */ readonly square: Momentary; /** The up/down/left/right dpad buttons */ readonly dpad: Dpad; /** Inputs on the left half of the controller */ readonly left: Unisense; /** Inputs on the right half of the controller */ readonly right: Unisense; /** The touchpad; works like a pair of analog sticks */ readonly touchpad: Touchpad; /** Tracks the controller's angular velocity */ readonly gyroscope: Gyroscope; /** Tracks the controller's linear acceleration */ readonly accelerometer: Accelerometer; /** Represents the underlying HID device. Provides input events */ readonly hid: DualsenseHID; /** A virtual button representing whether or not a controller is connected */ readonly connection: Momentary; get active(): boolean; constructor(params?: DualsenseParams); private get rumbleIntensity(); /** Check or adjust rumble intensity evenly across both sides of the controller */ rumble(intensity?: Intensity): number; /** Distributes HID event values to the controller's inputs */ private processHID; } //# sourceMappingURL=dualsense.d.ts.map