import { VisitableAbstractNode } from "./VisitableAbstractNode";
import { StatementList } from "./StatementList";
import { AbstractNode } from "../../common/AbstractNode";
import { AstNodeVisitorInterface } from "../../common/nodeVisitorInterface";
export declare class FusionFile extends VisitableAbstractNode {
    statementList: StatementList;
    contextPathAndFileName: string | undefined;
    nodesByType: Map<any, AbstractNode[]>;
    errors: Error[];
    constructor(statementList: StatementList, contextPathAndFileName: string | undefined);
    visit(visitor: AstNodeVisitorInterface): unknown;
    getNodesByType<T extends abstract new (...args: any) => any>(type: T): InstanceType<T>[] | undefined;
    hasErrors(): boolean;
    toString(intend?: number): string;
}
