import { AfterViewInit, ElementRef, OnChanges, OnDestroy, OnInit, QueryList } from "@angular/core";
import { FConnectionDragHandleEndComponent, FConnectionSelectionComponent, IConnectionGradient, IConnectionPath, IConnectionText } from '../common';
import { EFConnectionBehavior } from '../common';
import { EFConnectionType } from '../common';
import { FConnectionCenterDirective } from '../f-connection-center';
import { FConnectionFactory } from '../f-connection-builder';
import { FConnectionBase } from '../common/f-connection-base';
import * as i0 from "@angular/core";
export declare class FSnapConnectionComponent extends FConnectionBase implements AfterViewInit, OnInit, OnChanges, OnDestroy {
    fId: string;
    fText: string;
    fTextStartOffset: string;
    fStartColor: string;
    fEndColor: string;
    fSnapThreshold: number;
    fOutputId: string;
    fInputId: string;
    fRadius: number;
    fOffset: number;
    fBehavior: EFConnectionBehavior;
    fType: EFConnectionType | string;
    fDraggingDisabled: boolean;
    fSelectionDisabled: boolean;
    fDefs: ElementRef<SVGDefsElement>;
    fPath: IConnectionPath;
    fGradient: IConnectionGradient;
    fDragHandle: FConnectionDragHandleEndComponent;
    fSelection: FConnectionSelectionComponent;
    fTextComponent: IConnectionText;
    fConnectionCenter: ElementRef<HTMLDivElement>;
    fConnectionCenters: QueryList<FConnectionCenterDirective>;
    get boundingElement(): HTMLElement | SVGElement;
    private _fMediator;
    constructor(elementReference: ElementRef<HTMLElement>, fConnectionFactory: FConnectionFactory);
    ngOnInit(): void;
    ngAfterViewInit(): void;
    ngOnChanges(): void;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<FSnapConnectionComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<FSnapConnectionComponent, "f-snap-connection", never, { "fStartColor": { "alias": "fStartColor"; "required": false; }; "fEndColor": { "alias": "fEndColor"; "required": false; }; "fSnapThreshold": { "alias": "fSnapThreshold"; "required": false; }; "fRadius": { "alias": "fRadius"; "required": false; }; "fOffset": { "alias": "fOffset"; "required": false; }; "fBehavior": { "alias": "fBehavior"; "required": false; }; "fType": { "alias": "fType"; "required": false; }; }, {}, ["fConnectionCenters"], ["*", "[fConnectionCenter]"], false, never>;
    static ngAcceptInputType_fSnapThreshold: unknown;
    static ngAcceptInputType_fRadius: unknown;
    static ngAcceptInputType_fOffset: unknown;
    static ngAcceptInputType_fBehavior: unknown;
}
