import { Gender, Language, Region } from "@/types/preferences"; import { SignalingRole } from "../webrtc"; export const MatchStatus = { SUCCESS: "SUCCESS", WAITING: "WAITING", FAILED: "FAILED", } as const; export type MatchStatus = (typeof MatchStatus)[keyof typeof MatchStatus]; export interface MatchRequest { region: Region; gender: Gender; language: Language; } export interface MatchResponse { status: MatchStatus; message: string; data?: MatchInfo; } export interface MatchInfo { sessionId: string; role: SignalingRole | null; otherUserId: string; } // 서버 응답 변경 전 임시. 서버 변경 전까지 유지 export interface MatchResponseTemp { status: MatchStatus; role: SignalingRole | null; partnerInfo: string | null; } export interface MatchingEventMap { "matching:found": (MatchResult: MatchInfo) => void; "matching:failed": (error: Error | string) => void; "matching:timeout": (error: Error | string) => void; "matching:error": (error: Error) => void; }