import { NavigateRouteEvent } from './NavigateRouteEvent'; import { NavigationHistory } from './NavigationHistory'; /** @internal */ type RouteTargetHandler = (evt: NavigateRouteEvent) => void; /** * Registers a route target handler. * When a navigation event targets this name, the handler is called directly. * If a pending event exists for this target, it is replayed immediately. * * Each target owns a NavigationHistory that records every navigation it * handles. When a target reconnects after being removed (e.g. layout change), * its previous history is restored so back/forward keep working. * * @param name - Target name, or `undefined` for the default (unnamed) target * @param handler - Callback that receives the `NavigateRouteEvent` * * @example * registerRouteTarget('sidebar', (evt) => renderComponent(evt)); */ export declare function registerRouteTarget(name: string | undefined, handler: RouteTargetHandler): void; /** * Unregisters a previously registered route target handler. * The target's history is kept aside so it can be restored if a new target * with the same name reconnects later. * * @param name - Target name that was passed to `registerRouteTarget` */ export declare function unregisterRouteTarget(name: string | undefined): void; /** * Returns the NavigationHistory for a named target, or `undefined` if no * target with that name is currently registered. * * Used by `navigateBack` / `navigateForward` / `canGoBack` / `canGoForward` * to read or walk a target's encapsulated stack. */ export declare function getTargetHistory(name?: string): NavigationHistory | undefined; export declare function clearPendingNavigations(): void; export declare function initRouteTargetListener(): void; export {};