export declare const NAMESPACE = "org.accordproject.templatemark@0.5.0"; export declare const MODEL = "\n/*\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nconcerto version \"^3.0.0\"\nnamespace org.accordproject.templatemark@0.5.0\n\nimport org.accordproject.commonmark@0.5.0.Child from https://models.accordproject.org/markdown/commonmark@0.5.0.cto\nimport concerto.metamodel@1.0.0.Decorator from https://models.accordproject.org/concerto/metamodel@1.0.0.cto\n\n/**\n * A model for Accord Project template extensions to commonmark\n */\n\n/**\n * Identifiers for code strings in Formula Definition nodes\n */\nenum CodeType {\n o TYPESCRIPT\n o ES_2020\n}\n\n/**\n * User provided code, along with a code language identifier\n */\nconcept Code {\n o CodeType type\n o String contents\n}\n\nabstract concept ElementDefinition extends Child {\n o String name\n o String elementType optional\n o Decorator[] decorators optional\n}\n\nconcept VariableDefinition extends ElementDefinition {\n o String identifiedBy optional\n}\n\nconcept FormattedVariableDefinition extends VariableDefinition {\n o String format\n}\n\nconcept EnumVariableDefinition extends VariableDefinition {\n o String[] enumValues\n}\n\nconcept FormulaDefinition extends ElementDefinition {\n o String[] dependencies optional // name of variables on which the formula depends\n o Code code\n}\n\nabstract concept BlockDefinition extends ElementDefinition {\n}\n\nconcept ClauseDefinition extends BlockDefinition {\n o Code condition optional\n}\n\nconcept ContractDefinition extends BlockDefinition {\n}\n\nconcept WithDefinition extends BlockDefinition {\n}\n\nconcept ConditionalDefinition extends BlockDefinition {\n o Child[] whenTrue\n o Child[] whenFalse\n o Code condition optional\n o String[] dependencies optional\n}\n\nconcept OptionalDefinition extends BlockDefinition {\n o Child[] whenSome\n o Child[] whenNone\n}\nconcept JoinDefinition extends BlockDefinition {\n // if separator is set, we just use that\n o String separator optional\n // if separator is not set, we use the Intl.ListFormat, paramaterized by locale, type and style\n o String locale optional\n o String type optional\n o String style optional\n}\n\nconcept ListBlockDefinition extends BlockDefinition {\n o String type\n o String tight\n o String start optional\n o String delimiter optional\n}\n\nconcept ForeachBlockDefinition extends BlockDefinition {\n}\n\nconcept WithBlockDefinition extends BlockDefinition {\n}\n\nconcept ConditionalBlockDefinition extends BlockDefinition {\n o Child[] whenTrue\n o Child[] whenFalse\n o Code condition optional\n}\n\nconcept OptionalBlockDefinition extends BlockDefinition {\n o Child[] whenSome\n o Child[] whenNone\n}\n\n"; declare const _default: { NAMESPACE: string; MODEL: string; }; export default _default;