import type { StreamFn } from "@mariozechner/pi-agent-core"; import type { OpenClawConfig } from "../../../config/config.js"; import type { PluginHookAgentContext, PluginHookBeforeAgentStartResult, PluginHookBeforePromptBuildResult } from "../../../plugins/types.js"; import type { EmbeddedRunAttemptParams, EmbeddedRunAttemptResult } from "./types.js"; 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 wrapStreamFnTrimToolCallNames(baseFn: StreamFn): StreamFn; 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 resolveAttemptFsWorkspaceOnly(params: { config?: OpenClawConfig; sessionAgentId: string; }): boolean; export declare function runEmbeddedAttempt(params: EmbeddedRunAttemptParams): Promise; export {};