import type { AgentTool, AgentToolContext, AgentToolResult, AgentToolUpdateCallback } from "@oh-my-pi/pi-agent-core"; import type { Component } from "@oh-my-pi/pi-tui"; import * as z from "zod/v4"; import type { RenderResultOptions } from "../../extensibility/custom-tools/types"; import type { Theme } from "../../modes/theme/theme"; import type { ToolSession } from "../../tools"; import type { Goal, GoalToolDetails } from "../state"; declare const goalSchema: z.ZodObject<{ op: z.ZodEnum<{ complete: "complete"; create: "create"; drop: "drop"; get: "get"; resume: "resume"; }>; objective: z.ZodOptional; token_budget: z.ZodOptional; }, z.core.$strip>; export type GoalToolInput = z.infer; export interface GoalToolResponse { goal: Goal | null; remainingTokens: number | null; completionBudgetReport: string | null; } export declare function buildGoalToolResponse(goal: Goal | null | undefined, options?: { includeCompletionReport?: boolean; }): GoalToolResponse; export declare class GoalTool implements AgentTool { #private; readonly name = "goal"; readonly label = "Goal"; readonly description: string; readonly parameters: z.ZodObject<{ op: z.ZodEnum<{ complete: "complete"; create: "create"; drop: "drop"; get: "get"; resume: "resume"; }>; objective: z.ZodOptional; token_budget: z.ZodOptional; }, z.core.$strip>; readonly strict = true; readonly intent: "omit"; constructor(session: ToolSession); execute(_toolCallId: string, params: GoalToolInput, _signal?: AbortSignal, _onUpdate?: AgentToolUpdateCallback, _context?: AgentToolContext): Promise>; } interface GoalRenderArgs { op?: GoalToolInput["op"]; objective?: string; token_budget?: number; } export declare const goalToolRenderer: { renderCall(args: GoalRenderArgs, _options: RenderResultOptions, uiTheme: Theme): Component; renderResult(result: { content: Array<{ type: string; text?: string; }>; details?: GoalToolDetails; isError?: boolean; }, _options: RenderResultOptions, uiTheme: Theme, args?: GoalRenderArgs): Component; mergeCallAndResult: boolean; }; export {};