import { CoreServices } from '../services/core.services'; import { ServerCallConfig, ServerQueryConfig, EventConfig, StateConfig, ToolbarControlConfig } from '../models'; import { Observable } from 'rxjs'; import { ActivatedRoute } from '@angular/router'; export interface AppConfig { name: string; settings?: { addActionPanel?: boolean; addHeaderActions?: boolean; addAppBar?: boolean; addFooter?: boolean; addAppMenu?: boolean; addSearchBanner?: boolean; addReminder?: boolean; }; activateGuard?: (svc: CoreServices, route?: ActivatedRoute) => Observable; canActivate?: any[]; canDeactivate?: any[]; deactivateGuard?: (svc: CoreServices, route?: ActivatedRoute) => Observable; appMenu?: (svc: CoreServices, route?: ActivatedRoute) => Observable; controls?: (svc: CoreServices, route?: ActivatedRoute) => ToolbarControlConfig[]; startState: string; serverCalls?: ServerCallConfig[]; serverQueries?: ServerQueryConfig[]; events?: { [name: string]: EventConfig; }; appStates: { [id: string]: StateConfig; }; onAppInit?: (svc: CoreServices, route?: ActivatedRoute) => void; onAppDestroy?: (svc: CoreServices, route?: ActivatedRoute) => void; }