import type { BaseMonomerRenderer } from '../../render/renderers/BaseMonomerRenderer'; import type { FlexModePolymerBondRenderer } from '../../render/renderers/PolymerBondRenderer/FlexModePolymerBondRenderer'; import type { SnakeModePolymerBondRenderer } from '../../render/renderers/PolymerBondRenderer/SnakeModePolymerBondRenderer'; import type { HydrogenBond } from '../../../domain/entities/HydrogenBond'; import type { BaseMonomer } from '../../../domain/entities/BaseMonomer'; import type { Command } from '../../../domain/entities/Command'; import type { DrawingEntity } from '../../../domain/entities/DrawingEntity'; import type { PolymerBond } from '../../../domain/entities/PolymerBond'; import type { AttachmentPointName } from '../../../domain/types'; import type { EditorTheme } from '../../../domain/types/theme'; import { AmbiguousMonomer } from '../../../domain/entities/AmbiguousMonomer'; import { AmbiguousMonomerRenderer } from '../../render/renderers/AmbiguousMonomerRenderer'; import { Atom } from '../../../domain/entities/CoreAtom'; import { AtomRenderer } from '../../render/renderers/AtomRenderer'; import { BondRenderer } from '../../render/renderers/BondRenderer'; import { Bond } from '../../../domain/entities/CoreBond'; import { MonomerToAtomBond } from '../../../domain/entities/MonomerToAtomBond'; import type { RxnArrow } from '../../../domain/entities/CoreRxnArrow'; import type { MultitailArrow } from '../../../domain/entities/CoreMultitailArrow'; import type { RxnPlus } from '../../../domain/entities/CoreRxnPlus'; import type { CoreStereoFlag } from '../../../domain/entities/CoreStereoFlag'; import type { DeepPartial } from '../../../types'; import type { SGroupDrawingEntity } from '../../../domain/entities/SGroupDrawingEntity'; import { SGroupRenderer } from '../../render/renderers/SGroupRenderer'; type FlexModeOrSnakeModePolymerBondRenderer = FlexModePolymerBondRenderer | SnakeModePolymerBondRenderer; type ThemeType = DeepPartial<{ ketcher: EditorTheme; }>; export declare class RenderersManager { private readonly theme; monomers: Map; polymerBonds: Map; atoms: Map; bonds: Map; sgroups: Map; private needRecalculateMonomersEnumeration; constructor({ theme }: { theme: ThemeType; }); 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: boolean): 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; addSGroup(sgroupDrawingEntity: SGroupDrawingEntity): void; deleteSGroup(sgroupDrawingEntity: SGroupDrawingEntity): void; rerenderSGroups(): void; addMonomerToAtomBond(bond: MonomerToAtomBond): void; private getSequenceNodeForMonomerToAtomBond; private redrawMonomerToAtomBondRelatedState; 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; addStereoFlag(stereoFlag: CoreStereoFlag): void; deleteStereoFlag(stereoFlag: CoreStereoFlag): void; private renderAromaticCircles; private calculateDashedPolygonPath; private calculateLoopCenterAndRadius; runPostRenderMethods(): void; rerenderSideConnectionPolymerBonds(): void; } export {};