import type { User } from "./auth"; import type { Character, ItemState } from "./character"; import type { Serialize } from 'nitropack'; export type CampaignVariables = { money: number; inventory: ItemState[]; }; export type Campaign = { id: number; name: string; link: string; status: "PREPARING" | "PLAYING" | "ARCHIVED"; owner: { id: number, username: string }; members: Array<{ member: { id: number, username: string } }>; characters: Array>; public_notes: string; dm_notes: string; logs: CampaignLog[]; } & CampaignVariables; export type CampaignLog = { target: number; timestamp: Serialize; type: 'ITEM' | 'CHARACTER' | 'PLACE' | 'FIGHT' | 'TEXT'; details: string; };