/** * Copyright (c) 2020-present, Goldman Sachs * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { type LogService, ActionState } from '@finos/legend-shared'; import { CoreModel, SystemModel, PureModel } from '../graph/PureModel.js'; import type { AbstractPureGraphManager, GraphBuilderOptions } from '../graph-manager/AbstractPureGraphManager.js'; import type { GraphManagerPluginManager } from './GraphManagerPluginManager.js'; import type { PackageableElement } from '../graph/metamodel/pure/packageableElements/PackageableElement.js'; import type { Profile } from '../graph/metamodel/pure/packageableElements/domain/Profile.js'; import type { Enumeration } from '../graph/metamodel/pure/packageableElements/domain/Enumeration.js'; import type { Measure } from '../graph/metamodel/pure/packageableElements/domain/Measure.js'; import type { Class } from '../graph/metamodel/pure/packageableElements/domain/Class.js'; import type { Association } from '../graph/metamodel/pure/packageableElements/domain/Association.js'; import type { ConcreteFunctionDefinition } from '../graph/metamodel/pure/packageableElements/function/ConcreteFunctionDefinition.js'; import type { Store } from '../graph/metamodel/pure/packageableElements/store/Store.js'; import type { Database } from '../graph/metamodel/pure/packageableElements/store/relational/model/Database.js'; import type { Mapping } from '../graph/metamodel/pure/packageableElements/mapping/Mapping.js'; import type { Service } from '../graph/metamodel/pure/packageableElements/service/Service.js'; import type { PackageableRuntime } from '../graph/metamodel/pure/packageableElements/runtime/PackageableRuntime.js'; import type { PackageableConnection } from '../graph/metamodel/pure/packageableElements/connection/PackageableConnection.js'; import type { DataElement } from '../graph/metamodel/pure/packageableElements/data/DataElement.js'; import type { FileGenerationSpecification } from '../graph/metamodel/pure/packageableElements/fileGeneration/FileGenerationSpecification.js'; import type { GenerationSpecification } from '../graph/metamodel/pure/packageableElements/generationSpecification/GenerationSpecification.js'; import type { Type } from '../graph/metamodel/pure/packageableElements/domain/Type.js'; export declare class BasicGraphManagerState { readonly pluginManager: GraphManagerPluginManager; readonly logService: LogService; graphManager: AbstractPureGraphManager; constructor(pluginManager: GraphManagerPluginManager, logService: LogService, graphManager?: AbstractPureGraphManager); } export declare class GraphManagerState extends BasicGraphManagerState { readonly coreModel: CoreModel; readonly systemModel: SystemModel; readonly systemBuildState: ActionState; readonly dependenciesBuildState: ActionState; readonly graphBuildState: ActionState; readonly generationsBuildState: ActionState; graph: PureModel; constructor(pluginManager: GraphManagerPluginManager, logService: LogService, graphManager?: AbstractPureGraphManager); /** * NOTE: this is temporary. System entities might eventually be collected from a metadata project. * Right now the essential models have been extracted from Pure to load the minimum system. * We might add more system entities as needed until the system model project(s) are setup. */ initializeSystem(options?: GraphBuilderOptions): Promise; resetGraph(): void; createNewGraph(): PureModel; /** * NOTE: for all elements the ordering of usable elements will be own elements, system elements, dependency elements. * Exception is made for types and profiles where we will show primitive and system elements first as those will be * leveraged most by users */ get usableClassPropertyTypes(): Type[]; get usableProfiles(): Profile[]; get usableEnumerations(): Enumeration[]; get usableMeasures(): Measure[]; get usableClasses(): Class[]; get usableAssociationPropertyClasses(): Class[]; get usableAssociations(): Association[]; get usableFunctions(): ConcreteFunctionDefinition[]; get usableStores(): Store[]; get usableDatabases(): Database[]; get usableMappings(): Mapping[]; get usableServices(): Service[]; get usableRuntimes(): PackageableRuntime[]; get usableConnections(): PackageableConnection[]; get usableDataElements(): DataElement[]; get usableGenerationSpecifications(): GenerationSpecification[]; get usableFileGenerations(): FileGenerationSpecification[]; get usableElements(): PackageableElement[]; } //# sourceMappingURL=GraphManagerState.d.ts.map