import type { AgentTool } from "@earendil-works/pi-agent-core"; import { Type } from "typebox"; import type { Executor } from "../../sandbox/types.js"; import { type JevQuestions } from "../jev.js"; export declare const JEV_BROWSER_TOOL = "jev_browser"; declare const jevBrowserSchema: Type.TObject<{ label: Type.TString; goal: Type.TOptional; url: Type.TOptional; frame: Type.TOptional; commands: Type.TOptional>>; close: Type.TOptional; maxSteps: Type.TOptional; }>; interface RefInfo { role: string; name: string; } interface BrowserLifecycle { reused?: boolean; relaunchedBrowser?: boolean; launched?: boolean; } declare function describeContinuity(expectedOpen: boolean, first: BrowserLifecycle | undefined): string; declare function truncate(text: string, max: number): string; declare function categorizeRefs(refs: Record): { click: [string, RefInfo][]; type: [string, RefInfo][]; select: [string, RefInfo][]; }; interface QuestionPlan { questions: JevQuestions; singles: Record; } declare function buildQuestionPlan(refs: Record, canScrollUp: boolean, canScrollDown: boolean, snapshot?: string): QuestionPlan; export type FieldTextGenerator = (system: string, user: string, signal?: AbortSignal) => Promise; declare function resolveTarget(operation: string, answers: Record, singles: Record): string | undefined; export declare function createJevBrowserTool(executor: Executor, generateText?: FieldTextGenerator): AgentTool; export { buildQuestionPlan, resolveTarget, categorizeRefs, truncate, describeContinuity }; //# sourceMappingURL=jev-browser.d.ts.map