import { GameSetup, OptionsSpecV2, RulesCreator } from '@gamepark/rules-api'; import { Dispatch } from 'redux'; import { GameAI, GameNotification, Player, ProxyGameData } from '../../Types'; import { GameAPI } from '../GameAPI'; import { LocalGameProviderProps } from './LocalGameProvider'; export declare class GameLocalAPI implements GameAPI { storage: string; gameSetup: GameSetup; Rules: RulesCreator; ClientRules: RulesCreator; optionsSpec?: OptionsSpecV2; private readonly ai?; private readonly tutorial?; dispatch?: Dispatch; myPlayerId?: PlayerId; private channel?; private loaded; private readonly messagesReceivedBeforeLoad; private lastActionId; private notificationsCount; private autoPlayersCounter; private aiProcessing; private tutorialMovesToPlay; constructor({ Rules, ServerRules, GameSetup, ai, game, storage, optionsSpec, tutorial }: LocalGameProviderProps); init(dispatch: Dispatch): void; private resolveMyPlayerId; initLocalStore(): ProxyGameData; getNotifications(data: ProxyGameData): GameNotification[]; newTutorial(): ProxyGameData; private getGameOptions; private asSelection; newGame(arg?: Options | number): ProxyGameData; initGameStore(game: Game, players: Player[], tutorial?: number): ProxyGameData; getLocalStore(): ProxyGameData; play(move: Move): Promise; playActions(playerId: PlayerId, moves: Move[]): void; private syncLastActionId; private deliver; private receiveMessage; private handleMessage; private scheduleAutoPlayers; private incrementNotificationsCount; undo(arg?: string | number, ignoreRules?: boolean): void; startBots(): void; stopBots(): void; private runAutoPlayers; getAI(playerId: PlayerId): GameAI; setPlayerName(name: string, playerId?: PlayerId): void; broadcastReload(): void; setAnimationsSpeed(speed?: number): void; eject(): void; giveUp(): void; claimVictory(): void; playTutorialMoves(quantity: number): void; }