import { BaseMonomerRenderer } from "./BaseMonomerRenderer"; import { FlexModePolymerBondRenderer } from "./PolymerBondRenderer/FlexModePolymerBondRenderer"; import { SnakeModePolymerBondRenderer } from "./PolymerBondRenderer/SnakeModePolymerBondRenderer"; import { HydrogenBond } from "../../../domain/entities"; import { BaseMonomer } from "../../../domain/entities/BaseMonomer"; import { Command } from "../../../domain/entities/Command"; import { DrawingEntity } from "../../../domain/entities/DrawingEntity"; import { PolymerBond } from "../../../domain/entities/PolymerBond"; import { AttachmentPointName } from "../../../domain/types"; import { AmbiguousMonomer } from "../../../domain/entities/AmbiguousMonomer"; import { AmbiguousMonomerRenderer } from "./AmbiguousMonomerRenderer"; import { Atom } from "../../../domain/entities/CoreAtom"; import { AtomRenderer } from "./AtomRenderer"; import { BondRenderer } from "./BondRenderer"; import { Bond } from "../../../domain/entities/CoreBond"; import { MonomerToAtomBond } from "../../../domain/entities/MonomerToAtomBond"; import { RxnArrow } from "../../../domain/entities/CoreRxnArrow"; import { MultitailArrow } from "../../../domain/entities/CoreMultitailArrow"; import { RxnPlus } from "../../../domain/entities/CoreRxnPlus"; declare type FlexModeOrSnakeModePolymerBondRenderer = FlexModePolymerBondRenderer | SnakeModePolymerBondRenderer; export declare class RenderersManager { private readonly theme; monomers: Map; polymerBonds: Map; atoms: Map; bonds: Map; private needRecalculateMonomersEnumeration; constructor({ theme }: { theme: any; }); hoverDrawingEntity(drawingEntity: DrawingEntity): void; selectDrawingEntity(drawingEntity: DrawingEntity): void; moveDrawingEntity(drawingEntity: DrawingEntity): void; private markForReEnumeration; addMonomer(monomer: BaseMonomer | AmbiguousMonomer, callback?: () => void): void; moveMonomer(monomer: BaseMonomer): void; redrawDrawingEntity(drawingEntity: DrawingEntity, force?: boolean, recalculateEnumeration?: boolean): void; deleteAllDrawingEntities(): void; deleteMonomer(monomer: BaseMonomer): void; addPolymerBond(polymerBond: PolymerBond | HydrogenBond, redrawAttachmentPoints?: boolean): void; movePolymerBond(polymerBond: PolymerBond): void; showPolymerBondInformation(polymerBond: PolymerBond): void; deletePolymerBond(polymerBond: PolymerBond | HydrogenBond, recalculateEnumeration?: boolean, redrawAttachmentPoints?: boolean): void; private recalculatePeptideChainEnumeration; private recalculateRnaChainEnumeration; private recalculateMonomersEnumeration; finishPolymerBondCreation(polymerBond: PolymerBond): void; cancelPolymerBondCreation(polymerBond: PolymerBond, secondMonomer?: BaseMonomer): void; hoverMonomer(monomer: BaseMonomer, needRedrawAttachmentPoints: any): void; hoverAttachmentPoint(monomer: BaseMonomer, attachmentPointName: AttachmentPointName): void; reinitializeViewModel(): void; update(modelChanges?: Command): void; addAtom(atom: Atom): void; deleteAtom(atom: Atom): void; addBond(bond: Bond): void; deleteBond(bond: Bond): void; addMonomerToAtomBond(bond: MonomerToAtomBond): void; deleteMonomerToAtomBond(bond: MonomerToAtomBond): void; addRxnArrow(arrow: RxnArrow): void; deleteRxnArrow(arrow: RxnArrow): void; addMultitailArrow(arrow: MultitailArrow): void; deleteMultitailArrow(arrow: MultitailArrow): void; addRxnPlus(rxnPlus: RxnPlus): void; deleteRxnPlus(rxnPlus: RxnPlus): void; private renderAromaticCircles; private calculateDashedPolygonPath; private calculateLoopCenterAndRadius; runPostRenderMethods(): void; static getRenderedStructuresBbox(drawingEntities?: DrawingEntity[]): { left: any; right: any; top: any; bottom: any; width: number; height: number; }; rerenderSideConnectionPolymerBonds(): void; } export {};