import type { BehaviorEvent } from '../behavior/behavior-event-emitter.js'; import type { SignalMessage, RuntimeStateSnapshot } from '../../domain/dashboard/signal-types.js'; export interface SignalSink { send(signal: SignalMessage): void; updateState?(state: Partial): void; } export declare class SignalAggregator { private readonly sink; private sequenceId; private readonly eventCounts; private readonly recentTimestamps; private readonly rateWindowMs; constructor(sink: SignalSink, rateWindowMs?: number); handleEvent(event: BehaviorEvent): void; replayEvent(event: BehaviorEvent, targetSend?: (signal: SignalMessage) => void): void; getEventCounts(): ReadonlyMap; getTotalEvents(): number; getEventRate(): number; private trackEventCount; private trackEventRate; private emitDerivedMetrics; private resolveEnforcementLevel; private emitMetric; private buildSignal; } //# sourceMappingURL=signal-aggregator.d.ts.map