import { Grammar } from "../../tool/Grammar.js";
import { ActionAST } from "../../tool/ast/ActionAST.js";
import { IOutputModelFactory } from "../IOutputModelFactory.js";
import { Action } from "./Action.js";
import { OutputModelObject } from "./OutputModelObject.js";
export declare abstract class OutputFile extends OutputModelObject {
    readonly fileName: string;
    readonly grammarFileName: string;
    readonly TokenLabelType?: string;
    readonly inputSymbolType?: string;
    /**
     * This is the version the runtimes test against for their compatibility. We use the version of the old ANTLR4
     * tool here, until we start implementing the new target infrastructure.
     */
    readonly ANTLRVersion = "4.13.2";
    constructor(factory: IOutputModelFactory, fileName: string);
    buildNamedActions(g: Grammar, filter?: (ast: ActionAST) => boolean): Map<string, Action>;
}
