import type { Writable } from 'node:stream'; interface StdioResponse { jsonrpc: '2.0'; id: string | number | null; result?: unknown; error?: { code: number; message: string; }; } export interface ResourceSessionState { subscribedResourceUris?: Set; resourceVersions?: Map; resourceListSignature?: string | null; } interface McpResourceDefinition { uri: string; name: string; title: string; description: string; mimeType: string; filePath: string; annotations?: Record; } interface ResourceHelpers { ok(id: string | number | null, result: unknown): StdioResponse; failure(id: string | number | null, code: number, message: string): StdioResponse; stringParam(params: unknown, key: string): string | null; ensureSubscribedResourceUris(state: ResourceSessionState): Set; ensureResourceVersions(state: ResourceSessionState): Map; jsonrpcInvalidParams: number; jsonrpcServerError: number; maxStdioTextLength: number; maxResourceBytes: number; maxResourceSubscriptions: number; } export declare function resourcesForGraph(graphPath: string): McpResourceDefinition[]; export declare function emitResourceNotifications(output: Writable, graphPath: string, state: ResourceSessionState): void; export declare function handleResourceRead(id: string | number | null, graphPath: string, params: unknown, helpers: ResourceHelpers): StdioResponse; export declare function handleResourceSubscribe(id: string | number | null, graphPath: string, params: unknown, sessionState: ResourceSessionState, helpers: ResourceHelpers): StdioResponse; export declare function handleResourceUnsubscribe(id: string | number | null, params: unknown, sessionState: ResourceSessionState, helpers: ResourceHelpers): StdioResponse; export {};