import * as mongoose from "mongoose"; /** * A match a user says they attended, or a manual one the catalog doesn't * hold. See `weekendgoals-types/src/log` for the payload shape and * api-gateway/CLAUDE.md ("Me and the log") for the write rules — snapshot * taken once at write time and never refreshed (Rule 32), write idempotent * on `clientId` (Rule 48). * * `matchId`, `venueId`, `competitionId`, `homeTeamId`, `awayTeamId` are * plain `String` fields rather than `ObjectId` refs — the same choice * `Team.venueId` and `Match.venueId` make (see "Id path params" in * api-gateway/CLAUDE.md): an id that may be absent (a manual entry has none * of them) needs no cast to blow up on, and an unknown one just matches * nothing rather than raising a CastError. */ export declare const LogSnapshotSchema: mongoose.Schema, {}, {}, {}, {}, { _id: false; }, { timezone?: string; homeName?: string; awayName?: string; homeCrest?: string; awayCrest?: string; venueName?: string; venueCity?: string; venueCountry?: string; venueCountryId?: string; competitionName?: string; competitionTier?: number; kickoffAt?: NativeDate; }, mongoose.Document, {}, mongoose.MergeType> & mongoose.FlatRecord<{ timezone?: string; homeName?: string; awayName?: string; homeCrest?: string; awayCrest?: string; venueName?: string; venueCity?: string; venueCountry?: string; venueCountryId?: string; competitionName?: string; competitionTier?: number; kickoffAt?: NativeDate; }> & { _id: mongoose.Types.ObjectId; } & { __v: number; }>; export declare const LogEntrySchema: mongoose.Schema, {}, {}, {}, {}, { timestamps: true; }, { clientId: string; userId: mongoose.Types.ObjectId; playedOn: string; snapshot: { timezone?: string; homeName?: string; awayName?: string; homeCrest?: string; awayCrest?: string; venueName?: string; venueCity?: string; venueCountry?: string; venueCountryId?: string; competitionName?: string; competitionTier?: number; kickoffAt?: NativeDate; }; notePrivate: boolean; backfilled: boolean; source: import("@weekendgoals/weekendgoals-types/dist/log").LogEntrySource; rating?: number; venueId?: string; matchId?: string; matchExternalId?: number; competitionId?: string; homeTeamId?: string; awayTeamId?: string; note?: string; score?: { home: number; away: number; }; } & mongoose.DefaultTimestampProps, mongoose.Document, {}, mongoose.MergeType> & mongoose.FlatRecord<{ clientId: string; userId: mongoose.Types.ObjectId; playedOn: string; snapshot: { timezone?: string; homeName?: string; awayName?: string; homeCrest?: string; awayCrest?: string; venueName?: string; venueCity?: string; venueCountry?: string; venueCountryId?: string; competitionName?: string; competitionTier?: number; kickoffAt?: NativeDate; }; notePrivate: boolean; backfilled: boolean; source: import("@weekendgoals/weekendgoals-types/dist/log").LogEntrySource; rating?: number; venueId?: string; matchId?: string; matchExternalId?: number; competitionId?: string; homeTeamId?: string; awayTeamId?: string; note?: string; score?: { home: number; away: number; }; } & mongoose.DefaultTimestampProps> & { _id: mongoose.Types.ObjectId; } & { __v: number; }>; export declare const LogEntryModel: mongoose.Model<{ clientId: string; userId: mongoose.Types.ObjectId; playedOn: string; snapshot: { timezone?: string; homeName?: string; awayName?: string; homeCrest?: string; awayCrest?: string; venueName?: string; venueCity?: string; venueCountry?: string; venueCountryId?: string; competitionName?: string; competitionTier?: number; kickoffAt?: NativeDate; }; notePrivate: boolean; backfilled: boolean; source: import("@weekendgoals/weekendgoals-types/dist/log").LogEntrySource; rating?: number; venueId?: string; matchId?: string; matchExternalId?: number; competitionId?: string; homeTeamId?: string; awayTeamId?: string; note?: string; score?: { home: number; away: number; }; } & mongoose.DefaultTimestampProps, {}, {}, {}, mongoose.Document & { clientId: string; userId: mongoose.Types.ObjectId; playedOn: string; snapshot: { timezone?: string; homeName?: string; awayName?: string; homeCrest?: string; awayCrest?: string; venueName?: string; venueCity?: string; venueCountry?: string; venueCountryId?: string; competitionName?: string; competitionTier?: number; kickoffAt?: NativeDate; }; notePrivate: boolean; backfilled: boolean; source: import("@weekendgoals/weekendgoals-types/dist/log").LogEntrySource; rating?: number; venueId?: string; matchId?: string; matchExternalId?: number; competitionId?: string; homeTeamId?: string; awayTeamId?: string; note?: string; score?: { home: number; away: number; }; } & mongoose.DefaultTimestampProps & { _id: mongoose.Types.ObjectId; } & { __v: number; }, mongoose.Schema, {}, {}, {}, {}, { timestamps: true; }, { clientId: string; userId: mongoose.Types.ObjectId; playedOn: string; snapshot: { timezone?: string; homeName?: string; awayName?: string; homeCrest?: string; awayCrest?: string; venueName?: string; venueCity?: string; venueCountry?: string; venueCountryId?: string; competitionName?: string; competitionTier?: number; kickoffAt?: NativeDate; }; notePrivate: boolean; backfilled: boolean; source: import("@weekendgoals/weekendgoals-types/dist/log").LogEntrySource; rating?: number; venueId?: string; matchId?: string; matchExternalId?: number; competitionId?: string; homeTeamId?: string; awayTeamId?: string; note?: string; score?: { home: number; away: number; }; } & mongoose.DefaultTimestampProps, mongoose.Document, {}, mongoose.MergeType> & mongoose.FlatRecord<{ clientId: string; userId: mongoose.Types.ObjectId; playedOn: string; snapshot: { timezone?: string; homeName?: string; awayName?: string; homeCrest?: string; awayCrest?: string; venueName?: string; venueCity?: string; venueCountry?: string; venueCountryId?: string; competitionName?: string; competitionTier?: number; kickoffAt?: NativeDate; }; notePrivate: boolean; backfilled: boolean; source: import("@weekendgoals/weekendgoals-types/dist/log").LogEntrySource; rating?: number; venueId?: string; matchId?: string; matchExternalId?: number; competitionId?: string; homeTeamId?: string; awayTeamId?: string; note?: string; score?: { home: number; away: number; }; } & mongoose.DefaultTimestampProps> & { _id: mongoose.Types.ObjectId; } & { __v: number; }>>; //# sourceMappingURL=index.d.ts.map