/**
 * Binary protocol constants shared between the Node.js stream server
 * and the browser client (desktop.html).
 *
 * All message frames start with a 1-byte type identifier.
 */
// ---------------------------------------------------------------------------
// Server → Browser (S2C)
// ---------------------------------------------------------------------------
/** H.264 video frame: [1B flags] [NAL data] */
export const MSG_S2C_VIDEO = 0x01;
/** Reserved — future cursor position updates */
export const _MSG_S2C_CURSOR = 0x02;
/** JSON-encoded ScreenInfo[]: display geometry */
export const MSG_S2C_SCREEN_INFO = 0x03;
/** UTF-8 clipboard text fetched from the remote machine */
export const MSG_S2C_CLIPBOARD = 0x04;
// ---------------------------------------------------------------------------
// Browser → Server (C2S)
// ---------------------------------------------------------------------------
/** Pointer event: [1B mask] [2B x BE] [2B y BE] */
export const MSG_C2S_POINTER = 0x01;
/** Key event: [1B down] [4B keysym BE] */
export const MSG_C2S_KEY = 0x02;
/** Config JSON forwarded to screen-streamer stdin */
export const MSG_C2S_CONFIG = 0x03;
/** Switch display: [4B displayId BE] */
export const MSG_C2S_SWITCH = 0x04;
/** Request remote clipboard contents */
export const MSG_C2S_CLIPBOARD_GET = 0x05;
/** Send text to remote clipboard: [UTF-8 text] */
export const MSG_C2S_CLIPBOARD_SET = 0x06;
/** Trigger a macOS system action: [UTF-8 action name] */
export const MSG_C2S_ACTION = 0x07;
// ---------------------------------------------------------------------------
// Streamer binary framing
// ---------------------------------------------------------------------------
/** Magic bytes at the start of the screen-streamer output stream. */
export const STREAMER_MAGIC = "RDSM";
//# sourceMappingURL=protocol.js.map