/**
 * FanGraphs MLB Advanced Stats Client
 *
 * Fetches batting leaders, pitching leaders, and projections from FanGraphs'
 * public JSON API. Data stored in fg_batting_stats, fg_pitching_stats,
 * fg_projections tables.
 *
 * Used by: fangraphs-sync worker (daily cron), fangraphs RIE signal, Grok prompt
 */
export declare const FG_SPLITS: Record<string, number>;
export interface FgBatter {
    fgPlayerId: number;
    mlbamId: number;
    name: string;
    team: string;
    g: number;
    ab: number;
    pa: number;
    h: number;
    singles: number;
    doubles: number;
    triples: number;
    hr: number;
    r: number;
    rbi: number;
    bb: number;
    so: number;
    sb: number;
    cs: number;
    hbp: number;
    sf: number;
    avg: number;
    obp: number;
    slg: number;
    ops: number;
    iso: number;
    babip: number;
    woba: number;
    wrcPlus: number;
    bbPct: number;
    kPct: number;
    ldPct: number;
    gbPct: number;
    fbPct: number;
    hrFb: number;
    ev: number;
    hardHitPct: number;
    barrelPct: number;
    war: number;
    off: number;
    def: number;
    spd: number;
}
export interface FgPitcher {
    fgPlayerId: number;
    mlbamId: number;
    name: string;
    team: string;
    w: number;
    l: number;
    era: number;
    g: number;
    gs: number;
    sv: number;
    hld: number;
    ip: number;
    h: number;
    r: number;
    er: number;
    hr: number;
    bb: number;
    so: number;
    hbp: number;
    whip: number;
    kPer9: number;
    bbPer9: number;
    kPct: number;
    bbPct: number;
    kBbPct: number;
    hrPer9: number;
    avg: number;
    babip: number;
    lobPct: number;
    fip: number;
    xfip: number;
    siera: number;
    xera: number;
    gbPct: number;
    fbPct: number;
    ldPct: number;
    hrFb: number;
    hardHitPct: number;
    ev: number;
    barrelPct: number;
    fbPctPitch: number;
    fbVelo: number;
    slPct: number;
    slVelo: number;
    cbPct: number;
    cbVelo: number;
    chPct: number;
    chVelo: number;
    war: number;
}
export interface FgProjection {
    fgPlayerId: number;
    mlbamId: number;
    name: string;
    team: string;
    statType: 'bat' | 'pit';
    system: string;
    projPa?: number;
    projHr?: number;
    projRbi?: number;
    projR?: number;
    projSb?: number;
    projAvg?: number;
    projObp?: number;
    projSlg?: number;
    projOps?: number;
    projWoba?: number;
    projWrcPlus?: number;
    projWar?: number;
    projKPct?: number;
    projBbPct?: number;
    projW?: number;
    projL?: number;
    projEra?: number;
    projIp?: number;
    projSo?: number;
    projBb?: number;
    projWhip?: number;
    projFip?: number;
    projWarPit?: number;
    projKPer9?: number;
    projBbPer9?: number;
}
export interface TeamBattingProjection {
    team: string;
    playerCount: number;
    projPa: number;
    projWrcPlus: number;
    projWoba: number;
    projOps: number;
    projIso: number;
    projKPct: number;
    projBbPct: number;
}
export interface TeamPitchingProjection {
    team: string;
    playerCount: number;
    projIp: number;
    projEra: number;
    projFip: number;
    projWhip: number;
    projKPer9: number;
    projBbPer9: number;
}
export declare function fetchBattingLeaders(season: number, split?: string, qual?: number): Promise<FgBatter[]>;
export declare function fetchPitchingLeaders(season: number, split?: string, qual?: number): Promise<FgPitcher[]>;
export declare function fetchBattingProjections(season: number, system?: string): Promise<FgProjection[]>;
export declare function fetchPitchingProjections(season: number, system?: string): Promise<FgProjection[]>;
export declare function upsertBatters(batters: FgBatter[], season: number, split: string): Promise<number>;
export declare function upsertPitchers(pitchers: FgPitcher[], season: number, split: string): Promise<number>;
export declare function upsertProjections(projections: FgProjection[], season: number): Promise<number>;
export interface TeamBattingProfile {
    team: string;
    wrcPlus: number;
    woba: number;
    ops: number;
    iso: number;
    kPct: number;
    bbPct: number;
    ev: number;
    hardHitPct: number;
    barrelPct: number;
    hr: number;
    avg: number;
    obp: number;
    slg: number;
    playerCount: number;
}
export declare function getTeamBatting(team: string, season: number, split?: string): Promise<TeamBattingProfile | null>;
export interface PitcherProfile {
    name: string;
    team: string;
    era: number;
    fip: number;
    xfip: number;
    siera: number;
    kPct: number;
    bbPct: number;
    kBbPct: number;
    whip: number;
    babip: number;
    hrPer9: number;
    ev: number;
    barrelPct: number;
    hardHitPct: number;
    fbVelo: number;
    gbPct: number;
    ip: number;
    gs: number;
    war: number;
    fbPctPitch: number;
    slPct: number;
    cbPct: number;
    chPct: number;
    slVelo: number;
    cbVelo: number;
    chVelo: number;
}
export interface BullpenProfile {
    team: string;
    era: number;
    fip: number;
    xfip: number;
    whip: number;
    kPct: number;
    bbPct: number;
    barrelPct: number;
    ev: number;
    ip: number;
    relieverCount: number;
}
export declare function getStarterProfile(name: string, team: string, season: number): Promise<PitcherProfile | null>;
export declare function getStarterRecentProfile(name: string, team: string, season: number): Promise<PitcherProfile | null>;
export declare function getTeamPitching(team: string, season: number, split?: string): Promise<{
    era: number;
    fip: number;
    xfip: number;
    kPct: number;
    bbPct: number;
    whip: number;
    ev: number;
    barrelPct: number;
} | null>;
export declare function getBullpenPitching(team: string, season: number, split?: string): Promise<BullpenProfile | null>;
export declare function getSteamerProjection(name: string, team: string, statType: 'bat' | 'pit', season: number): Promise<FgProjection | null>;
export declare function getTeamBattingProjection(team: string, season: number): Promise<TeamBattingProjection | null>;
export declare function getTeamPitchingProjection(team: string, season: number): Promise<TeamPitchingProjection | null>;
export declare function formatFangraphsForPrompt(data: {
    homeBat?: TeamBattingProfile | null;
    awayBat?: TeamBattingProfile | null;
    homePit?: {
        era: number;
        fip: number;
        xfip: number;
        kPct: number;
        bbPct: number;
        whip: number;
        ev: number;
        barrelPct: number;
    } | null;
    awayPit?: {
        era: number;
        fip: number;
        xfip: number;
        kPct: number;
        bbPct: number;
        whip: number;
        ev: number;
        barrelPct: number;
    } | null;
    homeStarter?: PitcherProfile | null;
    awayStarter?: PitcherProfile | null;
    homeStarterName?: string | null;
    awayStarterName?: string | null;
    homeBatProj?: TeamBattingProjection | null;
    awayBatProj?: TeamBattingProjection | null;
    homePitProj?: TeamPitchingProjection | null;
    awayPitProj?: TeamPitchingProjection | null;
    homeTeam: string;
    awayTeam: string;
}): string;
//# sourceMappingURL=fangraphs.d.ts.map