import type { ApiRoute, ServerListener, PluginLogger, ProxyListener } from './types.js';
/**
 * Options for {@link processRoutes} and the internal `processesRoute` helper.
 *
 * @property logger - Optional {@link PluginLogger} for diagnostic messages.
 * @property onProxyRes - Optional listener invoked on every proxy response,
 *   useful for custom header injection or logging.
 */
export type ProcessRouteOptions = {
    logger?: PluginLogger;
    onProxyRes?: ProxyListener;
};
/**
 * Iterates over a list of {@link ApiRoute} definitions, matches the incoming
 * request URL against each route using {@link createRouteMatcher}, and
 * processes the first matching route.
 *
 * If a route matches, its extracted path parameters are attached to
 * `req.params` and the route is handed off to `processesRoute` for
 * middleware execution or proxy forwarding.  When no route matches, the
 * `next` callback is invoked so the Vite/Connect middleware chain can
 * continue.
 *
 * @param routes - Ordered array of API routes to evaluate.
 * @param middlewareArgs - The Connect middleware triple `[req, res, next]`.
 * @param options - Optional processing configuration (logger, proxy
 *   response listener).
 */
export declare function processRoutes(routes: ApiRoute[], middlewareArgs: Parameters<ServerListener>, options?: ProcessRouteOptions): void;
