import { F as FarmRouteRuntimeConfig, a as FarmPlugin } from '../client-plugins-IR4yJ6w3.js'; import { ViteDevServer } from 'vite'; import '../types-CnH8DOqo.js'; import { F as FarmI18nRuntime } from '../runtime-BgDQzBiu.js'; export { getAllowedAPIRouteMethods, invokeAPIRouteEndpoint, isWebResponse, normalizeRouteResponse, resolveAPIRouteEndpoint } from './runtime.js'; import { A as APIRouteMatch } from '../route-pattern-W-SsJGSp.js'; export { b as APIRouteParamValue, a as APIRouteParams, m as matchAPIRoute } from '../route-pattern-W-SsJGSp.js'; import '../lifecycle-De0vQG45.js'; import '../route-CZkTBD-s.js'; import '../cache.js'; import '../renderer.js'; import 'http'; import '../types-Cc8l9IqS.js'; import 'db0'; import 'unstorage'; import '../schema.js'; import 'react'; import '../integration-api-BbaiokCC.js'; import '@farming-labs/orm'; import '../types-CKwggz9n.js'; import '@farming-labs/docs'; import '../markdown.js'; import '../observability.js'; import '@opentelemetry/api'; import '../workflows-BantWytQ.js'; import '../cron.js'; import '../env.js'; import '../navigation-errors-Dvwpzaer.js'; import '../server-action-security.js'; import '../server-fn-error-DDh14a0V.js'; import 'esbuild'; import '../image-config-Duob7wER.js'; import '../types-DQnyD3VD.js'; import '../font.js'; import '../after.js'; import 'node:http'; import '../island-CfGru1MO.js'; import '../resolver-DadfRL6F.js'; interface APIRoute extends FarmRouteRuntimeConfig { pluginMethods?: string[]; path: string; filePath: string; methods: string[]; endpoints: Record; } interface APIRouteManagerOptions { plugins?: readonly FarmPlugin[]; throwOnLoadError?: boolean; i18n?: FarmI18nRuntime; bodySizeLimit?: number; /** Same-origin path where canonical `/api` routes are served. */ basePath?: string; } interface APIRouteHandlerOptions { /** Let a framework request boundary report the original endpoint error. */ throwOnError?: boolean; } declare class APIRouteConflictError extends Error { constructor(routePath: string, method: string, existingFile: string, conflictingFile: string); } declare const API_ROUTE_METHODS: readonly ["GET", "HEAD", "QUERY", "POST", "PUT", "DELETE", "PATCH", "OPTIONS"]; declare class APIRouteManager { private plugins; private routes; private endpointSources; private routeShapes; private viteServer?; private appDirs; private throwOnLoadError; private i18n?; private bodySizeLimit?; private basePath?; constructor(appDir: string | readonly string[], viteServer?: ViteDevServer, options?: APIRouteManagerOptions); /** * Discover route.ts files in /app/api and explicit endpoints in root routes.ts */ discoverRoutes(): Promise; /** * Recursively find all route.ts files */ private findRouteFiles; /** * Load a route.ts file and extract HTTP method exports */ private loadRoute; /** * Load explicit-path endpoints from src/routes.ts-style files. */ private loadRootRoutes; private loadProgrammaticApiRoutes; private handleLoadError; private findRootRoutesFile; private loadModule; private addEndpoint; private addProgrammaticApiRoute; private registerRouteShape; /** * Get the handler that directly invokes endpoint handlers */ getHandler(options?: APIRouteHandlerOptions): ((req: Request) => Promise) | null; /** * Check if a path is an API route */ isAPIRoute(pathname: string): boolean; matchRoute(pathname: string): APIRouteMatch | null; /** * Get all routes for client type generation */ getRoutes(): Map; } export { type APIRoute, APIRouteConflictError, type APIRouteHandlerOptions, APIRouteManager, type APIRouteManagerOptions, APIRouteMatch, API_ROUTE_METHODS };