import { ComponentRef, ElementRef, SimpleChanges, Type, ViewContainerRef, ChangeDetectorRef } from '@angular/core';
import { Point2D } from '@obliczeniowo/elementary/classes';
import { ModellerBoxComponent } from '../modeller-box/modeller-box.component';
import { ModellerConnectorModel } from '../../models/modeller-connector.model';
import { RelationConnectorComponent } from '@obliczeniowo/elementary/connectors';
import { BoxItemType } from '../../public-api';
import { EventEmitterExt } from '@obliczeniowo/elementary/rx-js-ext';
import * as i0 from "@angular/core";
export declare class ConnectorItemComponent {
    protected ref: ElementRef<HTMLElement>;
    protected changes: ChangeDetectorRef;
    /** */
    left?: RelationConnectorComponent;
    /** */
    right?: RelationConnectorComponent;
    /** */
    parent?: ModellerBoxComponent;
    /** Unique per box type registration */
    id?: string;
    /** Globally unique id as meany the same type boxes can exists */
    subId?: string;
    /** */
    inputOutputComponent?: Type<any>;
    /** */
    type: BoxItemType;
    /** reserved only for input/output */
    value: any;
    /** if you can remove item */
    removable?: boolean;
    /** */
    options?: {
        [key: string]: any;
    };
    /** */
    translations?: {
        [id: string]: any;
    };
    connector: EventEmitterExt<ModellerConnectorModel>;
    /** emit id to remove item */
    remove: EventEmitterExt<string>;
    changed: EventEmitterExt<any>;
    optionsChanged: EventEmitterExt<void>;
    protected component?: ComponentRef<any>;
    containerRef: ViewContainerRef;
    getFullId(): string;
    constructor(ref: ElementRef<HTMLElement>, changes: ChangeDetectorRef);
    setConnector(side: 'left' | 'right', connector?: RelationConnectorComponent): void;
    clicked(side: 'left' | 'right', connPoint: HTMLDivElement): void;
    ngOnChanges(changes: SimpleChanges): void;
    ngAfterViewInit(): void;
    getPos(el: HTMLDivElement): Point2D;
    recalc(): void;
    protected transformed: (value: any) => void;
    protected reload(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<ConnectorItemComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ConnectorItemComponent, "obl-connector-item", never, { "left": { "alias": "left"; "required": false; }; "right": { "alias": "right"; "required": false; }; "parent": { "alias": "parent"; "required": false; }; "id": { "alias": "id"; "required": false; }; "subId": { "alias": "subId"; "required": false; }; "inputOutputComponent": { "alias": "inputOutputComponent"; "required": false; }; "type": { "alias": "type"; "required": false; }; "value": { "alias": "value"; "required": false; }; "removable": { "alias": "removable"; "required": false; }; "options": { "alias": "options"; "required": false; }; "translations": { "alias": "translations"; "required": false; }; }, { "connector": "connector"; "remove": "remove"; "changed": "changed"; "optionsChanged": "optionsChanged"; }, never, never, false, never>;
}
