import { type Token, type Type } from '@frontmcp/di'; import { type FlowInputOf, type FlowName, type FlowOutputOf, type FlowRecord, type FlowType, type ServerRequest } from '../common'; import type ProviderRegistry from '../provider/provider.registry'; import { RegistryAbstract, type RegistryBuildMapResult } from '../regsitry'; import { FlowInstance } from './flow.instance'; export default class FlowRegistry extends RegistryAbstract, FlowRecord, FlowType[]> { constructor(providers: ProviderRegistry, list: FlowType[]); protected buildMap(list: FlowType[]): RegistryBuildMapResult; protected buildGraph(): void; /** Instantiate adapters, run fetch/transform, and populate registries. */ protected initialize(): Promise; private initializeOne; registryFlows(rawFlows: FlowType[]): Promise; runFlow(name: Name, input: FlowInputOf, deps?: Map): Promise | undefined>; /** * Find the name of the first registered flow whose HTTP matcher claims this * request (method + `middleware.path` prefix + `canActivate`). For runtimes * with no middleware server (the web-fetch/Worker handler), this replaces * Express's route dispatch so auth/well-known/oauth flows still run. Returns * `undefined` when no flow matches. */ findHttpFlowName(request: ServerRequest, exclude?: ReadonlySet): Promise; /** * Get FrontMcpContextStorage from providers (with fallback). * Returns undefined if not available (backward compatibility). */ private getContextStorage; } //# sourceMappingURL=flow.registry.d.ts.map