import { RouteParams } from './route-parameter-types'; /** * Type-safe route builder function signature * - For routes without params: `() => TPath` * - For routes with params: `(params: RouteParams, query?: QueryParams) => string` */ export type RouteBuilder = keyof RouteParams extends never ? (query?: Record) => TPath : (params: RouteParams, query?: Record) => string; /** * Type-safe route registry with builders for all routes */ export type TypedRouteRegistry> = { readonly [K in keyof TRoutes]: RouteBuilder; };