export interface DistributionMetrics {
    mean: number;
    median: number;
    min: number;
    max: number;
    count: number;
    buckets: Record<string, number>;
}
export interface BucketConfig {
    boundaries: number[];
    formatLabel?: (lower: number | null, upper: number | null) => string;
    unitSuffix?: string;
}
export interface RetentionMetrics {
    overall: number;
    by_rating: {
        again: number;
        hard: number;
        good: number;
        easy: number;
    };
}
export declare function computeDistribution(values: number[], config: BucketConfig): DistributionMetrics;
export declare function computeRetention(buttonPresses: number[]): RetentionMetrics;
export declare function calculateStreak(reviewsByDay: Array<{
    date: string;
    count: number;
}>, todayKey: string): number;
