import type { Component, Guard, ICustomRouterGuard } from './Declarations'; /** * Configuration object used to define a route. * * @public */ export type RouteConfig = Pick; /** * Represents a single route entry with path matching, component resolution, * nested children, and guard support. * * @public */ export declare class Route { /** * The path pattern for this route. * * @public * @readonly */ readonly path: string; /** * The component to render when this route matches. * * Supports three forms: * - A tag-name string (e.g. `'my-page'`) * - An `HTMLElement` constructor * - A lazy-loading function returning a `Promise` * * @public * @readonly */ readonly component: Component; /** * Nested child routes. * * @public */ children: Array>; /** * Guard functions executed before the route is entered. * All guards must return `true` for navigation to proceed. * * @public */ beforeEnter: Array; /** * The compiled `URLPattern` instance derived from the route's `path`. * * @public * @readonly */ readonly urlPattern: URLPattern; private _parent; /** * Creates a new `Route` instance. * * @param path - The URL path pattern. * @param component - The component to render when matched. * * @public */ constructor(path: string, component: Component); /** * Assigns a parent route for hierarchical resolution. * * @param parent - The parent `Route` instance. * * @public */ setParent(parent: Route): void; /** * Tests whether the given `path` matches this route's URL pattern. * * @param path - The pathname to test. * @returns `true` if the path matches. * * @public */ match(path: string): boolean; /** * Recursively resolves all `beforeEnter` guards for this route * and its parent chain. * * @param router - The guard context providing navigation helpers. * @returns `true` if all guards pass. * * @public */ resolveRecursiveGuard(router: ICustomRouterGuard): Promise; /** * Resolves the component (including lazy-loaded modules) and, when a * parent exists, nests the result inside the parent component using the * Chain of Responsibility pattern. * * @param component - Optional factory returning the pre-resolved child element. * @returns The resolved `HTMLElement` (possibly wrapped in parent elements). * * @public */ resolve(component?: () => HTMLElement): Promise; /** * Resolves a single component reference to an `HTMLElement` instance. * * @param component - Tag name, constructor, or lazy-loader. * * @private */ private resolveComponent; } //# sourceMappingURL=Route.d.ts.map