import type { RecordModel } from "pocketbase"; export type Id = string & { __type: T }; export type UserId = Id<"User">; export type CampaignId = Id<"Campaign">; export type DocumentId = Id<"Document">; export type Campaign = RecordModel & { id: CampaignId; name: string; owner: UserId; }; export type Document = RecordModel & { id: DocumentId; campaign: Campaign; data: {}; }; export type DocumentData = { data: Record; }; export type Session = Document & DocumentData< "session", { strongStart: string; } >; export type ISO8601Date = string & { __type: "iso8601date" }; export type Secret = Document & DocumentData< "secret", { text: string; discovered: boolean; } >; export type Relationship = RecordModel & { primary: DocumentId; secondary: DocumentId[]; type: "plannedSecrets" | "discoveredIn"; };