import { board } from "./../board"; import { Location, Unit, DiplomacyMap, Board } from "./types"; export declare class Utils { /** * @param board - * @returns The map between powers and the number of supply centers */ static numberOfSupplyCenters(board: Board): Map; /** * @returns True if the province is sea. Sea is a province that only Fleet can enter. */ static isSea(map: DiplomacyMap, province: board.Province): boolean; /** * @return True if the unit can be ordered "convoy" order. */ static canConvoy(map: DiplomacyMap, unit: Unit): boolean; /** * @returns The locations that the unit can retreat to. */ static locationsToRetreat(board: Board, unit: Unit, attackedFrom: board.Province): Set>; /** * @param units The set of units that is used for convoy */ static isMovableViaSea(map: DiplomacyMap, source: board.Province, destination: board.Province, units: Set>): boolean; /** * @returns The location that the unit can move via convoy */ static movableViaConvoyLocationsOf(board: Board, unit: Unit): Set>; /** * @returns The locations that the unit can move to (including via convoy). */ static movableLocationsOf(board: Board, unit: Unit): Set>; /** * @return The set of locations that can be supported by the unit */ static supportableLocationsOf(map: DiplomacyMap, unit: Unit): Set>; /** * @return * The Map between powers and number of buildable units. * If a power should disband some units, this contains negative number * (e.g., It contains -1 if a power has to disband 1 unit). */ static numberOfBuildableUnits(board: Board): Map; }