import type { ControlPlaneRecentEvent, SharedApprovalRecord, SharedSessionRecord } from '../control-plane/index.js'; import type { RuntimeServices } from './services.js'; import type { AutomationJob } from '../automation/jobs.js'; import type { AutomationRun } from '../automation/runs.js'; import type { AutomationRouteBinding } from '../automation/routes.js'; import type { WatcherRecord } from './store/domains/watchers.js'; import type { OrchestrationGraphRecord } from './store/domains/orchestration.js'; import type { RuntimeCommunicationRecord } from './store/domains/communication.js'; import type { ControlPlaneClientRecord } from './store/domains/control-plane.js'; import type { UiReadModel } from './ui-read-models-base.js'; export interface UiAutomationSnapshot { readonly jobs: readonly AutomationJob[]; readonly runs: readonly AutomationRun[]; readonly totalJobs: number; readonly totalRuns: number; readonly activeRunIds: readonly string[]; readonly totalFailed: number; readonly sourceCount: number; readonly deliveryTotals: { readonly succeeded: number; readonly failed: number; readonly deadLettered: number; }; } export interface UiRoutesSnapshot { readonly bindings: readonly AutomationRouteBinding[]; readonly bindingIdsBySurface: Readonly>; readonly totalBindings: number; readonly activeBindingIds: readonly string[]; readonly totalResolved: number; readonly totalFailures: number; } export interface UiWatchersSnapshot { readonly watchers: readonly WatcherRecord[]; readonly totalWatchers: number; readonly activeWatcherIds: readonly string[]; readonly totalDegraded: number; readonly totalLagged: number; } export interface UiOrchestrationSnapshot { readonly graphs: readonly OrchestrationGraphRecord[]; readonly totalGraphs: number; readonly activeGraphIds: readonly string[]; readonly totalCompletedGraphs: number; readonly totalFailedGraphs: number; readonly recursionGuardTrips: number; } export interface UiCommunicationSnapshot { readonly records: readonly RuntimeCommunicationRecord[]; readonly totalSent: number; readonly totalDelivered: number; readonly totalBlocked: number; } export interface UiControlPlaneSnapshot { readonly connectionState: string; readonly activeClientIds: readonly string[]; readonly requestCount: number; readonly errorCount: number; readonly host: string; readonly port: number; readonly clients: readonly ControlPlaneClientRecord[]; readonly approvals: readonly SharedApprovalRecord[]; readonly sessions: readonly SharedSessionRecord[]; readonly recentEvents: readonly ControlPlaneRecentEvent[]; } export interface UiOperationsReadModels { readonly automation: UiReadModel; readonly routes: UiReadModel; readonly watchers: UiReadModel; readonly orchestration: UiReadModel; readonly communication: UiReadModel; readonly controlPlane: UiReadModel; } export interface UiOperationsReadModelOptions { readonly getControlPlaneRecentEvents?: ((limit: number) => readonly ControlPlaneRecentEvent[]) | undefined; } export declare function createOperationsReadModels(runtimeServices: Pick, options?: UiOperationsReadModelOptions): UiOperationsReadModels; //# sourceMappingURL=ui-read-models-operations.d.ts.map