import { z } from '@frontmcp/lazy-zod'; import { type AuthInfo } from '@frontmcp/protocol'; import { FlowBase, type FlowRunOptions, type ResourceContext, type ResourceEntry } from '../../common'; declare const inputSchema: import("@frontmcp/lazy-zod").ZodObject<{ request: import("@frontmcp/lazy-zod").ZodObject<{ method: import("@frontmcp/lazy-zod").ZodLiteral<"resources/read">; params: import("@frontmcp/lazy-zod").ZodObject<{ _meta: import("@frontmcp/lazy-zod").ZodOptional>; "io.modelcontextprotocol/related-task": import("@frontmcp/lazy-zod").ZodOptional>; }, import("zod/v4/core").$loose>>; uri: import("@frontmcp/lazy-zod").ZodString; }, import("zod/v4/core").$strip>; }, import("zod/v4/core").$strip>; ctx: import("@frontmcp/lazy-zod").ZodAny; }, import("zod/v4/core").$strip>; declare const outputSchema: import("@frontmcp/lazy-zod").ZodObject<{ _meta: import("@frontmcp/lazy-zod").ZodOptional>; "io.modelcontextprotocol/related-task": import("@frontmcp/lazy-zod").ZodOptional>; }, import("zod/v4/core").$loose>>; contents: import("@frontmcp/lazy-zod").ZodArray; _meta: import("@frontmcp/lazy-zod").ZodOptional>; text: import("@frontmcp/lazy-zod").ZodString; }, import("zod/v4/core").$strip>, import("@frontmcp/lazy-zod").ZodObject<{ uri: import("@frontmcp/lazy-zod").ZodString; mimeType: import("@frontmcp/lazy-zod").ZodOptional; _meta: import("@frontmcp/lazy-zod").ZodOptional>; blob: import("@frontmcp/lazy-zod").ZodString; }, import("zod/v4/core").$strip>]>>; }, import("zod/v4/core").$loose>; declare const stateSchema: import("@frontmcp/lazy-zod").ZodObject<{ input: import("@frontmcp/lazy-zod").ZodObject<{ uri: import("@frontmcp/lazy-zod").ZodString; }, import("zod/v4/core").$strip>; authInfo: z.ZodType; params: import("@frontmcp/lazy-zod").ZodDefault>; resource: z.ZodType; resourceContext: z.ZodType; rawOutput: import("@frontmcp/lazy-zod").ZodOptional; output: import("@frontmcp/lazy-zod").ZodObject<{ _meta: import("@frontmcp/lazy-zod").ZodOptional>; "io.modelcontextprotocol/related-task": import("@frontmcp/lazy-zod").ZodOptional>; }, import("zod/v4/core").$loose>>; contents: import("@frontmcp/lazy-zod").ZodArray; _meta: import("@frontmcp/lazy-zod").ZodOptional>; text: import("@frontmcp/lazy-zod").ZodString; }, import("zod/v4/core").$strip>, import("@frontmcp/lazy-zod").ZodObject<{ uri: import("@frontmcp/lazy-zod").ZodString; mimeType: import("@frontmcp/lazy-zod").ZodOptional; _meta: import("@frontmcp/lazy-zod").ZodOptional>; blob: import("@frontmcp/lazy-zod").ZodString; }, import("zod/v4/core").$strip>]>>; }, import("zod/v4/core").$loose>; resourceOwnerId: import("@frontmcp/lazy-zod").ZodOptional; sessionId: import("@frontmcp/lazy-zod").ZodOptional; isUIResource: import("@frontmcp/lazy-zod").ZodDefault; uiResourceResult: import("@frontmcp/lazy-zod").ZodOptional>; "io.modelcontextprotocol/related-task": import("@frontmcp/lazy-zod").ZodOptional>; }, import("zod/v4/core").$loose>>; contents: import("@frontmcp/lazy-zod").ZodArray; _meta: import("@frontmcp/lazy-zod").ZodOptional>; text: import("@frontmcp/lazy-zod").ZodString; }, import("zod/v4/core").$strip>, import("@frontmcp/lazy-zod").ZodObject<{ uri: import("@frontmcp/lazy-zod").ZodString; mimeType: import("@frontmcp/lazy-zod").ZodOptional; _meta: import("@frontmcp/lazy-zod").ZodOptional>; blob: import("@frontmcp/lazy-zod").ZodString; }, import("zod/v4/core").$strip>]>>; }, import("zod/v4/core").$loose>>; }, import("zod/v4/core").$strip>; declare const plan: { readonly pre: ["parseInput", "ensureRemoteCapabilities", "findResource", "checkEntryAuthorities", "createResourceContext"]; readonly execute: ["execute", "validateOutput"]; readonly finalize: ["finalize"]; }; declare global { interface ExtendFlows { 'resources:read-resource': FlowRunOptions; } } declare const name: "resources:read-resource"; export default class ReadResourceFlow extends FlowBase { logger: import("../../common").FrontMcpLogger; parseInput(): Promise; /** * Ensure remote app capabilities are loaded before looking up resources. * Remote apps use lazy capability discovery - this triggers the loading. * Uses provider registry to find all remote apps across all app registries. */ ensureRemoteCapabilities(): Promise; findResource(): Promise; /** * Check entry-level authorities (RBAC/ABAC/ReBAC) declared in resource metadata. * Hookable: developers can use Will/Did/Around on 'checkEntryAuthorities'. */ checkEntryAuthorities(): Promise; createResourceContext(): Promise; execute(): Promise; validateOutput(): Promise; finalize(): Promise; } export {}; //# sourceMappingURL=read-resource.flow.d.ts.map