import { AgentCard as AgentCard$1, RegisteredAgent } from "../a2a/types.js";
import { SandboxConfig } from "../types/executionContext.js";
import { CredentialStoreRegistry, FullExecutionContext, SubAgentSelect } from "@inkeep/agents-core";

//#region src/domains/run/data/agents.d.ts

/**
 * Create an AgentCard from database agent data
 * Reusable function that standardizes agent card creation across the codebase
 * Used for external discovery via /.well-known/agent.json endpoint
 */
declare function createAgentCard({
  dbAgent,
  baseUrl
}: {
  dbAgent: SubAgentSelect;
  baseUrl: string;
}): AgentCard$1;
/**
 * Generate an enhanced description that includes transfer and delegation information
 * Used in generateTaskHandler to help agents understand what other agents can do
 *
 * @param baseDescription - The base description of the agent
 * @param internalRelations - Pre-computed internal relations
 * @param externalRelations - Pre-computed external relations
 */
declare function generateDescriptionWithRelationData(baseDescription: string, internalRelations: any[], externalRelations: any[], teamRelations: any[]): string;
declare function getRegisteredAgent(params: {
  executionContext: FullExecutionContext;
  credentialStoreRegistry?: CredentialStoreRegistry;
  sandboxConfig?: SandboxConfig;
}): Promise<RegisteredAgent | null>;
//#endregion
export { createAgentCard, generateDescriptionWithRelationData, getRegisteredAgent };