import { z } from "zod"; /** * The version number of the matchmaking protocol. * This number is incremented whenever a backwards-incompatible change is made. */ export declare const PROTOCOL_VERSION = 1; /** The types of signaling messages one peer can send to another. */ export declare const MessageType: z.ZodUnion<[z.ZodLiteral<"offer">, z.ZodLiteral<"answer">, z.ZodLiteral<"candidate">]>; export type MessageType = z.output; /** A message sent from a client to the server. */ export declare const ClientMessage: z.ZodUnion<[z.ZodObject<{ kind: z.ZodLiteral<"send-message">; destinationID: z.ZodString; type: z.ZodUnion<[z.ZodLiteral<"offer">, z.ZodLiteral<"answer">, z.ZodLiteral<"candidate">]>; payload: z.ZodAny; }, "strip", z.ZodTypeAny, { type: "offer" | "answer" | "candidate"; kind: "send-message"; destinationID: string; payload?: any; }, { type: "offer" | "answer" | "candidate"; kind: "send-message"; destinationID: string; payload?: any; }>, z.ZodEffects; gameID: z.ZodString; maxPlayers: z.ZodNumber; minPlayers: z.ZodNumber; }, "strip", z.ZodTypeAny, { kind: "match-request"; gameID: string; maxPlayers: number; minPlayers: number; }, { kind: "match-request"; gameID: string; maxPlayers: number; minPlayers: number; }>, { kind: "match-request"; gameID: string; maxPlayers: number; minPlayers: number; }, { kind: "match-request"; gameID: string; maxPlayers: number; minPlayers: number; }>]>; export type ClientMessage = z.output; /** * A message sent from the server to the client. * Server messages don't really need to be validated * but this could be useful for debugging / unit testing. */ export declare const ServerMessage: z.ZodUnion<[z.ZodObject<{ kind: z.ZodLiteral<"registration-success">; clientID: z.ZodString; iceServers: z.ZodAny; }, "strip", z.ZodTypeAny, { kind: "registration-success"; clientID: string; iceServers?: any; }, { kind: "registration-success"; clientID: string; iceServers?: any; }>, z.ZodObject<{ kind: z.ZodLiteral<"server-error">; reason: z.ZodString; }, "strip", z.ZodTypeAny, { kind: "server-error"; reason: string; }, { kind: "server-error"; reason: string; }>, z.ZodObject<{ kind: z.ZodLiteral<"send-message-failure">; destinationID: z.ZodString; reason: z.ZodString; }, "strip", z.ZodTypeAny, { kind: "send-message-failure"; destinationID: string; reason: string; }, { kind: "send-message-failure"; destinationID: string; reason: string; }>, z.ZodObject<{ kind: z.ZodLiteral<"peer-message">; sourceID: z.ZodString; type: z.ZodUnion<[z.ZodLiteral<"offer">, z.ZodLiteral<"answer">, z.ZodLiteral<"candidate">]>; payload: z.ZodAny; }, "strip", z.ZodTypeAny, { type: "offer" | "answer" | "candidate"; kind: "peer-message"; sourceID: string; payload?: any; }, { type: "offer" | "answer" | "candidate"; kind: "peer-message"; sourceID: string; payload?: any; }>, z.ZodObject<{ kind: z.ZodLiteral<"host-match">; clientIDs: z.ZodArray; }, "strip", z.ZodTypeAny, { kind: "host-match"; clientIDs: string[]; }, { kind: "host-match"; clientIDs: string[]; }>, z.ZodObject<{ kind: z.ZodLiteral<"join-match">; hostID: z.ZodString; }, "strip", z.ZodTypeAny, { kind: "join-match"; hostID: string; }, { kind: "join-match"; hostID: string; }>, z.ZodObject<{ kind: z.ZodLiteral<"match-request-failure">; reason: z.ZodString; }, "strip", z.ZodTypeAny, { kind: "match-request-failure"; reason: string; }, { kind: "match-request-failure"; reason: string; }>]>; export type ServerMessage = z.output;