import type { URLObserverEntryList } from './url-observer-entry-list.js'; import type { URLObserver } from './url-observer.js'; export declare type Routes = Map; export interface FindMatchedRouteResult> extends RouteEvent, Partial { } export interface FindMatchedRouteOption extends URLChangedOption, Pick { } export declare type URLChangedStatus = 'click' | 'hashchange' | 'init' | 'manual' | 'popstate'; export interface MatchedRoute = Record> { found: boolean; params: T; } export interface RouteEvent = Record> extends MatchedRoute, Omit { url: string; } export interface RouteOption = Record> { handleEvent?(params: T, status: URLChangedStatus): Promise | boolean; pathRegExp: RegExp; scope?: string; } export interface RouteValue { beforeRouteHandlers: Map; pathRegExp: RegExp; } export interface URLChangedOption { scope: string; status: URLChangedStatus; url: URL; } export interface URLObserverCallbacks { callback(list: URLObserverEntryList, observer: URLObserver): void; matcherCallback(pathname: string, pathRegExp: RegExp): T; } export interface URLObserverEntryProperty { entryType: URLChangedStatus; scope: string; startTime: number; url: string; } export interface URLObserverOption extends Pick { debug?: boolean; dwellTime?: number; } //# sourceMappingURL=custom_typings.d.ts.map