import { autouml } from "../../typings/typings";
import { Visitor } from "../visitor";
declare class d2Codegen extends Visitor implements autouml.codegen.CodeGenerator {
    target: autouml.codegen.Target;
    constructor(map?: autouml.mapping.IScope | null);
    protected visitProgram(scope: autouml.mapping.IScope, childData: string[][]): string[];
    protected visitFile(scope: autouml.mapping.IScope, childData: string[][]): string[];
    protected visitNamespace(scope: autouml.mapping.IScope, childData: string[][]): string[];
    protected visitClass(scope: autouml.mapping.IClassScope, childData: string[][], fieldData: string[][], methodData: string[][]): string[];
    protected visitInterface(scope: autouml.mapping.IInterfaceScope, childData: string[][], fieldData: string[][]): string[];
    protected visitEnum(scope: autouml.mapping.IEnumScope, childData: string[][], enumData: string[][]): string[];
    protected visitEnumField(f: string): string[];
    protected visitInterfaceField(f: autouml.mapping.IParam): string[];
    protected visitClassField(f: autouml.mapping.IClassField): string[];
    protected visitClassMethod(m: autouml.mapping.IClassMethods): string[];
    protected compileRelations(): string;
}
export { d2Codegen };
