import type { HookRegistry } from "../contracts/hooks.js";
import { type MemoryPrefetchState } from "../runtime/hooks/memory-hooks.js";
import { SessionState } from "../runtime/session/session-state.js";
export interface TurnLifecycleHost {
    activeTurn: AbortController | null;
    turnDone: Promise<void>;
    currentSessionId: string;
    currentHooks: HookRegistry | null;
    sessionState: SessionState | null;
    memoryPrefetchState: MemoryPrefetchState;
    enableIdleDream(): void;
}
export interface PreparedTurnLifecycle {
    abortController: AbortController;
    resolveTurnDone(): void;
}
export declare function prepareTurnLifecycle(host: TurnLifecycleHost, sessionId: string): Promise<PreparedTurnLifecycle>;
export declare function finishTurnLifecycle(host: TurnLifecycleHost, lifecycle: PreparedTurnLifecycle): void;
