import { Observable } from 'rxjs'; import { BaseEntity } from '../base.entity'; import { PaintedEvent, ParentChangeEvent, SelectionEvent } from '../interfaces/event.interface'; export declare class BaseModel extends BaseEntity { protected readonly _type: string; protected parent$: import("../state/state").ValueState; protected selected$: import("../state/state").ValueState; protected hovered$: import("../state/state").ValueState; protected painted$: import("../state/state").ValueState; constructor(type?: string, id?: string, logPrefix?: string); serialize(): { type: string; id: string; locked: boolean; }; getParent(): E; setParent(parent: E): void; parentChanges(): Observable>; getPainted(): boolean; setPainted(painted?: boolean): void; getHovered(): boolean; setHovered(painted?: boolean): void; selectHovered(): Observable; paintChanges(): Observable; getType(): string; getSelected(): boolean; selectSelected(): Observable; setSelected(selected?: boolean): void; selectionChanges(): Observable; getSelectedEntities(): BaseModel[]; }