export declare const routerMethods: readonly ["all", "head", "get", "patch", "post", "put", "delete"];
export type RouteMethod = (typeof routerMethods)[number];
export type RouteType = {
    path: string;
    action: string;
    dir?: string;
    matchTrailingPathParts?: boolean;
    apiVersion?: number | string;
};
export type RoutesConfig = Partial<Record<(typeof routerMethods)[number], RouteType[]>>;
export declare namespace route {
    /**
     * Programmatically define a route, rather than using `config.routes`.  This is useful for plugins which may define routes as well.
     * You can use both `routes.registerRoute` and `config.routes` in the same project.
     *
     * * method:                 HTTP verb (get, put, etc)
     * * path:                   The route in question.  Can use variables.
     * * action:                 The action to call with this route.
     * * apiVersion:             The version of the action to call, if more than one.
     * * matchTrailingPathParts: Allows the final segment of your route to absorb all trailing path parts in a matched variable. (ie: /api/user would match /api/user/123)
     * * dir:                    Which folder to serve static files from (must by included in config.general.paths)
     */
    function registerRoute(method: string, path: string, action: string, apiVersion?: number | string, matchTrailingPathParts?: boolean, dir?: string): void;
}
