export interface NodePackage { dependencies?: Dependencies; [property: string]: any; } export interface TheiaNodePackage { name: string; theiaExtensions?: Extension[]; } export interface Extension { frontend?: string; frontendElectron?: string; backend?: string; backendElectron?: string; } export interface Dependencies { [name: string]: string; } export interface Config { copyright: string; node_modulesPath: string; localDependencies?: Dependencies; } export interface ExtensionConfig { testSupport: boolean; extensionKeyword: string; } export declare function sortByKey(object: { [key: string]: any; }): { [key: string]: any; }; export declare const defaultExtensionKeyword = "theia-extension"; export declare class Model { target: 'web' | 'electron-renderer' | undefined; pck: NodePackage; config: Config; readonly defaultExtensionConfig: ExtensionConfig; extensionConfig: ExtensionConfig; protected _frontendModules: Map | undefined; protected _frontendElectronModules: Map | undefined; protected _backendModules: Map | undefined; protected _backendElectronModules: Map | undefined; protected readonly extensionPackages: Map; readonly allExtensions: string[]; readExtensionPackages(read: (extension: string, version: string) => TheiaNodePackage | undefined): void; readLocalExtensionPackages(read: (extension: string, path: string) => TheiaNodePackage | undefined): void; protected readExtensionPackage(extension: string, read: () => TheiaNodePackage | undefined): void; readonly frontendModules: Map; readonly frontendElectronModules: Map; readonly backendModules: Map; readonly backendElectronModules: Map; protected computeModules

(primary: P, secondary?: S): Map; }