import type { CopilotSession } from "@github/copilot-sdk"; export interface NativeTaskSummary { id: string; toolCallId: string; agentId?: string; title: string; profile?: string; model?: string; status: "running" | "waiting" | "completed" | "failed" | "cancelled" | "interrupted"; startedAt: string; completedAt?: string; durationMs?: number; toolCalls: number; preview?: string; result?: string; error?: string; recentActivity?: Array<{ message: string; timestamp: string; }>; } export interface NativeTasksPayload { version: 1; ownerId: string; ownerStartedAt: number; turnIndex: number; revision: number; phase: "live" | "idle"; tasks: NativeTaskSummary[]; truncated?: boolean; } interface Options { turnIndex?: number; intervalMs?: number; timeoutMs?: number; emit: (event: { eventType: string; data: any; }) => void; } /** A read-only, per-turn projection of native work. Registry notifications are * invalidations, never transcript entries. Lifecycle events remain authoritative; * deleting/reusing a CLI registry entry cannot rewrite a completed invocation. */ export declare class NativeTaskObserver { private readonly session; private readonly options; private readonly ownerId; private readonly ownerStartedAt; private readonly tasks; private readonly agents; private readonly toolCalls; private readonly persisted; private readonly intervalMs; private revision; private phase; private closed; private truncated; private publishTimer?; private refreshTimer?; private rpcTimer?; private lastPublished; private lastRefresh; private refreshing; private dirty; private rpcDisabled; constructor(session: Pick, options: Options); observe(event: { type?: string; eventType?: string; data?: any; agentId?: string; timestamp?: string; }): void; /** Never await telemetry on the model path, including hung JSON-RPC calls. */ finish(status?: "interrupted" | "cancelled"): void; private setTerminal; private persistBoundary; private emit; private copy; private publish; private schedulePublish; private invalidate; private refresh; } export {}; //# sourceMappingURL=native-task-observer.d.ts.map