type FarmRouterPrimitiveParam = string | number | boolean; type FarmRouterPathParam = FarmRouterPrimitiveParam | readonly FarmRouterPrimitiveParam[] | null | undefined; type FarmRouterPathParams = Record; type FarmRouterParams = Record; interface FarmRouterRoute { path: string; name?: string; meta?: TMeta; } type FarmRouterRouteInput = string | FarmRouterRoute; interface FarmRouterMatch { route: FarmRouterRoute; pathname: string; params: FarmRouterParams; } type FarmRouterQueryValue = FarmRouterPrimitiveParam | readonly FarmRouterPrimitiveParam[] | null | undefined; interface FarmRouterBuildOptions { query?: URLSearchParams | Record; hash?: string; trailingSlash?: boolean; } interface FarmRouterActiveOptions { exact?: boolean; } interface FarmRouter { routes: FarmRouterRoute[]; match(pathname: string): FarmRouterMatch | null; build(pattern: string, params?: FarmRouterPathParams, options?: FarmRouterBuildOptions): string; isActive(pattern: string, pathname: string, options?: FarmRouterActiveOptions): boolean; } declare function createFarmRouter(routes: FarmRouterRouteInput[]): FarmRouter; declare function matchFarmRoute(pattern: string, pathname: string): FarmRouterParams | null; declare function buildFarmRoutePath(pattern: string, params?: FarmRouterPathParams, options?: FarmRouterBuildOptions): string; declare function isFarmRouteActive(pattern: string, pathname: string, options?: FarmRouterActiveOptions): boolean; export { type FarmRouter, type FarmRouterActiveOptions, type FarmRouterBuildOptions, type FarmRouterMatch, type FarmRouterParams, type FarmRouterPathParam, type FarmRouterPathParams, type FarmRouterPrimitiveParam, type FarmRouterQueryValue, type FarmRouterRoute, type FarmRouterRouteInput, buildFarmRoutePath, createFarmRouter, isFarmRouteActive, matchFarmRoute };