import {BattlerDeclaration} from "./BattlerStatement"; export enum TopLevelStatementType { VERSION = "version", BATTLER = "battler", } export interface VersionStatement { readonly type: TopLevelStatementType.VERSION, readonly version: number, } export function versionStatement(version: number): VersionStatement { return { type: TopLevelStatementType.VERSION, version, } } export function isVersionStatement(statement: TopLevelStatement): statement is VersionStatement { return statement.type === TopLevelStatementType.VERSION } export type TopLevelStatement = VersionStatement | BattlerDeclaration export type TopLevelStatementList = readonly TopLevelStatement[]