import type { GamePrisma, GamePrismaClient } from './gamePrisma.js';

export interface DatabaseClient {
    $transaction?: GamePrismaClient['$transaction'];
    $queryRaw: GamePrismaClient['$queryRaw'];
    $executeRaw: GamePrismaClient['$executeRaw'];
    worldState: GamePrisma.WorldStateDelegate;
    general: GamePrisma.GeneralDelegate;
    selectPoolEntry: GamePrisma.SelectPoolEntryDelegate;
    npcSelectionToken: GamePrisma.NpcSelectionTokenDelegate;
    generalAccessLog: GamePrisma.GeneralAccessLogDelegate;
    trafficPeriod: GamePrisma.TrafficPeriodDelegate;
    trafficPeriodGeneral: GamePrisma.TrafficPeriodGeneralDelegate;
    messageReadState: GamePrisma.MessageReadStateDelegate;
    message: GamePrisma.MessageDelegate;
    city: GamePrisma.CityDelegate;
    nation: GamePrisma.NationDelegate;
    diplomacy: GamePrisma.DiplomacyDelegate;
    diplomacyLetter: GamePrisma.DiplomacyLetterDelegate;
    yearbookHistory: GamePrisma.YearbookHistoryDelegate;
    rankData: GamePrisma.RankDataDelegate;
    hallOfFame: GamePrisma.HallOfFameDelegate;
    gameHistory: GamePrisma.GameHistoryDelegate;
    gameInheritanceBaseline: GamePrisma.GameInheritanceBaselineDelegate;
    gameCancellation: GamePrisma.GameCancellationDelegate;
    oldNation: GamePrisma.OldNationDelegate;
    oldGeneral: GamePrisma.OldGeneralDelegate;
    emperor: GamePrisma.EmperorDelegate;
    generalTurn: GamePrisma.GeneralTurnDelegate;
    generalTurnRevision: GamePrisma.GeneralTurnRevisionDelegate;
    nationTurn: GamePrisma.NationTurnDelegate;
    nationTurnRevision: GamePrisma.NationTurnRevisionDelegate;
    troop: GamePrisma.TroopDelegate;
    logEntry: GamePrisma.LogEntryDelegate;
    auction: GamePrisma.AuctionDelegate;
    auctionBid: GamePrisma.AuctionBidDelegate;
    inheritancePoint: GamePrisma.InheritancePointDelegate;
    nationBetting: GamePrisma.NationBettingDelegate;
    nationBet: GamePrisma.NationBetDelegate;
    inheritanceLog: GamePrisma.InheritanceLogDelegate;
    inheritanceResult: GamePrisma.InheritanceResultDelegate;
    inheritanceUserState: GamePrisma.InheritanceUserStateDelegate;
    boardPost: GamePrisma.BoardPostDelegate;
    boardComment: GamePrisma.BoardCommentDelegate;
    votePoll: GamePrisma.VotePollDelegate;
    vote: GamePrisma.VoteDelegate;
    inputEvent: GamePrisma.InputEventDelegate;
    turnDaemonLease: GamePrisma.TurnDaemonLeaseDelegate;
    readModelOutbox: GamePrisma.ReadModelOutboxDelegate;
}
