/** * 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 Hashable, type PlainObject } from '@finos/legend-shared'; import { PackageableElement, type PackageableElementVisitor } from '../packageableElements/PackageableElement.js'; import type { RawLambda } from '../rawValueSpecification/RawLambda.js'; import { AnnotatedElement } from '../packageableElements/domain/AnnotatedElement.js'; import type { Mapping } from '../packageableElements/mapping/Mapping.js'; import type { PackageableRuntime } from '../packageableElements/runtime/PackageableRuntime.js'; import type { PackageableElementReference } from '../packageableElements/PackageableElementReference.js'; import type { Package } from '../packageableElements/domain/Package.js'; import type { Class } from '../packageableElements/domain/Class.js'; import type { Enumeration } from '../packageableElements/domain/Enumeration.js'; import type { Association } from '../packageableElements/domain/Association.js'; import type { EmbeddedData } from '../data/EmbeddedData.js'; import type { StereotypeReference } from '../packageableElements/domain/StereotypeReference.js'; import type { AppDirNode } from '../packageableElements/ingest/IngestDefinition.js'; export declare abstract class AccessPoint implements Hashable { id: string; title: string | undefined; description: string | undefined; stereotypes: StereotypeReference[]; __owner: AccessPointGroup; constructor(id: string, owner: AccessPointGroup); get hashCode(): string; } export declare class FunctionAccessPoint extends AccessPoint { query: RawLambda; constructor(id: string, query: RawLambda, owner: AccessPointGroup); get hashCode(): string; } export declare enum LakehouseTargetEnv { Snowflake = "Snowflake", Databricks = "Databricks", BigQuery = "BigQuery", DuckDb = "DuckDb" } export declare enum DataProductAccessType { MODEL = "model", NATIVE = "native", LAKEHOUSE = "lakehouse" } export declare class LakehouseAccessPoint extends AccessPoint { targetEnvironment: string; classification: string | undefined; func: RawLambda; reproducible: boolean | undefined; constructor(id: string, targetEnv: string, func: RawLambda, owner: AccessPointGroup); get hashCode(): string; } export declare class UnknownAccessPoint extends AccessPoint { content: PlainObject; get hashCode(): string; } export declare class DataProductRuntimeInfo { id: string; description: string | undefined; runtime: PackageableElementReference; get hashCode(): string; } export type DataProductElement = Package | Class | Enumeration | Association; export interface ElementScope { element: PackageableElementReference; exclude?: boolean | undefined; } export declare class DataProductElementScope implements Hashable { exclude: boolean | undefined; element: PackageableElementReference; get hashCode(): string; } export declare class DataProductDiagram implements Hashable { title: string; description: string | undefined; diagram: PackageableElement; get hashCode(): string; } export declare class AccessPointGroup extends AnnotatedElement implements Hashable { id: string; title: string | undefined; description: string | undefined; accessPoints: AccessPoint[]; get hashCode(): string; } export declare class ModelAccessPointGroup extends AccessPointGroup implements Hashable { mapping: PackageableElementReference; featuredElements: DataProductElementScope[]; diagrams: DataProductDiagram[]; get hashCode(): string; } export declare class NativeModelExecutionContext implements Hashable { key: string; mapping: PackageableElementReference; runtime: PackageableElementReference | undefined; __owner: NativeModelAccess; get hashCode(): string; } export declare class NativeModelAccess implements Hashable { featuredElements: DataProductElementScope[]; nativeModelExecutionContexts: NativeModelExecutionContext[]; defaultExecutionContext: NativeModelExecutionContext; diagrams: DataProductDiagram[]; sampleQueries: SampleQuery[]; get hashCode(): string; } export declare abstract class SampleQuery implements Hashable { id: string; title: string; description: string | undefined; executionContextKey: string; get hashCode(): string; } export declare class InLineSampleQuery extends SampleQuery implements Hashable { query: RawLambda; get hashCode(): string; } export declare class PackageableElementSampleQuery extends SampleQuery implements Hashable { query: PackageableElementReference; get hashCode(): string; } export declare class Email implements Hashable { title: string; address: string; constructor(address: string, title: string); get hashCode(): string; } export declare class DataProductLink { label: string | undefined; url: string; constructor(url: string, label?: string); get hashCode(): string; } export declare class SupportInfo implements Hashable { documentation: DataProductLink | undefined; website: DataProductLink | undefined; faqUrl: DataProductLink | undefined; supportUrl: DataProductLink | undefined; emails: Email[]; expertise: Expertise[] | undefined; get hashCode(): string; } export declare enum DataProduct_DeliveryFrequency { DAILY = "DAILY", WEEKLY = "WEEKLY", MONTHLY = "MONTHLY", QUARTERLY = "QUARTERLY", YEARLY = "YEARLY", ON_DEMAND = "ON_DEMAND", INTRA_DAY = "INTRADAY" } export declare enum DataProduct_Region { APAC = "APAC", EMEA = "EMEA", LAMR = "LAMR", NAMR = "NAMR" } export declare abstract class DataProductIcon implements Hashable { abstract get hashCode(): string; } export declare class DataProductLibraryIcon extends DataProductIcon implements Hashable { libraryId: string; iconId: string; constructor(libraryId: string, iconId: string); get hashCode(): string; } export declare class DataProductEmbeddedImageIcon extends DataProductIcon implements Hashable { imageUrl: string; constructor(imageUrl: string); get hashCode(): string; } export declare class UnknownDataProductIcon extends DataProductIcon implements Hashable { content: PlainObject; constructor(content: PlainObject); get hashCode(): string; } export declare abstract class DataProductType implements Hashable { get hashCode(): string; } export declare class InternalDataProductType extends DataProductType { } export declare class ExternalDataProductType extends DataProductType { link: DataProductLink; get hashCode(): string; } export declare class Expertise implements Hashable { readonly uuid: string; description: string | undefined; expertIds: string[] | undefined; get hashCode(): string; } export declare class DataProductOperationalMetadata implements Hashable { coverageRegions: DataProduct_Region[] | undefined; updateFrequency: DataProduct_DeliveryFrequency | undefined; get hashCode(): string; } export declare abstract class DataProductOwner implements Hashable { abstract get hashCode(): string; } export declare class AppDirOwner extends DataProductOwner implements Hashable { production: AppDirNode | undefined; prodParallel: AppDirNode | undefined; get hashCode(): string; } export declare class DataProduct extends PackageableElement { title: string | undefined; description: string | undefined; icon: DataProductIcon | undefined; accessPointGroups: AccessPointGroup[]; nativeModelAccess: NativeModelAccess | undefined; supportInfo: SupportInfo | undefined; type: DataProductType | undefined; sampleValues: EmbeddedData[] | undefined; operationalMetadata: DataProductOperationalMetadata | undefined; owner: DataProductOwner | undefined; accept_PackageableElementVisitor(visitor: PackageableElementVisitor): T; protected get _elementHashCode(): string; } //# sourceMappingURL=DataProduct.d.ts.map