import type { MonitorSnapshot, TaskDetail } from "./monitor-reader-types.ts"; export type { TaskSnapshot, ActiveFunction, MonitorSnapshot, LoopSnapshot, GraphSessionSnapshot, EngineGraphSnapshot, GraphNodeSnapshot, EngineBudgetSnapshot, EngineLoopGroupSnapshot, GraphEvent, DispatchSummary, ConcurrencyStatus, NDJSONEvent, NotificationState, RecoveryMetrics, TaskDetail, } from "./monitor-reader-types.ts"; export { readMetricsSnapshot, readMetricsRecentEvents } from "./monitor-reader-metrics.ts"; export { readLoopSnapshots, readGraphEvents } from "./monitor-reader-graph.ts"; export { readEngineGraphs } from "./monitor-reader-engine.ts"; export { readNotificationState, readRecoveryMetrics } from "./monitor-reader-state.ts"; export { computeDurationMs, computeDispatchSummary, computeConcurrencyStatus } from "./monitor-reader-compute.ts"; /** * Read the full result sidecar for a specific task. * * Uses `resultSidecarPath` + `readResultSidecar` from the result-extractor * module. Returns a TaskDetail with the task snapshot, full text (or windowed * via offset/limit), total character count, and truncation info. * * Returns null when the sidecar file does not exist. */ export declare function readTaskDetail(projectDir: string, taskId: string, offset?: number, limit?: number): TaskDetail | null; /** * Walk up from `start` to the nearest ancestor that already has a * `.rolebox/state` directory, so `monitor` works from any sub-directory of the * project (opencode keys state by the project root, not the shell's cwd). * Normalized so the result matches the directory the plugin wrote under. */ export declare function resolveProjectRoot(start: string): string; export declare function readMonitorSnapshot(projectDir: string, tailChars?: number): MonitorSnapshot; //# sourceMappingURL=monitor-reader.d.ts.map