@Cards-TS
    Preparing search index...

    Variable gameFactoryConst

    gameFactory: {
        getDefaultBotHandler(): Handler<
            GameHandlerParams,
            ControllerHandlerState<
                UnwrapProviders<
                    Omit<
                        ValidatedProviders<
                            {
                                ask: TurnControllerProvider;
                                canIHaveThat: CanIHaveThatControllerProvider;
                                deck: DeckControllerProvider;
                                hand: HandsControllerProvider;
                                melds: MeldControllerProvider;
                                score: PointsControllerProvider;
                                turn: TurnControllerProvider;
                            } & ControllersProviders<TypedDefaultControllers>,
                        >,
                        DefaultControllerKeys,
                    >,
                > & TypedDefaultControllers & DefaultControllers<
                    GameParams,
                    { END_GAME: "END_GAME"; START_GAME: "START_GAME" },
                    ResponseMessage,
                    GameHandlerParams & MessageHandlerParams & WaitingHandlerParams,
                >,
            >,
            ResponseMessage,
        >;
        getDefaultBotHandlerChain(): HandlerChain<
            GameHandlerParams & MessageHandlerParams & WaitingHandlerParams,
            ControllerHandlerState<
                UnwrapProviders<
                    Omit<
                        ValidatedProviders<
                            {
                                ask: TurnControllerProvider;
                                canIHaveThat: CanIHaveThatControllerProvider;
                                deck: DeckControllerProvider;
                                hand: HandsControllerProvider;
                                melds: MeldControllerProvider;
                                score: PointsControllerProvider;
                                turn: TurnControllerProvider;
                            } & ControllersProviders<TypedDefaultControllers>,
                        >,
                        DefaultControllerKeys,
                    >,
                > & TypedDefaultControllers & DefaultControllers<
                    GameParams,
                    { END_GAME: "END_GAME"; START_GAME: "START_GAME" },
                    ResponseMessage,
                    GameHandlerParams & MessageHandlerParams & WaitingHandlerParams,
                >,
            >,
            ResponseMessage,
        >;
        getEventHandler(): EventHandlerInterface<Controllers, ResponseMessage>;
        getGameDriver(
            players: HandlerChain<
                GameHandlerParams & MessageHandlerParams & WaitingHandlerParams,
                ControllerHandlerState<
                    UnwrapProviders<
                        Omit<
                            ValidatedProviders<
                                {
                                    ask: TurnControllerProvider;
                                    canIHaveThat: CanIHaveThatControllerProvider;
                                    deck: DeckControllerProvider;
                                    hand: HandsControllerProvider;
                                    melds: MeldControllerProvider;
                                    score: PointsControllerProvider;
                                    turn: TurnControllerProvider;
                                } & ControllersProviders<TypedDefaultControllers>,
                            >,
                            DefaultControllerKeys,
                        >,
                    > & TypedDefaultControllers & DefaultControllers<
                        GameParams,
                        { END_GAME: "END_GAME"; START_GAME: "START_GAME" },
                        ResponseMessage,
                        GameHandlerParams & MessageHandlerParams & WaitingHandlerParams,
                    >,
                >,
                ResponseMessage,
            >[],
            params: GameParams,
            names: string[],
            state?: ControllerState<Controllers>,
        ): GameDriver<
            GameHandlerParams & MessageHandlerParams & WaitingHandlerParams,
            { END_GAME: "END_GAME"; START_GAME: "START_GAME" },
            UnwrapProviders<
                Omit<
                    ValidatedProviders<
                        {
                            ask: TurnControllerProvider;
                            canIHaveThat: CanIHaveThatControllerProvider;
                            deck: DeckControllerProvider;
                            hand: HandsControllerProvider;
                            melds: MeldControllerProvider;
                            score: PointsControllerProvider;
                            turn: TurnControllerProvider;
                        } & ControllersProviders<TypedDefaultControllers>,
                    >,
                    DefaultControllerKeys,
                >,
            > & TypedDefaultControllers & DefaultControllers<
                GameParams,
                { END_GAME: "END_GAME"; START_GAME: "START_GAME" },
                ResponseMessage,
                GameHandlerParams & MessageHandlerParams & WaitingHandlerParams,
            >,
            ResponseMessage,
            EventHandlerInterface<Controllers, ResponseMessage>,
        >;
        getGameSetup(): GenericGameSetup<GameParams>;
        getIntermediaryHandler(
            intermediary: Intermediary,
        ): Handler<
            GameHandlerParams,
            ControllerHandlerState<
                UnwrapProviders<
                    Omit<
                        ValidatedProviders<
                            {
                                ask: TurnControllerProvider;
                                canIHaveThat: CanIHaveThatControllerProvider;
                                deck: DeckControllerProvider;
                                hand: HandsControllerProvider;
                                melds: MeldControllerProvider;
                                score: PointsControllerProvider;
                                turn: TurnControllerProvider;
                            } & ControllersProviders<TypedDefaultControllers>,
                        >,
                        DefaultControllerKeys,
                    >,
                > & TypedDefaultControllers & DefaultControllers<
                    GameParams,
                    { END_GAME: "END_GAME"; START_GAME: "START_GAME" },
                    ResponseMessage,
                    GameHandlerParams & MessageHandlerParams & WaitingHandlerParams,
                >,
            >,
            ResponseMessage,
        >;
        getIntermediaryHandlerChain(
            intermediary: Intermediary,
        ): HandlerChain<
            GameHandlerParams & MessageHandlerParams & WaitingHandlerParams,
            ControllerHandlerState<
                UnwrapProviders<
                    Omit<
                        ValidatedProviders<
                            {
                                ask: TurnControllerProvider;
                                canIHaveThat: CanIHaveThatControllerProvider;
                                deck: DeckControllerProvider;
                                hand: HandsControllerProvider;
                                melds: MeldControllerProvider;
                                score: PointsControllerProvider;
                                turn: TurnControllerProvider;
                            } & ControllersProviders<TypedDefaultControllers>,
                        >,
                        DefaultControllerKeys,
                    >,
                > & TypedDefaultControllers & DefaultControllers<
                    GameParams,
                    { END_GAME: "END_GAME"; START_GAME: "START_GAME" },
                    ResponseMessage,
                    GameHandlerParams & MessageHandlerParams & WaitingHandlerParams,
                >,
            >,
            ResponseMessage,
        >;
        getProviders(): Omit<
            ControllersProviders<Controllers>,
            DefaultControllerKeys,
        >;
    } = ...

    Type declaration