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 RouterCustomEvent extends CustomEvent {
|
16 | detail: RouterEventDetail;
|
17 | target: HTMLIonRouterElement;
|
18 | }
|
19 | export interface RouteRedirect {
|
20 | from: string[];
|
21 | to?: ParsedRoute;
|
22 | }
|
23 | export interface RouteWrite {
|
24 | changed: boolean;
|
25 | element: HTMLElement | undefined;
|
26 | markVisible?: () => void | Promise<void>;
|
27 | }
|
28 | export interface RouteID {
|
29 | id: string;
|
30 | element: HTMLElement | undefined;
|
31 | params?: {
|
32 | [key: string]: any;
|
33 | };
|
34 | }
|
35 | export interface RouteEntry {
|
36 |
|
37 | id: string;
|
38 | segments: string[];
|
39 | params: {
|
40 | [key: string]: any;
|
41 | } | undefined;
|
42 | beforeLeave?: NavigationHookCallback;
|
43 | beforeEnter?: NavigationHookCallback;
|
44 | }
|
45 | export interface RouteNode extends RouteEntry {
|
46 | children: RouteTree;
|
47 | }
|
48 | export interface ParsedRoute {
|
49 |
|
50 | segments: string[];
|
51 |
|
52 | queryString?: string;
|
53 | }
|
54 | export declare type RouterDirection = 'forward' | 'back' | 'root';
|
55 | export declare type NavOutletElement = NavOutlet & HTMLStencilElement;
|
56 | export declare type RouteChain = RouteEntry[];
|
57 | export declare type RouteTree = RouteNode[];
|