import { type GraphId, type Project } from '@ironclad/rivet-core'; export type GitRevision = { hash: string; authorName: string; authorEmail: string; date: Date; message: string; }; export type CalculatedRevisionProjectInfo = { projectBeforeRevision?: Project; projectAtRevision?: Project; changedGraphs: GraphId[]; }; export type CalculatedRevision = GitRevision & CalculatedRevisionProjectInfo; export type ProjectRevisionCalculatorEvents = { processed: GitRevision & CalculatedRevisionProjectInfo; finished: void; }; export declare class ProjectRevisionCalculator { #private; delay: number; constructor(projectPath: string); get processedRevisions(): CalculatedRevision[]; isRunning(): boolean; abortProcessing(): void; get numTotalRevisions(): number; get numProcessedRevisions(): number; startProcessingRevisions(): Promise; on: (eventName: Name | readonly Name[], listener: (eventData: (ProjectRevisionCalculatorEvents & import("emittery").OmnipresentEventData)[Name]) => void | Promise) => import("emittery").UnsubscribeFunction; off: (eventName: Name | readonly Name[], listener: (eventData: (ProjectRevisionCalculatorEvents & import("emittery").OmnipresentEventData)[Name]) => void | Promise) => void; stop(): void; loadGitRevisions(): Promise; loadProjectAtRevision(revision: CalculatedRevision, previousCommit: boolean): Promise; } //# sourceMappingURL=ProjectRevisionCalculator.d.ts.map