import Page from '@mjcloud/page'; import { Action } from 'history'; import { ControlBase } from '../controls'; import { IPageAddress } from '@mjcloud/page-helper'; import { PageInfo } from '@mjcloud/page/dist/typings'; import { IRouteComponentProps } from '@mjcloud/router-helper'; import { IAppInfo, IDictionary, PageModeEnum } from '@mjcloud/types'; import { IState, ReduceDefaultActionType, IInitialStateParams } from '@mjcloud/redux'; export declare type AppEventType = ''; export declare type AppStoreActionType = ReduceDefaultActionType | 'back' | 'refresh' | 'pushExtraPage' | 'updateAppInfo' | 'installTemplate' | 'fetchTemplateError'; export interface IAppProps extends IRouteComponentProps { } export interface IHistoryData { pageKey: string; Template: typeof ControlBase; } export interface IAppState extends IState { info: PageInfo; showInDev: boolean; reLaunchIndex: number; errorMessage?: string; parentPageKey?: string; iframePageKey?: string; pageKey: string | undefined; Template: typeof ControlBase | undefined; appInfo: IAppInfo | undefined; history: IHistoryData[]; } export interface IAppInitialStateParams extends IInitialStateParams { } export interface IAppRefreshParams extends IPageAddress { pageMode?: PageModeEnum; action: Action; params: IDictionary; } export interface IAppUpdateAppInfoParams { appInfo: IAppInfo | undefined; param: IAppRefreshParams; } export interface IAppInstallTemplateParams { pageKey: string; action: Action; Template: typeof ControlBase; getTemplate: (pageKey: string) => Page; destroyTemplate: (pageKey: string) => void; } export interface IAppBackParams { param: IDictionary; n: number; backPageKey: string; destroyTemplate: (pageKey: string) => void; }