/*!
 * Copyright (c) Microsoft Corporation. All rights reserved.
 * Licensed under the MIT License.
 */
/// <reference types="node" />
import { EventEmitter } from 'events';
/** A collection of network statistics from a certain point in time. */
export declare type NetworkStatsReport = {
    /**
     * The average incoming bandwidth of this app over the last 1/5/30 seconds, in KB/s. This is roughly equivalent
     * to the bandwidth sent by the busiest client over the interval, though does not correlate exactly.
     * Only MRE internal traffic is counted, not general HTTP requests (static file hosting, etc.).
     */
    networkBandwidthIn: [number, number, number];
    /**
     * The average outgoing bandwidth of this app over the last 1/5/30 seconds, in KB/s. This is roughly equivalent
     * to the bandwidth sent to the busiest client over the interval, though this does not correlate exactly.
     * Only MRE internal traffic is counted, not general HTTP requests (static file hosting, etc.).
     */
    networkBandwidthOut: [number, number, number];
    /**
     * The number of messages sent and received by this app in the last 1/5/30 seconds. A high number might indicate
     * that clients are wasting CPU cycles serializing and deserializing messages.
     */
    networkMessageCount: [number, number, number];
};
/**
 * @hidden
 */
export declare class NetworkStatsTracker extends EventEmitter {
    private buffer;
    private active;
    constructor();
    /** @private */
    recordOutgoing(bytes: number): void;
    /** @private */
    recordIncoming(bytes: number): void;
    /** @private */
    reportStats(): NetworkStatsReport;
    private cycleStatFrames;
}
//# sourceMappingURL=networkStats.d.ts.map