import { Type, type Static } from "typebox"; export declare const GOAL_TRANSCRIPT_EVENT = "pi-goal:transcript-event"; export declare const GOAL_TRANSCRIPT_EVENT_KINDS: readonly ["goal_started", "goal_updated", "goal_paused", "goal_resumed", "goal_completion_rejected", "goal_completed", "goal_abandoned", "goal_notice", "goal_error"]; export type GoalTranscriptEventKind = typeof GOAL_TRANSCRIPT_EVENT_KINDS[number]; export type GoalTranscriptEventLevel = "info" | "warning" | "error"; export declare const GoalTranscriptEventSchema: Type.TUnion<[Type.TObject<{ kind: Type.TUnion<[Type.TLiteral<"goal_started">, Type.TLiteral<"goal_updated">, Type.TLiteral<"goal_paused">, Type.TLiteral<"goal_resumed">, Type.TLiteral<"goal_completion_rejected">, Type.TLiteral<"goal_completed">, Type.TLiteral<"goal_abandoned">]>; message: Type.TOptional; version: Type.TLiteral<1>; emittedAt: Type.TString; level: Type.TUnion<[Type.TLiteral<"info">, Type.TLiteral<"warning">, Type.TLiteral<"error">]>; goalId: Type.TOptional; objective: Type.TOptional; autoContinue: Type.TOptional; changeSummary: Type.TOptional; reason: Type.TOptional; suggestedAction: Type.TOptional; completionSummary: Type.TOptional; auditorReport: Type.TOptional; tuiMessage: Type.TString; }>, Type.TObject<{ kind: Type.TUnion<[Type.TLiteral<"goal_notice">, Type.TLiteral<"goal_error">]>; message: Type.TString; version: Type.TLiteral<1>; emittedAt: Type.TString; level: Type.TUnion<[Type.TLiteral<"info">, Type.TLiteral<"warning">, Type.TLiteral<"error">]>; goalId: Type.TOptional; objective: Type.TOptional; autoContinue: Type.TOptional; changeSummary: Type.TOptional; reason: Type.TOptional; suggestedAction: Type.TOptional; completionSummary: Type.TOptional; auditorReport: Type.TOptional; tuiMessage: Type.TString; }>]>; export type GoalTranscriptEvent = Static; type WithoutEventEnvelope = T extends unknown ? Omit : never; export type GoalTranscriptEventInput = WithoutEventEnvelope; /** * Keep a small deterministic margin below common 64 KiB transport boundaries. * Enforce the producer contract in UTF-8 bytes rather than JavaScript string * units so optional downstream adapters never need to guess or truncate. */ export declare const GOAL_TRANSCRIPT_DATA_MAX_BYTES: number; export declare function isGoalTranscriptEvent(value: unknown): value is GoalTranscriptEvent; export declare function parseGoalTranscriptEvent(value: unknown): GoalTranscriptEvent | null; /** * Build the public Goal transcript contract at one bounded boundary. Internal * state snapshots, ledgers, continuation checkpoints, and audit animation never * pass through this function. */ export declare function createGoalTranscriptEvent(input: GoalTranscriptEventInput, emittedAt?: string): GoalTranscriptEvent; export {};