import { Response } from "node-fetch"; export interface Content { code: string; url: string; } export type PlayStatus = "preparing" | "running" | "suspending" | "broken"; export interface Play { gameCode: string; started: string; parentId?: string; id: string; finished?: string; status: PlayStatus; } export interface JoinEventValues { userId: string; name: string; } export interface LeaveEventValues { userId: string; } export interface MessageEventValues { userId: string; event: any; priority?: number; isTransient?: boolean; } export interface JoinEventParams { type: "JoinPlayer"; values: JoinEventValues; } export interface LeaveEventParams { type: "LeavePlayer"; values: LeaveEventValues; } export interface MessageEventParams { type: "Message"; values: MessageEventValues; } export type PlayEventParams = JoinEventParams | LeaveEventParams | MessageEventParams; export interface RaiseRegisterPlayerEventParams { type: string; playerId: string; } export type RaiseEventParams = RaiseRegisterPlayerEventParams | any; export class AgcError extends Error { response: Response; constructor(response: Response, message?: string) { super(message); this.response = response; } }