import { RoomClient } from 'riri-room-client'; import { StateHandler } from '../state/StateHandler'; export declare type PlayerGameWish = { player: string; minPlayer: number; }; export declare type GroupState = { players: string[]; approvals: string[]; creationTs: number; }; export declare type GameWishesState = { wishes: Record; group?: GroupState; }; export declare type PlayerAddWishEvent = PlayerGameWish & { type: 'add-wish'; }; export declare type PlayerRemoveWishEvent = { player: string; type: 'remove-wish'; }; export declare type PlayerGroupApprovalEvent = { type: 'approval'; player: string; group: string[]; }; export declare type PlayerGroupDenialEvent = { type: 'denial'; player: string; group: string[]; }; export declare type PlayerStartGameEvent = { type: 'start-game'; player: string; }; export declare type GameWishesEvent = PlayerAddWishEvent | PlayerRemoveWishEvent | PlayerGroupApprovalEvent | PlayerGroupDenialEvent | PlayerStartGameEvent; export declare function groupId(players: string[]): string; export declare function gameWishStateHandlerFactory(roomClient: RoomClient): StateHandler;