import type { InternalRouteMatch, Query, RouteNode } from './types'; export declare function normalize(path: string): string; export declare function split(path: string): string[]; export declare function parseQueryHash(pathname: string): { path: string; query: Query; hash: string; }; export declare function getQueryFirst(q: Query, key: string): string | number; export declare function normalizeQuery(input?: string | Record): Record; export declare function isWildcard(path: string): path is "*"; export declare function matchRouteChain(routes: RouteNode[], pathname: string): InternalRouteMatch[] | null; export declare function buildPath(path: string, params?: Record, query?: Record, hash?: string, options?: { replaceQuery?: boolean; }): string; export declare function buildCacheKey(node: RouteNode, context: any): string; export declare function wrapAsync any>(fn: T): (...args: Parameters) => Promise;