import * as akala from '@akala/core'; import { Middleware, MiddlewarePromise, MiddlewareRoute, OptionsResponse, Routable, RouteBuilderArguments } from '@akala/core'; export declare class RouterRequest { constructor(loc: string); path: string; url: URL; query: URLSearchParams; params: Record; } export declare class Router extends akala.Router<[RouterRequest & Routable]> { constructor(options?: akala.RouterOptions); } export declare function router(name?: string): Router; export type simpleRequest = { method: string; url: string; }; export declare class MethodMiddleware extends MiddlewareRoute<[T, ...U]> implements Middleware<[T, ...U]> { private method; constructor(method: string, ...args: RouteBuilderArguments); isApplicable: (req: simpleRequest) => boolean; handle(req: simpleRequest | T, ...args: U): MiddlewarePromise; handleError(error: Error | OptionsResponse, req: simpleRequest | T, ...args: U): MiddlewarePromise; }