import { PolymerBond } from "./entities/PolymerBond"; import { D3SvgElementSelection } from "../application/render/types"; import { Selection } from 'd3'; import { BaseMonomer } from './entities/BaseMonomer'; import { Coordinates } from './helpers/attachmentPointCalculations'; import { AttachmentPointConstructorParams, AttachmentPointName } from './types'; import { MonomerToAtomBond } from "./entities/MonomerToAtomBond"; export declare class AttachmentPoint { static readonly attachmentPointVector = 6; static readonly attachmentPointLength: number; static readonly labelOffset = 3.5; static readonly radius = 3; static readonly labelSize: { x: number; y: number; }; static readonly colors: { fillUsed: string; fill: string; fillPotentially: string; strokeUsed: string; stroke: string; strokePotentially: string; }; protected rootElement: D3SvgElementSelection; protected attachmentPoint: D3SvgElementSelection | null; monomer: BaseMonomer; protected bodyWidth: number; protected bodyHeight: number; protected attachmentPointName: AttachmentPointName; protected canvasOffset: Coordinates; protected centerOfMonomer: Coordinates; protected element: Selection | undefined; private hoverableArea; protected initialAngle: number; private readonly isUsed; private readonly isSnake; private readonly editorEvents; private readonly applyZoomForPositionCalculation; constructor(constructorParams: AttachmentPointConstructorParams, skipInit?: boolean); private get fill(); protected get stroke(): string; removeAttachmentPoint(): void; protected renderAttachmentPointByCoordinates(attachmentOnBorder: Coordinates, attachmentPointCoordinates: Coordinates, labelCoordinatesOnMonomer: Coordinates): D3SvgElementSelection; private renderHoverableArea; appendAttachmentPoint(): D3SvgElementSelection; updateAttachmentPointStyleForHover(): void; rotateToAngle(polymerBond: PolymerBond | MonomerToAtomBond, flip?: boolean): number; protected getCoordinates(angleDegrees: any): { x: number; y: number; }[]; updateCoords(): void; private catchThePoint; getElement(): Selection | undefined; getAttachmentPointName(): AttachmentPointName; getHoverableArea(): Selection | undefined; getAngle(): number; }