/** * 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. */ export type RawLineageModel = object; export declare class Graph { nodes: LineageNode[]; edges: LineageEdge[]; } export declare class LineageNode { data: NodeData; } export declare class NodeData { id: string; text: string; type: string; displayType?: string; } export declare class LineageEdge { data: EdgeData; } export declare class EdgeData { id: string; text: string; type: string; source: LineageNode; target: LineageNode; } export declare class PropertyPathTree { display: string; value: string; children: PropertyPathTree[]; qualifierSubTree?: PropertyPathTree; } export declare class ReportColumn { name: string; propertyTree: PropertyPathTree; columns: ColumnWithContext[]; accessorColumns: LineageColumn[]; } export declare class ColumnWithContext { column: LineageColumn; context: string; } export declare class LineageSchema { name: string; database: LineageDatabase; } export declare class LineageDatabase { package: string; name: string; } export declare class Owner { schema: LineageSchema; name: string; columns?: LineageColumn[]; primaryKey?: LineageColumn[]; } export declare class LineageColumn { owner: Owner; nullable: boolean; name: string; type: string; } export declare class ReportLineage { columns: ReportColumn[]; } export declare class LineageModel { databaseLineage: Graph; classLineage: Graph; functionTrees: PropertyPathTree[]; reportLineage: ReportLineage; propertyLineage?: PropertyLineageReport; } export declare class PropertyLineageReport { propertyOwner: PropertyLineageNode[]; ownerLink: OwnerLink[]; } export declare class PropertyLineageNode { id: string; name: string; } export declare class StorePropertyLineageNode extends PropertyLineageNode { } export declare class PropertyOwnerNode extends PropertyLineageNode { properties: LineageProperty[]; } export declare class RootQuery extends PropertyOwnerNode { } export declare class LineageQuery extends PropertyOwnerNode { } export declare class RelationalPropertyOwner extends PropertyOwnerNode { namedRelation: string; relationType: string; relationName: string; schemaName: string; relationOwnerPath: string; } export declare class MappedSetOwner extends PropertyOwnerNode { setImplementationID: string; } export declare class MappedClassOwner extends PropertyOwnerNode { mapping?: string; setImplementationID?: string; _class: string; } export declare class OwnerLink { source: string; target: string; } export declare class LineageProperty { name: string; dataType?: string; sourceInfo?: SourceInformation; scope?: string; propertyType: string; ownerID: string; sourceProperties: LineageProperty[]; annotations: Annotation[]; } export declare class LineageModelProperty extends LineageProperty { propertyTree: PropertyPathTree; } export declare class SourceInformation { sourceId: string; startLine: number; startColumn: number; endLine: number; endColumn: number; } export declare class Annotation { } //# sourceMappingURL=LineageModel.d.ts.map