/**
 * Todo Tools - Read and write todo lists
 *
 * @module agent/tools/todo
 * @description
 * Provides tools for managing todo lists. The todos are stored in a TodoStore
 * which can optionally persist to external storage (e.g., session entries).
 *
 * ## Architecture
 *
 * Two tools are provided:
 * - `todoread`: Read the current todo list
 * - `todowrite`: Update the todo list
 *
 * Both tools share the same TodoStore instance for consistency.
 *
 * ## Usage
 *
 * ### Simple mode
 * ```typescript
 * import { todoReadTool, todoWriteTool } from "indusvx/agent";
 * // Uses default in-memory store
 * ```
 *
 * ### With custom store (persistent mode)
 * ```typescript
 * import { createTodoReadTool, createTodoWriteTool, TodoStore } from "indusvx/agent";
 *
 * const store = new TodoStore({
 *   persist: (todos) => sessionManager.appendCustomEntry('todo', { todos }),
 *   load: () => loadFromSession(),
 * });
 *
 * const todoReadTool = createTodoReadTool(store);
 * const todoWriteTool = createTodoWriteTool(store);
 * ```
 */
import type { AgentTool } from "../types.js";
import { TodoStore } from "./todo-store.js";
import type { TodoToolDetails } from "./todo-types.js";
export type { TodoItem, TodoStatus, TodoPriority, TodoStoreOptions, TodoToolDetails } from "./todo-types.js";
export { TodoStore, TODO_PRIORITIES, TODO_STATUSES } from "./todo-store.js";
declare const TodoReadSchema: import("@sinclair/typebox").TObject<{}>;
declare const TodoWriteSchema: import("@sinclair/typebox").TObject<{
    todos: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
        content: import("@sinclair/typebox").TString;
        status: import("@sinclair/typebox").TUnsafe<"completed" | "cancelled" | "pending" | "in_progress">;
        priority: import("@sinclair/typebox").TUnsafe<"low" | "medium" | "high">;
    }>>;
    search: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    status: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"completed" | "cancelled" | "pending" | "in_progress">>;
}>;
/**
 * Create a todo read tool
 * @param store - The TodoStore to read from
 * @returns The todoread tool
 */
export declare function createTodoReadTool(store: TodoStore): AgentTool<typeof TodoReadSchema, TodoToolDetails>;
/**
 * Create a todo write tool
 * @param store - The TodoStore to write to
 * @returns The todowrite tool
 */
export declare function createTodoWriteTool(store: TodoStore): AgentTool<typeof TodoWriteSchema, TodoToolDetails>;
/** Default todo read tool using in-memory store */
export declare const todoReadTool: AgentTool<import("@sinclair/typebox").TObject<{}>, TodoToolDetails>;
/** Default todo write tool using in-memory store */
export declare const todoWriteTool: AgentTool<import("@sinclair/typebox").TObject<{
    todos: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
        content: import("@sinclair/typebox").TString;
        status: import("@sinclair/typebox").TUnsafe<"completed" | "cancelled" | "pending" | "in_progress">;
        priority: import("@sinclair/typebox").TUnsafe<"low" | "medium" | "high">;
    }>>;
    search: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    status: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"completed" | "cancelled" | "pending" | "in_progress">>;
}>, TodoToolDetails>;
