import '../../../lib/polyfill-promise-with-resolvers'; import type { RouteKind } from '../route-kind'; import type { RouteMatch } from '../route-matches/route-match'; import type { RouteDefinition } from '../route-definitions/route-definition'; import type { RouteMatcherProvider } from '../route-matcher-providers/route-matcher-provider'; import type { RouteMatcher } from '../route-matchers/route-matcher'; import type { MatchOptions, RouteMatcherManager } from './route-matcher-manager'; interface RouteMatchers { static: ReadonlyArray; dynamic: ReadonlyArray; duplicates: Record>; } export declare class DefaultRouteMatcherManager implements RouteMatcherManager { private readonly providers; protected readonly matchers: RouteMatchers; private lastCompilationID; /** * When this value changes, it indicates that a change has been introduced * that requires recompilation. */ private get compilationID(); private waitTillReadyPromise?; waitTillReady(): Promise; private previousMatchers; reload(): Promise; push(provider: RouteMatcherProvider): void; test(pathname: string, options: MatchOptions): Promise; match(pathname: string, options: MatchOptions): Promise> | null>; /** * This is a point for other managers to override to inject other checking * behavior like duplicate route checking on a per-request basis. * * @param pathname the pathname to validate against * @param matcher the matcher to validate/test with * @returns the match if found */ protected validate(pathname: string, matcher: RouteMatcher, options: MatchOptions): RouteMatch | null; matchAll(pathname: string, options: MatchOptions): AsyncGenerator>, null, undefined>; } export {};