import { Type, type Static } from "typebox"; export declare const GOAL_SCHEMA_VERSION: 1; export declare const GOAL_STATE_ENTRY = "pi-goal-state-v1"; export declare const GOAL_RECEIPT_ENTRY = "pi-goal-receipt-v1"; export declare const GOAL_PROPOSAL_REVISION_ENTRY = "pi-goal-proposal-revision-v1"; export declare const GOAL_STATE_EVENT = "pi-goal:state"; export declare const GOAL_STATE_REQUEST_EVENT = "pi-goal:request-state"; export declare const GOAL_PROPOSAL_EVENT = "pi-goal:proposal"; export declare const GOAL_AUDIT_EVENT = "pi-goal:audit"; export declare const GOAL_AUDIT_EVENT_VERSION: 1; export declare const GOAL_CONTINUATION_MESSAGE = "pi-goal-continuation-v1"; export declare const GOAL_ID_MAX_LENGTH = 256; export declare const GOAL_OBJECTIVE_MAX_LENGTH: number; export declare const GOAL_TIMESTAMP_MAX_LENGTH = 64; export declare const GOAL_PAUSE_REASON_MAX_LENGTH = 2048; export declare const GOAL_PAUSE_SUGGESTED_ACTION_MAX_LENGTH = 2048; export declare const GOAL_AUDIT_REJECTION_REPORT_MAX_LENGTH = 12000; export declare const GOAL_COMPLETION_SUMMARY_MAX_LENGTH = 4000; export declare const GOAL_COMPLETION_AUDITOR_REPORT_MAX_LENGTH = 12000; export declare const GOAL_PROPOSAL_COMMENT_MAX_LENGTH = 4000; export declare const GoalUsageSchema: Type.TObject<{ tokensUsed: Type.TNumber; activeSeconds: Type.TNumber; }>; export declare const GoalPauseSchema: Type.TObject<{ reason: Type.TString; suggestedAction: Type.TOptional; }>; export declare const GoalAuditRejectionSchema: Type.TObject<{ rejectedAt: Type.TString; report: Type.TString; }>; export declare const GoalCompletionSchema: Type.TObject<{ approvedAt: Type.TString; summary: Type.TString; auditorReport: Type.TString; }>; export declare const GoalSchema: Type.TUnion<[Type.TObject<{ status: Type.TLiteral<"active">; autoContinue: Type.TLiteral; id: Type.TString; objective: Type.TString; usage: Type.TObject<{ tokensUsed: Type.TNumber; activeSeconds: Type.TNumber; }>; createdAt: Type.TString; updatedAt: Type.TString; pause: Type.TOptional; }>>; lastAuditRejection: Type.TOptional>; completion: Type.TOptional>; }>, Type.TObject<{ status: Type.TLiteral<"paused">; autoContinue: Type.TLiteral; id: Type.TString; objective: Type.TString; usage: Type.TObject<{ tokensUsed: Type.TNumber; activeSeconds: Type.TNumber; }>; createdAt: Type.TString; updatedAt: Type.TString; pause: Type.TOptional; }>>; lastAuditRejection: Type.TOptional>; completion: Type.TOptional>; }>, Type.TObject<{ status: Type.TLiteral<"complete">; autoContinue: Type.TLiteral; id: Type.TString; objective: Type.TString; usage: Type.TObject<{ tokensUsed: Type.TNumber; activeSeconds: Type.TNumber; }>; createdAt: Type.TString; updatedAt: Type.TString; pause: Type.TOptional; }>>; lastAuditRejection: Type.TOptional>; completion: Type.TOptional>; }>]>; export declare const GoalStateSchema: Type.TObject<{ schemaVersion: Type.TLiteral<1>; revision: Type.TInteger; goal: Type.TUnion<[Type.TUnion<[Type.TObject<{ status: Type.TLiteral<"active">; autoContinue: Type.TLiteral; id: Type.TString; objective: Type.TString; usage: Type.TObject<{ tokensUsed: Type.TNumber; activeSeconds: Type.TNumber; }>; createdAt: Type.TString; updatedAt: Type.TString; pause: Type.TOptional; }>>; lastAuditRejection: Type.TOptional>; completion: Type.TOptional>; }>, Type.TObject<{ status: Type.TLiteral<"paused">; autoContinue: Type.TLiteral; id: Type.TString; objective: Type.TString; usage: Type.TObject<{ tokensUsed: Type.TNumber; activeSeconds: Type.TNumber; }>; createdAt: Type.TString; updatedAt: Type.TString; pause: Type.TOptional; }>>; lastAuditRejection: Type.TOptional>; completion: Type.TOptional>; }>, Type.TObject<{ status: Type.TLiteral<"complete">; autoContinue: Type.TLiteral; id: Type.TString; objective: Type.TString; usage: Type.TObject<{ tokensUsed: Type.TNumber; activeSeconds: Type.TNumber; }>; createdAt: Type.TString; updatedAt: Type.TString; pause: Type.TOptional; }>>; lastAuditRejection: Type.TOptional>; completion: Type.TOptional>; }>]>, Type.TNull]>; }>; export declare const GoalProposalSchema: Type.TObject<{ schemaVersion: Type.TLiteral<1>; revision: Type.TInteger; proposal: Type.TUnion<[Type.TObject<{ kind: Type.TUnion<[Type.TLiteral<"create">, Type.TLiteral<"tweak">]>; objective: Type.TString; currentObjective: Type.TOptional; }>, Type.TNull]>; }>; export type GoalUsage = Static; export type GoalPause = Static; export type GoalAuditRejection = Static; export type GoalCompletion = Static; export declare const GoalAuditEventSchema: Type.TObject<{ version: Type.TLiteral<1>; goalId: Type.TString; active: Type.TBoolean; emittedAt: Type.TString; }>; export type Goal = Static; export type GoalState = Static; export type GoalProposal = Static; export type GoalAuditEvent = Static; export declare function isGoal(value: unknown): value is Goal; export declare function isGoalState(value: unknown): value is GoalState; export declare function parseGoalState(value: unknown): GoalState | null; export declare function isGoalProposal(value: unknown): value is GoalProposal; export declare function parseGoalProposal(value: unknown): GoalProposal | null; export declare function isGoalAuditEvent(value: unknown): value is GoalAuditEvent; export declare function parseGoalAuditEvent(value: unknown): GoalAuditEvent | null;