import { SignalRUser } from "./SignalRUser";
import { OperationMessageDto } from "./OperationMessageDto";
import { OperationMessageHandler } from "./OperationMessageHandler";
import EventEmitter from "eventemitter3";
/**
 * Message utilities
 * 消息工具
 */
export declare namespace MessageUtils {
    /**
     * Event emitter
     */
    const eventEmitter: EventEmitter<string | symbol, any>;
    /**
     * Emit operation message
     * 发出操作信息
     * @param seed Refresh seed
     */
    function emitOperationMessage(user: SignalRUser | undefined, isSelf: boolean, message: OperationMessageDto): void;
    /**
     * Emit refresh
     * 发出刷新
     * @param user SignalR user
     * @param isSelf Is current user self
     * @param message Message
     */
    function emitRefresh(): void;
    /**
     * Add operation event listener
     * 添加操作事件监控器
     * @param handler Handler
     */
    function onOperationMessage(handler: OperationMessageHandler): void;
    /**
     * Add refresh event listener
     * 添加事件事件监控器
     * @param handler Handler
     */
    function onRefresh(handler: OperationMessageHandler): void;
    /**
     * Remove operation event listener
     * 移除操作事件监控器
     * @param handler Handler
     */
    function offOperationMessage(handler: OperationMessageHandler): void;
    /**
     * Remove refresh event listener
     * 移除刷新事件监控器
     * @param handler Handler
     */
    function offRefresh(handler: OperationMessageHandler): void;
}
