import type { Message, PeerId, PeerMetadata } from "@automerge/automerge-repo/slim"; import type { ProtocolVersion } from "./protocolVersion.js"; /** Sent by the client to the server to tell the server the clients PeerID */ export type JoinMessage = { type: "join"; /** The PeerID of the client */ senderId: PeerId; /** Metadata presented by the peer */ peerMetadata: PeerMetadata; /** The protocol version the client supports */ supportedProtocolVersions: ProtocolVersion[]; }; /** Sent by the server in response to a "join" message to advertise the servers PeerID */ export type PeerMessage = { type: "peer"; /** The PeerID of the server */ senderId: PeerId; /** Metadata presented by the peer */ peerMetadata: PeerMetadata; /** The protocol version the server selected for this connection */ selectedProtocolVersion: ProtocolVersion; /** The PeerID of the client */ targetId: PeerId; }; /** An error occurred. The other end will terminate the connection after sending this message */ export type ErrorMessage = { type: "error"; /** The peer sending the message */ senderId: PeerId; /** A description of the error*/ message: string; /** The PeerID of the client */ targetId: PeerId; }; /** A message from the client to the server */ export type FromClientMessage = JoinMessage | Message; /** A message from the server to the client */ export type FromServerMessage = PeerMessage | ErrorMessage | Message; export declare const isJoinMessage: (message: FromClientMessage) => message is JoinMessage; export declare const isPeerMessage: (message: FromServerMessage) => message is PeerMessage; export declare const isErrorMessage: (message: FromServerMessage) => message is ErrorMessage; //# sourceMappingURL=messages.d.ts.map