declare module 'navaid' { type Promisable = T | Promise; export type Params = Record; export type UnknownHandler = (uri: string) => void; export type RouteHandler = (params?: T) => Promisable; export interface Router { format(uri: string): string | false; route(uri: string, replace?: boolean): void; on(pattern: string, handler: RouteHandler): Router; run(uri?: string): Router; listen(uri?: string): Router; unlisten?: VoidFunction; } export default function (base?: string, on404?: UnknownHandler): Router; }