import { HeritageClause, Clazz, Interface, FileDeclaration, Enum, TypeAlias, MemberAssociation } from "./model"; import { Template } from "./renderer/template"; export declare class Emitter { protected template: Template; constructor(template: Template); emitSingleClass(cls: Clazz): string; emitSingleInterface(int: Interface): string; emitSingleType(t: TypeAlias): string; emitSingleEnum(en: Enum): string; emitHeritageClauses(heritageClauses: HeritageClause[]): string[]; emitMemberAssociations(associations?: MemberAssociation[]): string[]; } export declare function emit(declarations: FileDeclaration[], emitter: Emitter): string; /** * add type links to the svg * if a diagram path is given paths relative to the diagram will be generated for the links * @param svg * @param diagramPath * @param declarations * @returns */ export declare function postProcessSvg(svg: string, diagramPath: string | undefined | null, declarations: FileDeclaration[]): string;