import type { ApiTelemetryEvent } from "./api-telemetry.mts"; import type { RateLimitInfo } from "./http-utils.mts"; export interface TelemetryAggregate { eventCount: number; credentialSources: Map; graphql: { requestCount: number; measuredQueryCost: number; unmeasuredRequestCount: number; nodeCount: number; rateLimit?: RateLimitInfo; }; rest: Map; } export interface SequencedApiTelemetryEvent extends ApiTelemetryEvent { sequence: number; } export interface TelemetryStore { events: SequencedApiTelemetryEvent[]; compacted: TelemetryAggregate; eventCount: number; clock: { next: number; }; } export declare function emptyAggregate(): TelemetryAggregate; export declare function aggregateEvents(events: SequencedApiTelemetryEvent[]): TelemetryAggregate; export declare function mergeAggregate(target: TelemetryAggregate, source: TelemetryAggregate): void; export declare function aggregateStore(active: TelemetryStore): TelemetryAggregate;