import antlrDefaultExport, { CommonTokenStream, ParserRuleContext, ParseTree, Token } from 'antlr4';
import CypherLexer from './generated-parser/CypherCmdLexer';
import CypherParser, { StatementsOrCommandsContext } from './generated-parser/CypherCmdParser';
import { ParsedStatement, ParsingResult } from './parserWrapper';
export type EnrichedParseTree = ParseTree & {
    parentCtx: ParserRuleContext | undefined;
};
export declare function findStopNode(root: StatementsOrCommandsContext): antlrDefaultExport.ParserRuleContext;
export declare function findParent(leaf: EnrichedParseTree | undefined, condition: (node: EnrichedParseTree) => boolean): EnrichedParseTree;
export declare function getTokens(tokenStream: CommonTokenStream): Token[];
export declare function isDefined(x: unknown): boolean;
type AntlrDefaultExport = {
    tree: {
        Trees: {
            getNodeText(node: ParserRuleContext, s: string[], c: typeof CypherParser): string;
            getChildren(node: ParserRuleContext): ParserRuleContext[];
        };
    };
};
export declare const antlrUtils: AntlrDefaultExport;
export declare function inNodeLabel(stopNode: ParserRuleContext): boolean;
export declare function inRelationshipType(stopNode: ParserRuleContext): boolean;
export declare function findCaret(parsingResult: ParsingResult, caretPosition: number): {
    statement: ParsedStatement;
    token: Token;
} | undefined;
export declare function splitIntoStatements(tokenStream: CommonTokenStream, lexer: CypherLexer): CommonTokenStream[];
export declare function findPreviousNonSpace(tokens: Token[], index: number): Token | undefined;
export declare function isCommentOpener(thisToken: Token, nextToken: Token | undefined): boolean;
export declare const rulesDefiningVariables: number[];
export declare const rulesDefiningOrUsingVariables: number[];
export {};
