1 | import { Animation, AnimationBuilder, ComponentProps, ComponentRef, FrameworkDelegate, Mode } from '../../interface';
|
2 | import { ViewController } from './view-controller';
|
3 | export declare type NavDirection = 'back' | 'forward';
|
4 | export declare type NavComponent = ComponentRef | ViewController;
|
5 | export interface NavComponentWithProps<T = any> {
|
6 | component: NavComponent;
|
7 | componentProps?: ComponentProps<T> | null;
|
8 | }
|
9 | export interface NavResult {
|
10 | hasCompleted: boolean;
|
11 | requiresTransition: boolean;
|
12 | enteringView?: ViewController;
|
13 | leavingView?: ViewController;
|
14 | direction?: NavDirection;
|
15 | }
|
16 | export interface SwipeGestureHandler {
|
17 | canStart(): boolean;
|
18 | onStart(): void;
|
19 | onEnd(shouldComplete: boolean): void;
|
20 | }
|
21 | export interface RouterOutletOptions {
|
22 | animated?: boolean;
|
23 | animationBuilder?: AnimationBuilder;
|
24 | duration?: number;
|
25 | easing?: string;
|
26 | showGoBack?: boolean;
|
27 | direction?: NavDirection;
|
28 | deepWait?: boolean;
|
29 | mode?: Mode;
|
30 | keyboardClose?: boolean;
|
31 | skipIfBusy?: boolean;
|
32 | progressAnimation?: boolean;
|
33 | }
|
34 | export interface NavOptions extends RouterOutletOptions {
|
35 | progressAnimation?: boolean;
|
36 | updateURL?: boolean;
|
37 | delegate?: FrameworkDelegate;
|
38 | viewIsReady?: (enteringEl: HTMLElement) => Promise<any>;
|
39 | }
|
40 | export declare type Page = new (...args: any[]) => any;
|
41 | export declare type TransitionResolveFn = (hasCompleted: boolean, requiresTransition: boolean, enteringName?: string, leavingName?: string, direction?: string) => void;
|
42 | export declare type TransitionRejectFn = (rejectReason: any, transition?: Animation) => void;
|
43 | export declare type TransitionDoneFn = (hasCompleted: boolean, requiresTransition: boolean, enteringView?: ViewController, leavingView?: ViewController, direction?: string) => void;
|
44 | export interface TransitionInstruction {
|
45 | opts: NavOptions | undefined | null;
|
46 | insertStart?: number;
|
47 | insertViews?: any[];
|
48 | removeView?: ViewController;
|
49 | removeStart?: number;
|
50 | removeCount?: number;
|
51 | resolve?: (hasCompleted: boolean) => void;
|
52 | reject?: (rejectReason: string) => void;
|
53 | done?: TransitionDoneFn;
|
54 | leavingRequiresTransition?: boolean;
|
55 | enteringRequiresTransition?: boolean;
|
56 | }
|
57 | export { ViewController };
|