import type { InterruptibleEngine, EngineRunOpts, EngineResult } from "../shared/types.js"; import { PtyLifecycleManager } from "./pty-lifecycle.js"; import type { PtyControlEvent, PtyIdleSpawnOpts, PtySnapshotSubscription, PtyViewEngine } from "./pty-view-engine.js"; import { type GrokParsedLine } from "./grok.js"; export declare function findGrokTranscriptById(sessionId: string, root?: string): string | undefined; export declare function buildGrokInteractiveArgs(opts: EngineRunOpts | PtyIdleSpawnOpts, sessionId?: string, systemPromptOverride?: string): string[]; export declare function grokTranscriptLineToDeltas(line: string): GrokParsedLine; export declare class GrokInteractiveEngine implements InterruptibleEngine, PtyViewEngine { private lifecycle; name: "grok"; private active; private streams; private lastGeom; private spawnParams; constructor(lifecycle: PtyLifecycleManager); run(opts: EngineRunOpts): Promise; private buildEnv; private spawnParamsChanged; private spawn; private wireProcToStream; ensureIdleSpawn(jinnSessionId: string, opts: PtyIdleSpawnOpts): void; subscribeWithSnapshot(sessionId: string, cb: (data: Buffer) => void, onControl?: (event: PtyControlEvent) => void): PtySnapshotSubscription; restartPty(sessionId: string, opts: PtyIdleSpawnOpts): void; writeStdin(sessionId: string, text: string): void; writeRaw(sessionId: string, data: string): void; resizePty(sessionId: string, cols: number, rows: number): void; setViewing(sessionId: string, viewing: boolean): void; hasWarmPty(sessionId: string): boolean; isTurnRunning(sessionId: string): boolean; kill(sessionId: string, reason?: string): void; killAll(): void; /** Recycle idle warm PTYs only (org-reload). Sessions with an in-flight turn * (`this.active`) are skipped so the active turn is never interrupted. */ killIdle(): void; isAlive(sessionId: string): boolean; } //# sourceMappingURL=grok-interactive.d.ts.map