import { DynamicRoute, Router } from "./kaze-router";
import { KazeRouteHandler, KazeHttpMethod } from "./kaze";
type FileRouteInfo = {
    path: string;
    type: "normal" | "dynamic-param";
};
export declare class FileRouter extends Router {
    #private;
    constructor();
    indexDirectoryRoutes(rootDir: string, pathInfo: FileRouteInfo): Promise<void>;
    get(route: string, ...handlers: KazeRouteHandler[]): void;
    post(route: string, ...handlers: KazeRouteHandler[]): void;
    put(route: string, ...handlers: KazeRouteHandler[]): void;
    delete(route: string, ...handlers: KazeRouteHandler[]): void;
    patch(route: string, ...handlers: KazeRouteHandler[]): void;
    head(route: string, ...handlers: KazeRouteHandler[]): void;
    options(route: string, ...handlers: KazeRouteHandler[]): void;
    trace(route: string, ...handlers: KazeRouteHandler[]): void;
    connect(route: string, ...handlers: KazeRouteHandler[]): void;
    link(route: string, ...handlers: KazeRouteHandler[]): void;
    unlink(route: string, ...handlers: KazeRouteHandler[]): void;
    all(route: string, ...handlers: KazeRouteHandler[]): void;
    middlewares(...handlers: KazeRouteHandler[]): void;
    fetchMiddlewares(): KazeRouteHandler[];
    fetchHandlers(route: string, reqMethod: KazeHttpMethod): Promise<KazeRouteHandler[] | DynamicRoute | undefined>;
}
export {};
