/** * defineMiddleware — creates and registers a named middleware definition. * * Registered middleware can be referenced by name in route definitions: * * ```ts * // Register once (e.g. in a middleware file or framework bootstrap) * defineMiddleware({ * name: 'lumiarq.auth', * handler: async (req, next) => { * const token = req.headers.get('Authorization') * if (!token) return new Response('Unauthorized', { status: 401 }) * return next() * }, * priority: 100, * }) * * // Use by name in routes * Route.get('/dashboard', dashboardHandler, { middleware: ['lumiarq.auth'] }) * ``` */ import type { MiddlewareFn, MiddlewareDefinition } from '../types/http.types.js'; /** * Registers a named middleware definition into the global registry and returns it. * If a middleware with the same name already exists, it is overwritten. */ export declare function defineMiddleware(definition: MiddlewareDefinition): MiddlewareDefinition; /** * Retrieves a registered middleware by name. * Returns `undefined` if no middleware with that name was registered. */ export declare function getMiddleware(name: string): MiddlewareDefinition | undefined; /** * Returns true if a middleware with the given name has been registered. */ export declare function hasMiddleware(name: string): boolean; /** * Returns all registered middleware definitions, sorted by priority descending. */ export declare function getAllMiddleware(): MiddlewareDefinition[]; /** * Clears the global middleware registry. * Primarily used in tests to reset state between test runs. */ export declare function clearMiddlewareRegistry(): void; /** * Creates a simple middleware from a function (unnamed, not registered, priority 0). * Use this for inline one-off middleware — prefer defineMiddleware for reusable named middleware. */ export declare function middleware(handler: MiddlewareFn): MiddlewareDefinition; //# sourceMappingURL=define-middleware.d.ts.map