import { MarketCompletenessStatus, MarketSourceMapEntry, NormalizedPlayerPropMarket } from './mlb-market-normalizer';
import { type TheOddsEventOddsSnapshot } from './the-odds';
export interface MlbPropCandidate {
    player: string;
    playerId?: string;
    eventId?: string;
    teamShort: string;
    statType: string;
    normalizedStatType: string;
    playerRole: 'batter' | 'pitcher' | 'unknown' | null;
    prop: string;
    marketLineValue: number;
    overOdds: number | null;
    underOdds: number | null;
    availableSides: Array<'over' | 'under'>;
    gameStart: string;
    marketName: string;
    source: 'player_prop_line' | 'theodds_live';
    completenessStatus?: MarketCompletenessStatus;
    completionMethod?: 'none' | 'source' | 'multi_source';
    isGapFilled?: boolean;
    sourceMap?: MarketSourceMapEntry[];
}
export interface MlbPropQueryParams {
    teamShort: string;
    teamName: string;
    opponentShort?: string;
    startsAt: string;
}
declare function sanitizeMlbCandidatePlayerName(market: NormalizedPlayerPropMarket): string;
declare function shouldSuppressLowValueMlbCandidate(market: NormalizedPlayerPropMarket): boolean;
declare function mergeMlbMarketWithTheOddsSnapshot(market: NormalizedPlayerPropMarket, snapshot: TheOddsEventOddsSnapshot): NormalizedPlayerPropMarket;
declare function overlayNormalizedMlbMarketsWithTheOdds(markets: NormalizedPlayerPropMarket[], params: MlbPropQueryParams): Promise<NormalizedPlayerPropMarket[]>;
declare function getMlbTeamShortVariants(teamShort: string): string[];
export declare function mapNormalizedMarketsToCandidates(markets: NormalizedPlayerPropMarket[], rosterSet: Set<string>, confirmedLineupSet: Set<string> | null, teamShort: string): MlbPropCandidate[];
export declare function fetchMlbPropCandidates(params: MlbPropQueryParams): Promise<MlbPropCandidate[]>;
export declare function fetchDirectMlbPropCandidates(params: MlbPropQueryParams): Promise<MlbPropCandidate[]>;
export declare function countMlbPropFeedRows(params: MlbPropQueryParams): Promise<number>;
export declare function getMlbPropFeedSummary(params: MlbPropQueryParams): Promise<{
    playerCount: number;
    marketPropsCount: number;
}>;
export declare const __mlbPropMarketInternals: {
    mergeMlbMarketWithTheOddsSnapshot: typeof mergeMlbMarketWithTheOddsSnapshot;
    overlayNormalizedMlbMarketsWithTheOdds: typeof overlayNormalizedMlbMarketsWithTheOdds;
    mapNormalizedMarketsToCandidates: typeof mapNormalizedMarketsToCandidates;
    getMlbTeamShortVariants: typeof getMlbTeamShortVariants;
    sanitizeMlbCandidatePlayerName: typeof sanitizeMlbCandidatePlayerName;
    shouldSuppressLowValueMlbCandidate: typeof shouldSuppressLowValueMlbCandidate;
};
export {};
//# sourceMappingURL=mlb-prop-markets.d.ts.map