import type { Route, RouteData } from './types'; /** * Event sent to routing targets when a new route should be displayed. */ export declare class NavigateRouteEvent extends Event { /** * Matched route. */ route: Route; /** * The generated url sements which can be used to push the url into the browser history. */ urlSegments: string[]; /** * Data supplied to the route. */ routeData?: RouteData | undefined; /** * The target can differ from the default target that is defined in the route. * * undefined means that the default (unnamed) target should be used. */ routeTarget?: string | undefined; static NAME: string; /** * Identifies the entry in the target's NavigationHistory and in * `history.state.entryId`. Set by `navigate()` for every navigation. * Optional only so old call-sites that constructed events manually keep * compiling. */ entryId?: number; /** * `true` when the event is a replay of a previously recorded navigation * (e.g. triggered by browser back/forward or `navigateBack`/`navigateForward`). * Tells the target registry to move its index instead of recording a new entry. */ isReplay: boolean; /** * URL fragment without the leading `#`, or `undefined` when the URL had none. * * Survives a layout switch, so a component can rely on it even when the * route loaded a different HTML file on the way in. * * @example * document.addEventListener('rlx.navigateRoute', (e) => { * const resetToken = e.fragment; * }); */ fragment?: string; constructor( /** * Matched route. */ route: Route, /** * The generated url sements which can be used to push the url into the browser history. */ urlSegments: string[], /** * Data supplied to the route. */ routeData?: RouteData | undefined, /** * The target can differ from the default target that is defined in the route. * * undefined means that the default (unnamed) target should be used. */ routeTarget?: string | undefined, eventInit?: EventInit); } declare global { interface HTMLElementEventMap { 'rlx.navigateRoute': NavigateRouteEvent; } interface DocumentEventMap { 'rlx.navigateRoute': NavigateRouteEvent; } }