export interface PlayerPropSlateAuditAssetInput {
    eventId: string;
    league: string;
    forecastType: string;
    status: string | null;
    playerName: string | null;
    confidenceScore: number | null;
    payload: Record<string, any> | null;
}
export interface PlayerPropSlateAuditEventInput {
    eventId: string;
    league: string;
    matchup: string;
    startsAt: string | null;
    hasForecast: boolean;
    propHighlightsCount: number;
    sourceBackedPlayerPropsCount?: number | null;
    sourceBackedSource?: 'local' | 'direct' | 'candidates' | null;
    liveFallbackPlayerPropsCount?: number | null;
    liveFallbackSource?: 'local' | 'direct' | 'candidates' | null;
}
export interface PlayerPropDirectionAuditEntry {
    league: string;
    total: number;
    overs: number;
    unders: number;
    unknown: number;
    underPct: number;
}
export interface PlayerPropConfidenceGapAuditEntry {
    league: string;
    totalProps: number;
    missingConfidenceScore: number;
    missingConfidenceScorePct: number;
    missingProbability: number;
    missingProbabilityPct: number;
}
export interface PlayerPropPayloadGapAuditEntry {
    league: string;
    totalProps: number;
    missingSignalTier: number;
    missingSignalTierPct: number;
    missingForecastDirection: number;
    missingForecastDirectionPct: number;
    missingAgreementScore: number;
    missingAgreementScorePct: number;
    missingMarketQualityLabel: number;
    missingMarketQualityLabelPct: number;
    missingForecastDisplay: number;
    missingForecastDisplayPct: number;
    missingPropType: number;
    missingPropTypePct: number;
    missingSportsbookDisplay: number;
    missingSportsbookDisplayPct: number;
}
export interface TeamPropBundleGapAuditEntry {
    league: string;
    totalProps: number;
    missingSignalTier: number;
    missingSignalTierPct: number;
    missingForecastDirection: number;
    missingForecastDirectionPct: number;
    missingAgreementScore: number;
    missingAgreementScorePct: number;
    missingMarketQualityLabel: number;
    missingMarketQualityLabelPct: number;
}
export interface PlayerPropMarketConcentrationEntry {
    league: string;
    totalProps: number;
    topPropLabel: string | null;
    topPropCount: number;
    topPropSharePct: number;
    topPropLabels: Array<{
        label: string;
        count: number;
        sharePct: number;
    }>;
}
export interface PlayerPropProjectionClusterEntry {
    league: string;
    propKey: string;
    projectedValue: number;
    count: number;
    samplePlayers: string[];
    sampleEventIds: string[];
}
export interface PlayerPropStaleGapEntry {
    league: string;
    eventId: string;
    matchup: string;
    startsAt: string | null;
    activePlayerProps: number;
    stalePlayerProps: number;
    activeTeamProps: number;
    activeGameMarkets: number;
    sourceBackedPlayerProps: number;
    sourceBackedSource: 'local' | 'direct' | 'candidates' | null;
    liveFallbackPlayerProps: number;
    liveFallbackSource: 'local' | 'direct' | 'candidates' | null;
}
export interface PlayerPropHighlightsCoverageEntry {
    league: string;
    eventsWithForecasts: number;
    eventsWithPropHighlights: number;
    emptyPropHighlights: number;
    coveragePct: number;
}
export interface PlayerPropSourceCoverageEntry {
    league: string;
    totalEvents: number;
    eventsWithPublishedPlayerProps: number;
    eventsWithSourceBackedCoverage: number;
    eventsUsingSourceBackedRecovery: number;
    eventsWithNoPlayerPropCoverage: number;
    publishedPlayerProps: number;
    sourceBackedPlayerProps: number;
    publishedCoveragePct: number;
    sourceBackedCoveragePct: number;
    recoveryPct: number;
}
export interface PlayerPropSlateAuditReport {
    auditedAt: string;
    dateEt: string;
    summary: {
        totalEvents: number;
        eventsWithForecasts: number;
        activePlayerProps: number;
        sourceBackedPlayerProps: number;
        eventsWithSourceBackedCoverage: number;
        sourceBackedRecoverableGapCount: number;
        sourceBackedUnrecoverableGapCount: number;
        liveFallbackPlayerProps: number;
        stalePlayerProps: number;
        activeTeamProps: number;
        staleTeamProps: number;
        activeGameMarketAssets: number;
        projectionClusterCount: number;
        staleGapCount: number;
        recoverableGapCount: number;
        unrecoverableGapCount: number;
        eventsWithLiveFallbackCoverage: number;
    };
    directionsByLeague: PlayerPropDirectionAuditEntry[];
    confidenceGapsByLeague: PlayerPropConfidenceGapAuditEntry[];
    payloadGapsByLeague: PlayerPropPayloadGapAuditEntry[];
    teamBundleGapsByLeague: TeamPropBundleGapAuditEntry[];
    marketConcentrationByLeague: PlayerPropMarketConcentrationEntry[];
    projectionClusters: PlayerPropProjectionClusterEntry[];
    staleEventGaps: PlayerPropStaleGapEntry[];
    propHighlightsCoverage: PlayerPropHighlightsCoverageEntry[];
    sourceCoverageByLeague: PlayerPropSourceCoverageEntry[];
    passed: boolean;
}
export declare function buildPlayerPropSlateAuditReport(params: {
    auditedAt: string;
    dateEt: string;
    events: PlayerPropSlateAuditEventInput[];
    assets: PlayerPropSlateAuditAssetInput[];
}): PlayerPropSlateAuditReport;
export declare function renderPlayerPropSlateAuditMarkdown(report: PlayerPropSlateAuditReport): string;
//# sourceMappingURL=player-prop-slate-audit.d.ts.map