import { Action } from "./Actions" ; import { BattleInfo } from "./Battles" ; import { TeamId } from "./Teams" ; param action export type OnChoice = ( action : Action ) => void ; /**
 * Methods for a team to choose their next move.
 */ export interface Selector { param battleInfo param teamId param onChoice afterKnockout ( battleInfo , teamId , onComplete ) : void ; param battleInfo param teamId param onChoice nextAction ( battleInfo , teamId , onChoice ) : void ; } /**
 * Creates action selectors for a type of team.
 */ export type SelectorFactory = ( ) => Selector ; /**
 * Selector factories keyed by type name.
 */ export interface SelectorFactories { [ i ] : SelectorFactory | undefined ; }