import type { App } from "../core/app.js";
import type { RequestEvent } from "../core/event_request.js";
import { Router } from "../tools/router/router.js";
export declare const StaticWildcardParam = "path";
type FsRoot = {
    root: string;
};
export type StdResponseWriter = {
    headers: Headers;
    statusCode: number;
    write: (chunk: string | Uint8Array) => void;
    writeHead: (status: number, headers?: Record<string, string>) => void;
};
export type StdHandler = (req: Request, res?: StdResponseWriter) => Response | Promise<Response> | void | Promise<void>;
export type StdMiddleware = (handler: StdHandler) => StdHandler;
export declare function NewRouter(app: App): Router<RequestEvent>;
export declare function WrapStdHandler(handler: StdHandler): (event: RequestEvent) => Promise<Response>;
export declare function WrapStdMiddleware(middleware: StdMiddleware): (event: RequestEvent) => Promise<unknown>;
export declare function MustSubFS(fsys: string | FsRoot, dir: string): FsRoot;
export declare function Static(fsys: string | FsRoot, indexFallback: boolean): (event: RequestEvent) => Promise<unknown>;
export {};
