/** * Registration-time route-lane selection. * * A route's lane is a property of its registered shape, not of an individual request. Keeping this * decision in a small internal module gives the server kernel one vocabulary for bare/body/query/ * lifecycle execution while preserving the important invariant: this module is never called from the * request path. The returned booleans are consumed by the existing compiled execution plan and fused * builders; no adapter or extra dispatch hop is introduced at runtime. */ import type { RouteSchema } from "../server/context.js"; import type { LifecycleExecutionLane, RouteExecutionLane } from "./route-execution.js"; export interface RouteLaneSelection { readonly bare: boolean; readonly fusedQuery: boolean; readonly bodyOnly: boolean; readonly fusedBody: boolean; readonly lane: RouteExecutionLane; readonly lifecycleLane: LifecycleExecutionLane; readonly lifecycleHookLane: "derive-before" | "derive-before-after" | undefined; readonly fusedLane: "bare" | "body" | "query" | "derive-before" | "derive-before-after" | "body-derive-before" | "body-derive-before-after" | undefined; } export declare function selectRouteLanes(options: { readonly schema: RouteSchema | undefined; readonly hasIdempotency: boolean; readonly hasLedger: boolean; readonly hasResponseContract: boolean; readonly hasDecorations: boolean; readonly derives: number; readonly beforeHandle: number; readonly afterHandle: number; readonly onError: number; readonly around: number; readonly defaultOnValidationError: boolean; }): RouteLaneSelection; //# sourceMappingURL=route-lanes.d.ts.map