import type { ST } from "stringtemplate4ts";
import { Grammar } from "../../tool/Grammar.js";
import { Target } from "../Target.js";
export declare class GoTarget extends Target {
    protected static readonly reservedWords: Set<string>;
    private static readonly doGoFormat;
    getRecognizerFileName(header: boolean): string;
    /**
     * A given grammar T, return the listener name such as TListener.java, if we're using the Java target.
     */
    getListenerFileName(header: boolean): string;
    /**
     * A given grammar T, return the visitor name such as TVisitor.java, if we're using the Java target.
     */
    getVisitorFileName(header: boolean): string;
    /**
     * A given grammar T, return a blank listener implementation such as TBaseListener.java, if we're using
     * the Java target.
     */
    getBaseListenerFileName(header: boolean): string;
    /**
     * A given grammar T, return a blank listener implementation such as TBaseListener.java, if we're using
     * the Java target.
     */
    getBaseVisitorFileName(header: boolean): string;
    protected get reservedWords(): Set<string>;
    genFile(g: Grammar | undefined, outputFileST: ST, fileName: string): void;
    private gofmt;
}
