import type { ConnectEvent, ControlLine, DataEvent, ErrorEvent, FlowControl, OpenOptions, PortFilter, PortId, PortPickerLabels, SerialTransport, Subscription } from './transport'; export type { ConnectEvent, ControlLine, DataEvent, ErrorEvent, FlowControl, OpenOptions, PortFilter, PortId, PortPickerLabels, SerialTransport, } from './transport'; export { DataBits, Parity, StopBits } from './transport'; export declare class UsbSerialModule implements SerialTransport { private readonly native; private readonly emitter; constructor(); findAllDrivers(): Promise>; showPortPicker(filter: Readonly, labels?: PortPickerLabels): Promise; requestPermission(deviceId: number): Promise; open(deviceId: number, portNumber: number, options: OpenOptions): Promise; close(deviceId: number, portNumber: number): Promise; isOpen(deviceId: number, portNumber: number): boolean; write(deviceId: number, portNumber: number, data: number[], timeout?: number): Promise; startReading(deviceId: number, portNumber: number): Promise; stopReading(deviceId: number, portNumber: number): Promise; setParameters(deviceId: number, portNumber: number, options: OpenOptions): Promise; setDTR(deviceId: number, portNumber: number, value: boolean): Promise; setRTS(deviceId: number, portNumber: number, value: boolean): Promise; getDTR(deviceId: number, portNumber: number): Promise; getRTS(deviceId: number, portNumber: number): Promise; getCD(deviceId: number, portNumber: number): Promise; getCTS(deviceId: number, portNumber: number): Promise; getDSR(deviceId: number, portNumber: number): Promise; getRI(deviceId: number, portNumber: number): Promise; getControlLines(deviceId: number, portNumber: number): Promise; getSupportedControlLines(deviceId: number, portNumber: number): Promise; setFlowControl(deviceId: number, portNumber: number, flowControl: FlowControl): Promise; getFlowControl(deviceId: number, portNumber: number): Promise; getSupportedFlowControl(deviceId: number, portNumber: number): Promise; setBreak(deviceId: number, portNumber: number, value: boolean): Promise; purgeHwBuffers(deviceId: number, portNumber: number, purgeWriteBuffers: boolean, purgeReadBuffers: boolean): Promise; getSerial(deviceId: number, portNumber: number): Promise; onData(listener: (event: DataEvent) => void): Subscription; onError(listener: (event: ErrorEvent) => void): Subscription; onConnect(listener: (event: ConnectEvent) => void): Subscription; onDisconnect(listener: (event: ConnectEvent) => void): Subscription; } /** * Resolve the active serial transport. Returns the override set via * {@link setUsbSerial} if present (used by tests and by the example's on-device * "virtual device" mode); otherwise lazily constructs the real native-backed * {@link UsbSerialModule}. */ export declare function getUsbSerial(): SerialTransport; /** * Override the transport returned by {@link getUsbSerial}. Pass a * {@link SerialTransport} (e.g. an `InMemorySerialTransport`) to make the * singleton `serial` instance — and any `new Serial()` created without an * explicit transport — talk to it instead of real hardware. Pass `null` to * clear the override. * * Inject before the first `getPorts()` / `requestPort()` / `addEventListener()` * call so the lazy initialisation in `Serial` picks it up. */ export declare function setUsbSerial(transport: SerialTransport | null): void; /** Clear any override and drop the cached native instance (test teardown). */ export declare function resetUsbSerial(): void; //# sourceMappingURL=UsbSerial.d.ts.map