/* eslint-disable @typescript-eslint/no-namespace */ /** * AUTO-GENERATED FILE @ 2023-08-05 12:06:36 - DO NOT EDIT! * * This file was automatically generated by schemats v.3.0.3 * $ schemats generate -c mysql://username:password@127.0.0.1/hidche_hwe -C -t board -t city -t comment -t diplomacy -t emperior -t event -t general -t general_access_log -t general_record -t general_turn -t hall -t message -t nation -t nation_env -t nation_turn -t ng_auction -t ng_auction_bid -t ng_betting -t ng_diplomacy -t ng_games -t ng_history -t ng_old_generals -t ng_old_nations -t plock -t rank_data -t reserved_open -t select_npc_token -t select_pool -t statistic -t storage -t tournament -t troop -t user_record -t vote -t vote_comment -t world_history -s hidche_hwe * */ export type EnumTarget = 'MONTH' | 'OCCUPY_CITY' | 'DESTROY_NATION' | 'PRE_MONTH' | 'UNITED'; export type EnumAuctionType = 'buyRice' | 'sellRice' | 'uniqueItem'; export type EnumReqResource = 'gold' | 'rice' | 'inheritPoint'; export type EnumLogType = 'action' | 'battle_brief' | 'battle' | 'history'; export type EnumMsgType = 'private' | 'national' | 'public' | 'diplomacy'; export type EnumPermission = 'normal' | 'auditor' | 'ambassador'; export type EnumType = 'GAME' | 'ETC' | 'TOURNAMENT'; export type EnumState = 'proposed' | 'activated' | 'cancelled' | 'replaced'; export namespace BoardFields { export type no = number; export type nationNo = number; export type isSecret = boolean; export type date = Date; export type generalNo = number; export type author = string; export type authorIcon = string | null; export type title = string; export type text = string; } export interface Board { no: BoardFields.no; nationNo: BoardFields.nationNo; isSecret: BoardFields.isSecret; date: BoardFields.date; generalNo: BoardFields.generalNo; author: BoardFields.author; authorIcon: BoardFields.authorIcon; title: BoardFields.title; text: BoardFields.text; } export namespace CityFields { export type city = number; export type name = string; export type level = number; export type nation = number; export type supply = number; export type front = number; export type pop = number; export type popMax = number; export type agri = number; export type agriMax = number; export type comm = number; export type commMax = number; export type secu = number; export type secuMax = number; export type trust = number; export type trade = number | null; export type dead = number; export type def = number; export type defMax = number; export type wall = number; export type wallMax = number; export type officerSet = number; export type state = number; export type region = number; export type term = number; export type conflict = string; } export interface City { city: CityFields.city; name: CityFields.name; level: CityFields.level; nation: CityFields.nation; supply: CityFields.supply; front: CityFields.front; pop: CityFields.pop; popMax: CityFields.popMax; agri: CityFields.agri; agriMax: CityFields.agriMax; comm: CityFields.comm; commMax: CityFields.commMax; secu: CityFields.secu; secuMax: CityFields.secuMax; trust: CityFields.trust; trade: CityFields.trade; dead: CityFields.dead; def: CityFields.def; defMax: CityFields.defMax; wall: CityFields.wall; wallMax: CityFields.wallMax; officerSet: CityFields.officerSet; state: CityFields.state; region: CityFields.region; term: CityFields.term; conflict: CityFields.conflict; } export namespace CommentFields { export type no = number; export type nationNo = number; export type isSecret = boolean; export type date = Date; export type documentNo = number; export type generalNo = number; export type author = string; export type text = string; } export interface Comment { no: CommentFields.no; nationNo: CommentFields.nationNo; isSecret: CommentFields.isSecret; date: CommentFields.date; documentNo: CommentFields.documentNo; generalNo: CommentFields.generalNo; author: CommentFields.author; text: CommentFields.text; } export namespace DiplomacyFields { export type no = number; export type me = number; export type you = number; export type state = number | null; export type term = number | null; export type dead = number | null; export type showing = Date | null; } export interface Diplomacy { no: DiplomacyFields.no; me: DiplomacyFields.me; you: DiplomacyFields.you; state: DiplomacyFields.state; term: DiplomacyFields.term; dead: DiplomacyFields.dead; showing: DiplomacyFields.showing; } export namespace EmperiorFields { export type no = number; export type serverId = string | null; export type phase = string | null; export type nationCount = string | null; export type nationName = string | null; export type nationHist = string | null; export type genCount = string | null; export type personalHist = string | null; export type specialHist = string | null; export type name = string | null; export type type = string | null; export type color = string | null; export type year = number | null; export type month = number | null; export type power = number | null; export type gennum = number | null; export type citynum = number | null; export type pop = string | null; export type poprate = string | null; export type gold = number | null; export type rice = number | null; export type l12Name = string | null; export type l12Pic = string | null; export type l11Name = string | null; export type l11Pic = string | null; export type l10Name = string | null; export type l10Pic = string | null; export type l9Name = string | null; export type l9Pic = string | null; export type l8Name = string | null; export type l8Pic = string | null; export type l7Name = string | null; export type l7Pic = string | null; export type l6Name = string | null; export type l6Pic = string | null; export type l5Name = string | null; export type l5Pic = string | null; export type tiger = string | null; export type eagle = string | null; export type gen = string | null; export type history = string | null; export type aux = string | null; } export interface Emperior { no: EmperiorFields.no; serverId: EmperiorFields.serverId; phase: EmperiorFields.phase; nationCount: EmperiorFields.nationCount; nationName: EmperiorFields.nationName; nationHist: EmperiorFields.nationHist; genCount: EmperiorFields.genCount; personalHist: EmperiorFields.personalHist; specialHist: EmperiorFields.specialHist; name: EmperiorFields.name; type: EmperiorFields.type; color: EmperiorFields.color; year: EmperiorFields.year; month: EmperiorFields.month; power: EmperiorFields.power; gennum: EmperiorFields.gennum; citynum: EmperiorFields.citynum; pop: EmperiorFields.pop; poprate: EmperiorFields.poprate; gold: EmperiorFields.gold; rice: EmperiorFields.rice; l12Name: EmperiorFields.l12Name; l12Pic: EmperiorFields.l12Pic; l11Name: EmperiorFields.l11Name; l11Pic: EmperiorFields.l11Pic; l10Name: EmperiorFields.l10Name; l10Pic: EmperiorFields.l10Pic; l9Name: EmperiorFields.l9Name; l9Pic: EmperiorFields.l9Pic; l8Name: EmperiorFields.l8Name; l8Pic: EmperiorFields.l8Pic; l7Name: EmperiorFields.l7Name; l7Pic: EmperiorFields.l7Pic; l6Name: EmperiorFields.l6Name; l6Pic: EmperiorFields.l6Pic; l5Name: EmperiorFields.l5Name; l5Pic: EmperiorFields.l5Pic; tiger: EmperiorFields.tiger; eagle: EmperiorFields.eagle; gen: EmperiorFields.gen; history: EmperiorFields.history; aux: EmperiorFields.aux; } export namespace EventFields { export type id = number; export type target = EnumTarget; export type priority = number; export type condition = string; export type action = string; } export interface Event { id: EventFields.id; target: EventFields.target; priority: EventFields.priority; condition: EventFields.condition; action: EventFields.action; } export namespace GeneralFields { export type no = number; export type owner = number; export type npcmsg = string | null; export type npc = number; export type npcOrg = number | null; export type affinity = number | null; export type bornyear = number | null; export type deadyear = number | null; export type newmsg = number | null; export type picture = string; export type imgsvr = number; export type name = string; export type ownerName = string | null; export type nation = number; export type city = number; export type troop = number; export type leadership = number; export type leadershipExp = number; export type strength = number; export type strengthExp = number; export type intel = number; export type intelExp = number; export type injury = number; export type experience = number; export type dedication = number; export type dex1 = number; export type dex2 = number; export type dex3 = number; export type dex4 = number; export type dex5 = number; export type officerLevel = number; export type officerCity = number; export type permission = EnumPermission | null; export type gold = number; export type rice = number; export type crew = number; export type crewtype = number; export type train = number; export type atmos = number; export type weapon = string; export type book = string; export type horse = string; export type item = string; export type turntime = Date; export type recentWar = Date | null; export type makelimit = number | null; export type killturn = number | null; export type block = number | null; export type dedlevel = number | null; export type explevel = number | null; export type age = number | null; export type startage = number | null; export type belong = number | null; export type betray = number | null; export type personal = string; export type special = string; export type specage = number | null; export type special2 = string; export type specage2 = number | null; export type defenceTrain = number | null; export type tnmt = number | null; export type myset = number | null; export type tournament = number | null; export type newvote = number | null; export type lastTurn = string; export type aux = string; export type penalty = string | null; } export interface General { no: GeneralFields.no; owner: GeneralFields.owner; npcmsg: GeneralFields.npcmsg; npc: GeneralFields.npc; npcOrg: GeneralFields.npcOrg; affinity: GeneralFields.affinity; bornyear: GeneralFields.bornyear; deadyear: GeneralFields.deadyear; newmsg: GeneralFields.newmsg; picture: GeneralFields.picture; imgsvr: GeneralFields.imgsvr; name: GeneralFields.name; ownerName: GeneralFields.ownerName; nation: GeneralFields.nation; city: GeneralFields.city; troop: GeneralFields.troop; leadership: GeneralFields.leadership; leadershipExp: GeneralFields.leadershipExp; strength: GeneralFields.strength; strengthExp: GeneralFields.strengthExp; intel: GeneralFields.intel; intelExp: GeneralFields.intelExp; injury: GeneralFields.injury; experience: GeneralFields.experience; dedication: GeneralFields.dedication; dex1: GeneralFields.dex1; dex2: GeneralFields.dex2; dex3: GeneralFields.dex3; dex4: GeneralFields.dex4; dex5: GeneralFields.dex5; officerLevel: GeneralFields.officerLevel; officerCity: GeneralFields.officerCity; permission: GeneralFields.permission; gold: GeneralFields.gold; rice: GeneralFields.rice; crew: GeneralFields.crew; crewtype: GeneralFields.crewtype; train: GeneralFields.train; atmos: GeneralFields.atmos; weapon: GeneralFields.weapon; book: GeneralFields.book; horse: GeneralFields.horse; item: GeneralFields.item; turntime: GeneralFields.turntime; recentWar: GeneralFields.recentWar; makelimit: GeneralFields.makelimit; killturn: GeneralFields.killturn; block: GeneralFields.block; dedlevel: GeneralFields.dedlevel; explevel: GeneralFields.explevel; age: GeneralFields.age; startage: GeneralFields.startage; belong: GeneralFields.belong; betray: GeneralFields.betray; personal: GeneralFields.personal; special: GeneralFields.special; specage: GeneralFields.specage; special2: GeneralFields.special2; specage2: GeneralFields.specage2; defenceTrain: GeneralFields.defenceTrain; tnmt: GeneralFields.tnmt; myset: GeneralFields.myset; tournament: GeneralFields.tournament; newvote: GeneralFields.newvote; lastTurn: GeneralFields.lastTurn; aux: GeneralFields.aux; penalty: GeneralFields.penalty; } export namespace GeneralAccessLogFields { export type id = number; export type generalId = number; export type userId = number | null; export type lastRefresh = Date | null; export type refresh = number; export type refreshTotal = number; export type refreshScore = number; export type refreshScoreTotal = number; } export interface GeneralAccessLog { id: GeneralAccessLogFields.id; generalId: GeneralAccessLogFields.generalId; userId: GeneralAccessLogFields.userId; lastRefresh: GeneralAccessLogFields.lastRefresh; refresh: GeneralAccessLogFields.refresh; refreshTotal: GeneralAccessLogFields.refreshTotal; refreshScore: GeneralAccessLogFields.refreshScore; refreshScoreTotal: GeneralAccessLogFields.refreshScoreTotal; } export namespace GeneralRecordFields { export type id = number; export type generalId = number; export type logType = EnumLogType; export type year = number; export type month = number; export type text = string; } export interface GeneralRecord { id: GeneralRecordFields.id; generalId: GeneralRecordFields.generalId; logType: GeneralRecordFields.logType; year: GeneralRecordFields.year; month: GeneralRecordFields.month; text: GeneralRecordFields.text; } export namespace GeneralTurnFields { export type id = number; export type generalId = number; export type turnIdx = number; export type action = string; export type arg = string | null; export type brief = string | null; } export interface GeneralTurn { id: GeneralTurnFields.id; generalId: GeneralTurnFields.generalId; turnIdx: GeneralTurnFields.turnIdx; action: GeneralTurnFields.action; arg: GeneralTurnFields.arg; brief: GeneralTurnFields.brief; } export namespace HallFields { export type id = number; export type serverId = string; export type season = number; export type scenario = number; export type generalNo = number; export type type = string; export type value = number; export type owner = number | null; export type aux = string; } export interface Hall { id: HallFields.id; serverId: HallFields.serverId; season: HallFields.season; scenario: HallFields.scenario; generalNo: HallFields.generalNo; type: HallFields.type; value: HallFields.value; owner: HallFields.owner; aux: HallFields.aux; } export namespace MessageFields { export type id = number; export type mailbox = number; export type type = EnumMsgType; export type src = number; export type dest = number; export type time = Date; export type validUntil = Date; export type message = string; } export interface Message { id: MessageFields.id; mailbox: MessageFields.mailbox; type: MessageFields.type; src: MessageFields.src; dest: MessageFields.dest; time: MessageFields.time; validUntil: MessageFields.validUntil; message: MessageFields.message; } export namespace NationFields { export type nation = number; export type name = string; export type color = string; export type capital = number | null; export type capset = number | null; export type gennum = number | null; export type gold = number | null; export type rice = number | null; export type bill = number | null; export type rate = number | null; export type rateTmp = number | null; export type secretlimit = number | null; export type chiefSet = number; export type scout = number | null; export type war = number | null; export type strategicCmdLimit = number | null; export type surlimit = number | null; export type tech = number | null; export type power = number | null; export type spy = string; export type level = number | null; export type type = string; export type aux = string; } export interface Nation { nation: NationFields.nation; name: NationFields.name; color: NationFields.color; capital: NationFields.capital; capset: NationFields.capset; gennum: NationFields.gennum; gold: NationFields.gold; rice: NationFields.rice; bill: NationFields.bill; rate: NationFields.rate; rateTmp: NationFields.rateTmp; secretlimit: NationFields.secretlimit; chiefSet: NationFields.chiefSet; scout: NationFields.scout; war: NationFields.war; strategicCmdLimit: NationFields.strategicCmdLimit; surlimit: NationFields.surlimit; tech: NationFields.tech; power: NationFields.power; spy: NationFields.spy; level: NationFields.level; type: NationFields.type; aux: NationFields.aux; } export namespace NationEnvFields { export type id = number; export type namespace = number; export type key = string; export type value = string; } export interface NationEnv { id: NationEnvFields.id; namespace: NationEnvFields.namespace; key: NationEnvFields.key; value: NationEnvFields.value; } export namespace NationTurnFields { export type id = number; export type nationId = number; export type officerLevel = number; export type turnIdx = number; export type action = string; export type arg = string | null; export type brief = string | null; } export interface NationTurn { id: NationTurnFields.id; nationId: NationTurnFields.nationId; officerLevel: NationTurnFields.officerLevel; turnIdx: NationTurnFields.turnIdx; action: NationTurnFields.action; arg: NationTurnFields.arg; brief: NationTurnFields.brief; } export namespace NgAuctionFields { export type id = number; export type type = EnumAuctionType; export type finished = Buffer; export type target = string | null; export type hostGeneralId = number; export type reqResource = EnumReqResource; export type openDate = Date; export type closeDate = Date; export type detail = string; } export interface NgAuction { id: NgAuctionFields.id; type: NgAuctionFields.type; finished: NgAuctionFields.finished; target: NgAuctionFields.target; hostGeneralId: NgAuctionFields.hostGeneralId; reqResource: NgAuctionFields.reqResource; openDate: NgAuctionFields.openDate; closeDate: NgAuctionFields.closeDate; detail: NgAuctionFields.detail; } export namespace NgAuctionBidFields { export type no = number; export type auctionId = number; export type owner = number | null; export type generalId = number; export type amount = number; export type date = Date; export type aux = string; } export interface NgAuctionBid { no: NgAuctionBidFields.no; auctionId: NgAuctionBidFields.auctionId; owner: NgAuctionBidFields.owner; generalId: NgAuctionBidFields.generalId; amount: NgAuctionBidFields.amount; date: NgAuctionBidFields.date; aux: NgAuctionBidFields.aux; } export namespace NgBettingFields { export type id = number; export type bettingId = number; export type generalId = number; export type userId = number | null; export type bettingType = string; export type amount = number; } export interface NgBetting { id: NgBettingFields.id; bettingId: NgBettingFields.bettingId; generalId: NgBettingFields.generalId; userId: NgBettingFields.userId; bettingType: NgBettingFields.bettingType; amount: NgBettingFields.amount; } export namespace NgDiplomacyFields { export type no = number; export type srcNationId = number; export type destNationId = number; export type prevNo = number | null; export type state = EnumState; export type textBrief = string; export type textDetail = string; export type date = Date; export type srcSigner = number; export type destSigner = number | null; export type aux = string | null; } export interface NgDiplomacy { no: NgDiplomacyFields.no; srcNationId: NgDiplomacyFields.srcNationId; destNationId: NgDiplomacyFields.destNationId; prevNo: NgDiplomacyFields.prevNo; state: NgDiplomacyFields.state; textBrief: NgDiplomacyFields.textBrief; textDetail: NgDiplomacyFields.textDetail; date: NgDiplomacyFields.date; srcSigner: NgDiplomacyFields.srcSigner; destSigner: NgDiplomacyFields.destSigner; aux: NgDiplomacyFields.aux; } export namespace NgGamesFields { export type id = number; export type serverId = string; export type date = Date; export type winnerNation = number | null; export type map = string | null; export type season = number; export type scenario = number; export type scenarioName = string; export type env = string; } export interface NgGames { id: NgGamesFields.id; serverId: NgGamesFields.serverId; date: NgGamesFields.date; winnerNation: NgGamesFields.winnerNation; map: NgGamesFields.map; season: NgGamesFields.season; scenario: NgGamesFields.scenario; scenarioName: NgGamesFields.scenarioName; env: NgGamesFields.env; } export namespace NgHistoryFields { export type no = number; export type serverId = string; export type year = number | null; export type month = number | null; export type map = string | null; export type globalHistory = string | null; export type globalAction = string | null; export type nations = string | null; } export interface NgHistory { no: NgHistoryFields.no; serverId: NgHistoryFields.serverId; year: NgHistoryFields.year; month: NgHistoryFields.month; map: NgHistoryFields.map; globalHistory: NgHistoryFields.globalHistory; globalAction: NgHistoryFields.globalAction; nations: NgHistoryFields.nations; } export namespace NgOldGeneralsFields { export type id = number; export type serverId = string; export type generalNo = number; export type owner = number | null; export type name = string; export type lastYearmonth = number; export type turntime = Date; export type data = string; } export interface NgOldGenerals { id: NgOldGeneralsFields.id; serverId: NgOldGeneralsFields.serverId; generalNo: NgOldGeneralsFields.generalNo; owner: NgOldGeneralsFields.owner; name: NgOldGeneralsFields.name; lastYearmonth: NgOldGeneralsFields.lastYearmonth; turntime: NgOldGeneralsFields.turntime; data: NgOldGeneralsFields.data; } export namespace NgOldNationsFields { export type id = number; export type serverId = string; export type nation = number; export type data = string; export type date = Date; } export interface NgOldNations { id: NgOldNationsFields.id; serverId: NgOldNationsFields.serverId; nation: NgOldNationsFields.nation; data: NgOldNationsFields.data; date: NgOldNationsFields.date; } export namespace PlockFields { export type no = number; export type type = EnumType; export type plock = number; export type locktime = Date; } export interface Plock { no: PlockFields.no; type: PlockFields.type; plock: PlockFields.plock; locktime: PlockFields.locktime; } export namespace RankDataFields { export type id = number; export type nationId = number; export type generalId = number; export type type = string; export type value = number; } export interface RankData { id: RankDataFields.id; nationId: RankDataFields.nationId; generalId: RankDataFields.generalId; type: RankDataFields.type; value: RankDataFields.value; } export namespace ReservedOpenFields { export type id = number; export type options = string | null; export type date = Date | null; } export interface ReservedOpen { id: ReservedOpenFields.id; options: ReservedOpenFields.options; date: ReservedOpenFields.date; } export namespace SelectNpcTokenFields { export type id = number; export type owner = number; export type validUntil = Date; export type pickMoreFrom = Date; export type pickResult = string; export type nonce = number; } export interface SelectNpcToken { id: SelectNpcTokenFields.id; owner: SelectNpcTokenFields.owner; validUntil: SelectNpcTokenFields.validUntil; pickMoreFrom: SelectNpcTokenFields.pickMoreFrom; pickResult: SelectNpcTokenFields.pickResult; nonce: SelectNpcTokenFields.nonce; } export namespace SelectPoolFields { export type id = number; export type uniqueName = string; export type owner = number | null; export type generalId = number | null; export type reservedUntil = Date | null; export type info = string; } export interface SelectPool { id: SelectPoolFields.id; uniqueName: SelectPoolFields.uniqueName; owner: SelectPoolFields.owner; generalId: SelectPoolFields.generalId; reservedUntil: SelectPoolFields.reservedUntil; info: SelectPoolFields.info; } export namespace StatisticFields { export type no = number; export type year = number | null; export type month = number | null; export type nationCount = number | null; export type nationName = string | null; export type nationHist = string | null; export type genCount = string | null; export type personalHist = string | null; export type specialHist = string | null; export type powerHist = string | null; export type crewtype = string | null; export type etc = string | null; export type aux = string | null; } export interface Statistic { no: StatisticFields.no; year: StatisticFields.year; month: StatisticFields.month; nationCount: StatisticFields.nationCount; nationName: StatisticFields.nationName; nationHist: StatisticFields.nationHist; genCount: StatisticFields.genCount; personalHist: StatisticFields.personalHist; specialHist: StatisticFields.specialHist; powerHist: StatisticFields.powerHist; crewtype: StatisticFields.crewtype; etc: StatisticFields.etc; aux: StatisticFields.aux; } export namespace StorageFields { export type id = number; export type namespace = string; export type key = string; export type value = string; } export interface Storage { id: StorageFields.id; namespace: StorageFields.namespace; key: StorageFields.key; value: StorageFields.value; } export namespace TournamentFields { export type seq = number; export type no = number | null; export type npc = number | null; export type name = string | null; export type w = string | null; export type b = string | null; export type h = string | null; export type leadership = number | null; export type strength = number | null; export type intel = number | null; export type lvl = number | null; export type grp = number | null; export type grpNo = number | null; export type win = number | null; export type draw = number | null; export type lose = number | null; export type gl = number | null; export type prmt = number | null; } export interface Tournament { seq: TournamentFields.seq; no: TournamentFields.no; npc: TournamentFields.npc; name: TournamentFields.name; w: TournamentFields.w; b: TournamentFields.b; h: TournamentFields.h; leadership: TournamentFields.leadership; strength: TournamentFields.strength; intel: TournamentFields.intel; lvl: TournamentFields.lvl; grp: TournamentFields.grp; grpNo: TournamentFields.grpNo; win: TournamentFields.win; draw: TournamentFields.draw; lose: TournamentFields.lose; gl: TournamentFields.gl; prmt: TournamentFields.prmt; } export namespace TroopFields { export type troopLeader = number; export type nation = number; export type name = string; } export interface Troop { troopLeader: TroopFields.troopLeader; nation: TroopFields.nation; name: TroopFields.name; } export namespace UserRecordFields { export type id = number; export type userId = number; export type serverId = string; export type logType = string; export type year = number; export type month = number; export type date = Date | null; export type text = string; } export interface UserRecord { id: UserRecordFields.id; userId: UserRecordFields.userId; serverId: UserRecordFields.serverId; logType: UserRecordFields.logType; year: UserRecordFields.year; month: UserRecordFields.month; date: UserRecordFields.date; text: UserRecordFields.text; } export namespace VoteFields { export type id = number; export type voteId = number; export type generalId = number; export type nationId = number; export type selection = string; } export interface Vote { id: VoteFields.id; voteId: VoteFields.voteId; generalId: VoteFields.generalId; nationId: VoteFields.nationId; selection: VoteFields.selection; } export namespace VoteCommentFields { export type id = number; export type voteId = number; export type generalId = number; export type nationId = number; export type generalName = string; export type nationName = string; export type text = string; export type date = Date | null; } export interface VoteComment { id: VoteCommentFields.id; voteId: VoteCommentFields.voteId; generalId: VoteCommentFields.generalId; nationId: VoteCommentFields.nationId; generalName: VoteCommentFields.generalName; nationName: VoteCommentFields.nationName; text: VoteCommentFields.text; date: VoteCommentFields.date; } export namespace WorldHistoryFields { export type id = number; export type nationId = number; export type year = number; export type month = number; export type text = string; } export interface WorldHistory { id: WorldHistoryFields.id; nationId: WorldHistoryFields.nationId; year: WorldHistoryFields.year; month: WorldHistoryFields.month; text: WorldHistoryFields.text; }