import { type Token, type TokenStream } from "antlr4ng";
import type { GrammarType } from "../../support/GrammarType.js";
import type { IToolParameters } from "../../tool-parameters.js";
import type { IGrammarRootAST } from "../../types.js";
import { IGrammarASTVisitor } from "./IGrammarASTVisitor.js";
import { GrammarASTWithOptions } from "./GrammarASTWithOptions.js";
/** This is the root node for a grammar (for the top level grammarSpec rule). */
export declare class GrammarRootAST extends GrammarASTWithOptions implements IGrammarRootAST {
    grammarType: GrammarType;
    hasErrors: boolean;
    /** Track stream used to create this tree */
    readonly tokenStream: TokenStream;
    fileName: string;
    toolParameters?: IToolParameters;
    constructor(node: GrammarRootAST);
    constructor(t: Token, tokenStream: TokenStream);
    constructor(type: number, t: Token, tokenStream: TokenStream);
    constructor(type: number, t: Token, text: string, tokenStream: TokenStream);
    getGrammarName(): string | null;
    getOptionString(key: string): string | undefined;
    visit<T>(v: IGrammarASTVisitor<T>): T;
    dupNode(): GrammarRootAST;
}
