import type { UsageStatistics } from "../session/session-manager"; export type GoalStatus = "active" | "paused" | "complete" | "dropped"; export type GoalProvenance = { source: "ultragoal"; runId: string; goalId: string; } | { source: "user"; }; export interface Goal { id: string; objective: string; status: GoalStatus; tokensUsed: number; timeUsedSeconds: number; createdAt: number; updatedAt: number; provenance?: GoalProvenance; } export interface GoalModeState { enabled: boolean; mode: "active" | "exiting"; reason?: "completed"; goal: Goal; } export interface GoalToolDetails { op: "create" | "get" | "complete" | "resume" | "drop" | "pause"; goal?: Goal | null; } export type GoalRuntimeEvent = { type: "goal_updated"; goal: Goal | null; state?: GoalModeState; } | { type: "goal_continuation_requested"; prompt: string; }; export type GoalTokenUsage = Pick; export declare function normalizeGoal(candidate: unknown): Goal | null; export declare function normalizeGoalModeState(candidate: GoalModeState | undefined): GoalModeState | undefined;