/**
 * feed-serializer.ts
 *
 * Serializes forecast data into the API shapes consumed by the frontend.
 * Two feeds:
 *   1. Upcoming — compact summary of pregame forecasts (count by league)
 *   2. Recently Graded — live pending + completed forecasts (full detail)
 *
 * All status/tier/formatting logic delegates to forecast-lifecycle.ts.
 */
export interface UpcomingLeagueSummary {
    league: string;
    count: number;
    earliestStart: string;
    latestStart: string;
    games: UpcomingGame[];
}
export interface UpcomingGame {
    eventId: string;
    league: string;
    homeTeam: string;
    awayTeam: string;
    startsAt: string;
    confidenceScore: number;
    tier: string;
}
export interface UpcomingFeed {
    totalCount: number;
    byLeague: UpcomingLeagueSummary[];
}
export interface LedgerRow {
    eventDate: string;
    league: string;
    entityType: string;
    entityLabel: string;
    actionType: string;
    actionValue: number | null;
    direction: string | null;
    confidenceTier: string | null;
    resultValue: number | null;
    grade: string;
    clvValue: number | null;
    homeTeam: string | null;
    awayTeam: string | null;
    homeScore: number | null;
    awayScore: number | null;
    closingLine: string | null;
    forecastLine: string | null;
}
/**
 * Fetch upcoming (not-yet-started) forecasts grouped by league.
 * These are UPCOMING_QUALIFIED — contest scheduled, not started.
 */
export declare function fetchUpcomingFeed(): Promise<UpcomingFeed>;
/**
 * Fetch the graded forecast ledger — LIVE_PENDING + FINAL_GRADED.
 * Combines DailyPick props (PIFF track record) + rm_forecast_accuracy_v2 game results.
 *
 * Key rule: UPCOMING_QUALIFIED forecasts are EXCLUDED.
 * Only started or completed contests appear here.
 */
export declare function fetchRecentlyGradedFeed(windowDays: number, limit: number, offset: number): Promise<{
    rows: any[];
    totalRows: number;
}>;
/**
 * Transform a raw DB row into a clean LedgerRow for the API response.
 * All formatting logic centralized here.
 */
export declare function serializeLedgerRow(r: any): LedgerRow;
//# sourceMappingURL=feed-serializer.d.ts.map