/** * profile-temporal — publication trajectory + hot-streak detection (#1501). * * Port of profiles/temporal_analysis.py (stdlib): per-year paper counts, topic * drift (cosine distance between consecutive-year topic vectors), hot-streak * detection (≥3 consecutive years with ≥1 A-grade paper, Fortunato 2018), * career-phase classification, and trajectory trend. Reuses the #1497 parser * (year + topics) + the analysis-doc GRADE reader. * * @source historical: profiles/temporal_analysis.py */ export interface AnnualDatum { year: number; paperCount: number; grades: string[]; topTopics: string[]; topicDrift: number | null; hasAGrade: boolean; } export interface HotStreak { startYear: number; length: number; active?: boolean; } export interface Trajectory { profId: string; annualData: AnnualDatum[]; hotStreak: HotStreak | null; careerPhase: 'early' | 'mid' | 'senior' | 'unknown'; trajectoryTrend: string; firstYear: number | null; lastYear: number | null; totalPapers: number; } /** Compute the temporal trajectory for one PROF-P/PROF-O profile. */ export declare function computeTrajectory(corpusRoot: string, profId: string, asOfYear?: number): Trajectory; /** Render a trajectory as a markdown summary + the §7 year table. */ export declare function renderTrajectory(t: Trajectory): string; //# sourceMappingURL=profile-temporal.d.ts.map