import z from 'zod/v4'; import type { IStreamLogger } from './PSAgentLogger'; export interface IPSAgentToolResult { error: Error | null; result?: Record; } export interface IPSAgentToolInput { url?: string; method?: string; requestBody: z.core.JSONSchema.BaseSchema; } export interface IPSAgentToolRunOptions extends Record { toolCallId?: string; signal?: AbortSignal; onUpdate?: (partialResult: Record) => void; } export declare class PSAgentTool { private name; private description; private type; private local_execution; private hitl; private inputschema; private runCallback?; constructor({ name, description, type, local_execution, hitl, inputschema, runCallback, }: { name: string; description: string; type?: string; local_execution?: boolean; hitl?: boolean; inputschema: IPSAgentToolInput; runCallback?: (input: Record, log?: IStreamLogger, options?: IPSAgentToolRunOptions) => Promise>; }); get Name(): string; set Name(value: string); get Description(): string; set Description(value: string); get Type(): string; set Type(value: string); get LocalExecution(): boolean; set LocalExecution(value: boolean); get HITL(): { required: boolean; interrupt: string; level: number; }; set HITL(value: { required: boolean; interrupt: string; level: number; }); get Inputs(): IPSAgentToolInput; set Inputs(value: IPSAgentToolInput); run(input: Record, log?: IStreamLogger, options?: IPSAgentToolRunOptions): Promise>; static LocalTool({ name, description, requestschema, runCallback, }: { name: string; description: string; requestschema: z.core.JSONSchema.BaseSchema; runCallback: (input: Record, log?: IStreamLogger, options?: IPSAgentToolRunOptions) => Promise>; }): PSAgentTool; }