/**
 * 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 declare const MULTIPLICITY_INFINITE = "*";
export declare const ELEMENT_PATH_DELIMITER = "::";
export declare const MULTIPLICITY_RANGE_OPERATOR = "..";
export declare const PROPERTY_ACCESSOR = ".";
export declare const UNIT_PATH_DELIMITER = "~";
export declare const LAMBDA_PIPE = "|";
export declare const DEFAULT_SOURCE_PARAMETER_NAME = "src";
export declare const DEFAULT_DATABASE_SCHEMA_NAME = "default";
export declare const SECTION_INDEX_ELEMENT_PATH = "__internal__::SectionIndex";
export declare const VARIABLE_REFERENCE_TOKEN = "$";
export declare const TYPE_CAST_TOKEN = "@";
export declare const ARROW_FUNCTION_TOKEN = "->";
export declare const LATEST_DATE = "%latest";
export declare const PARSER_SECTION_MARKER = "###";
export declare const FUNCTION_SIGNATURE_MULTIPLICITY_INFINITE_TOKEN = "MANY";
export declare const DIRECTORY_PATH_DELIMITER = "/";
export declare const SOURCE_INFORMATION_PROPERTY_KEY_SUFFIX = "sourceInformation";
export declare const LET_TOKEN = "let";
export declare const RESERVERD_PACKAGE_NAMES: string[];
export declare enum ROOT_PACKAGE_NAME {
    CORE = "CORE",
    MAIN = "ROOT",
    MODEL_GENERATION = "MODEL_GENERATION_ROOT",
    SYSTEM = "SYSTEM_ROOT",
    PROJECT_DEPENDENCY_ROOT = "PROJECT_DEPENDENCY_ROOT"
}
export declare enum PRIMITIVE_TYPE {
    STRING = "String",
    BOOLEAN = "Boolean",
    BINARY = "Binary",
    NUMBER = "Number",// `Number` is the supper type of all other numeric types
    INTEGER = "Integer",
    FLOAT = "Float",
    DECIMAL = "Decimal",
    DATE = "Date",// `Date` is the supper type of all other temporal types
    STRICTDATE = "StrictDate",// just date, without time
    DATETIME = "DateTime",
    STRICTTIME = "StrictTime",// NOTE: not a sub-type of Date, this is used to measure length of time, not pointing at a particular moment in time like Date
    LATESTDATE = "LatestDate",
    BYTE = "Byte"
}
export declare enum PRECISE_PRIMITIVE_TYPE {
    VARCHAR = "meta::pure::precisePrimitives::Varchar",
    INT = "meta::pure::precisePrimitives::Int",
    TINY_INT = "meta::pure::precisePrimitives::TinyInt",
    U_TINY_INT = "meta::pure::precisePrimitives::UTinyInt",
    SMALL_INT = "meta::pure::precisePrimitives::SmallInt",
    U_SMALL_INT = "meta::pure::precisePrimitives::USmallInt",
    U_INT = "meta::pure::precisePrimitives::UInt",
    BIG_INT = "meta::pure::precisePrimitives::BigInt",
    U_BIG_INT = "meta::pure::precisePrimitives::UBigInt",
    FLOAT = "meta::pure::precisePrimitives::Float4",
    DOUBLE = "meta::pure::precisePrimitives::Double",
    DECIMAL = "meta::pure::precisePrimitives::Decimal",
    STRICTDATE = "meta::pure::precisePrimitives::Date",
    DATETIME = "meta::pure::precisePrimitives::Timestamp",
    STRICTTIME = "meta::pure::precisePrimitives::Time",
    NUMERIC = "meta::pure::precisePrimitives::Numeric",
    TIMESTAMP = "meta::relational::metamodel::datatype::Timestamp"
}
export declare enum ATOMIC_TEST_TYPE {
    Service_Test = "serviceTest",
    Mapping_Test = "mappingTest",
    Function_Test = "functionTest",
    DataProduct_AccessPoint_Test = "accessPointTest"
}
export declare const AUTO_IMPORTS: string[];
export declare enum CORE_PURE_PATH {
    ANY = "meta::pure::metamodel::type::Any",
    NIL = "meta::pure::metamodel::type::Nil",
    RELATION = "meta::pure::metamodel::relation::Relation",
    TABULAR_DATASET = "meta::pure::tds::TabularDataSet",
    VARIANT = "meta::pure::metamodel::variant::Variant",
    PROFILE_DOC = "meta::pure::profiles::doc",
    PROFILE_TEMPORAL = "meta::pure::profiles::temporal",
    PROFILE = "meta::pure::metamodel::extension::Profile",
    ENUMERATION = "meta::pure::metamodel::type::Enumeration",
    MEASURE = "meta::pure::metamodel::type::Measure",// since we don't expose unit outside of measure, we probably don't need to reveal it
    CLASS = "meta::pure::metamodel::type::Class",
    ASSOCIATION = "meta::pure::metamodel::relationship::Association",
    FUNCTION = "meta::pure::metamodel::function::ConcreteFunctionDefinition",
    FLAT_DATA = "meta::flatData::metamodel::FlatData",
    DATABASE = "meta::relational::metamodel::Database",
    MAPPING = "meta::pure::mapping::Mapping",
    SERVICE = "meta::legend::service::metamodel::Service",
    CONNECTION = "meta::pure::runtime::PackageableConnection",
    RUNTIME = "meta::pure::runtime::PackageableRuntime",
    EXECUTION_ENVIRONMENT = "meta::legend::service::metamodel::ExecutionEnvironmentInstance",
    FILE_GENERATION = "meta::pure::generation::metamodel::GenerationConfiguration",
    GENERATION_SPECIFICATION = "meta::pure::generation::metamodel::GenerationSpecification",
    SECTION_INDEX = "meta::pure::metamodel::section::SectionIndex",
    DATA_ELEMENT = "meta::pure::data::DataElement",
    SNOWFLAKE_APP = "meta::external::function::activator::snowflakeApp::SnowflakeApp",
    SNOWFLAKE_M2M_UDF = "meta::external::function::activator::snowflakeM2MUdf::SnowflakeM2MUdf",
    HOSTED_SERVICE = "meta::external::function::activator::hostedService::HostedService",
    MEM_SQL_FUNCTION = "meta::external::function::activator::memSqlFunction::MemSqlFunction",
    TABULAR_RESULT = "meta::pure::mapping::Result",
    DATA_PRODUCT = "meta::external::catalog::dataProduct::specification::metamodel::DataProduct",
    INGEST_DEFINITION = "meta::external::ingest::specification::metamodel::IngestDefinition"
}
export declare const PURE_DOC_TAG = "doc";
export declare const PURE_DEPRECATED_STEREOTYPE = "deprecated";
export declare enum MILESTONING_STEREOTYPE {
    BUSINESS_TEMPORAL = "businesstemporal",
    PROCESSING_TEMPORAL = "processingtemporal",
    BITEMPORAL = "bitemporal"
}
export declare enum MILESTONING_VERSION_PROPERTY_SUFFIX {
    ALL_VERSIONS = "AllVersions",
    ALL_VERSIONS_IN_RANGE = "AllVersionsInRange"
}
export declare const MILESTONING_START_DATE_PARAMETER_NAME = "startDate";
export declare const MILESTONING_END_DATE_PARAMETER_NAME = "endDate";
export declare const PROCESSING_DATE_MILESTONING_PROPERTY_NAME = "processingDate";
export declare const BUSINESS_DATE_MILESTONING_PROPERTY_NAME = "businessDate";
export declare enum PackageableElementPointerType {
    CLASS = "CLASS",
    STORE = "STORE",
    MAPPING = "MAPPING",
    RUNTIME = "RUNTIME",
    FUNCTION = "FUNCTION",
    FILE_GENERATION = "FILE_GENERATION",
    SERVICE = "SERVICE",
    DATA = "DATA",
    ENUMERATION = "ENUMERATION",
    ASSOCIATION = "ASSOCIATION",
    BINDING = "BINDING"
}
export declare enum SUPPORTED_FUNCTIONS {
    LET = "meta::pure::functions::lang::letFunction",
    NEW = "meta::pure::functions::meta::new",
    FROM = "meta::pure::mapping::from",
    WITH = "meta::pure::mapping::with"
}
export declare const DATE_TIME_FORMAT_WITH_MILLISECONDS = "yyyy-MM-dd'T'HH:mm:ss.SSSxxxx";
export declare const DATE_TIME_FORMAT = "yyyy-MM-dd'T'HH:mm:ssxxxx";
export declare const DATE_FORMAT = "yyyy-MM-dd";
export declare const DEFAULT_GENERATION_PACKAGE = "generated";
export declare enum MILESTONE_INGEST_COLUMNS {
    INGEST_LAKE_IN_ID = "LAKE_IN_ID",
    INGEST_LAKE_OUT_ID = "LAKE_OUT_ID",
    INGEST_LAKE_DIGEST = "LAKE_DIGEST",
    INGEST_LAKE_FROM = "LAKE_FROM",
    INGEST_LAKE_THRU = "LAKE_THRU"
}
export declare const QUERY_PROFILE_TAG_CLASS = "class";
export declare const QUERY_PROFILE_PATH = "meta::pure::profiles::query";
//# sourceMappingURL=MetaModelConst.d.ts.map