/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import * as z from "zod/v3"; import { LobbyVisibility, LobbyVisibility$outboundSchema, } from "./lobbyvisibility.js"; import { Region, Region$outboundSchema } from "./region.js"; export type CreateLobbyV3Params = { /** * Types of lobbies a player can create. * * @remarks * * `private`: the player who created the room must share the roomId with their friends * * `public`: visible in the public lobby list, anyone can join * * `local`: for testing with a server running locally */ visibility: LobbyVisibility; /** * Optional configuration parameters for the room. Can be any string including stringified JSON. It is accessible from the room via [`GetRoomInfo()`](https://hathora.dev/api#tag/RoomV2/operation/GetRoomInfo). */ roomConfig?: string | undefined; region: Region; }; /** @internal */ export type CreateLobbyV3Params$Outbound = { visibility: string; roomConfig?: string | undefined; region: string; }; /** @internal */ export const CreateLobbyV3Params$outboundSchema: z.ZodType< CreateLobbyV3Params$Outbound, z.ZodTypeDef, CreateLobbyV3Params > = z.object({ visibility: LobbyVisibility$outboundSchema, roomConfig: z.string().optional(), region: Region$outboundSchema, }); export function createLobbyV3ParamsToJSON( createLobbyV3Params: CreateLobbyV3Params, ): string { return JSON.stringify( CreateLobbyV3Params$outboundSchema.parse(createLobbyV3Params), ); }