import * as i0 from '@angular/core'; import { Type, ElementRef, ChangeDetectorRef, ViewContainerRef, ComponentRef, SimpleChanges, EventEmitter, QueryList } from '@angular/core'; import { IPoint2D, Point2D } from '@obliczeniowo/elementary/classes'; import * as i24 from '@obliczeniowo/elementary/menu'; import { MenuItem } from '@obliczeniowo/elementary/menu'; import { EventEmitterExt } from '@obliczeniowo/elementary/rx-js-ext'; import * as i21 from '@obliczeniowo/elementary/connectors'; import { Connector, RelationConnectorComponent } from '@obliczeniowo/elementary/connectors'; import * as i23 from '@obliczeniowo/elementary/dropdown-select'; import { DropdownSelectItem } from '@obliczeniowo/elementary/dropdown-select'; import * as i20 from '@angular/common'; import * as i22 from '@obliczeniowo/elementary/input'; import * as i25 from '@obliczeniowo/elementary/buttons'; import * as i26 from '@angular/forms'; interface BoxItemModel { id: string; subId?: string; options?: { position: IPoint2D; [key: string]: any; }; } type BoxItemType = 'input' | 'output' | 'in-out'; interface ComponentData { id: string; type: Type; inputOutputComponent?: Type; value?: any; removable?: boolean; connectorType?: BoxItemType; } interface BoxModel { title: string; components: ComponentData[]; type: BoxItemType; box?: Type; translations?: { [id: string]: string; }; } interface ModellerConnectorModel extends Connector { start?: IPoint2D; end?: IPoint2D; } declare class ModellerBoxComponent { protected ref: ElementRef; changes: ChangeDetectorRef; protected modeller: ModellerService; model?: BoxModel; /** world (global translation) */ world: Point2D; /** local box only translation */ translate: Point2D; /** translation for dragging this stuff */ offset: Point2D; index: number; /** Unique per box type registration */ id?: string; /** globally unique id as meany the same type boxes can exists */ subId?: string; /** used only for 'input'/'output' type of model */ inputModel?: { [key: string]: any; }; /** parent */ parent?: ModellerSpaceComponent; /** */ options?: { [key: string]: any; }; /** used only for 'input'/'output' type of model */ outputChanged: EventEmitterExt; /** */ optionsChanged: EventEmitterExt; dragBox: EventEmitterExt<{ mouse: MouseEvent; component: ModellerBoxComponent; }>; connector: EventEmitterExt; remove: EventEmitterExt; /** remove connector by id */ removeConnector: EventEmitterExt; protected connectors?: RelationConnectorComponent[]; protected userModel?: { [key: string]: any; } | any[]; protected dynamic?: boolean; protected type: 'input' | 'button'; get zIndex(): number; get transform(): string; containerRef: ViewContainerRef; protected components: ComponentRef[]; constructor(ref: ElementRef, changes: ChangeDetectorRef, modeller: ModellerService); ngOnChanges(changes: SimpleChanges): void; ngAfterViewInit(): void; allConnectors(): RelationConnectorComponent[]; getBoxItemModel(): BoxItemModel; setConnectors(connectors: RelationConnectorComponent[]): void; protected clear(): void; protected toDynamic(): void; protected transformUserModel(): { [key: string]: any; } | undefined; protected reload(): void; protected setRemove(component: ComponentRef, com: ComponentData): void; protected restoreConnectors(): void; protected add(name?: string): void; item(parentId: string, subId: string, id: string): ComponentRef | undefined; recalc(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class ConnectorItemComponent { protected ref: ElementRef; 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; /** */ 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; /** emit id to remove item */ remove: EventEmitterExt; changed: EventEmitterExt; optionsChanged: EventEmitterExt; protected component?: ComponentRef; containerRef: ViewContainerRef; getFullId(): string; constructor(ref: ElementRef, 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; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class ModellerService { protected models: Map; protected translations: { [en: string]: string; }; menuItems: MenuItem[]; constructor(); setTranslations(translations: { [en: string]: string; }): void; getTranslations(): { [en: string]: string; }; getConnector(): typeof ConnectorItemComponent; register(id: string, model: BoxModel): void; create(id: string, container: ViewContainerRef, subId?: string, options?: { position: IPoint2D; }): i0.ComponentRef; setMenuItems(): void; getTranslation(en: string): string; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } declare class ModellerSpaceComponent { protected modeller: ModellerService; protected ref: ElementRef; boxes: BoxItemModel[]; /** */ connectorsSet: Connector[]; /** Inputs values to filtering out */ input: { [key: string]: any; }; /** */ output: EventEmitter; /** */ connectorsSetChanged: EventEmitter; /** */ boxesChanged: EventEmitter; /** Output filtered out values */ protected _output: { [key: string]: any; }; protected components: (ComponentRef | any)[]; protected translation: Point2D; protected buttons: number; protected mouse: Point2D; protected mousePos: Point2D; protected clickedPlace: Point2D; protected selected?: ModellerBoxComponent; protected source?: string; protected connectors: ModellerConnectorModel[]; protected create?: ModellerConnectorModel; protected connectorsComponents: QueryList; containerRef: ViewContainerRef; timer: any; mousemove(event: MouseEvent): void; mousedown(event: MouseEvent): void; mouseup(event: MouseEvent): void; protected moveCreated(): void; protected setBoxes(): void; constructor(modeller: ModellerService, ref: ElementRef); recalcPos(): void; ngOnChanges(changes: SimpleChanges): void; ngAfterViewInit(): void; ngOnDestroy(): void; setInputOutput(): void; setConnectors(after?: () => void): void; removeEmptyConnector(fullId: string, side: 'left' | 'right'): boolean; reload(): void; getById(id: string): ComponentRef | undefined; /** by assumption first one should be an output and should always exist */ getInput(): ComponentRef; /** by assumption second one should be an output and should always exist */ getOutput(): ComponentRef; protected menuClicked(command: string): void; protected removeConnector(connector: ModellerConnectorModel): void; protected emitConnectorsSet(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } interface OblConverter { toTransform?: any; options?: { [key: string]: any; }; translations?: { [en: string]: string; }; transformed: EventEmitterExt; optionsChanged: EventEmitterExt; } declare class IntegerFilterConnectorComponent implements OblConverter { toTransform?: number | number[] | undefined; /** */ options?: { [key: string]: any; }; /** */ translations?: { [id: string]: string; }; transformed: EventEmitterExt; optionsChanged: EventEmitterExt; value: number | number[] | undefined; items: DropdownSelectItem[]; selected: string | number; changed(item: DropdownSelectItem): void; transform(): void; ngOnInit(): void; ngOnChanges(changes: SimpleChanges): void; ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class ConvertToHistogramComponent implements OblConverter { toTransform?: number[] | undefined; /** */ options?: { [key: string]: any; }; /** */ translations?: { [en: string]: string; }; transformed: EventEmitterExt; optionsChanged: EventEmitterExt; value?: number[]; protected ranges: number; transform(): void; changed(event: any): void; ngOnChanges(changes: SimpleChanges): void; ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class RangeFilterComponent implements OblConverter { toTransform?: number[] | undefined; /** */ options?: { [key: string]: any; }; /** */ translations?: { [en: string]: string; }; transformed: EventEmitterExt; optionsChanged: EventEmitterExt; max: number; min: number; value: number[] | undefined; updateOptions(): void; setMin(event: any): void; setMax(event: any): void; transform(): void; ngOnChanges(changes: SimpleChanges): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class StringConverterComponent implements OblConverter { toTransform?: string; /** */ options?: { [key: string]: any; }; /** */ translations?: { [en: string]: string; }; transformed: EventEmitterExt; optionsChanged: EventEmitterExt; items: DropdownSelectItem[]; selected: string | number; lastError: any; value: string | string[] | undefined; protected split: string; protected start: number; protected end: number; transform(): void; ngOnInit(): void; ngOnChanges(changes: SimpleChanges): void; changed(item: DropdownSelectItem): void; splitChanged(event: any): void; startChanged(event: any): void; endChanged(event: any): void; ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class SplitBoxComponent extends ModellerBoxComponent { protected reload(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class MathBoxComponent extends ModellerBoxComponent { values?: { left?: number; right?: number; }; setConnectors(connectors: RelationConnectorComponent[]): void; protected reload(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class ValueInputComponent implements OblConverter { id: string; translations?: { [en: string]: string; }; toTransform?: number[] | number | undefined; header: string; options?: { [en: string]: any; }; transformed: EventEmitterExt; optionsChanged: EventEmitterExt; transform(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class MathOperatorComponent implements OblConverter { toTransform?: { left?: number | number[]; right?: number | number[]; }; /** */ options?: { [key: string]: any; }; /** */ translations?: { [en: string]: string; }; transformed: EventEmitterExt; optionsChanged: EventEmitterExt; items: DropdownSelectItem[]; selected: string | number; value: number | number[] | undefined; lastError: any; transform(): void; ngOnInit(): void; ngOnChanges(changes: SimpleChanges): void; changed(item: DropdownSelectItem): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class ConstOrValueComponent implements OblConverter { toTransform: number; /** */ options?: { [key: string]: any; }; /** */ translations?: { [en: string]: string; }; transformed: EventEmitterExt; optionsChanged: EventEmitterExt; items: DropdownSelectItem[]; selected: string | number; value: number | string | any | undefined; lastError: any; values: { [key: string]: number | string; }; transform(): void; ngOnInit(): void; ngOnChanges(changes: SimpleChanges): void; changed(item: DropdownSelectItem): void; variableChanged(variable: any): void; stringChanged(variable: any): void; jsonChanged(variable: any): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class JoinArrayToObjectBoxComponent extends ModellerBoxComponent { protected dynamic: boolean; protected reload(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class SplitInputBoxComponent extends ModellerBoxComponent { protected dynamic?: boolean; protected reload(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class GenerateComponent implements OblConverter { toTransform?: number[] | undefined; /** */ options?: { [key: string]: any; }; /** */ translations?: { [en: string]: string; }; transformed: EventEmitterExt; optionsChanged: EventEmitterExt; items: DropdownSelectItem[]; selected: string | number; value: number[] | undefined; start: number; end: number; step: number; count: number; constructor(); ngOnInit(): void; ngOnChanges(changes: SimpleChanges): void; changed(item: DropdownSelectItem): void; transform(): void; ngOnDestroy(): void; set(field: string, ev: any): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class ConcatArrayBoxComponent extends ModellerBoxComponent { protected ref: ElementRef; changes: ChangeDetectorRef; protected modeller: ModellerService; constructor(ref: ElementRef, changes: ChangeDetectorRef, modeller: ModellerService); protected reload(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class FormulaBoxComponent extends ModellerBoxComponent { protected dynamic: boolean; protected reload(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class FormulaComponent implements OblConverter { toTransform?: { [name: string]: number | number[]; } | undefined; /** */ options?: { [key: string]: any; }; /** */ translations?: { [en: string]: string; }; transformed: EventEmitterExt; optionsChanged: EventEmitterExt; formula: string; value?: number | number[]; transform(): void; changed(event: any): void; ngOnChanges(changes: SimpleChanges): void; ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class GetRequestComponent implements OblConverter { /** */ options?: { [key: string]: any; }; /** */ translations?: { [en: string]: string; }; transformed: EventEmitterExt; optionsChanged: EventEmitterExt; path: string; toTransform: any; ngOnInit(): void; get(): Promise; ngOnChanges(changes: SimpleChanges): void; transform(): void; changed(): void; ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class ModellerModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } export { ConnectorItemComponent, ModellerModule, ModellerService, ModellerSpaceComponent }; export type { BoxItemModel, BoxItemType, BoxModel, ModellerConnectorModel };