import { l as ClientState, p as GameEvent } from "../index-eCgOhnMT.mjs"; //#region src/manager/createManager.d.ts type Manager = ReturnType; declare const createManager: (logKey: string, maxGames: number, watchdogIntervalMs: number) => { readonly createGame: (userId: string, username: string) => { readonly success: false; readonly error: "maxGamesReached"; readonly gameId?: never; readonly playerId?: never; } | { readonly success: true; readonly gameId: string; readonly playerId: string; readonly error?: never; }; readonly getClientStateAndClearEvents: (gameId: string, playerId: string) => { readonly success: false; readonly error: "gameNotFound"; readonly state?: never; } | { readonly success: false; readonly error: "playerNotFound"; readonly state?: never; } | { readonly success: true; readonly state: ClientState; readonly error?: never; }; readonly getEventsAndClearAcknowledged: (gameId: string, playerId: string, lastReadId: string | null) => { readonly success: false; readonly error: "gameNotFound"; readonly events?: never; } | { readonly success: false; readonly error: "playerNotFound"; readonly events?: never; } | { readonly success: true; readonly events: readonly GameEvent[]; readonly error?: never; }; readonly getJoinableGames: () => { readonly games: readonly { readonly id: string; readonly numPlayers: number; }[]; }; readonly joinGame: (gameId: string, userId: string, username: string) => { readonly success: false; readonly error: "gameNotFound"; readonly playerId?: never; } | { readonly success: true; readonly playerId: string; readonly error?: never; } | { readonly success: false; readonly error: "invalidStatus" | "maxPlayersReached" | "alreadyInGame"; readonly playerId?: never; }; readonly leaveGame: (gameId: string, playerId: string) => { readonly success: false; readonly error: "gameNotFound"; } | { readonly success: true; readonly error?: never; } | { readonly success: false; readonly error: "playerNotFound"; }; readonly sendChat: (gameId: string, playerId: string, text: string) => { readonly success: false; readonly error: "gameNotFound"; } | { readonly success: true; readonly error?: never; } | { readonly success: false; readonly error: "playerNotFound"; }; readonly startGame: (gameId: string, playerId: string) => { readonly success: false; readonly error: "gameNotFound"; } | { readonly success: true; readonly error?: never; } | { readonly success: false; readonly error: "playerNotFound" | "invalidStatus" | "playerNotAdmin" | "minPlayersNotReached"; }; } & Readonly<{ drawCard: (gameId: string, playerId: string) => { readonly success: true; } | { readonly success: false; readonly error: "playerNotFound" | "invalidStatus" | "outOfTurn" | "hasPlayableCard" | "gameNotFound"; }; playCard: (gameId: string, playerId: string, cardId: string) => { readonly success: true; } | { readonly success: false; readonly error: "playerNotFound" | "invalidStatus" | "outOfTurn" | "cardNotFound" | "cardIsWild" | "cardNotPlayable" | "gameNotFound"; }; playWildCard: (gameId: string, playerId: string, cardId: string, color: "blue" | "green" | "red" | "yellow") => { readonly success: true; } | { readonly success: false; readonly error: "playerNotFound" | "invalidStatus" | "outOfTurn" | "cardNotFound" | "cardNotPlayable" | "cardNotWild" | "gameNotFound"; }; }> & { readonly gameplayActions: Readonly<{ drawCard: (gameId: string, playerId: string) => { readonly success: true; } | { readonly success: false; readonly error: "playerNotFound" | "invalidStatus" | "outOfTurn" | "hasPlayableCard" | "gameNotFound"; }; playCard: (gameId: string, playerId: string, cardId: string) => { readonly success: true; } | { readonly success: false; readonly error: "playerNotFound" | "invalidStatus" | "outOfTurn" | "cardNotFound" | "cardIsWild" | "cardNotPlayable" | "gameNotFound"; }; playWildCard: (gameId: string, playerId: string, cardId: string, color: "blue" | "green" | "red" | "yellow") => { readonly success: true; } | { readonly success: false; readonly error: "playerNotFound" | "invalidStatus" | "outOfTurn" | "cardNotFound" | "cardNotPlayable" | "cardNotWild" | "gameNotFound"; }; }>; }; //#endregion export { type Manager, createManager }; //# sourceMappingURL=index.d.mts.map