import { JDServiceServer } from "../jdom/servers/serviceserver"; export declare const ADVERTISE = "advertise"; export declare const SUBSCRIBE = "subscribe"; export declare const PUBLISH = "publish"; export declare const RosReportMessage = 131; /** * Emitted with SUBSCRIBE on new subscription */ export interface RosSubscription { node: string; topic: string; } /** * Emitted with PUBLISH when receiving a publish message command */ export interface RosMessage { node: string; topic: string; message: any; messageSource?: string; } /** * A thin ROS server implementation. * * Maintains a list of subscription for message and raises event on publishing and subscriptions. */ export declare class RosServer extends JDServiceServer { private _subscriptions; private _messages; maxMessages: number; constructor(); private handleSubscribeMessage; /** * Clears all subscriptions */ clear(): void; /** * Gets the list of subscription handled by this node */ get subscriptions(): string[]; /** * Gets the latest messages */ get messages(): RosMessage[]; /** * Publishes a message on the bus if any subscription is active. * @param node source node for the message * @param topic topic of the message * @param message JSON data payload; that will be converted to string */ publishMessage(node: string, topic: string, message: any): Promise; private pushMessage; private handlePublishMessage; } //# sourceMappingURL=rosserver.d.ts.map