import ProjectFileSystem from '../commons/ProjectFileSystem'; import TemplateInfo from '../project/TemplateInfo'; export interface UIManifestDataSource { uri: string; type: string; settings: { odataVersion: string; localUri: string; }; } type UIManifestDataSourceMap = { [name: string]: UIManifestDataSource; }; export interface UIManifestCrossNavigationInbound { semanticObject: string; action: string; signature?: { parameters: { [key: string]: string; }; additionalParameters: string; }; } type UIManifestCrossNavigationInboundMap = { [key: string]: UIManifestCrossNavigationInbound; }; export interface UIManifestRootView { viewName: string; type: string; id: string; async?: boolean; } export interface UIManifestData { 'sap.app': { id: string; dataSources: UIManifestDataSourceMap; crossNavigation: { inbounds: UIManifestCrossNavigationInboundMap; }; i18n: string | object; applicationVersion: { version: string; }; title: string; description: string; sourceTemplate?: TemplateInfo; }; 'sap.ui5': { rootView?: UIManifestRootView; routing: { targets: { [key: string]: { type: string; id: string; name: string; }; }; }; }; 'sap.cloud': { public: boolean; service: string; }; } export default class UIManifest { fs: ProjectFileSystem; path: string; data: UIManifestData; constructor(fs: ProjectFileSystem, path: string); load(): Promise; save(): Promise; dataSources(): UIManifestDataSourceMap; crossNavigationInbounds(): UIManifestCrossNavigationInboundMap; } export {};