import { HttpMethod } from '@gaman/common/enums/http-method.enum.js'; import { RequestHandler, Route, RouteDefinition, Routes } from '@gaman/common/types/index.js'; import { ControllerFactory } from '@gaman/common/types/controller.types.js'; import { Websocket } from '@gaman/common/types/websocket.types.js'; type RouteFactory = (route: RouteBuilder) => void; declare class RouteBuilder { private prefix; private middlewares; private websocketMiddlewares; private routes; constructor(prefix?: string); getRoutes(): Route[]; private addRoute; group(prefix: string, callback: (r: RouteBuilder) => void): RouteDefinition; get(path: string, handler: RequestHandler | [fn: ControllerFactory, name: string]): RouteDefinition; post(path: string, handler: RequestHandler | [fn: ControllerFactory, name: string]): RouteDefinition; put(path: string, handler: RequestHandler | [fn: ControllerFactory, name: string]): RouteDefinition; delete(path: string, handler: RequestHandler | [fn: ControllerFactory, name: string]): RouteDefinition; patch(path: string, handler: RequestHandler | [fn: ControllerFactory, name: string]): RouteDefinition; all(path: string, handler: RequestHandler | [fn: ControllerFactory, name: string]): RouteDefinition; head(path: string, handler: RequestHandler | [fn: ControllerFactory, name: string]): RouteDefinition; options(path: string, handler: RequestHandler | [fn: ControllerFactory, name: string]): RouteDefinition; match(methods: HttpMethod[], path: string, handler: RequestHandler | [fn: ControllerFactory, name: string]): RouteDefinition; ws(path: string, websocket: Websocket): Pick; } export declare function autoComposeRoutes(callback: RouteFactory): Routes; export declare function composeRoutes(callback: RouteFactory): Routes; export {};