import { ResultSpan } from '../ResultSpan';
import { ResultSpanAggregateBase } from './ResultSpanAggregateBase';
/**
 * Aggregator that calculates total repetitions across all spans.
 */
export declare class TotalRepetitionsAggregate extends ResultSpanAggregateBase {
    constructor();
    /**
     * Aggregates repetitions across all spans.
     *
     * @param spans - Collection of ResultSpan objects to aggregate
     * @returns Object containing total repetitions
     */
    aggregate(spans: ResultSpan[]): Record<string, any>;
}
/**
 * Aggregator that calculates repetitions grouped by exercise/effort.
 */
export declare class RepetitionsByExerciseAggregate extends ResultSpanAggregateBase {
    constructor();
    /**
     * Aggregates repetitions by exercise/effort name.
     *
     * @param spans - Collection of ResultSpan objects to aggregate
     * @returns Object containing repetitions grouped by exercise name
     */
    aggregate(spans: ResultSpan[]): Record<string, any>;
}
/**
 * Aggregator that calculates total weight moved across all spans.
 */
export declare class TotalWeightAggregate extends ResultSpanAggregateBase {
    constructor();
    /**
     * Aggregates total weight moved across all spans.
     *
     * @param spans - Collection of ResultSpan objects to aggregate
     * @returns Object containing total weight moved
     */
    aggregate(spans: ResultSpan[]): Record<string, any>;
}
/**
 * Aggregator that calculates total distance covered across all spans.
 */
export declare class TotalDistanceAggregate extends ResultSpanAggregateBase {
    constructor();
    /**
     * Aggregates total distance covered across all spans.
     *
     * @param spans - Collection of ResultSpan objects to aggregate
     * @returns Object containing total distance and unit
     */
    aggregate(spans: ResultSpan[]): Record<string, any>;
}
