import { CUSTOM_ENTRY_TYPE } from "./types.js"; type GoalQueuedWorkKind = "continuation" | "command_start" | "command_resume"; export interface ActiveGoalQueuedDetails { kind: GoalQueuedWorkKind; goalId: string; } export interface QueuedGoalTextPart { readonly type: "text"; readonly text: string; } export type QueuedGoalUserContent = QueuedGoalTextPart[]; /** External provider-context message shape before normalization. */ export interface QueuedGoalContextInput { role: string; customType?: string; content?: unknown; display?: boolean; details?: unknown; timestamp?: number; } /** Normalized provider-context carrier with required runtime fields. */ export interface QueuedGoalContextCarrier { role: string; timestamp: number; customType?: string; content?: unknown; display?: boolean; details?: unknown; } export interface QueuedGoalCustomMessage extends QueuedGoalContextCarrier { role: "custom"; customType: typeof CUSTOM_ENTRY_TYPE; content: string | QueuedGoalUserContent; display: boolean; } export interface QueuedGoalUserMessage extends QueuedGoalContextCarrier { role: "user"; content: QueuedGoalUserContent; } export type QueuedGoalWorkSourceMessage = QueuedGoalCustomMessage | QueuedGoalUserMessage; export declare function userContentFromUnknown(content: unknown): QueuedGoalUserContent; /** Copies provider-context fields into a carrier with the runtime-required timestamp. */ export declare function toQueuedGoalContextCarrier(message: QueuedGoalContextInput): QueuedGoalContextCarrier | null; /** Narrows a carrier to queued-goal user/custom work and normalizes its content. */ export declare function toQueuedGoalWorkSource(message: QueuedGoalContextCarrier): QueuedGoalWorkSourceMessage | null; export declare function isActiveGoalQueuedDetails(details: unknown): details is ActiveGoalQueuedDetails; export declare function isCommandResumeQueuedGoalMessage(message: QueuedGoalContextCarrier): boolean; export {}; //# sourceMappingURL=queued-goal-messages.d.ts.map