///
import { Observable } from 'rxjs';
import { ViewMapper } from '../../../Routing';
import { BaseView, BaseViewProps } from '../../React';
import { AlertHostView } from '../Alert/AlertHostView';
import { AlertHostViewModel } from '../Alert/AlertHostViewModel';
import { PageFooterProps, PageFooterView } from '../PageFooter/PageFooterView';
import { PageFooterViewModel } from '../PageFooter/PageFooterViewModel';
import { PageHeaderProps, PageHeaderView } from '../PageHeader/PageHeaderView';
import { PageHeaderViewModel } from '../PageHeader/PageHeaderViewModel';
import { RouteHandlerView } from '../RouteHandler/RouteHandlerView';
import { RouteHandlerViewModel } from '../RouteHandler/RouteHandlerViewModel';
import { AppViewModel } from './AppViewModel';
import { BootstrapGuide } from './BootstrapGuide';
import { updateDefaultContainer } from './NamespacedPortal';
export interface AppProps extends PageHeaderProps, PageFooterProps {
viewMap?: ViewMapper;
guide?: boolean | (() => BootstrapGuide);
alerts?: boolean | ((viewModel: AlertHostViewModel, props: AppProps) => AlertHostView);
header?: boolean | ((viewModel: PageHeaderViewModel, props: AppProps) => PageHeaderView);
footer?: boolean | ((viewModel: PageFooterViewModel, props: AppProps) => PageFooterView);
routeHandler?: (viewModel: RouteHandlerViewModel, props: AppProps) => RouteHandlerView;
}
export interface AppViewProps extends BaseViewProps, AppProps {
}
export declare class AppView extends BaseView {
static displayName: string;
static updateDefaultPortalContainer: typeof updateDefaultContainer;
static defaultProps: Partial;
updateOn(viewModel: Readonly): Observable[];
render(): JSX.Element;
protected renderGuide(): false | JSX.Element | (() => BootstrapGuide);
protected renderAlerts(): false | JSX.Element;
protected renderHeader(): false | JSX.Element | PageHeaderView;
protected renderRouteHandler(): JSX.Element | RouteHandlerView;
protected renderFooter(): false | JSX.Element | PageFooterView;
}