/** @packageDocumentation
 * @module Topology
 */
/**
 * Class to accumulate statistics about a stream of signed numbers with tag items.
 * * All sums, counts, extrema, and item values are initialized to zero in the constructor.
 * * Each call to `announceItem(item, value)` updates the various sums, counts, and extrema.
 */
export declare class SignedDataSummary<T> {
    /** Sum of all positive area items. */
    positiveSum: number;
    /** Number of positive area items. */
    numPositive: number;
    /** Sum of negative area items. */
    negativeSum: number;
    /** Number of negative area items. */
    numNegative: number;
    /** Number of zero area items. */
    numZero: number;
    /** The tag item item with the largest positive data. */
    largestPositiveItem?: T;
    /** The tag item item with the most negative data. */
    largestNegativeItem?: T;
    largestPositiveValue: number;
    largestNegativeValue: number;
    /** Array of all negative area items. */
    negativeItemArray?: T[];
    /** Array of zero area items. */
    zeroItemArray?: T[];
    /** Array of positive area items. */
    positiveItemArray?: T[];
    /** Setup with zero sums and optional arrays. */
    constructor(createArrays: boolean);
    /** Update with an item and its data value. */
    announceItem(item: T, data: number): void;
}
//# sourceMappingURL=SignedDataSummary.d.ts.map