import { type Static } from "@sinclair/typebox"; import type { AgentTool } from "open-pi-agent"; import { type TruncationResult } from "./truncate.js"; declare const readSchema: import("@sinclair/typebox").TObject<{ path: import("@sinclair/typebox").TString; offset: import("@sinclair/typebox").TOptional; limit: import("@sinclair/typebox").TOptional; }>; export type ReadToolInput = Static; export interface ReadToolDetails { truncation?: TruncationResult; } /** * Pluggable operations for the read tool. * Override these to delegate file reading to remote systems (e.g., SSH). */ export interface ReadOperations { /** Read file contents as a Buffer */ readFile: (absolutePath: string) => Promise; /** Check if file is readable (throw if not) */ access: (absolutePath: string) => Promise; /** Detect image MIME type, return null/undefined for non-images */ detectImageMimeType?: (absolutePath: string) => Promise; } export interface ReadToolOptions { /** Whether to auto-resize images to 2000x2000 max. Default: true */ autoResizeImages?: boolean; /** Custom operations for file reading. Default: local filesystem */ operations?: ReadOperations; } export declare function createReadTool(cwd: string, options?: ReadToolOptions): AgentTool; /** Default read tool using process.cwd() - for backwards compatibility */ export declare const readTool: AgentTool; limit: import("@sinclair/typebox").TOptional; }>, any>; export {}; //# sourceMappingURL=read.d.ts.map