import { AfterViewInit, ChangeDetectorRef, ElementRef, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
import { Observable, Subscription } from "rxjs";
import { BoundingBox } from "../../../models/bounding-box";
import { SVGAccessService } from "../../../services/svg-access.service";
import * as i0 from "@angular/core";
export declare class ArrowBetweenElemsComponent implements OnInit, AfterViewInit, OnChanges, OnDestroy {
    private svgAccessService;
    private cdr;
    startGID: string;
    startSuffix: string;
    endGID: string;
    endSuffix: string;
    arrowType?: string;
    breaks: BoundingBox[];
    text?: string;
    style?: string;
    startId: string;
    endId: string;
    start?: BoundingBox;
    end?: BoundingBox;
    positioned: boolean;
    node: ElementRef<SVGGraphicsElement>;
    changeNotifier: Observable<string>;
    changeSubscription: Subscription;
    constructor(svgAccessService: SVGAccessService, cdr: ChangeDetectorRef);
    ngOnInit(): void;
    ngOnChanges(_: SimpleChanges): void;
    ngAfterViewInit(): void;
    private computePositionsByIds;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<ArrowBetweenElemsComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ArrowBetweenElemsComponent, "[arrowElems]", never, { "startGID": { "alias": "startGID"; "required": false; }; "startSuffix": { "alias": "startSuffix"; "required": false; }; "endGID": { "alias": "endGID"; "required": false; }; "endSuffix": { "alias": "endSuffix"; "required": false; }; "arrowType": { "alias": "arrowType"; "required": false; }; "breaks": { "alias": "breaks"; "required": false; }; "text": { "alias": "text"; "required": false; }; "style": { "alias": "style"; "required": false; }; }, {}, never, never, true, never>;
}
