import type { CortexEvent } from './event-bridge.js'; import type { CortexLogger, PromptWatchdogDiagnosticsConfig } from './types.js'; interface PromptStartMeta { inputLength: number; messageCount: number; provider: string; modelId: string; } interface PromptFinishMeta { status: 'resolved' | 'rejected' | 'cancelled'; durationMs: number; turns: number; totalCost: number; currentContextTokens: number; pendingBackgroundResults: number; } interface PromptDiagnosticsCallbacks { isPrompting: () => boolean; isAbortRequested: () => boolean; } export declare class PromptWatchdogDiagnostics { private readonly logger; private readonly enabled; private readonly heartbeatIntervalMs; private readonly abortWaitWarningMs; private readonly callbacks; private readonly sessionId; private sequence; private activePrompt; private heartbeatTimer; private abortWaitTimer; private abortWaitStartedAt; constructor(config: PromptWatchdogDiagnosticsConfig | undefined, logger: CortexLogger | undefined, callbacks: PromptDiagnosticsCallbacks); startPrompt(meta: PromptStartMeta): void; recordEvent(event: CortexEvent): void; recordAbortRequested(): void; startAbortWait(): void; finishAbortWait(): void; finishPrompt(meta: PromptFinishMeta): void; stop(): void; private emitHeartbeat; private currentPromptId; private stopHeartbeat; private stopAbortWait; } export {}; //# sourceMappingURL=prompt-diagnostics.d.ts.map