import type { ToolConfig, ToolDefinition } from './types';
/**
 * Define una herramienta (tool) para agentes IA de Plazbot.
 *
 * El agente decide cuando ejecutarla basandose en la `reference`.
 * Los `parameters` son extraidos automaticamente de la conversacion.
 *
 * @example
 * ```typescript
 * import { defineTool } from 'plazbot/workers';
 *
 * export default defineTool({
 *   name: 'consultar-stock',
 *   reference: 'Consulta el inventario de un producto',
 *   parameters: {
 *     producto: { type: 'string', description: 'Nombre del producto' },
 *   },
 *   async handler(input, plz) {
 *     const res = await plz.fetch(`https://api.ejemplo.com/stock/${input.producto}`);
 *     const data = await res.json();
 *     return { result: `Stock: ${data.cantidad} unidades` };
 *   },
 * });
 * ```
 */
export declare function defineTool<T extends Record<string, unknown> = Record<string, unknown>>(config: ToolConfig<T>): ToolDefinition<T>;
