/** Mixin to provide statistics functionality. Requires the base class to extend EventEmitter. */ export declare abstract class StatisticsHost { protected abstract createEmpty(): T; private _statistics; get statistics(): Readonly; resetStatistics(): void; /** Can be overridden in derived classes to specify additional args to be included in the statistics event callback. */ protected getAdditionalEventArgs(): any[]; /** Can be overridden in derived classes to specify how to transform the internal statistics before emitting them to applications. */ protected transformBeforeEmit(statistics: Readonly): T; private _emitUpdate; updateStatistics(updater: (current: Readonly) => T): void; incrementStatistics(property: keyof T): void; } export interface StatisticsEventCallbacks { "statistics updated": (statistics: Readonly) => void; } export interface StatisticsEventCallbacksWithSelf { "statistics updated": (self: TSelf, statistics: Readonly) => void; } //# sourceMappingURL=Statistics.d.ts.map