import { type McpAccessContext } from './access.ts'; import type { McpSession } from './session.ts'; /** MCP resource definition. */ export type McpResourceDefinition = { readonly uri: string; readonly name: string; readonly title?: string; readonly description?: string; readonly mimeType?: string; }; /** MCP resource template definition. */ export type McpResourceTemplate = { readonly uriTemplate: string; readonly name: string; readonly title: string; readonly description: string; readonly mimeType: string; }; /** MCP resource-read result. */ export type McpResourceReadResult = { readonly contents: ReadonlyArray<{ readonly uri: string; readonly mimeType: string; readonly text: string; }>; }; /** Return the static resource templates Weft exposes through MCP. */ export declare function listMcpResourceTemplates(): McpResourceTemplate[]; /** List visible workflow state resources. */ export declare function listMcpResources(context: McpAccessContext): Promise; /** Read a visible Weft MCP resource. */ export declare function readMcpResource(uri: string, context: McpAccessContext): Promise; /** Subscribe to updates for a visible resource. */ export declare function subscribeMcpResource(uri: string, session: McpSession, context: McpAccessContext): Promise; /** Remove a resource subscription. */ export declare function unsubscribeMcpResource(uri: string, session: McpSession): void; /** Return true when a URI identifies a valid workflow search resource. */ export declare function isWorkflowSearchResourceUri(uri: string): boolean; /** Build the canonical MCP URI for a workflow resource. */ export declare function workflowResourceUri(workflowId: string, resourceKind: 'state' | 'events' | 'checkpoints'): string;