/**
 * @param {{
 *   branch: string,
 *   baseRef: string,
 *   mergeBase: string,
 *   commit: string,
 *   label: string,
 *   capturedAt: string,
 *   metrics: {
 *     typecheckErrors: number,
 *     lintErrors: number,
 *     lintWarnings: number,
 *     testsPassed: number,
 *     testsFailed: number,
 *     testSuites: number,
 *     failedSuites: number,
 *   },
 * }} fromSnapshot
 * @param {{
 *   branch: string,
 *   baseRef: string,
 *   mergeBase: string,
 *   commit: string,
 *   label: string,
 *   capturedAt: string,
 *   metrics: {
 *     typecheckErrors: number,
 *     lintErrors: number,
 *     lintWarnings: number,
 *     testsPassed: number,
 *     testsFailed: number,
 *     testSuites: number,
 *     failedSuites: number,
 *   },
 * }} toSnapshot
 * @returns {{ fromLabel: string, toLabel: string, branch: string, deltas: Record<string, number> }}
 */
type SnapshotMetrics = {
    typecheckErrors: number;
    lintErrors: number;
    lintWarnings: number;
    testsPassed: number;
    testsFailed: number;
    testSuites: number;
    failedSuites: number;
};
type Snapshot = {
    branch: string;
    baseRef: string;
    mergeBase: string;
    commit: string;
    label: string;
    capturedAt: string;
    metrics: SnapshotMetrics;
};
export declare function diffSnapshots(fromSnapshot: Snapshot, toSnapshot: Snapshot): {
    fromLabel: string;
    toLabel: string;
    branch: string;
    deltas: Record<string, number>;
};
export {};
