import { Node, Origin, Position, Source } from "../"; import { ParseTree, Token } from "antlr4ng"; declare module "../model/position" { namespace Point { function ofTokenStart(token: Token): Point; function ofTokenEnd(token: Token): Point; } namespace Position { function ofParseTree(parseTree: ParseTree, source?: Source): Position | undefined; function ofToken(token: Token): Position; function ofTokenStart(token: Token): Position; function ofTokenEnd(token: Token): Position; } } export declare function positionOfParseTree(parseTree: ParseTree, source?: Source): Position | undefined; export declare class ParseTreeOrigin extends Origin { parseTree?: ParseTree | undefined; protected readonly _source?: Source | undefined; constructor(parseTree?: ParseTree | undefined, _source?: Source | undefined); get position(): Position | undefined; get sourceText(): string | undefined; get source(): Source | undefined; } declare module '../model/model' { interface Node { parseTree?: ParseTree; withParseTreeNode(parseTree?: ParseTree | null, source?: Source): this; } } declare module 'antlr4ng' { interface ParserRuleContext { getOriginalText(): string; } } export declare function withParseTreeNode(node: Node, parseTree?: ParseTree | null, source?: Source): Node;