import { Book } from './core/types'; type JSONSchema = Record; export interface MCPToolDefinition = Record, TResult = unknown> { name: string; description: string; inputSchema: JSONSchema; handler(args: TArgs): Promise | TResult; } export interface MCPToolCallResult { content: Array<{ type: 'text'; text: string; }>; structuredContent?: unknown; } export interface BookMCPOptions { /** Defaults to 20. */ defaultMaxResults?: number; /** Defaults to 12000. */ maxContentTextChars?: number; } export interface SearchBookToolArgs extends Record { query?: string; unitIndex?: number; maxResults?: number; caseSensitive?: boolean; wholeWord?: boolean; } export interface GetContentTextToolArgs extends Record { unitIndex?: number; maxChars?: number; } /** * Create Model Context Protocol style tools for a parsed Book. The returned * objects are SDK-agnostic: adapters can register `name`, `description`, * `inputSchema`, and call `handler(args)` from any MCP server implementation. */ export declare function createBookMCPTools(book: Book, options?: BookMCPOptions): MCPToolDefinition[]; export declare function callBookMCPTool(tools: readonly MCPToolDefinition[], name: string, args?: Record): Promise; export {}; //# sourceMappingURL=mcp.d.ts.map