interface OpenCodeSessionAbortClient { session: { abort: (parameters: { sessionID: string; directory: string; }, options: { signal: AbortSignal; }) => Promise<{ data?: boolean; error?: unknown; }>; }; } export type OpenCodeSessionStopResult = { ok: true; } | { ok: false; error: Error; }; interface OpenCodeSessionLifecycleOptions { client: OpenCodeSessionAbortClient; sessionId: string; directory: string; abortTimeoutMs: number; invalidateServer: (error: Error) => void; } export interface OpenCodeSessionLifecycle { markPromptSent(): void; confirmIdle(): void; stopServerSessionOnce(): Promise; } export declare function createOpenCodeSessionLifecycle(options: OpenCodeSessionLifecycleOptions): OpenCodeSessionLifecycle; export {}; //# sourceMappingURL=session-lifecycle.d.ts.map