import { Type, type Static } from "typebox"; export declare const TODO_SCHEMA_VERSION: 1; export declare const TODO_STATE_ENTRY = "pi-todo-state-v1"; export declare const TODO_STATE_EVENT = "pi-todo:state"; export declare const TODO_STATE_REQUEST_EVENT = "pi-todo:request-state"; export declare const LEGACY_MIGRATION_EVENT = "pi-goal-todo:migrated"; export declare const TODO_MAX_TASKS = 200; export declare const TODO_TASK_KEY_MAX_LENGTH = 256; export declare const TODO_TASK_SUBJECT_MAX_LENGTH = 2048; export declare const TODO_TASK_DESCRIPTION_MAX_LENGTH = 16384; export declare const TODO_TASK_MAX_DEPENDENCIES = 100; export declare const TODO_PLAN_MAX_BYTES: number; export declare const TodoTaskSchema: Type.TObject<{ key: Type.TString; subject: Type.TString; description: Type.TOptional; status: Type.TUnion<[Type.TLiteral<"pending">, Type.TLiteral<"in_progress">, Type.TLiteral<"completed">]>; dependsOn: Type.TOptional>; }>; export declare const TodoStateSchema: Type.TObject<{ schemaVersion: Type.TLiteral<1>; revision: Type.TInteger; tasks: Type.TArray; status: Type.TUnion<[Type.TLiteral<"pending">, Type.TLiteral<"in_progress">, Type.TLiteral<"completed">]>; dependsOn: Type.TOptional>; }>>; }>; export declare const TodoRemovalSchema: Type.TObject<{ key: Type.TString; reason: Type.TString; }>; export type TodoTask = Static; export type TodoState = Static; export type TodoRemoval = Static; export declare function todoPlanUtf8Bytes(state: TodoState): number; export declare function isTodoTask(value: unknown): value is TodoTask; export declare function isTodoState(value: unknown): value is TodoState; export declare function parseTodoState(value: unknown): TodoState | null;