import 'rollup-plugin-inject-process-env'; import { ChatUserInfo } from "@xapp/stentor-chat-widget"; import { FC } from "react"; import { Display } from "stentor-models"; import { ChatMessageRequest } from "../xapp/ChatServerMessage"; import { OpenUrlCallback } from "../hooks/useOpenUrlCallback"; export type MessageMiddlewareSendMessage = Omit; export interface MessageMiddlewareContext { readonly user: ChatUserInfo; send(msg: MessageMiddlewareSendMessage): void; write(msg: MessageMiddlewareSendMessage): void; openUrl: OpenUrlCallback; } export interface MessageMiddlewareProps { readonly msg: Display; readonly ctx: MessageMiddlewareContext; } export type MessageMiddlewareFC = FC<{ readonly msg: TMsg; ctx: MessageMiddlewareContext; }>; export type MessageMiddleware = FC; export type MessageMiddlewareBuilder = (next: MessageMiddleware) => MessageMiddleware;