import type { Spec } from '../types/index.js';
import type { BurndownPoint, CycleTimeStats, FlowEfficiencyStats, LeadTimeStats, ThroughputPoint, VelocityFilters, VelocityReport, VelocityTrend, WipSnapshot } from '../types/velocity.js';
/**
 * Computes weekly throughput (specs done per week) over the given weeks.
 */
export declare function computeThroughput(specs: Spec[], filters: VelocityFilters, referenceDate: Date): ThroughputPoint[];
/**
 * Computes lead time stats (done - created) in hours.
 */
export declare function computeLeadTime(specs: Spec[], filters: VelocityFilters, referenceDate: Date): LeadTimeStats | null;
/**
 * Computes cycle time stats (done - implementing timestamp).
 * Uses real statusHistory timestamps when available (SPEC-529).
 * Falls back to updatedAt for done and heuristic midpoint for implementing start
 * on old specs that pre-date statusHistory tracking.
 */
export declare function computeCycleTime(specs: Spec[], filters: VelocityFilters, referenceDate: Date): CycleTimeStats | null;
/**
 * Computes current WIP (specs in 'implementing' status).
 */
export declare function computeWip(specs: Spec[]): WipSnapshot;
/**
 * Estimates flow efficiency as the ratio of cycle time to lead time.
 * Active states: implementing, review.
 * Waiting states: draft, approved.
 */
export declare function computeFlowEfficiency(specs: Spec[], filters: VelocityFilters, referenceDate: Date): FlowEfficiencyStats | null;
/**
 * Computes burndown: specs created vs completed cumulatively per week.
 */
export declare function computeBurndown(specs: Spec[], filters: VelocityFilters, referenceDate: Date): BurndownPoint[];
/**
 * Builds a full VelocityReport from a list of specs.
 * Pure function — no I/O.
 */
export declare function buildVelocityReport(specs: Spec[], projectId: string, projectPath: string, filters: VelocityFilters, referenceDate?: Date): VelocityReport;
/**
 * Builds a trend comparison: last N weeks vs previous N weeks.
 */
export declare function buildVelocityTrend(specs: Spec[], projectId: string, projectPath: string, filters: VelocityFilters, compareWeeks: number, referenceDate?: Date): VelocityTrend;
//# sourceMappingURL=velocity-calculator.d.ts.map