import { ResourceType } from './gamestate'; export declare namespace Moves { interface MoveChoosePowerPlant { name: MoveName.ChoosePowerPlant; data: number; usedPlantDiscount?: boolean; } interface MoveBid { name: MoveName.Bid; data: number; } interface MoveDiscardPowerPlant { name: MoveName.DiscardPowerPlant; data: number; extra?: number[]; } interface MoveDiscardResources { name: MoveName.DiscardResources; data: ResourceType; } interface MoveBuyResource { name: MoveName.BuyResource; data: { resource: ResourceType; }; fromSupply?: boolean; } interface MoveBuild { name: MoveName.Build; data: { name: string; price: number; }; } interface MoveUsePowerPlant { name: MoveName.UsePowerPlant; data: { powerPlant: number; resourcesSpent: ResourceType[]; citiesPowered: number; }; } interface MovePass { name: MoveName.Pass; data: true; } interface MoveUndo { name: MoveName.Undo; data: boolean; } } export declare type Move = Moves.MoveChoosePowerPlant | Moves.MoveBid | Moves.MoveDiscardPowerPlant | Moves.MoveDiscardResources | Moves.MoveBuyResource | Moves.MoveBuild | Moves.MoveUsePowerPlant | Moves.MovePass | Moves.MoveUndo; export declare enum MoveName { ChoosePowerPlant = "ChoosePowerPlant", Bid = "Bid", DiscardPowerPlant = "DiscardPowerPlant", DiscardResources = "DiscardResources", BuyResource = "BuyResource", Build = "Build", UsePowerPlant = "UsePowerPlant", Pass = "Pass", Undo = "Undo" }