import { IHandledCadObject } from './IHandledCadObject.js'; import { ObjectType } from './Types/ObjectType.js'; import type { CadDocument } from './CadDocument.js'; import type { CadDictionary } from './Objects/CadDictionary.js'; import { ExtendedDataDictionary } from './XData/ExtendedDataDictionary.js'; interface CadObjectTable { tryAdd(entry: T): T; } export declare abstract class CadObject implements IHandledCadObject { document: CadDocument | null; extendedData: ExtendedDataDictionary; handle: number; get hasDynamicSubclass(): boolean; get objectName(): string; abstract get objectType(): ObjectType; owner: IHandledCadObject | null; get reactors(): CadObject[]; abstract get subclassMarker(): string; get xDictionary(): CadDictionary | null; set xDictionary(value: CadDictionary | null); private _reactors; private _xdictionary; constructor(); addReactor(reactor: CadObject): void; cleanReactors(): void; clone(): CadObject; createExtendedDictionary(): CadDictionary; removeReactor(reactor: CadObject): boolean; toString(): string; /** @internal */ assignDocument(doc: CadDocument): void; /** @internal */ unassignDocument(): void; protected static updateCollection(entry: T | null, table: CadObjectTable | null): T | null; static updateCollectionStatic(entry: T | null, table: CadObjectTable | null): T | null; protected updateCollection(entry: T | null, table: CadObjectTable | null): T | null; } export {}; //# sourceMappingURL=CadObject.d.ts.map