/** * 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 { Class } from '../packageableElements/domain/Class.js'; import type { PropertyReference } from '../packageableElements/domain/PropertyReference.js'; import type { PackageableElementReference } from '../packageableElements/PackageableElementReference.js'; import type { ValueSpecification, ValueSpecificationVisitor } from './ValueSpecification.js'; import { InstanceValue } from './InstanceValue.js'; import { type Hashable } from '@finos/legend-shared'; export declare abstract class GraphFetchTree implements Hashable { subTrees: GraphFetchTree[]; subTypeTrees: SubTypeGraphFetchTree[]; abstract get hashCode(): string; get isEmpty(): boolean; } export declare class RootGraphFetchTree extends GraphFetchTree implements Hashable { class: PackageableElementReference; get hashCode(): string; constructor(_class: PackageableElementReference); } export declare class PropertyGraphFetchTree extends GraphFetchTree implements Hashable { property: PropertyReference; alias?: string | undefined; parameters: ValueSpecification[]; subType?: PackageableElementReference | undefined; constructor(property: PropertyReference, subType: PackageableElementReference | undefined); get hashCode(): string; } export declare class SubTypeGraphFetchTree extends GraphFetchTree implements Hashable { subTypeClass: PackageableElementReference; constructor(subTypeClass: PackageableElementReference); get hashCode(): string; } export declare class GraphFetchTreeInstanceValue extends InstanceValue implements Hashable { values: RootGraphFetchTree[]; constructor(); get hashCode(): string; accept_ValueSpecificationVisitor(visitor: ValueSpecificationVisitor): T; } //# sourceMappingURL=GraphFetchTree.d.ts.map