import { type Transport } from '@modelcontextprotocol/sdk/shared/transport.js'; import { type CallToolResult } from '@modelcontextprotocol/sdk/types.js'; import { ContextualClient } from '../seatable/contextualClient.js'; import type { ClientLike } from './tools/types.js'; interface RegisteredTool { name: string; description: string; inputSchema: any; annotations?: { readOnlyHint?: boolean; destructiveHint?: boolean; idempotentHint?: boolean; openWorldHint?: boolean; }; handler: (args: unknown) => Promise; } export declare class SeaTableMCPServer { private readonly server; private readonly client; private readonly contextualClient?; private readonly baseNames?; private readonly tools; private sessionId?; constructor(client: ClientLike, multiBase?: { contextualClient: ContextualClient; baseNames: string[]; }); getToolDefinitions(): Array<{ name: string; description: string; inputSchema: any; annotations?: RegisteredTool['annotations']; }>; connect(transport: Transport): Promise; close(): Promise; setSessionId(id: string): void; private registerAllTools; private initializeHandlers; private handleListTools; private handleCallTool; } export interface BuildServerOptions { apiToken?: string; } export declare function buildServer(options?: BuildServerOptions): SeaTableMCPServer; /** Return tool definitions without needing a real SeaTable client. */ export declare function getStaticToolDefinitions(): { name: string; description: string; inputSchema: any; annotations?: RegisteredTool["annotations"]; }[]; export {}; //# sourceMappingURL=server.d.ts.map