// ICodenamesBrowser interface and supporting types for the Browser Layer export enum Team { Red = 'red', Blue = 'blue', Neutral = 'neutral', Assassin = 'assassin', } export interface BoardWord { word: string; revealed: boolean; team: Team | null; } export interface BoardState { words: BoardWord[]; } export interface Clue { word: string; count: number; } export interface ICodenamesGameAPI { joinRoom(options?: any): Promise; leaveRoom(): Promise; joinAsSpymaster(team: Team): Promise; getBoardState(): Promise; submitClue(clue: Clue): Promise; makeGuess(word: string): Promise; endTurn(): Promise; }