import type { OpenClawConfig } from "../../../config/config.js"; import type { PluginHookAgentContext, PluginHookBeforeAgentStartResult, PluginHookBeforePromptBuildResult } from "../../../plugins/types.js"; import type { CompactEmbeddedPiSessionParams } from "../compact.js"; import type { EmbeddedRunAttemptParams } from "./types.js"; export type PromptBuildHookRunner = { hasHooks: (hookName: "before_prompt_build" | "before_agent_start") => boolean; runBeforePromptBuild: (event: { prompt: string; messages: unknown[]; }, ctx: PluginHookAgentContext) => Promise; runBeforeAgentStart: (event: { prompt: string; messages: unknown[]; }, ctx: PluginHookAgentContext) => Promise; }; export declare function resolvePromptBuildHookResult(params: { prompt: string; messages: unknown[]; hookCtx: PluginHookAgentContext; hookRunner?: PromptBuildHookRunner | null; legacyBeforeAgentStartResult?: PluginHookBeforeAgentStartResult; }): Promise; export declare function resolvePromptModeForSession(sessionKey?: string): "minimal" | "full"; export declare function shouldInjectHeartbeatPrompt(params: { isDefaultAgent: boolean; trigger?: EmbeddedRunAttemptParams["trigger"]; }): boolean; export declare function resolveAttemptFsWorkspaceOnly(params: { config?: OpenClawConfig; sessionAgentId: string; }): boolean; export declare function prependSystemPromptAddition(params: { systemPrompt: string; systemPromptAddition?: string; }): string; /** Build runtime context passed into context-engine afterTurn hooks. */ export declare function buildAfterTurnRuntimeContext(params: { attempt: Pick; workspaceDir: string; agentDir: string; }): Partial;