import { PPAble } from "./pretty_printing"; import { StructEqualityComparable } from "./struct_equality"; export type Position = { offset: number; line: number; column: number; }; export type Range = { start: Position; end: Position; }; /** * Generic tree node with pretty-printer, optional source tripple information * and structural equality comparison. Useful for building ASTs. */ export declare abstract class Node implements StructEqualityComparable, PPAble { readonly id: number; readonly src?: Range; constructor(src?: Range); abstract pp(): string; abstract getFields(): any[]; getChildren(): Node[]; walk(cb: (node: Node) => void): void; get requiredSrc(): Range; getSourceFragment(src: string): string; } //# sourceMappingURL=node.d.ts.map