import { type HandleMessageStreamEvent } from "#protocol/message.js";
import type { HarnessEmissionState } from "#harness/emission.js";
import type { HarnessToolMap } from "#harness/types.js";
import type { CodeModeOptions } from "#shared/code-mode.js";
type EmitCodeModeLifecycleEvent = (event: HandleMessageStreamEvent) => Promise<void>;
/**
 * Builds code-mode lifecycle hooks that project nested host tool calls onto
 * eve's existing action event stream.
 */
export declare function createCodeModeLifecycle(input: {
    readonly emit: EmitCodeModeLifecycleEvent;
    readonly emissionState: HarnessEmissionState;
    readonly skipReplayed?: boolean;
    readonly tools: HarnessToolMap;
}): NonNullable<CodeModeOptions["lifecycle"]>;
export {};
