import type { Theme } from "@earendil-works/pi-coding-agent"; import { type Component } from "@earendil-works/pi-tui"; import type { AgentGoal, GoalCheckpoint, GoalContinuationClaim } from "./domain.js"; export type GoalWindowAction = "close" | "closeGoal" /** @deprecated Parsed only for compatibility with older integrations; not exposed in the UI. */ | "pause" /** @deprecated Parsed only for compatibility with older integrations; not exposed in the UI. */ | "resume" | { type: "create"; name: string; objective: string; maxIterations?: number; maxRuntimeMs?: number; } | { type: "edit"; name?: string; objective?: string; } | { type: "budget"; maxIterations?: number; maxRuntimeMs?: number; maxTokens?: number; disabled?: boolean; } | { type: "snooze"; durationMs: number; }; export declare class GoalWindow implements Component { private readonly goal; private readonly claim; private readonly theme; private readonly onAction; private readonly requestRender; private readonly now; private readonly actionError?; private readonly checkpoints; private mode; private textField; private name; private objective; private initialName; private initialObjective; private budgetField; private budgetTurns; private budgetRuntime; private snoozeDuration; private inputError; private confirmClose; private selectedCheckpoint; private checkpointOffset; private checkpointLineCount; private refreshTimer; constructor(goal: AgentGoal | undefined, claim: GoalContinuationClaim | undefined, theme: Theme, onAction: (action: GoalWindowAction) => void, requestRender?: () => void, now?: () => number, actionError?: string | undefined, checkpoints?: GoalCheckpoint[], initialMode?: "details" | "edit"); handleInput(data: string): void; private openTextForm; private handleTextForm; private openBudgetForm; private handleBudgetForm; private handleSnoozeForm; render(width: number): string[]; private finish; invalidate(): void; dispose(): void; } export declare function parseDuration(value: string): number | undefined;