import { IEventEmitter } from '@breadstone/mosaik-elements'; import { CustomElement } from '../Controls/Components/Abstracts/CustomElement'; import type { IRouterNavigatedEventDetail } from '../Controls/events'; import { RouterController } from './Controllers/RouterController'; import type { IRouterElementProps } from './IRouterElementProps'; import type { RouteConfig } from './Route/RouteConfig'; /** * The `RouterElement` element. * * @fires navigated {RouterNavigatedEvent} - Fired when the route has changed. * * @public */ export declare class RouterElement extends CustomElement implements IRouterElementProps { private readonly _routerController; private readonly _location; private readonly _navigated; private _useHash; private _activeRoute; private _scrollTargetFn; /** * @public */ constructor(); /** * Returns the `is` property. * The `is` property represents natural name of this element. * * @public * @static * @readonly */ static get is(): string; /** * Gets or sets the `useHash` property. * * @public * @attr */ get useHash(): boolean; set useHash(value: boolean); /** * Gets or sets the `scrollRestoration` property. * * @public * @attr */ get scrollRestoration(): ScrollRestoration; set scrollRestoration(value: ScrollRestoration); /** * Gets or sets the `routes` property. * * @public */ get routes(): Array; set routes(value: Array); /** * Gets or sets the `scrollTargetFn` property. * * @public */ get scrollTargetFn(): (() => Element | null) | null; set scrollTargetFn(value: (() => Element | null) | null); /** * Returns the `currentRoute` property. * * @public * @readonly */ get currentRoute(): RouteConfig | null; /** * Returns the `previousRoute` property. * * @public * @readonly */ get previousRoute(): RouteConfig | null; /** * Returns the `nextRoute` property. * * @public * @readonly */ get nextRoute(): RouteConfig | null; /** * Called when the router has navigated to a new route. * Provides reference to `IRouterNavigatedEventDetail` as event detail. * * @public * @readonly * @eventProperty */ get navigated(): IEventEmitter; /** * @public */ navigate(name: string): Promise; /** * @public */ next(): Promise; /** * @public */ previous(): Promise; /** * @public */ outlet(): ReturnType; } /** * @public */ declare global { interface HTMLElementTagNameMap { 'mosaik-router': RouterElement; } } //# sourceMappingURL=RouterElement.d.ts.map