import type { EnvelopeBus } from '@zhixuan92/multi-model-agent-core/events/envelope-bus'; /** * Map one provider event to a headline, or null when the event says nothing a person would * want on screen. Returning null is the common case and must stay cheap: this runs on every * event of every concurrent task. */ export declare function headlineForEvent(fields: Record): string | null; interface HeadlineSink { setHeadline(taskId: string, headline: string): void; /** Called for EVERY provider event, not only the ones that make a readable headline — * a `grep` that produces no printable line is still the worker doing something. */ recordActivity(taskId: string): void; } /** * Subscribe to the bus and keep each running task's headline current. * * Returns the unsubscribe function. Failures are swallowed per-event on purpose: a headline is * decoration, and an exception raised here would propagate into the bus's subscriber loop and * disrupt logging and telemetry for a cosmetic feature. */ export declare function attachHeadlineProducer(bus: EnvelopeBus, sink: HeadlineSink): () => void; export {}; //# sourceMappingURL=headline-from-events.d.ts.map