import type { ToolDefinition } from "./types.js";
export declare const browserTool: ToolDefinition;
export declare const memoryTool: ToolDefinition;
/**
 * Read-only variant of memoryTool surfaced to scheduled tasks. Scheduled
 * tasks must not write freeform memory; cross-run state belongs in `store`.
 * Surfacing the same memoryTool with `save` still in its action enum lets
 * the LLM attempt save calls that the task-runner dispatcher rejects —
 * burning a tool iteration per attempt. Hiding `save` from the schema is
 * the more honest contract.
 *
 * chat-engine continues to use the full `memoryTool` (which keeps `save`).
 * task-runner pulls this variant by passing `taskMode: true` to
 * getAllTools().
 */
export declare const memoryToolTaskMode: ToolDefinition;
export declare const storeTool: ToolDefinition;
export declare const webFetchTool: ToolDefinition;
export declare const schedulerTool: ToolDefinition;
export declare const attachmentTool: ToolDefinition;
export declare const skillTool: ToolDefinition;
export declare const skillToolTaskMode: ToolDefinition;
export declare const imageGenerationTool: ToolDefinition;
export declare const orgTool: ToolDefinition;
export declare function getAllTools(opts?: {
    imageGeneration?: boolean;
    org?: boolean;
    /**
     * When true, the LLM-facing memory tool is surfaced WITHOUT the `save`
     * action — only read/list. Scheduled tasks must use this mode because
     * memory.save is rejected in task-runner anyway, and leaving the action
     * in the schema just lets the LLM waste a tool-call iteration discovering
     * the rejection. chat-engine leaves this false so the user can ask the
     * agent to remember things during a chat.
     */
    taskMode?: boolean;
}): ToolDefinition[];
