import { MonoTypeOperatorFunction, Observable, Subject } from 'rxjs'; import { BaseEvent, LockEvent } from './interfaces/event.interface'; import { ID } from './utils/tool-kit.util'; import { HashMap } from './utils/types'; export declare type BaseEntityType = 'node' | 'link' | 'port' | 'point'; export declare class BaseEntity { protected _id: ID; protected destroyed$: Subject; protected locked$: import("./state/state").ValueState; protected readonly _logPrefix: string; constructor(id?: ID, logPrefix?: string); get id(): ID; set id(id: ID); log(message: string, ...args: any): void; withLog(message: string, ...args: any): any; entityPipe(logMessage?: string): MonoTypeOperatorFunction; getLocked(): boolean; setLocked(locked?: boolean): void; doClone(lookupTable: HashMap, clone: any): void; clone(lookupTable?: HashMap): any; serialize(): { id: string; locked: boolean; }; lockChanges(): Observable; destroy(): void; onEntityDestroy(): Observable>; }