import TopicViewController from '../../../viewController/topicViewController'; import Bounds from '../../../utils/bounds'; import Area from '../../../utils/area'; import Size from '../../../utils/size'; import BranchViewController from '../../../viewController/branchViewController'; import { TopicShapeType } from '../../../common/constants/styles'; export default abstract class TopicShape { private _type; constructor(type: TopicShapeType); render(topicViewController: TopicViewController): void; protected doRender(topicViewController: TopicViewController): void; protected rotate(topicViewController: TopicViewController): void; protected abstract calcTopicShapePath(bounds: Bounds, corner?: number): string; getTopicMargins(branchViewController: BranchViewController, size: Size): Area; getDrawBounds(topicBounds: Bounds, topicBorderWidth: number): Bounds; getStartAnchorPosition(startBranch: BranchViewController, endBranch: BranchViewController): import("../../../utils/position").default; protected getOffsetPointCalcFnList(branch: BranchViewController): ((parent: BranchViewController, child: BranchViewController) => import("../../../utils/position").default)[]; getEndAnchorPosition(startBranch: BranchViewController, endBranch: BranchViewController): import("../../../utils/position").default; getControlPosition(startBranch: BranchViewController, endBranch: BranchViewController): import("../../../utils/position").default; get type(): TopicShapeType; }