import { LocationRange } from "../ast/types.js"; import { NodeArray } from "./NodeArray.js"; import { NodeBlock } from "./NodeBlock.js"; import { NodeBoolean } from "./NodeBoolean.js"; import { NodeBracketLookup } from "./NodeBracketLookup.js"; import { NodeCall } from "./NodeCall.js"; import { NodeDecorator } from "./NodeDecorator.js"; import { NodeDefunStatement } from "./NodeDefunStatement.js"; import { NodeDict } from "./NodeDict.js"; import { NodeDotLookup } from "./NodeDotLookup.js"; import { NodeExponentialUnitType } from "./NodeExponentialUnitType.js"; import { NodeFloat } from "./NodeFloat.js"; import { NodeIdentifier } from "./NodeIdentifier.js"; import { NodeIdentifierDefinition } from "./NodeIdentifierDefinition.js"; import { NodeImport } from "./NodeImport.js"; import { NodeInfixCall } from "./NodeInfixCall.js"; import { NodeInfixUnitType } from "./NodeInfixUnitType.js"; import { NodeKeyValue } from "./NodeKeyValue.js"; import { NodeLambda } from "./NodeLambda.js"; import { NodeLambdaParameter } from "./NodeLambdaParameter.js"; import { NodeLetStatement } from "./NodeLetStatement.js"; import { NodePipe } from "./NodePipe.js"; import { NodeProgram } from "./NodeProgram.js"; import { NodeString } from "./NodeString.js"; import { NodeTernary } from "./NodeTernary.js"; import { NodeUnaryCall } from "./NodeUnaryCall.js"; import { NodeUnitName } from "./NodeUnitName.js"; import { NodeUnitTypeSignature } from "./NodeUnitTypeSignature.js"; import { NodeUnitValue } from "./NodeUnitValue.js"; export type AnyDictEntryNode = NodeKeyValue | NodeIdentifier; export type TypedASTNode = NodeProgram | NodeImport | NodeBlock | NodeLetStatement | NodeDefunStatement | NodeLambda | NodeArray | NodeDict | NodeKeyValue | NodeUnitValue | NodeCall | NodeInfixCall | NodeUnaryCall | NodePipe | NodeDecorator | NodeDotLookup | NodeBracketLookup | NodeTernary | NodeUnitTypeSignature | NodeInfixUnitType | NodeExponentialUnitType | NodeUnitName | NodeLambdaParameter | NodeIdentifierDefinition | NodeIdentifier | NodeFloat | NodeString | NodeBoolean; export type ASTCommentNode = { kind: "lineComment" | "blockComment"; value: string; location: LocationRange; }; type Kind = TypedASTNode["kind"]; export type KindTypedNode = Extract; export declare const statementKinds: ["LetStatement", "DefunStatement"]; export declare const expressionKinds: ["Block", "Lambda", "Array", "Dict", "UnitValue", "Call", "InfixCall", "UnaryCall", "Pipe", "DotLookup", "BracketLookup", "Ternary", "Identifier", "Float", "String", "Boolean"]; export declare const unitTypeKinds: ["Float", "UnitName", "InfixUnitType", "ExponentialUnitType"]; export type AnyTypedStatementNode = KindTypedNode<(typeof statementKinds)[number]>; export type AnyTypedExpressionNode = KindTypedNode<(typeof expressionKinds)[number]>; export type AnyTypedUnitTypeNode = KindTypedNode<(typeof unitTypeKinds)[number]>; export type TypedAST = NodeProgram; export {}; //# sourceMappingURL=types.d.ts.map