import { Observable } from "rxjs"; import { BaseMessage } from "../dependencies/fisappmessagejsutilty/dependencies/dependencies"; import { LogSetting, MessageLog } from "../dependencies/fisloggingservice/type/datatype"; type IncomingMessageSetting = LogSetting & { incomingObservable: Observable } // Incoming message Service Class export interface IncomingMessageServiceInterface { // Set default setting init(settings: IncomingMessageSetting): void; } // It can have an incoming and a target logging server. The tags are used to search for specific sets of messages from the logging server. export interface MessageSynchronisationServiceSetting { incomingSource: LogSettingwTags, target: LogSettingwTags } // Renew Structure To fix undefined issue at test3a.ts init() type LogSettingwTags = LogSetting & Tags interface Tags { tags: string[] } // Acknowledgement Service Class export interface MessageSynchronisationServiceInterface { // Set default setting init(settings: MessageSynchronisationServiceSetting): void; // Subscribe to trigger subscribe(obs: Observable): Promise>; }