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<ChatMessageRequest, "timestamp">;
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<TMsg> = FC<{
    readonly msg: TMsg;
    ctx: MessageMiddlewareContext;
}>;
export type MessageMiddleware = FC<MessageMiddlewareProps>;
export type MessageMiddlewareBuilder = (next: MessageMiddleware) => MessageMiddleware;
