import { Subscription } from 'rxjs'; import { RouteManager } from '../../Routing/RouteManager'; import { Alert } from '../../Utils'; import { Logger } from '../../Utils/Logging'; import { Command, WebRxStatic } from '../../WebRx'; import { HandlerRoutingStateChanged, RoutingStateHandler, ViewModelLifecyle } from './Interfaces'; export declare function isRoutingStateHandler(value: any): value is RoutingStateHandler<{}>; export declare function isViewModelLifecycle(viewModel: any): viewModel is ViewModelLifecyle; export declare function isViewModel(source: any): source is BaseViewModel; export declare function getRoutingStateValue(value: T | null | undefined, defaultValue?: T): T | undefined; export declare function getRoutingStateValue(value: T | null | undefined, selector: (x: T) => R): R | undefined; export declare function getRoutingStateValue(value: T | null | undefined, defaultValue: T, selector: (x: T) => R): R | undefined; export declare type RoutingStateValueCreator = typeof getRoutingStateValue; export declare abstract class BaseViewModel extends Subscription { static displayName: string; static readonly wx: WebRxStatic; protected readonly logger: Logger; protected readonly wx: WebRxStatic; protected readonly getRoutingStateValue: RoutingStateValueCreator; protected readonly createAlert: Alert.AlertCreator; protected readonly alertForError: Alert.ErrorAlertCreator; protected readonly routeManager: RouteManager; private isLoggingMemberObservables; stateChanged: Command | undefined; constructor(unsubscribe?: () => void); private initializeViewModel(); private loadedViewModel(); private updatedViewModel(); private cleanupViewModel(); protected initializeRoutingStateHandler(source: this): void; protected initialize(): void; protected loaded(): void; protected updated(): void; protected cleanup(): void; protected notifyChanged(context?: any): void; protected navTo(path: string, state?: any, replace?: boolean, uriEncode?: boolean): void; isViewModel(): boolean; getDisplayName(): string; }