import type { RouterElement2 } from './RouterElement2'; /** * The tag name used for the `RouterElement2` custom element. * * @public */ export declare const TAG_NAME_ROUTER: "mosaik-router-2"; /** * A constructor type for `HTMLElement` subclasses. * * @public */ export type HTMLElementConstructor = typeof HTMLElement; /** * Represents a component that can be resolved by the router. * It can be a tag name string, an `HTMLElement` constructor, * or a lazy-loading function returning a promise of a constructor. * * @public */ export type Component = string | HTMLElementConstructor | (() => Promise); /** * The public API surface of `RouterElement2`, used for type constraints. * * @public */ export type IBaseRouter = Pick; /** * A subset of `IBaseRouter` exposed to route guards. * * @public */ export type ICustomRouterGuard = Omit; /** * A guard function invoked before entering a route. * Return `true` to allow navigation, `false` to cancel it. * * @public */ export type Guard = (router: ICustomRouterGuard) => boolean | Promise; /** * Represents a subscription that can be unsubscribed. * * @public */ export interface ISubscription { /** * Unsubscribe the subscription. */ unsubscribe: () => void; } /** * Describes a navigation target. * * @public */ export interface INavigation { /** * Navigation path. */ path: string; /** * Href associated with the navigation path. */ href: string; /** * Query parameters as key-value pairs. */ query: Record; } /** * Options that control navigation behavior. * * @public */ export interface INavigationOptions { /** * Indicates whether `window.history.pushState` should be called. */ enableHistoryPushState: boolean; } //# sourceMappingURL=Declarations.d.ts.map