import type { ComponentConfig } from '../types.js'; import type { DiagnosticFilter } from '../types.js'; import type { OpsInterventionReason, OpsEvent } from '../../../../events/ops.js'; import type { UiEventFeed } from '../../ui-events.js'; /** * Immutable audit record for a single operator intervention. */ export interface OpsAuditEntry { /** Monotonic sequence number. */ readonly seq: number; /** Epoch ms when the intervention was recorded. */ readonly ts: number; /** The action taken (e.g. 'task.cancel', 'agent.cancel'). */ readonly action: string; /** The target task or agent ID. */ readonly targetId: string; /** Whether this intervention targeted a task or an agent. */ readonly targetKind: 'task' | 'agent'; /** The reason code for the intervention. */ readonly reason: OpsInterventionReason; /** Optional operator note. */ readonly note?: string | undefined; /** Outcome of the intervention. */ readonly outcome: 'success' | 'rejected' | 'error'; /** Error message if outcome is not success. */ readonly errorMessage?: string | undefined; /** Trace identifier from the event envelope. */ readonly traceId: string; /** Session identifier from the event envelope. */ readonly sessionId: string; } export declare class OpsPanel { private readonly _config; private readonly _events; private readonly _audit; private _seq; private readonly _subscribers; private _unsub; constructor(events: UiEventFeed, config?: ComponentConfig); private _start; private _handleAudit; /** * Returns a filtered snapshot of the audit log, most recent first. */ getSnapshot(filter?: DiagnosticFilter): OpsAuditEntry[]; /** * Subscribe to data changes. Returns an unsubscribe function. */ subscribe(callback: () => void): () => void; /** * Dispose the panel, unsubscribing from the event bus. */ dispose(): void; private _notify; } //# sourceMappingURL=ops.d.ts.map