import * as _angular_core from '@angular/core'; import { ElementRef, EventEmitter, ChangeDetectorRef, QueryList } from '@angular/core'; import { Category } from '@obliczeniowo/elementary/categories'; import * as i4 from '@obliczeniowo/elementary/connectors'; import { RelationConnectorComponent, Connector } from '@obliczeniowo/elementary/connectors'; import { IPoint2D, ColorRGB } from '@obliczeniowo/elementary/classes'; import * as i5 from '@obliczeniowo/elementary/menu'; import { MenuComponent } from '@obliczeniowo/elementary/menu'; import { Subscription } from 'rxjs'; import { ControlValueAccessor, ValidationErrors } from '@angular/forms'; import * as i6 from '@obliczeniowo/elementary/dialogs'; import { DialogWrapperComponent } from '@obliczeniowo/elementary/dialogs'; import * as i7 from '@obliczeniowo/elementary/color-picker'; import { ColorComponent } from '@obliczeniowo/elementary/color-picker'; import * as i3 from '@angular/common'; import * as i8 from '@obliczeniowo/elementary/buttons'; type RelationSide = 'left' | 'right'; interface RelationItemClicked { side: RelationSide; category: Category; pos: IPoint2D; } declare class RelationItemComponent { protected elementRef: ElementRef; category: _angular_core.InputSignal; side: _angular_core.InputSignal; relations: _angular_core.InputSignal; menu: _angular_core.InputSignal; disabled: _angular_core.InputSignal; clicked: EventEmitter; remove: EventEmitter<{ category: Category; side: RelationSide; }>; editColor: EventEmitter<{ category: Category; side: RelationSide; }>; protected subscription: Subscription; protected haveRelations: boolean; onClick(): void; hovered: EventEmitter; protected menuItems: { id: number; text: string; command: string; }[]; onMouseOver(): void; onMouseLeave(): void; get isLeft(): boolean; get isRight(): boolean; constructor(elementRef: ElementRef); ngOnDestroy(): void; update(): void; get position(): { x: number; y: number; }; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } /** * Relations item let you create corelation between left items and right one in graphical way and modify them * * [menu] - add context menu component {@link MenuComponent} from {@link MenuModule}. Do not set menu items, this component * will set them up by them self * [translations] - set the translations using as key current (default) english text and value as new one (translated) to display */ declare class CategoriesRelationsComponent implements ControlValueAccessor { protected elementRef: ElementRef; protected changes: ChangeDetectorRef; /** * right side categories */ left: Category[]; /** * left side categories */ right: Category[]; /** * connectors array to create {@link RelationConnectorComponent} */ connectors: Connector[]; /** * [translations] - set the translations using as key current (default) english text and value as new one (translated) to display */ translations: _angular_core.InputSignal<{ [english: string]: string; }>; menu: _angular_core.InputSignal; changed: EventEmitter<{ left: Category[]; right: Category[]; connectors: Connector[]; }>; color: DialogWrapperComponent; protected width: number; protected height: number; observer: ResizeObserver; protected highlight?: string; protected categoryItemSelected?: RelationItemClicked; protected mousePos?: IPoint2D; set relations(relation: QueryList); items: QueryList; colorPicker: ColorComponent; onMouseOver(): void; disabled?: boolean; protected relationsChanged: RelationConnectorComponent[]; protected target: any; protected connectorsSelected?: Connector[]; constructor(elementRef: ElementRef, changes: ChangeDetectorRef); onChange: (value: { left: Category[]; right: Category[]; connectors: Connector[]; }) => void; onTouched: () => void; onMove(event: MouseEvent): void; writeValue(obj: { left: Category[]; right: Category[]; connectors: Connector[]; }): void; registerOnChange(onChange: any): void; registerOnTouched(onTouched: any): void; setDisabledState?(isDisabled: boolean): void; validate(control: any): ValidationErrors | null; ngOnInit(): void; ngOnDestroy(): void; onHoverOverItem(item: RelationItemComponent): void; onRemove(item: { category: Category; side: RelationSide; }): void; setColor(color: ColorRGB): void; onEditColor(item: { category: Category; side: RelationSide; }): void; onEditColorConnector(connector: Connector): void; removeConnector(connector: Connector): void; addConnector(categoryItem: RelationItemClicked): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } declare class CategoriesRelationsModule { static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵmod: _angular_core.ɵɵNgModuleDeclaration; static ɵinj: _angular_core.ɵɵInjectorDeclaration; } export { CategoriesRelationsComponent, CategoriesRelationsModule };