1 | import { AnimationBuilder, ComponentProps } from '../../../interface';
|
2 | import { NavigationHookCallback } from '../../route/route-interface';
|
3 | export interface HTMLStencilElement extends HTMLElement {
|
4 | componentOnReady(): Promise<this>;
|
5 | }
|
6 | export interface NavOutlet {
|
7 | setRouteId(id: string, params: ComponentProps | undefined, direction: RouterDirection, animation?: AnimationBuilder): Promise<RouteWrite>;
|
8 | getRouteId(): Promise<RouteID | undefined>;
|
9 | }
|
10 | export interface RouterEventDetail {
|
11 | from: string | null;
|
12 | redirectedFrom: string | null;
|
13 | to: string;
|
14 | }
|
15 | export interface RouteRedirect {
|
16 | from: string[];
|
17 | to?: ParsedRoute;
|
18 | }
|
19 | export interface RouteWrite {
|
20 | changed: boolean;
|
21 | element: HTMLElement | undefined;
|
22 | markVisible?: () => void | Promise<void>;
|
23 | }
|
24 | export interface RouteID {
|
25 | id: string;
|
26 | element: HTMLElement | undefined;
|
27 | params?: {
|
28 | [key: string]: any;
|
29 | };
|
30 | }
|
31 | export interface RouteEntry {
|
32 | id: string;
|
33 | path: string[];
|
34 | params: {
|
35 | [key: string]: any;
|
36 | } | undefined;
|
37 | beforeLeave?: NavigationHookCallback;
|
38 | beforeEnter?: NavigationHookCallback;
|
39 | }
|
40 | export interface RouteNode extends RouteEntry {
|
41 | children: RouteTree;
|
42 | }
|
43 | export interface ParsedRoute {
|
44 | segments: string[];
|
45 | queryString?: string;
|
46 | }
|
47 | export declare type RouterDirection = 'forward' | 'back' | 'root';
|
48 | export declare type NavOutletElement = NavOutlet & HTMLStencilElement;
|
49 | export declare type RouteChain = RouteEntry[];
|
50 | export declare type RouteTree = RouteNode[];
|