import type { LLMMessage } from '../llm/llm-provider.js'; import type { Message } from '../session/session-jsonl.js'; export type GoalStatus = 'active' | 'paused' | 'completed' | 'blocked'; export interface GoalState { sessionKey: string; objective: string; status: GoalStatus; statusReason?: string; createdAt: number; updatedAt: number; pausedAt?: number; completedAt?: number; blockedAt?: number; } export interface GoalCheckpointSplit { goal?: GoalState; messages: T[]; } export declare function createGoalState(params: { sessionKey: string; objective: string; now?: number; }): GoalState; export declare function updateGoalState(goal: GoalState, params: { status: GoalStatus; statusReason?: string; now?: number; }): GoalState; export declare function createGoalCheckpointMessage(goal: GoalState): LLMMessage; export declare function isGoalCheckpointMessage(message: Message | LLMMessage): boolean; export declare function splitGoalCheckpointMessages(messages: T[]): GoalCheckpointSplit; export declare function stripGoalCheckpointsFromLlmMessages(messages: T[]): T[]; export declare function buildGoalModeContext(goal: GoalState): string; //# sourceMappingURL=goal-state.d.ts.map