import { D3SvgElementSelection } from "../../types"; import { BaseMonomer } from "../../../../domain/entities"; import { PolymerBond } from "../../../../domain/entities/PolymerBond"; import { BaseRenderer } from '../BaseRenderer'; export declare class SnakeModePolymerBondRenderer extends BaseRenderer { readonly polymerBond: PolymerBond; private readonly editorEvents; private isSnakeBond; private selectionElement; private path; private previousStateOfIsMonomersOnSameHorizontalLine; private sideConnectionBondTurnPoint?; bodyElement?: D3SvgElementSelection; constructor(polymerBond: PolymerBond); get isSnake(): true; private get isHydrogenBond(); get rootBBox(): DOMRect | undefined; get width(): number; get height(): number; private get scaledPosition(); getSideConnectionEndpointAngle(monomer: BaseMonomer): number; moveSelection(): void; appendBond(rootElement: any): D3SvgElementSelection | undefined; appendSnakeBond(rootElement: any): D3SvgElementSelection | undefined; private appendSideConnectionBond; private getMonomerWidth; private getMonomerHeight; private get isSideChainLikeBackbone(); private updateSnakeBondPath; private isSecondMonomerTopRight; private isSecondMonomerBottomRight; private isSecondMonomerBottomLeft; private isSecondMonomerTopLeft; private isSecondMonomerLeft; private addLine; private addRandomLine; appendBondGraph(rootElement: any): D3SvgElementSelection | undefined; private appendRootElement; show(_theme?: unknown, force?: boolean): void; private get isSideConnectionBondDrawn(); drawSelection(): void; moveEnd(): void; private moveSnakeBondEnd; private moveGraphBondEnd; moveStart(): void; private moveSnakeBondStart; private moveGraphBondStart; protected appendHoverAreaElement(): void; appendHover(): void; removeHover(): string | D3SvgElementSelection; private calculateIsSnakeBond; remove(): void; }