import { Configurer } from './Configurer'; import { RecursiveRouteConfig } from '../RouteConfig'; import { BaseRouteBuilder } from './BaseRouteBuilder'; type RBWith = RouteBuilder

; export interface RouteBuilder extends BaseRouteBuilder { path: (p: string) => RouteBuilder; param: (p: S) => OfRouteBuilder; numParam: (p: S) => RBWith; queryParam: (q: S) => OfQueryParamBuilder; group: (x: Configurer, RR>) => RR; } interface OfRouteBuilder extends RBWith { of: () => RBWith; ofDefault: (defaultValue: V) => RouteBuilder

; } type QueryPBWith = RouteBuilder; interface OfQueryParamBuilder extends QueryPBWith { of: () => QueryPBWith; ofDefault: (defaultValue: V) => QueryPBWith; } export {};