import type * as MiddlewareSpec from "@confect/core/MiddlewareSpec"; import type * as FunctionRegistryItem from "./FunctionRegistryItem"; import type * as MiddlewareRegistryItem from "./MiddlewareRegistryItem"; /** * A middleware spec paired with its implementation for one function's type—the * resolved form consumed by runtime-specific function preparation. */ export interface ResolvedMiddleware { readonly middlewareSpec: MiddlewareSpec.AnyMiddlewareSpec; readonly middlewareImpl: MiddlewareSpec.AnyMiddlewareImpl; readonly options?: unknown; } /** * Pair each middleware spec attached to a function with its registered * implementation for the function's type. Both misses are ruled out by the type * system (`GroupImpl.finalize` demands every attached middleware's * `MiddlewareImpl` service; `MiddlewareImpl.make`/`makeByFunctionType` cover * exactly the declared functionTypes, which `GroupSpec.middleware` requires to * cover every function). Spec identity is checked separately because * implementation services are keyed by string, so the type system cannot * distinguish same-key specs. */ export declare const resolve: (functionRegistryItem: FunctionRegistryItem.ConfectFunctionRegistryItem, middlewareRegistryItems: ReadonlyMap) => ReadonlyArray; //# sourceMappingURL=ResolvedMiddleware.d.ts.map