import { ReactElement } from 'react'; import { n as FarmContextFactory, o as MiddlewareProps, g as PluginContextProps, h as RouteModule } from './client-plugins-Bz7W8EKI.mjs'; import './types-CnH8DOqo.mjs'; import { a as APIRouteParams } from './route-pattern-W-SsJGSp.mjs'; import { ProgrammaticPageRoute, InferProgrammaticRouteData, ProgrammaticRouteComponentProps, ProgrammaticApiRoute } from './routes.mjs'; import { FarmRouterQueryValue, FarmRouterPathParams } from './router.mjs'; import { ServerFn } from './server-fn.mjs'; import './lifecycle-De0vQG45.mjs'; import './route-C8RuFaMN.mjs'; import './cache.mjs'; import './renderer.mjs'; import 'http'; import './types-Cc8l9IqS.mjs'; import 'db0'; import 'unstorage'; import './schema.mjs'; import './integration-api-BbaiokCC.mjs'; import '@farming-labs/orm'; import './types-CKwggz9n.mjs'; import '@farming-labs/docs'; import './markdown.mjs'; import './observability.mjs'; import '@opentelemetry/api'; import 'vite'; import './workflows-BantWytQ.mjs'; import './cron.mjs'; import './env.mjs'; import './navigation-errors-Dvwpzaer.mjs'; import './server-action-security.mjs'; import './server-fn-error-DDh14a0V.mjs'; import 'esbuild'; import './image-config-Duob7wER.mjs'; import './types-DQnyD3VD.mjs'; import './font.mjs'; import './after.mjs'; import 'node:http'; import './island-CfGru1MO.mjs'; type FarmTestQuery = URLSearchParams | Record; type FarmTestPathParams = FarmRouterPathParams; type FarmTestFormValues = Record; interface FarmTestRequestOptions extends Omit { origin?: string; headers?: HeadersInit; query?: FarmTestQuery; cookies?: Record; json?: unknown; form?: FormData | FarmTestFormValues; body?: BodyInit | null; } interface FarmTestHarnessOptions { origin?: string; headers?: HeadersInit; cookies?: Record; context?: FarmContextFactory; } type AnyProgrammaticPageRoute = ProgrammaticPageRoute; type InferFarmTestRouteParams = TRoute extends ProgrammaticPageRoute ? TParams : never; type InferFarmTestRouteSearch = TRoute extends ProgrammaticPageRoute ? TSearch : never; type InferFarmTestRouteData = TRoute extends ProgrammaticPageRoute ? InferProgrammaticRouteData : never; type FarmTestRouteProps = ProgrammaticRouteComponentProps, InferFarmTestRouteSearch, InferFarmTestRouteData>; type FarmTestRouteParamsInput = InferFarmTestRouteParams extends Record ? Partial> : FarmTestPathParams; type FarmTestRouteSearchInput = InferFarmTestRouteSearch extends Record ? Partial> | URLSearchParams : FarmTestQuery; interface FarmTestRouteOptions extends Pick { path?: string | URL; params?: FarmTestRouteParamsInput; search?: FarmTestRouteSearchInput; context?: TContext; middleware?: MiddlewareProps; pluginContext?: PluginContextProps; } interface FarmTestRouteResult { route: TRoute; module: RouteModule; request: Request; props: FarmTestRouteProps; element: ReactElement; canonicalPath?: string; } interface FarmTestApiOptions extends FarmTestRequestOptions { path?: string | URL; params?: FarmTestPathParams; throwOnError?: boolean; } interface FarmTestEndpointOptions extends FarmTestRequestOptions { path?: string | URL; params?: APIRouteParams; throwOnError?: boolean; } interface FarmTestServerFnOptions extends Pick { path?: string | URL; request?: Request; } type FarmTestServerFnArguments = [unknown] extends [TInput] ? [input?: TInput | FormData, options?: FarmTestServerFnOptions] : [input: TInput | FormData, options?: FarmTestServerFnOptions]; interface FarmTestHarness { request(path?: string | URL, options?: FarmTestRequestOptions): Request; route(route: TRoute, options?: FarmTestRouteOptions): Promise>; api(route: ProgrammaticApiRoute, options?: FarmTestApiOptions): Promise; endpoint(endpoint: unknown, options?: FarmTestEndpointOptions): Promise; serverFn(serverFn: ServerFn, ...args: FarmTestServerFnArguments): Promise; clearCache(): void; } /** Create a deterministic Web Request without depending on a test runner. */ declare function createTestRequest(path?: string | URL, options?: FarmTestRequestOptions): Request; /** * Create test helpers that exercise Farm's real route, API, and server-function runtimes. * The harness has no dependency on Vitest, Jest, or a DOM environment. */ declare function createFarmTestHarness(options?: FarmTestHarnessOptions): FarmTestHarness; export { type FarmTestApiOptions, type FarmTestEndpointOptions, type FarmTestFormValues, type FarmTestHarness, type FarmTestHarnessOptions, type FarmTestPathParams, type FarmTestQuery, type FarmTestRequestOptions, type FarmTestRouteOptions, type FarmTestRouteProps, type FarmTestRouteResult, type FarmTestServerFnArguments, type FarmTestServerFnOptions, type InferFarmTestRouteData, type InferFarmTestRouteParams, type InferFarmTestRouteSearch, createFarmTestHarness, createTestRequest };