import { DigitalChannelMode } from "@wpilib/wpilib-ws-robot"; import CustomDevice, { IOInterfaces, RobotHardwareInterfaces } from "../custom-device"; export declare enum ExampleDevicePortModes { DIO = "DIO", ANALOG_IN = "ANALOG_IN", PWM = "PWM" } export interface ExampleDeviceConfig { portConfigs: ExampleDevicePortModes[]; } export default class ExampleCustomDevice extends CustomDevice { private _config; private _numDIO; private _numAnalogIn; private _numPWM; private _dioChannels; private _ainChannels; private _pwmChannels; private _dioValue; private _ainValue; private _ainDelta; private _lastUpdateTimeMs; constructor(robotHW: RobotHardwareInterfaces, config: ExampleDeviceConfig); get ioInterfaces(): IOInterfaces; update(): void; private _setup; setDigitalChannelMode(channel: number, mode: DigitalChannelMode): void; setDIOValue(channel: number, value: boolean): void; setPWMValue(channel: number, value: number): void; getAnalogInVoltage(channel: number): Promise; getDigitalInValue(channel: number): Promise; }