import { Observable, Subject } from "rxjs"; import { AdaptorTransmissionRole, ReceiverProfile, TransmitterProfile } from "./connector.interface"; export interface FisAppActor { incomingMessageBus: Subject outgoingMessageBus: Subject send(message: any): Observable emit(message: any): void emitStream(message: any): void subscribeMessages(messageFilter: any): Observable } export interface MessageTransmissionManager { // what the hell is this here for } export interface MessageTransmissionBase extends FisAppActor { transmitterProfile: TransmitterProfile receiverProfile: ReceiverProfile msgRepositoryService: any transmissionRole: AdaptorTransmissionRole adaptorsArray: any[] transmissionService: any adapterService: any setTransmitter(transmitterProfile: TransmitterProfile): void setReceiver(receiverProfile: ReceiverProfile): Promise } export interface MsgReceiver extends MessageTransmissionBase { } export interface MsgTransmitter extends MessageTransmissionBase { } export interface MsgRequestResponse extends MessageTransmissionBase, MsgReceiver { } export interface FisMessage { header: { messageID: string, messageName: `NotificationMessage` | `ResponseMessage` | `RequestMessage` }, data: any }