import { AgentRunContext } from "../agent-types.js";
import { ArtifactComponentApiInsert, AssembleResult } from "@inkeep/agents-core";
import { ToolSet } from "ai";

//#region src/domains/run/agents/generation/system-prompt.d.ts
declare function getResolvedContext(ctx: AgentRunContext, conversationId: string, headers?: Record<string, unknown>): Promise<Record<string, unknown> | null>;
declare function getPrompt(ctx: AgentRunContext): Promise<string | undefined>;
declare function collectProjectArtifactComponents(ctx: AgentRunContext): ArtifactComponentApiInsert[];
declare function getClientCurrentTime(ctx: AgentRunContext): string | undefined;
declare function buildSystemPrompt(ctx: AgentRunContext, runtimeContext: {
  contextId: string;
  metadata: {
    conversationId: string;
    threadId: string;
    streamRequestId?: string;
    streamBaseUrl?: string;
  };
} | undefined, excludeDataComponents: boolean | undefined, preLoadedTools: {
  mcpResult: {
    tools: ToolSet;
    toolSets: any[];
  };
  functionTools: ToolSet;
  relationTools: ToolSet;
}): Promise<AssembleResult>;
//#endregion
export { buildSystemPrompt, collectProjectArtifactComponents, getClientCurrentTime, getPrompt, getResolvedContext };