/**
 * Higher-level summarization.
 *
 * Given the raw output of `fetchRepoStats`, produce aggregates that
 * are useful for a maintainer dashboard:
 *   - 7-day and 30-day activity windows
 *   - top contributors
 *   - issue/PR throughput
 */
import type { ReleaseSummary, ContributorSummary } from './types.js';
import type { FetchedStats } from './github.js';
export type { FetchedStats };
export interface ActivityBucket {
    open: number;
    closed: number;
    total: number;
}
export interface RepoSummary {
    fetched: FetchedStats;
    issues: {
        open: number;
        closed: number;
        total: number;
        last7d: ActivityBucket;
        last30d: ActivityBucket;
        topLabels: Array<{
            label: string;
            count: number;
        }>;
    };
    pulls: {
        open: number;
        closed: number;
        merged: number;
        total: number;
        last7d: {
            opened: number;
            merged: number;
        };
        last30d: {
            opened: number;
            merged: number;
        };
        avgChangedFiles: number;
    };
    releases: {
        total: number;
        latest: ReleaseSummary | null;
        cadenceDays: number | null;
    };
    contributors: {
        total: number;
        top: ContributorSummary[];
    };
}
export declare function buildSummary(fetched: FetchedStats): RepoSummary;
export declare function summarizeContributors(contributors: ContributorSummary[], top?: number): ContributorSummary[];
//# sourceMappingURL=summary.d.ts.map