import { LocationRange } from "../ast/types.js"; import { Type } from "../types/Type.js"; import { AnyTypedExpressionNode, AnyTypedStatementNode, TypedASTNode } from "./types.js"; export declare abstract class Node { kind: T; location: LocationRange; parent: TypedASTNode | null; constructor(kind: T, location: LocationRange); protected _init(): void; abstract children(): TypedASTNode[]; findDescendantByLocation(start: number, end: number): TypedASTNode | undefined; isExpression(): this is AnyTypedExpressionNode; isStatement(): this is AnyTypedStatementNode; } export declare abstract class ExpressionNode extends Node { type: Type; constructor(kind: T, location: LocationRange, type: Type); } //# sourceMappingURL=Node.d.ts.map