/****************************************************************************** * This file was generated by langium-cli 4.1.0. * DO NOT EDIT MANUALLY! ******************************************************************************/ import * as langium from 'langium'; export declare const KumoriTerminals: { WS: RegExp; NL: RegExp; ML_COMMENT: RegExp; SL_COMMENT: RegExp; ID: RegExp; UINT: RegExp; SINT: RegExp; FLOAT: RegExp; OCTAL: RegExp; STRING: RegExp; SIZED_INT: RegExp; }; export type KumoriTerminalNames = keyof typeof KumoriTerminals; export type KumoriKeywordNames = "!" | "!=" | "%" | "&&" | "(" | ")" | "*" | "+" | "++" | "," | "-" | "--" | "." | "/" | ":" | "<" | "<=" | "=" | "==" | ">" | ">=" | "?" | "[" | "]" | "alias" | "builtin" | "component" | "deployment" | "false" | "func" | "import" | "library" | "open" | "self" | "service" | "struct" | "true" | "type" | "var" | "{" | "|" | "||" | "}"; export type KumoriTokenNames = KumoriTerminalNames | KumoriKeywordNames; export interface AdditionExpression extends langium.AstNode { readonly $container: AdditionExpression | ArtifactVariable | EqualityComparisonExpression | FunctionCallExpression | IncrementExpression | ListExpression | LogicalANDExpression | LogicalORExpression | MultiplicationExpression | OrderedComparisonExpression | StructEntry | TernaryExpression | UnaryExpression; readonly $type: 'AdditionExpression'; left: Expression; operator: '+' | '-'; right: Expression; } export declare const AdditionExpression: { readonly $type: "AdditionExpression"; readonly left: "left"; readonly operator: "operator"; readonly right: "right"; }; export declare function isAdditionExpression(item: unknown): item is AdditionExpression; export interface ArtifactExpression extends langium.AstNode { readonly $container: BuiltinArtifact | ComponentArtifact | DeploymentArtifact | ServiceArtifact; readonly $type: 'ArtifactExpression'; stmt: Array; } export declare const ArtifactExpression: { readonly $type: "ArtifactExpression"; readonly stmt: "stmt"; }; export declare function isArtifactExpression(item: unknown): item is ArtifactExpression; export interface ArtifactName extends langium.AstNode { readonly $container: BuiltinArtifact | ComponentArtifact | ServiceArtifact; readonly $type: 'ArtifactName'; value: langium.Reference; } export declare const ArtifactName: { readonly $type: "ArtifactName"; readonly value: "value"; }; export declare function isArtifactName(item: unknown): item is ArtifactName; export type ArtifactStatement = ArtifactVariables | StructEntry; export declare const ArtifactStatement: { readonly $type: "ArtifactStatement"; }; export declare function isArtifactStatement(item: unknown): item is ArtifactStatement; export interface ArtifactVariable extends langium.AstNode { readonly $container: ArtifactVariables; readonly $type: 'ArtifactVariable'; key: QualifiedNameSegment; value: Expression; } export declare const ArtifactVariable: { readonly $type: "ArtifactVariable"; readonly key: "key"; readonly value: "value"; }; export declare function isArtifactVariable(item: unknown): item is ArtifactVariable; export interface ArtifactVariables extends langium.AstNode { readonly $container: ArtifactExpression; readonly $type: 'ArtifactVariables'; variables: Array; } export declare const ArtifactVariables: { readonly $type: "ArtifactVariables"; readonly variables: "variables"; }; export declare function isArtifactVariables(item: unknown): item is ArtifactVariables; export interface BooleanLiteralExpression extends langium.AstNode { readonly $container: AdditionExpression | ArtifactVariable | EqualityComparisonExpression | FunctionCallExpression | FunctionParam | IncrementExpression | ListExpression | ListTypeDefinition | LogicalANDExpression | LogicalORExpression | MultiplicationExpression | OrderedComparisonExpression | StructEntry | StructTypeDefinition | StructTypeDefinitionEntry | TernaryExpression | TypeAliasExpression | TypeDefinitionExpression | UnaryExpression | UnionTypeDefinition; readonly $type: 'BooleanLiteralExpression'; value: 'false' | 'true'; } export declare const BooleanLiteralExpression: { readonly $type: "BooleanLiteralExpression"; readonly value: "value"; }; export declare function isBooleanLiteralExpression(item: unknown): item is BooleanLiteralExpression; export interface BuiltinArtifact extends langium.AstNode { readonly $container: Package; readonly $type: 'BuiltinArtifact'; body: ArtifactExpression; name: ArtifactName; } export declare const BuiltinArtifact: { readonly $type: "BuiltinArtifact"; readonly body: "body"; readonly name: "name"; }; export declare function isBuiltinArtifact(item: unknown): item is BuiltinArtifact; export interface ComponentArtifact extends langium.AstNode { readonly $container: Package; readonly $type: 'ComponentArtifact'; body: ArtifactExpression; name: ArtifactName; } export declare const ComponentArtifact: { readonly $type: "ComponentArtifact"; readonly body: "body"; readonly name: "name"; }; export declare function isComponentArtifact(item: unknown): item is ComponentArtifact; export interface DeploymentArtifact extends langium.AstNode { readonly $container: Package; readonly $type: 'DeploymentArtifact'; body: ArtifactExpression; } export declare const DeploymentArtifact: { readonly $type: "DeploymentArtifact"; readonly body: "body"; }; export declare function isDeploymentArtifact(item: unknown): item is DeploymentArtifact; export interface EqualityComparisonExpression extends langium.AstNode { readonly $container: AdditionExpression | ArtifactVariable | EqualityComparisonExpression | FunctionCallExpression | IncrementExpression | ListExpression | LogicalANDExpression | LogicalORExpression | MultiplicationExpression | OrderedComparisonExpression | StructEntry | TernaryExpression | UnaryExpression; readonly $type: 'EqualityComparisonExpression'; left: Expression; operator: '!=' | '=='; right: Expression; } export declare const EqualityComparisonExpression: { readonly $type: "EqualityComparisonExpression"; readonly left: "left"; readonly operator: "operator"; readonly right: "right"; }; export declare function isEqualityComparisonExpression(item: unknown): item is EqualityComparisonExpression; export type Expression = AdditionExpression | EqualityComparisonExpression | FunctionCallExpression | IncrementExpression | LogicalANDExpression | LogicalORExpression | MultiplicationExpression | OrderedComparisonExpression | TerminalExpression | TernaryExpression | UnaryExpression; export declare const Expression: { readonly $type: "Expression"; }; export declare function isExpression(item: unknown): item is Expression; export interface FunctionCallExpression extends langium.AstNode { readonly $container: AdditionExpression | ArtifactVariable | EqualityComparisonExpression | FunctionCallExpression | IncrementExpression | ListExpression | LogicalANDExpression | LogicalORExpression | MultiplicationExpression | OrderedComparisonExpression | StructEntry | TernaryExpression | UnaryExpression; readonly $type: 'FunctionCallExpression'; arguments: Array; caller: Expression; } export declare const FunctionCallExpression: { readonly $type: "FunctionCallExpression"; readonly arguments: "arguments"; readonly caller: "caller"; }; export declare function isFunctionCallExpression(item: unknown): item is FunctionCallExpression; export interface FunctionDefinitionExpression extends langium.AstNode { readonly $container: LibraryBody; readonly $type: 'FunctionDefinitionExpression'; name: QualifiedNameSegment; params: Array; returns: TypeRef; } export declare const FunctionDefinitionExpression: { readonly $type: "FunctionDefinitionExpression"; readonly name: "name"; readonly params: "params"; readonly returns: "returns"; }; export declare function isFunctionDefinitionExpression(item: unknown): item is FunctionDefinitionExpression; export interface FunctionParam extends langium.AstNode { readonly $container: FunctionDefinitionExpression; readonly $type: 'FunctionParam'; name: QualifiedNameSegment; optional: boolean; type: TypeDefinition; } export declare const FunctionParam: { readonly $type: "FunctionParam"; readonly name: "name"; readonly optional: "optional"; readonly type: "type"; }; export declare function isFunctionParam(item: unknown): item is FunctionParam; export interface IdentifierExpression extends langium.AstNode { readonly $container: AdditionExpression | ArtifactVariable | EqualityComparisonExpression | FunctionCallExpression | FunctionDefinitionExpression | FunctionParam | IdentifierExpression | IncrementExpression | ListExpression | ListTypeDefinition | LogicalANDExpression | LogicalORExpression | MultiplicationExpression | OrderedComparisonExpression | StructEntry | StructTypeDefinition | StructTypeDefinitionEntry | TernaryExpression | TypeAliasExpression | TypeDefinitionExpression | UnaryExpression | UnionTypeDefinition; readonly $type: 'IdentifierExpression'; next?: IdentifierExpression; value: langium.Reference; } export declare const IdentifierExpression: { readonly $type: "IdentifierExpression"; readonly next: "next"; readonly value: "value"; }; export declare function isIdentifierExpression(item: unknown): item is IdentifierExpression; export interface Import extends langium.AstNode { readonly $container: Package; readonly $type: 'Import'; alias?: '.' | QualifiedNameSegment; target: langium.Reference; } export declare const Import: { readonly $type: "Import"; readonly alias: "alias"; readonly target: "target"; }; export declare function isImport(item: unknown): item is Import; export interface IncrementExpression extends langium.AstNode { readonly $container: AdditionExpression | ArtifactVariable | EqualityComparisonExpression | FunctionCallExpression | IncrementExpression | ListExpression | LogicalANDExpression | LogicalORExpression | MultiplicationExpression | OrderedComparisonExpression | StructEntry | TernaryExpression | UnaryExpression; readonly $type: 'IncrementExpression'; operator: '++' | '--'; target: Expression; } export declare const IncrementExpression: { readonly $type: "IncrementExpression"; readonly operator: "operator"; readonly target: "target"; }; export declare function isIncrementExpression(item: unknown): item is IncrementExpression; export type INT = number; export declare function isINT(item: unknown): item is INT; export interface Library extends langium.AstNode { readonly $container: Package; readonly $type: 'Library'; body: LibraryBody; } export declare const Library: { readonly $type: "Library"; readonly body: "body"; }; export declare function isLibrary(item: unknown): item is Library; export interface LibraryBody extends langium.AstNode { readonly $container: Library; readonly $type: 'LibraryBody'; statements: Array; } export declare const LibraryBody: { readonly $type: "LibraryBody"; readonly statements: "statements"; }; export declare function isLibraryBody(item: unknown): item is LibraryBody; export type LibraryStatement = FunctionDefinitionExpression | TypeAliasExpression | TypeDefinitionExpression; export declare const LibraryStatement: { readonly $type: "LibraryStatement"; }; export declare function isLibraryStatement(item: unknown): item is LibraryStatement; export interface ListExpression extends langium.AstNode { readonly $container: AdditionExpression | ArtifactVariable | EqualityComparisonExpression | FunctionCallExpression | IncrementExpression | ListExpression | LogicalANDExpression | LogicalORExpression | MultiplicationExpression | OrderedComparisonExpression | StructEntry | TernaryExpression | UnaryExpression; readonly $type: 'ListExpression'; values: Array; } export declare const ListExpression: { readonly $type: "ListExpression"; readonly values: "values"; }; export declare function isListExpression(item: unknown): item is ListExpression; export interface ListTypeDefinition extends langium.AstNode { readonly $container: FunctionParam | ListTypeDefinition | StructTypeDefinition | StructTypeDefinitionEntry | TypeAliasExpression | TypeDefinitionExpression | UnionTypeDefinition; readonly $type: 'ListTypeDefinition'; value: TypeDefinition; } export declare const ListTypeDefinition: { readonly $type: "ListTypeDefinition"; readonly value: "value"; }; export declare function isListTypeDefinition(item: unknown): item is ListTypeDefinition; export interface LogicalANDExpression extends langium.AstNode { readonly $container: AdditionExpression | ArtifactVariable | EqualityComparisonExpression | FunctionCallExpression | IncrementExpression | ListExpression | LogicalANDExpression | LogicalORExpression | MultiplicationExpression | OrderedComparisonExpression | StructEntry | TernaryExpression | UnaryExpression; readonly $type: 'LogicalANDExpression'; left: Expression; operator: '&&'; right: Expression; } export declare const LogicalANDExpression: { readonly $type: "LogicalANDExpression"; readonly left: "left"; readonly operator: "operator"; readonly right: "right"; }; export declare function isLogicalANDExpression(item: unknown): item is LogicalANDExpression; export interface LogicalORExpression extends langium.AstNode { readonly $container: AdditionExpression | ArtifactVariable | EqualityComparisonExpression | FunctionCallExpression | IncrementExpression | ListExpression | LogicalANDExpression | LogicalORExpression | MultiplicationExpression | OrderedComparisonExpression | StructEntry | TernaryExpression | UnaryExpression; readonly $type: 'LogicalORExpression'; left: Expression; operator: '||'; right: Expression; } export declare const LogicalORExpression: { readonly $type: "LogicalORExpression"; readonly left: "left"; readonly operator: "operator"; readonly right: "right"; }; export declare function isLogicalORExpression(item: unknown): item is LogicalORExpression; export type Model = Package; export declare const Model: { readonly $type: "Model"; }; export declare function isModel(item: unknown): item is Model; export interface MultiplicationExpression extends langium.AstNode { readonly $container: AdditionExpression | ArtifactVariable | EqualityComparisonExpression | FunctionCallExpression | IncrementExpression | ListExpression | LogicalANDExpression | LogicalORExpression | MultiplicationExpression | OrderedComparisonExpression | StructEntry | TernaryExpression | UnaryExpression; readonly $type: 'MultiplicationExpression'; left: Expression; operator: '%' | '*' | '/'; right: Expression; } export declare const MultiplicationExpression: { readonly $type: "MultiplicationExpression"; readonly left: "left"; readonly operator: "operator"; readonly right: "right"; }; export declare function isMultiplicationExpression(item: unknown): item is MultiplicationExpression; export type NUMBER = number; export declare function isNUMBER(item: unknown): item is NUMBER; export interface NumberLiteralExpression extends langium.AstNode { readonly $container: AdditionExpression | ArtifactVariable | EqualityComparisonExpression | FunctionCallExpression | FunctionParam | IncrementExpression | ListExpression | ListTypeDefinition | LogicalANDExpression | LogicalORExpression | MultiplicationExpression | OrderedComparisonExpression | StructEntry | StructTypeDefinition | StructTypeDefinitionEntry | TernaryExpression | TypeAliasExpression | TypeDefinitionExpression | UnaryExpression | UnionTypeDefinition; readonly $type: 'NumberLiteralExpression'; value: NUMBER; } export declare const NumberLiteralExpression: { readonly $type: "NumberLiteralExpression"; readonly value: "value"; }; export declare function isNumberLiteralExpression(item: unknown): item is NumberLiteralExpression; export interface OrderedComparisonExpression extends langium.AstNode { readonly $container: AdditionExpression | ArtifactVariable | EqualityComparisonExpression | FunctionCallExpression | IncrementExpression | ListExpression | LogicalANDExpression | LogicalORExpression | MultiplicationExpression | OrderedComparisonExpression | StructEntry | TernaryExpression | UnaryExpression; readonly $type: 'OrderedComparisonExpression'; left: Expression; operator: '<' | '<=' | '>' | '>='; right: Expression; } export declare const OrderedComparisonExpression: { readonly $type: "OrderedComparisonExpression"; readonly left: "left"; readonly operator: "operator"; readonly right: "right"; }; export declare function isOrderedComparisonExpression(item: unknown): item is OrderedComparisonExpression; export interface Package extends langium.AstNode { readonly $type: 'Package'; artifacts: Array; imports: Array; library?: Library; } export declare const Package: { readonly $type: "Package"; readonly artifacts: "artifacts"; readonly imports: "imports"; readonly library: "library"; }; export declare function isPackage(item: unknown): item is Package; export type QualifiedName = string; export declare function isQualifiedName(item: unknown): item is QualifiedName; export type QualifiedNameSegment = 'alias' | 'builtin' | 'component' | 'deployment' | 'false' | 'func' | 'import' | 'library' | 'open' | 'self' | 'service' | 'struct' | 'true' | 'type' | 'var' | string; export declare function isQualifiedNameSegment(item: unknown): item is QualifiedNameSegment; export interface ServiceArtifact extends langium.AstNode { readonly $container: Package; readonly $type: 'ServiceArtifact'; body: ArtifactExpression; name: ArtifactName; } export declare const ServiceArtifact: { readonly $type: "ServiceArtifact"; readonly body: "body"; readonly name: "name"; }; export declare function isServiceArtifact(item: unknown): item is ServiceArtifact; export interface SizeLiteralExpression extends langium.AstNode { readonly $container: AdditionExpression | ArtifactVariable | EqualityComparisonExpression | FunctionCallExpression | FunctionParam | IncrementExpression | ListExpression | ListTypeDefinition | LogicalANDExpression | LogicalORExpression | MultiplicationExpression | OrderedComparisonExpression | StructEntry | StructTypeDefinition | StructTypeDefinitionEntry | TernaryExpression | TypeAliasExpression | TypeDefinitionExpression | UnaryExpression | UnionTypeDefinition; readonly $type: 'SizeLiteralExpression'; value: string; } export declare const SizeLiteralExpression: { readonly $type: "SizeLiteralExpression"; readonly value: "value"; }; export declare function isSizeLiteralExpression(item: unknown): item is SizeLiteralExpression; export interface StringLiteralExpression extends langium.AstNode { readonly $container: AdditionExpression | ArtifactVariable | EqualityComparisonExpression | FunctionCallExpression | FunctionParam | IncrementExpression | ListExpression | ListTypeDefinition | LogicalANDExpression | LogicalORExpression | MultiplicationExpression | OrderedComparisonExpression | StructEntry | StructTypeDefinition | StructTypeDefinitionEntry | TernaryExpression | TypeAliasExpression | TypeDefinitionExpression | UnaryExpression | UnionTypeDefinition; readonly $type: 'StringLiteralExpression'; value: string; } export declare const StringLiteralExpression: { readonly $type: "StringLiteralExpression"; readonly value: "value"; }; export declare function isStringLiteralExpression(item: unknown): item is StringLiteralExpression; export interface StructEntry extends langium.AstNode { readonly $container: ArtifactExpression | StructExpression; readonly $type: 'StructEntry'; key: QualifiedNameSegment | string; optional: boolean; type?: IdentifierExpression; value: Expression; } export declare const StructEntry: { readonly $type: "StructEntry"; readonly key: "key"; readonly optional: "optional"; readonly type: "type"; readonly value: "value"; }; export declare function isStructEntry(item: unknown): item is StructEntry; export interface StructExpression extends langium.AstNode { readonly $container: AdditionExpression | ArtifactVariable | EqualityComparisonExpression | FunctionCallExpression | IncrementExpression | ListExpression | LogicalANDExpression | LogicalORExpression | MultiplicationExpression | OrderedComparisonExpression | StructEntry | TernaryExpression | UnaryExpression; readonly $type: 'StructExpression'; entries: Array; } export declare const StructExpression: { readonly $type: "StructExpression"; readonly entries: "entries"; }; export declare function isStructExpression(item: unknown): item is StructExpression; export interface StructTypeDefinition extends langium.AstNode { readonly $container: FunctionParam | ListTypeDefinition | StructTypeDefinition | StructTypeDefinitionEntry | TypeAliasExpression | TypeDefinitionExpression | UnionTypeDefinition; readonly $type: 'StructTypeDefinition'; entries: Array; open: boolean; restriction?: TypeDefinition; } export declare const StructTypeDefinition: { readonly $type: "StructTypeDefinition"; readonly entries: "entries"; readonly open: "open"; readonly restriction: "restriction"; }; export declare function isStructTypeDefinition(item: unknown): item is StructTypeDefinition; export interface StructTypeDefinitionEntry extends langium.AstNode { readonly $container: StructTypeDefinition; readonly $type: 'StructTypeDefinitionEntry'; key: QualifiedNameSegment | string; optional: boolean; type: TypeDefinition; } export declare const StructTypeDefinitionEntry: { readonly $type: "StructTypeDefinitionEntry"; readonly key: "key"; readonly optional: "optional"; readonly type: "type"; }; export declare function isStructTypeDefinitionEntry(item: unknown): item is StructTypeDefinitionEntry; export type TerminalExpression = BooleanLiteralExpression | IdentifierExpression | ListExpression | NumberLiteralExpression | SizeLiteralExpression | StringLiteralExpression | StructExpression; export declare const TerminalExpression: { readonly $type: "TerminalExpression"; }; export declare function isTerminalExpression(item: unknown): item is TerminalExpression; export interface TernaryExpression extends langium.AstNode { readonly $container: AdditionExpression | ArtifactVariable | EqualityComparisonExpression | FunctionCallExpression | IncrementExpression | ListExpression | LogicalANDExpression | LogicalORExpression | MultiplicationExpression | OrderedComparisonExpression | StructEntry | TernaryExpression | UnaryExpression; readonly $type: 'TernaryExpression'; condition: Expression; falseExpr: Expression; trueExpr: Expression; } export declare const TernaryExpression: { readonly $type: "TernaryExpression"; readonly condition: "condition"; readonly falseExpr: "falseExpr"; readonly trueExpr: "trueExpr"; }; export declare function isTernaryExpression(item: unknown): item is TernaryExpression; export interface TypeAliasExpression extends langium.AstNode { readonly $container: LibraryBody; readonly $type: 'TypeAliasExpression'; name: QualifiedNameSegment; value: TypeDefinition; } export declare const TypeAliasExpression: { readonly $type: "TypeAliasExpression"; readonly name: "name"; readonly value: "value"; }; export declare function isTypeAliasExpression(item: unknown): item is TypeAliasExpression; export type TypeDefinition = ListTypeDefinition | StructTypeDefinition | UnaryTypeDefinition | UnionTypeDefinition; export declare const TypeDefinition: { readonly $type: "TypeDefinition"; }; export declare function isTypeDefinition(item: unknown): item is TypeDefinition; export interface TypeDefinitionExpression extends langium.AstNode { readonly $container: LibraryBody; readonly $type: 'TypeDefinitionExpression'; name: QualifiedNameSegment; value: TypeDefinition; } export declare const TypeDefinitionExpression: { readonly $type: "TypeDefinitionExpression"; readonly name: "name"; readonly value: "value"; }; export declare function isTypeDefinitionExpression(item: unknown): item is TypeDefinitionExpression; export type TypeRef = IdentifierExpression; export declare const TypeRef: { readonly $type: "TypeRef"; }; export declare function isTypeRef(item: unknown): item is TypeRef; export interface UnaryExpression extends langium.AstNode { readonly $container: AdditionExpression | ArtifactVariable | EqualityComparisonExpression | FunctionCallExpression | IncrementExpression | ListExpression | LogicalANDExpression | LogicalORExpression | MultiplicationExpression | OrderedComparisonExpression | StructEntry | TernaryExpression | UnaryExpression; readonly $type: 'UnaryExpression'; left: Expression; operator: '!' | '+' | '-'; } export declare const UnaryExpression: { readonly $type: "UnaryExpression"; readonly left: "left"; readonly operator: "operator"; }; export declare function isUnaryExpression(item: unknown): item is UnaryExpression; export type UnaryTypeDefinition = BooleanLiteralExpression | NumberLiteralExpression | SizeLiteralExpression | StringLiteralExpression | TypeRef; export declare const UnaryTypeDefinition: { readonly $type: "UnaryTypeDefinition"; }; export declare function isUnaryTypeDefinition(item: unknown): item is UnaryTypeDefinition; export interface UnionTypeDefinition extends langium.AstNode { readonly $container: FunctionParam | ListTypeDefinition | StructTypeDefinition | StructTypeDefinitionEntry | TypeAliasExpression | TypeDefinitionExpression | UnionTypeDefinition; readonly $type: 'UnionTypeDefinition'; left: TypeDefinition; right: TypeDefinition; } export declare const UnionTypeDefinition: { readonly $type: "UnionTypeDefinition"; readonly left: "left"; readonly right: "right"; }; export declare function isUnionTypeDefinition(item: unknown): item is UnionTypeDefinition; export type KumoriAstType = { AdditionExpression: AdditionExpression; ArtifactExpression: ArtifactExpression; ArtifactName: ArtifactName; ArtifactStatement: ArtifactStatement; ArtifactVariable: ArtifactVariable; ArtifactVariables: ArtifactVariables; BooleanLiteralExpression: BooleanLiteralExpression; BuiltinArtifact: BuiltinArtifact; ComponentArtifact: ComponentArtifact; DeploymentArtifact: DeploymentArtifact; EqualityComparisonExpression: EqualityComparisonExpression; Expression: Expression; FunctionCallExpression: FunctionCallExpression; FunctionDefinitionExpression: FunctionDefinitionExpression; FunctionParam: FunctionParam; IdentifierExpression: IdentifierExpression; Import: Import; IncrementExpression: IncrementExpression; Library: Library; LibraryBody: LibraryBody; LibraryStatement: LibraryStatement; ListExpression: ListExpression; ListTypeDefinition: ListTypeDefinition; LogicalANDExpression: LogicalANDExpression; LogicalORExpression: LogicalORExpression; Model: Model; MultiplicationExpression: MultiplicationExpression; NumberLiteralExpression: NumberLiteralExpression; OrderedComparisonExpression: OrderedComparisonExpression; Package: Package; ServiceArtifact: ServiceArtifact; SizeLiteralExpression: SizeLiteralExpression; StringLiteralExpression: StringLiteralExpression; StructEntry: StructEntry; StructExpression: StructExpression; StructTypeDefinition: StructTypeDefinition; StructTypeDefinitionEntry: StructTypeDefinitionEntry; TerminalExpression: TerminalExpression; TernaryExpression: TernaryExpression; TypeAliasExpression: TypeAliasExpression; TypeDefinition: TypeDefinition; TypeDefinitionExpression: TypeDefinitionExpression; TypeRef: TypeRef; UnaryExpression: UnaryExpression; UnaryTypeDefinition: UnaryTypeDefinition; UnionTypeDefinition: UnionTypeDefinition; }; export declare class KumoriAstReflection extends langium.AbstractAstReflection { readonly types: { readonly AdditionExpression: { readonly name: "AdditionExpression"; readonly properties: { readonly left: { readonly name: "left"; }; readonly operator: { readonly name: "operator"; }; readonly right: { readonly name: "right"; }; }; readonly superTypes: ["Expression"]; }; readonly ArtifactExpression: { readonly name: "ArtifactExpression"; readonly properties: { readonly stmt: { readonly name: "stmt"; readonly defaultValue: []; }; }; readonly superTypes: []; }; readonly ArtifactName: { readonly name: "ArtifactName"; readonly properties: { readonly value: { readonly name: "value"; readonly referenceType: "ArtifactName"; }; }; readonly superTypes: []; }; readonly ArtifactStatement: { readonly name: "ArtifactStatement"; readonly properties: {}; readonly superTypes: []; }; readonly ArtifactVariable: { readonly name: "ArtifactVariable"; readonly properties: { readonly key: { readonly name: "key"; }; readonly value: { readonly name: "value"; }; }; readonly superTypes: []; }; readonly ArtifactVariables: { readonly name: "ArtifactVariables"; readonly properties: { readonly variables: { readonly name: "variables"; readonly defaultValue: []; }; }; readonly superTypes: ["ArtifactStatement"]; }; readonly BooleanLiteralExpression: { readonly name: "BooleanLiteralExpression"; readonly properties: { readonly value: { readonly name: "value"; }; }; readonly superTypes: ["TerminalExpression", "UnaryTypeDefinition"]; }; readonly BuiltinArtifact: { readonly name: "BuiltinArtifact"; readonly properties: { readonly body: { readonly name: "body"; }; readonly name: { readonly name: "name"; }; }; readonly superTypes: []; }; readonly ComponentArtifact: { readonly name: "ComponentArtifact"; readonly properties: { readonly body: { readonly name: "body"; }; readonly name: { readonly name: "name"; }; }; readonly superTypes: []; }; readonly DeploymentArtifact: { readonly name: "DeploymentArtifact"; readonly properties: { readonly body: { readonly name: "body"; }; }; readonly superTypes: []; }; readonly EqualityComparisonExpression: { readonly name: "EqualityComparisonExpression"; readonly properties: { readonly left: { readonly name: "left"; }; readonly operator: { readonly name: "operator"; }; readonly right: { readonly name: "right"; }; }; readonly superTypes: ["Expression"]; }; readonly Expression: { readonly name: "Expression"; readonly properties: {}; readonly superTypes: []; }; readonly FunctionCallExpression: { readonly name: "FunctionCallExpression"; readonly properties: { readonly arguments: { readonly name: "arguments"; readonly defaultValue: []; }; readonly caller: { readonly name: "caller"; }; }; readonly superTypes: ["Expression"]; }; readonly FunctionDefinitionExpression: { readonly name: "FunctionDefinitionExpression"; readonly properties: { readonly name: { readonly name: "name"; }; readonly params: { readonly name: "params"; readonly defaultValue: []; }; readonly returns: { readonly name: "returns"; }; }; readonly superTypes: ["LibraryStatement"]; }; readonly FunctionParam: { readonly name: "FunctionParam"; readonly properties: { readonly name: { readonly name: "name"; }; readonly optional: { readonly name: "optional"; readonly defaultValue: false; }; readonly type: { readonly name: "type"; }; }; readonly superTypes: []; }; readonly IdentifierExpression: { readonly name: "IdentifierExpression"; readonly properties: { readonly next: { readonly name: "next"; }; readonly value: { readonly name: "value"; readonly referenceType: "IdentifierExpression"; }; }; readonly superTypes: ["TerminalExpression", "TypeRef"]; }; readonly Import: { readonly name: "Import"; readonly properties: { readonly alias: { readonly name: "alias"; }; readonly target: { readonly name: "target"; readonly referenceType: "Package"; }; }; readonly superTypes: []; }; readonly IncrementExpression: { readonly name: "IncrementExpression"; readonly properties: { readonly operator: { readonly name: "operator"; }; readonly target: { readonly name: "target"; }; }; readonly superTypes: ["Expression"]; }; readonly Library: { readonly name: "Library"; readonly properties: { readonly body: { readonly name: "body"; }; }; readonly superTypes: []; }; readonly LibraryBody: { readonly name: "LibraryBody"; readonly properties: { readonly statements: { readonly name: "statements"; readonly defaultValue: []; }; }; readonly superTypes: []; }; readonly LibraryStatement: { readonly name: "LibraryStatement"; readonly properties: {}; readonly superTypes: []; }; readonly ListExpression: { readonly name: "ListExpression"; readonly properties: { readonly values: { readonly name: "values"; readonly defaultValue: []; }; }; readonly superTypes: ["TerminalExpression"]; }; readonly ListTypeDefinition: { readonly name: "ListTypeDefinition"; readonly properties: { readonly value: { readonly name: "value"; }; }; readonly superTypes: ["TypeDefinition"]; }; readonly LogicalANDExpression: { readonly name: "LogicalANDExpression"; readonly properties: { readonly left: { readonly name: "left"; }; readonly operator: { readonly name: "operator"; }; readonly right: { readonly name: "right"; }; }; readonly superTypes: ["Expression"]; }; readonly LogicalORExpression: { readonly name: "LogicalORExpression"; readonly properties: { readonly left: { readonly name: "left"; }; readonly operator: { readonly name: "operator"; }; readonly right: { readonly name: "right"; }; }; readonly superTypes: ["Expression"]; }; readonly Model: { readonly name: "Model"; readonly properties: {}; readonly superTypes: []; }; readonly MultiplicationExpression: { readonly name: "MultiplicationExpression"; readonly properties: { readonly left: { readonly name: "left"; }; readonly operator: { readonly name: "operator"; }; readonly right: { readonly name: "right"; }; }; readonly superTypes: ["Expression"]; }; readonly NumberLiteralExpression: { readonly name: "NumberLiteralExpression"; readonly properties: { readonly value: { readonly name: "value"; }; }; readonly superTypes: ["TerminalExpression", "UnaryTypeDefinition"]; }; readonly OrderedComparisonExpression: { readonly name: "OrderedComparisonExpression"; readonly properties: { readonly left: { readonly name: "left"; }; readonly operator: { readonly name: "operator"; }; readonly right: { readonly name: "right"; }; }; readonly superTypes: ["Expression"]; }; readonly Package: { readonly name: "Package"; readonly properties: { readonly artifacts: { readonly name: "artifacts"; readonly defaultValue: []; }; readonly imports: { readonly name: "imports"; readonly defaultValue: []; }; readonly library: { readonly name: "library"; }; }; readonly superTypes: ["Model"]; }; readonly ServiceArtifact: { readonly name: "ServiceArtifact"; readonly properties: { readonly body: { readonly name: "body"; }; readonly name: { readonly name: "name"; }; }; readonly superTypes: []; }; readonly SizeLiteralExpression: { readonly name: "SizeLiteralExpression"; readonly properties: { readonly value: { readonly name: "value"; }; }; readonly superTypes: ["TerminalExpression", "UnaryTypeDefinition"]; }; readonly StringLiteralExpression: { readonly name: "StringLiteralExpression"; readonly properties: { readonly value: { readonly name: "value"; }; }; readonly superTypes: ["TerminalExpression", "UnaryTypeDefinition"]; }; readonly StructEntry: { readonly name: "StructEntry"; readonly properties: { readonly key: { readonly name: "key"; }; readonly optional: { readonly name: "optional"; readonly defaultValue: false; }; readonly type: { readonly name: "type"; }; readonly value: { readonly name: "value"; }; }; readonly superTypes: ["ArtifactStatement"]; }; readonly StructExpression: { readonly name: "StructExpression"; readonly properties: { readonly entries: { readonly name: "entries"; readonly defaultValue: []; }; }; readonly superTypes: ["TerminalExpression"]; }; readonly StructTypeDefinition: { readonly name: "StructTypeDefinition"; readonly properties: { readonly entries: { readonly name: "entries"; readonly defaultValue: []; }; readonly open: { readonly name: "open"; readonly defaultValue: false; }; readonly restriction: { readonly name: "restriction"; }; }; readonly superTypes: ["TypeDefinition"]; }; readonly StructTypeDefinitionEntry: { readonly name: "StructTypeDefinitionEntry"; readonly properties: { readonly key: { readonly name: "key"; }; readonly optional: { readonly name: "optional"; readonly defaultValue: false; }; readonly type: { readonly name: "type"; }; }; readonly superTypes: []; }; readonly TerminalExpression: { readonly name: "TerminalExpression"; readonly properties: {}; readonly superTypes: ["Expression"]; }; readonly TernaryExpression: { readonly name: "TernaryExpression"; readonly properties: { readonly condition: { readonly name: "condition"; }; readonly falseExpr: { readonly name: "falseExpr"; }; readonly trueExpr: { readonly name: "trueExpr"; }; }; readonly superTypes: ["Expression"]; }; readonly TypeAliasExpression: { readonly name: "TypeAliasExpression"; readonly properties: { readonly name: { readonly name: "name"; }; readonly value: { readonly name: "value"; }; }; readonly superTypes: ["LibraryStatement"]; }; readonly TypeDefinition: { readonly name: "TypeDefinition"; readonly properties: {}; readonly superTypes: []; }; readonly TypeDefinitionExpression: { readonly name: "TypeDefinitionExpression"; readonly properties: { readonly name: { readonly name: "name"; }; readonly value: { readonly name: "value"; }; }; readonly superTypes: ["LibraryStatement"]; }; readonly TypeRef: { readonly name: "TypeRef"; readonly properties: {}; readonly superTypes: ["UnaryTypeDefinition"]; }; readonly UnaryExpression: { readonly name: "UnaryExpression"; readonly properties: { readonly left: { readonly name: "left"; }; readonly operator: { readonly name: "operator"; }; }; readonly superTypes: ["Expression"]; }; readonly UnaryTypeDefinition: { readonly name: "UnaryTypeDefinition"; readonly properties: {}; readonly superTypes: ["TypeDefinition"]; }; readonly UnionTypeDefinition: { readonly name: "UnionTypeDefinition"; readonly properties: { readonly left: { readonly name: "left"; }; readonly right: { readonly name: "right"; }; }; readonly superTypes: ["TypeDefinition"]; }; }; } export declare const reflection: KumoriAstReflection;