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<Partial<TodoItem> & {
        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;
}
/**
 * In-session task list for multi-step work. One {@link TodoStore} per session key.
 */
export declare function createTodoTool(options?: CreateTodoToolOptions): AgentTool;
