import type { AgentTool } from '@earendil-works/pi-agent-core'; export type TodoStatus = 'pending' | 'in_progress' | 'completed' | 'cancelled'; export interface TodoItem { id: string; content: string; status: TodoStatus; } export declare class TodoStore { private items; write(todos: Array & { id?: string; }>, merge: boolean): TodoItem[]; read(): TodoItem[]; private validate; } export interface CreateTodoToolOptions { /** Resolve session key for isolated lists; defaults to a single in-memory list. */ getSessionKey?: () => string | null | undefined; repository?: { isAvailable?: () => boolean; read: (sessionKey: string) => TodoItem[]; write: (sessionKey: string, items: TodoItem[]) => void; }; } /** * In-session task list for multi-step work. One {@link TodoStore} per session key. */ export declare function createTodoTool(options?: CreateTodoToolOptions): AgentTool;