import { EntityState } from './../image-slice-show/share/model'; import { RingModel, EntityModel, CrossLineModel } from './../ng3/model'; import { Vector2 } from 'three'; import { ItemStore, Database, ArrayCollectionOf } from 'pistore'; import { Observable } from 'rxjs'; export declare function initialRingEntityState(): EntityState; export declare function initialWhichDraging(): WhichDraging; export interface Ids { canvasId: string; } export interface CanvasIdWithModels { canvasId: string; model: EntityModel; } export interface IdWithModel { id: string; model: EntityModel; } export interface Models { model: EntityModel; } export interface WhichDraging { ring: boolean; line: boolean; crossline: boolean; fov: boolean; } export declare class EntityStoreService { updateFunction(x: T, y: K): boolean; private toSearch; private updateEqualCanvasRing; private updateEqualCanvasLine; private updateEqualCanvasCrossLine; private updateEqualFov; private fromUpdateModelId; private fromUpdateModel; private updateEqualCrosslines; private fromUpdateCrosslines; private removeEqual; private updateEqualAll; private fromUpdateId; whichDraging$: Observable; entityArrayCollectionOf: ArrayCollectionOf; entityStateStore: ItemStore, true>; entityRingDatabase: Database; entityCrossLineDatabase: Database; entityCrossLinesDatabase: Database; fovDatabese: Database; imageDatabase: Database<{}, {}, {}, {}, import("pistore").Id, true>; selectedEntityStateStore: ItemStore, true>; selectedEntityDatabase: Database<{}, {}, {}, {}, import("pistore").Id, true>; clipBoardStore: ItemStore, true>; clipBoardDatabase: Database; constructor(); addEntity(toAdd: EntityState): void; selectEntity(selected: EntityState): void; selectEntities(selected: EntityState[]): void; clearSelected(): void; clearClipBoard(): void; clear(): void; updateRingEntity(toUpdate: CanvasIdWithModels): void; updateCrosslineEntity(toUpdate: CanvasIdWithModels): void; updateCrosslines(toUpdate: Models): void; updateRings(toUpdate: CanvasIdWithModels[]): void; updateFov(toUpdate: IdWithModel): void; removeEntity(toRemove: EntityState): void; removeEntities(toRemove: EntityState[]): void; removeEntityWithCanvasId(canvasId: string): void; addRing(canvasId: string): void; addLine(canvasId: string): void; addCrossLine(canvasId: string): void; addFov(canvasId: string, center?: Vector2, size?: Vector2): void; cutEntity(canvasId: string): void; copyEntity(canvasId: string): void; pasteEntity(canvasId: string): void; entitiesOfCanvas(canvasId: string): Observable; crosslineOnCanvas(canvasId: string, op: (crossline: CrossLineModel) => T): void; ringOnCanvas(canvasId: string, op: (ring: RingModel) => T): T; fovOnCanvas(canvasId: string, op: (fov: EntityState) => T): T; fovsOnCanvas(canvasId: string, op: (fov: EntityState[]) => T): T; showEntities(): Observable; showClipBoard(): Observable; getRings(): Observable; getRing(canvasId: string): Observable; getCircles(): Observable; getFov(canvasId: string): Observable; getFovs(canvasId: string): Observable; getCrossline(canvasId: string): Observable; getROI(): void; }