/// import { PageHeaderProps, PageWebNav, Tonwa, Nav } from 'tonwa-core'; import { VPage } from './VPage'; import { View } from './View'; export interface ConfirmOptions { caption?: string; message: string | JSX.Element; classNames?: string; ok?: string; yes?: string; no?: string; } export interface WebNav { VNavHeader?: new (controller: C) => View; VNavRawHeader?: new (controller: C) => View; VNavFooter?: new (controller: C) => View; VNavRawFooter?: new (controller: C) => View; renderPageHeader?: (props: PageHeaderProps) => JSX.Element; } export declare abstract class Controller { protected readonly tonwa: Tonwa; protected nav: Nav; protected res: any; t: (str: string) => string | JSX.Element; icon: string | JSX.Element; label: string | JSX.Element; readonly isDev: boolean; pageWebNav: PageWebNav; constructor(tonwa: Tonwa); shallow(data: T): T; deep(data: T): T; private buildReactiveProps; runInAction(fn: () => T): T; getTonwa(): Tonwa; protected beforeInit(): void; protected afterInit(): void; internalInit(...param: any[]): void; init(...param: any[]): void; internalT(str: string): any; getPageWebNav(): PageWebNav; setRes(res: any): void; getRes(): any; protected openVPage>(vp: new (controller: C) => P, param?: any, afterBack?: (ret: any) => void): Promise

; protected replaceVPage>(vp: new (controller: C) => P, param?: any, afterBack?: (ret: any) => void): Promise

; protected renderView>(view: new (controller: C) => V, param?: any): JSX.Element; event(type: string, value: any): Promise; protected onEvent(type: string, value: any): Promise; protected msg(text: string): void; protected errorPage(header: string, err: any): void; openPage(page: JSX.Element, onClosePage?: (ret: any) => void): void; replacePage(page: JSX.Element, onClosePage?: () => void): void; backPage(): void; closePage(level?: number): void; ceasePage(level?: number): void; go(showPage: () => void, url: string, absolute?: boolean): void; removeCeased(): void; regConfirmClose(confirmClose: () => Promise): void; private topPageKey; protected startAction(): void; get TopKey(): any; SetTopKey(key: any): void; popToTopPage(): void; confirm(options: ConfirmOptions): Promise<'ok' | 'yes' | 'no' | undefined>; }