using System.Text.Json;
using System.Threading;
using System.Threading.Tasks;

namespace AxCopilot.Services.Agent;

public interface IAgentTool
{
	string Name { get; }

	string Description { get; }

	ToolParameterSchema Parameters { get; }

	Task<ToolResult> ExecuteAsync(JsonElement args, AgentContext context, CancellationToken ct = default(CancellationToken));
}
