import type { USBDriver } from "../USBDriver"; import type { SendCallback } from "../ant"; import { EventEmitter } from "../lib/EventEmitter"; export type AttachProps = { channel: number; deviceID: number; type?: string; deviceType?: number; transmissionType?: number; timeout?: number; period?: number; }; export declare abstract class BaseSensor extends EventEmitter { stick: USBDriver; channel: number | undefined; deviceID: number | undefined; transmissionType: number | undefined; private msgQueue; protected decodeDataCbk: ((data: DataView) => void) | undefined; protected statusCbk: ((status: { msg: number; code: number; }) => Promise) | undefined; protected abstract updateState(deviceId: number, data: DataView): void; constructor(stick: USBDriver); protected scan(type: string, frequency: number): Promise; protected attach(props: AttachProps & { frequency: number; }): Promise; detach(): Promise; protected write(data: DataView): Promise; private handleEventMessages; protected send(data: DataView, cbk?: SendCallback): Promise; }