import type { IObjectOption } from '../option'; import type { IRelation } from './i-relation'; import type { IRectangleShape } from './i-rectangle-shape'; export interface IObject extends IRectangleShape { new (option: IObjectOption, hoverOption: IObjectOption, errorOption: IObjectOption, id?: string): IObject; setObjects(objects: Array): void; getObjects(): string; hasObject(object: string): boolean; addObject(object: string): void; removeObject(object: string): void; getObjectLabelPrefix(): string; setObjectLabelPrefix(prefix: string): void; setAttributes(attributes: Array): void; getAttributes(): Array; hasAttribute(attribute: string): boolean; addAttribute(attribute: string): void; removeAttribute(attribute: string): void; getAttribueLabelPrefix(): string; setAttributeLabelPrefix(prefix: string): void; getRelations(): Array; hasRelation(relation: IRelation): boolean; hasAnyRelation(): boolean; addRelation(relation: IRelation): boolean; removeRelation(relation: IRelation): boolean; }