import { z } from 'zod'; import { RollTemplateService } from '../../../../ports/index.js'; import { TemplateEvaluationResult } from '../../../../use-cases/evaluate-template-use-case.js'; import { BaseTool } from './tool.js'; /** * Input type for the evaluate template tool. */ type EvaluateTemplateInput = { id: string; count?: number; }; /** * Output type for the evaluate template tool. */ type EvaluateTemplateOutput = { results: TemplateEvaluationResult[]; }; /** * Tool for evaluating a roll template. */ export declare class EvaluateTemplateTool extends BaseTool { private readonly templateService; /** * Creates a new EvaluateTemplateTool instance. * @param templateService The template service to use. */ constructor(templateService: RollTemplateService); /** * Gets the name of the tool. * @returns The tool name. */ protected getToolName(): string; /** * Gets the description of the tool. * @returns The tool description. */ protected getToolDescription(): string; /** * Gets the input schema for the tool. * @returns The input schema. */ protected getInputSchema(): z.ZodType; /** * Gets the output schema for the tool. * @returns The output schema. */ protected getOutputSchema(): z.ZodType; /** * Implements the tool execution logic. * @param args The validated tool arguments. * @returns The tool result. */ protected executeImpl(args: EvaluateTemplateInput): Promise; } export {};