import { EventEmitter } from 'node:events'; import { IntentAggregator, type IntentAggregatorSnapshot, type TelemetrySample } from '../intent/aggregator'; import { IntentDetector, type IntentSignal } from '../intent/detector'; export type EvolutionPipelineEvent = { type: 'intent.detected'; payload: IntentSignal; } | { type: 'telemetry.window'; payload: { sampleCount: number; }; }; export interface EvolutionPipelineOptions { detector?: IntentDetector; aggregator?: IntentAggregator; emitter?: EventEmitter; onIntent?: (intent: IntentSignal) => Promise | void; onSnapshot?: (snapshot: IntentAggregatorSnapshot) => Promise | void; } export declare class EvolutionPipeline { private readonly detector; private readonly aggregator; private readonly emitter; private readonly onIntent?; private readonly onSnapshot?; private timer?; private previousMetrics?; constructor(options?: EvolutionPipelineOptions); ingest(sample: TelemetrySample): void; on(listener: (event: EvolutionPipelineEvent) => void): void; start(intervalMs?: number): void; stop(): void; run(): Promise; private emit; }