import { ComProtocol, ComProtocolConnectOptions, ComProtocolOptions, ComProtocolSendOptions, ConnectionState, ConnectionStateChangeEvent } from '@iotize/tap/protocol/api'; import { Observable, Subject } from 'rxjs'; export declare abstract class AbstractComProtocol implements ComProtocol { _connectionStateChange?: Subject; protected connectionState: ConnectionState; protected _options: ComProtocolOptions; get options(): ComProtocolOptions; set options(options: ComProtocolOptions); abstract write(data: Uint8Array): Promise; abstract read(): Promise; abstract connect(options?: ComProtocolConnectOptions): Observable; abstract disconnect(options?: ComProtocolConnectOptions): Observable; abstract send(data: Uint8Array, options?: ComProtocolSendOptions): Observable; constructor(); getConnectionState(): ConnectionState; isConnected(): boolean; setConnectionState(connectionState: ConnectionState): this; /** * Must be implemented in childs */ receiveStream(): Observable; onConnectionStateChange(): Observable; }