import { type IOpsConfigEventFilter } from '../db/documents/classes.ops-config-event.doc.js'; import type { IOpsConfigEvent, IOpsConfigEventCursor, IOpsConfigEventContext, TOpsConfigEventSeverity } from '../../dist_ts_interfaces/data/config-events.js'; export interface IRecordOpsConfigEventOptions { severity: TOpsConfigEventSeverity; category: string; title: string; detail: string; context?: IOpsConfigEventContext; } /** * OpsEventManager — durable, acknowledgeable platform configuration events. * * These are operator-facing config conflicts (e.g. gateway DNS automation * overwriting a manual record), not application runtime errors. Producers call * `recordEvent()` fire-and-forget; the ops UI lists and acknowledges them. * * Repeated occurrences of the same unacknowledged conflict coalesce into one * event (refreshed timestamp/detail) so reconcile loops cannot flood the inbox. */ export declare class OpsEventManager { private pruneInterval; start(): Promise; stop(): Promise; recordEvent(options: IRecordOpsConfigEventOptions): Promise; listEvents(filter?: IOpsConfigEventFilter): Promise<{ events: IOpsConfigEvent[]; total: number; unacknowledgedCount: number; nextCursor?: IOpsConfigEventCursor; }>; acknowledgeEvents(ids: string[], userId: string): Promise; }