MLightCAD
    Preparing search index...
    • Composable: useHover

      Tracks which CAD entity is currently hovered in the active view.

      This composable automatically listens to hover and unhover events from the AcApDocManager.instance.curView.events system in the CAD viewer. It exposes reactive state containing:

      • The currently hovered entity (entity)
      • The hovered entity’s object ID (id)
      • The mouse position when hovering (mouse)
      • A boolean indicating if an entity is hovered (hovered)

      When the component using this composable unmounts, all event listeners are automatically cleaned up.


      Returns {
          entity: Ref<
              | {
                  attrs: {
                      attributes: {
                          extensionDictionary?: string;
                          objectId?: string;
                          ownerId?: string;
                          [key: string]: any;
                      };
                      changed: {
                          extensionDictionary?: string;
                          objectId?: string;
                          ownerId?: string;
                          [key: string]: any;
                      };
                      events: {
                          attrChanged: {
                              addEventListener(
                                  listener: (payload: AcCmObjectAttributeChangedEventArgs) => void,
                              ): void;
                              dispatch(
                                  payload?: AcCmObjectAttributeChangedEventArgs<AcDbObjectAttrs>,
                                  ...args: unknown[],
                              ): void;
                              removeEventListener(
                                  listener: (payload: AcCmObjectAttributeChangedEventArgs) => void,
                              ): void;
                              replaceEventListener(
                                  listener: (payload: AcCmObjectAttributeChangedEventArgs) => void,
                              ): void;
                          };
                          modelChanged: {
                              addEventListener(
                                  listener: (payload: AcCmObjectChangedEventArgs) => void,
                              ): void;
                              dispatch(
                                  payload?: AcCmObjectChangedEventArgs<AcDbObjectAttrs>,
                                  ...args: unknown[],
                              ): void;
                              removeEventListener(
                                  listener: (payload: AcCmObjectChangedEventArgs) => void,
                              ): void;
                              replaceEventListener(
                                  listener: (payload: AcCmObjectChangedEventArgs) => void,
                              ): void;
                          };
                      };
                      changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                      clone(): AcCmObject<AcDbObjectAttrs>;
                      get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                      has(key: string): boolean;
                      hasChanged(key?: string): boolean;
                      previous<A extends string>(
                          key: A,
                      ): AcDbObjectAttrs[A] | null | undefined;
                      previousAttributes(): Partial<T>;
                      set<A extends string>(
                          key: A,
                          val?: AcDbObjectAttrs[A],
                          options?: AcCmObjectOptions,
                      ): this;
                      set(key: Partial<T>, options?: AcCmObjectOptions): this;
                  };
                  color: {
                      blue: number
                      | undefined;
                      colorIndex: number | undefined;
                      colorMethod: AcCmColorMethod;
                      colorName: string | undefined;
                      cssColor: string | undefined;
                      green: number | undefined;
                      hexColor: string | undefined;
                      isByACI: boolean;
                      isByBlock: boolean;
                      isByColor: boolean;
                      isByLayer: boolean;
                      isForeground: boolean;
                      red: number | undefined;
                      RGB: number | undefined;
                      clone(): AcCmColor;
                      copy(other: AcCmColor): this;
                      cssColorAlpha(alpha: number): string | undefined;
                      equals(other: AcCmColor): boolean;
                      setByBlock(value?: number): this;
                      setByLayer(value?: number): this;
                      setForeground(): this;
                      setRGB(r: number, g: number, b: number): this;
                      setRGBFromCss(cssString: string): this;
                      setRGBValue(value: number | null | undefined): this;
                      setScalar(scalar: number): this;
                      toString(): string;
                  };
                  database: {
                      angbase: number;
                      angdir: number;
                      attrs: {
                          attributes: {
                              extensionDictionary?: string;
                              objectId?: string;
                              ownerId?: string;
                              [key: string]: any;
                          };
                          changed: {
                              extensionDictionary?: string;
                              objectId?: string;
                              ownerId?: string;
                              [key: string]: any;
                          };
                          events: {
                              attrChanged: {
                                  addEventListener(
                                      listener: (payload: AcCmObjectAttributeChangedEventArgs) => void,
                                  ): void;
                                  dispatch(
                                      payload?: AcCmObjectAttributeChangedEventArgs<AcDbObjectAttrs>,
                                      ...args: unknown[],
                                  ): void;
                                  removeEventListener(
                                      listener: (payload: AcCmObjectAttributeChangedEventArgs) => void,
                                  ): void;
                                  replaceEventListener(
                                      listener: (payload: AcCmObjectAttributeChangedEventArgs) => void,
                                  ): void;
                              };
                              modelChanged: {
                                  addEventListener(
                                      listener: (payload: AcCmObjectChangedEventArgs) => void,
                                  ): void;
                                  dispatch(
                                      payload?: AcCmObjectChangedEventArgs<AcDbObjectAttrs>,
                                      ...args: unknown[],
                                  ): void;
                                  removeEventListener(
                                      listener: (payload: AcCmObjectChangedEventArgs) => void,
                                  ): void;
                                  replaceEventListener(
                                      listener: (payload: AcCmObjectChangedEventArgs) => void,
                                  ): void;
                              };
                          };
                          changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                          clone(): AcCmObject<AcDbObjectAttrs>;
                          get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                          has(key: string): boolean;
                          hasChanged(key?: string): boolean;
                          previous<A extends string>(
                              key: A,
                          ): AcDbObjectAttrs[A] | null | undefined;
                          previousAttributes(): Partial<T>;
                          set<A extends string>(
                              key: A,
                              val?: AcDbObjectAttrs[A],
                              options?: AcCmObjectOptions,
                          ): this;
                          set(key: Partial<T>, options?: AcCmObjectOptions): this;
                      };
                      aunits: number;
                      auprec: number;
                      cecolor: {
                          blue: number
                          | undefined;
                          colorIndex: number | undefined;
                          colorMethod: AcCmColorMethod;
                          colorName: string | undefined;
                          cssColor: string | undefined;
                          green: number | undefined;
                          hexColor: string | undefined;
                          isByACI: boolean;
                          isByBlock: boolean;
                          isByColor: boolean;
                          isByLayer: boolean;
                          isForeground: boolean;
                          red: number | undefined;
                          RGB: number | undefined;
                          clone(): AcCmColor;
                          copy(other: AcCmColor): this;
                          cssColorAlpha(alpha: number): string | undefined;
                          equals(other: AcCmColor): boolean;
                          setByBlock(value?: number): this;
                          setByLayer(value?: number): this;
                          setForeground(): this;
                          setRGB(r: number, g: number, b: number): this;
                          setRGBFromCss(cssString: string): this;
                          setRGBValue(value: number | null | undefined): this;
                          setScalar(scalar: number): this;
                          toString(): string;
                      };
                      celtscale: number;
                      celtype: string;
                      celweight: AcGiLineWeight;
                      cetransparency: {
                          alpha: number;
                          isByAlpha: boolean;
                          isByBlock: boolean;
                          isByLayer: boolean;
                          isClear: boolean;
                          isInvalid: boolean;
                          isSolid: boolean;
                          method: AcCmTransparencyMethod;
                          percentage: number
                          | undefined;
                          clone(): AcCmTransparency;
                          equals(other: AcCmTransparency): boolean;
                          serialize(): number;
                          toString(): string;
                      };
                      classes: readonly {
                          appName: string;
                          cppClassName: string;
                          instanceCount: number;
                          isEntity: boolean;
                          name: string;
                          proxyFlag: number;
                          wasProxy: boolean;
                      }[];
                      clayer: string;
                      cmleaderstyle: string;
                      cmlscale: number;
                      cmlstyle: string;
                      currentSpaceId: string;
                      database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                      dimstyle: string;
                      drawNoPlotLayers: boolean;
                      dwgname: string;
                      events: {
                          dictObjectErased: {
                              addEventListener(
                                  listener: (payload: AcDbDictObjectEventArgs) => void,
                              ): void;
                              dispatch(payload?: AcDbDictObjectEventArgs, ...args: unknown[]): void;
                              removeEventListener(
                                  listener: (payload: AcDbDictObjectEventArgs) => void,
                              ): void;
                              replaceEventListener(
                                  listener: (payload: AcDbDictObjectEventArgs) => void,
                              ): void;
                          };
                          dictObjetSet: {
                              addEventListener(
                                  listener: (payload: AcDbDictObjectEventArgs) => void,
                              ): void;
                              dispatch(payload?: AcDbDictObjectEventArgs, ...args: unknown[]): void;
                              removeEventListener(
                                  listener: (payload: AcDbDictObjectEventArgs) => void,
                              ): void;
                              replaceEventListener(
                                  listener: (payload: AcDbDictObjectEventArgs) => void,
                              ): void;
                          };
                          entityAppended: {
                              addEventListener(
                                  listener: (payload: AcDbEntityEventArgs) => void,
                              ): void;
                              dispatch(payload?: AcDbEntityEventArgs, ...args: unknown[]): void;
                              removeEventListener(
                                  listener: (payload: AcDbEntityEventArgs) => void,
                              ): void;
                              replaceEventListener(
                                  listener: (payload: AcDbEntityEventArgs) => void,
                              ): void;
                          };
                          entityErased: {
                              addEventListener(
                                  listener: (payload: AcDbEntityEventArgs) => void,
                              ): void;
                              dispatch(payload?: AcDbEntityEventArgs, ...args: unknown[]): void;
                              removeEventListener(
                                  listener: (payload: AcDbEntityEventArgs) => void,
                              ): void;
                              replaceEventListener(
                                  listener: (payload: AcDbEntityEventArgs) => void,
                              ): void;
                          };
                          entityModified: {
                              addEventListener(
                                  listener: (payload: AcDbEntityEventArgs) => void,
                              ): void;
                              dispatch(payload?: AcDbEntityEventArgs, ...args: unknown[]): void;
                              removeEventListener(
                                  listener: (payload: AcDbEntityEventArgs) => void,
                              ): void;
                              replaceEventListener(
                                  listener: (payload: AcDbEntityEventArgs) => void,
                              ): void;
                          };
                          layerAppended: {
                              addEventListener(
                                  listener: (payload: AcDbLayerEventArgs) => void,
                              ): void;
                              dispatch(payload?: AcDbLayerEventArgs, ...args: unknown[]): void;
                              removeEventListener(
                                  listener: (payload: AcDbLayerEventArgs) => void,
                              ): void;
                              replaceEventListener(
                                  listener: (payload: AcDbLayerEventArgs) => void,
                              ): void;
                          };
                          layerErased: {
                              addEventListener(
                                  listener: (payload: AcDbLayerEventArgs) => void,
                              ): void;
                              dispatch(payload?: AcDbLayerEventArgs, ...args: unknown[]): void;
                              removeEventListener(
                                  listener: (payload: AcDbLayerEventArgs) => void,
                              ): void;
                              replaceEventListener(
                                  listener: (payload: AcDbLayerEventArgs) => void,
                              ): void;
                          };
                          layerModified: {
                              addEventListener(
                                  listener: (payload: AcDbLayerModifiedEventArgs) => void,
                              ): void;
                              dispatch(
                                  payload?: AcDbLayerModifiedEventArgs,
                                  ...args: unknown[],
                              ): void;
                              removeEventListener(
                                  listener: (payload: AcDbLayerModifiedEventArgs) => void,
                              ): void;
                              replaceEventListener(
                                  listener: (payload: AcDbLayerModifiedEventArgs) => void,
                              ): void;
                          };
                          openFailed: {
                              addEventListener(
                                  listener: (payload: AcDbOpenFailedEventArgs) => void,
                              ): void;
                              dispatch(payload?: AcDbOpenFailedEventArgs, ...args: unknown[]): void;
                              removeEventListener(
                                  listener: (payload: AcDbOpenFailedEventArgs) => void,
                              ): void;
                              replaceEventListener(
                                  listener: (payload: AcDbOpenFailedEventArgs) => void,
                              ): void;
                          };
                          openProgress: {
                              addEventListener(
                                  listener: (payload: AcDbProgressdEventArgs) => void,
                              ): void;
                              dispatch(payload?: AcDbProgressdEventArgs, ...args: unknown[]): void;
                              removeEventListener(
                                  listener: (payload: AcDbProgressdEventArgs) => void,
                              ): void;
                              replaceEventListener(
                                  listener: (payload: AcDbProgressdEventArgs) => void,
                              ): void;
                          };
                      };
                      extensionDictionary: string
                      | undefined;
                      extents: {
                          center: {
                              x: number;
                              y: number;
                              z: number;
                              "[iterator]"(): Generator<number, void, unknown>;
                              add(v: AcGeVectorLike): this;
                              addScalar(s: number): this;
                              addScaledVector(v: AcGeVector3dLike, s: number): this;
                              addVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                              angleTo(v: AcGeVector3d): number;
                              applyAxisAngle(axis: AcGeVector3dLike, angle: number): this;
                              applyEuler(euler: AcGeEuler): this;
                              applyMatrix3(m: AcGeMatrix2d): this;
                              applyMatrix4(m: AcGeMatrix3d): this;
                              applyNormalMatrix(m: AcGeMatrix2d): this;
                              applyQuaternion(q: AcGeQuaternion): this;
                              ceil(): this;
                              clamp(min: AcGeVector3dLike, max: AcGeVector3dLike): this;
                              clampLength(min: number, max: number): this;
                              clampScalar(minVal: number, maxVal: number): this;
                              clone(): AcGeVector3d;
                              copy(v: AcGeVectorLike): this;
                              cross(v: AcGeVector3dLike): this;
                              crossVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                              distanceTo(v: AcGeVector3dLike): number;
                              distanceToSquared(v: AcGeVector3dLike): number;
                              divide(v: AcGeVector3dLike): this;
                              divideScalar(scalar: number): this;
                              dot(v: AcGeVector3dLike): number;
                              equals(v: AcGeVector3dLike): boolean;
                              floor(): this;
                              fromArray(array: number[], offset?: number): this;
                              getComponent(index: number): number;
                              isParallelTo(vec: AcGeVector3d): boolean;
                              length(): number;
                              lengthSq(): number;
                              lerp(v: AcGeVector3dLike, alpha: number): this;
                              lerpVectors(
                                  v1: AcGeVector3dLike,
                                  v2: AcGeVector3dLike,
                                  alpha: number,
                              ): this;
                              manhattanDistanceTo(v: AcGeVector3dLike): number;
                              manhattanLength(): number;
                              max(v: AcGeVector3dLike): this;
                              min(v: AcGeVector3dLike): this;
                              multiply(v: AcGeVector3dLike): this;
                              multiplyScalar(scalar: number): this;
                              multiplyVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                              negate(): this;
                              normalize(): this;
                              projectOnPlane(planeNormal: AcGeVector3d): this;
                              projectOnVector(v: AcGeVector3d): this;
                              random(): this;
                              randomDirection(): this;
                              reflect(normal: AcGeVector3dLike): this;
                              round(): this;
                              roundToZero(): this;
                              set(x: number, y: number, z: number): this;
                              setComponent(index: number, value: number): this;
                              setFromMatrix3Column(m: AcGeMatrix2d, index: number): this;
                              setFromMatrixColumn(m: AcGeMatrix3d, index: number): this;
                              setFromMatrixPosition(m: AcGeMatrix3d): this;
                              setFromMatrixScale(m: AcGeMatrix3d): this;
                              setLength(l: number): this;
                              setScalar(scalar: number): this;
                              setX(x: number): this;
                              setY(y: number): this;
                              setZ(z: number): this;
                              sub(v: AcGeVector3dLike): this;
                              subScalar(s: number): this;
                              subVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                              toArray(
                                  array?: number[] | Float32Array<ArrayBufferLike>,
                                  offset?: number,
                              ): number[] | Float32Array<ArrayBufferLike>;
                              transformDirection(m: AcGeMatrix3d): this;
                          };
                          max: {
                              x: number;
                              y: number;
                              z: number;
                              "[iterator]"(): Generator<number, void, unknown>;
                              add(v: AcGeVectorLike): this;
                              addScalar(s: number): this;
                              addScaledVector(v: AcGeVector3dLike, s: number): this;
                              addVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                              angleTo(v: AcGeVector3d): number;
                              applyAxisAngle(axis: AcGeVector3dLike, angle: number): this;
                              applyEuler(euler: AcGeEuler): this;
                              applyMatrix3(m: AcGeMatrix2d): this;
                              applyMatrix4(m: AcGeMatrix3d): this;
                              applyNormalMatrix(m: AcGeMatrix2d): this;
                              applyQuaternion(q: AcGeQuaternion): this;
                              ceil(): this;
                              clamp(min: AcGeVector3dLike, max: AcGeVector3dLike): this;
                              clampLength(min: number, max: number): this;
                              clampScalar(minVal: number, maxVal: number): this;
                              clone(): AcGeVector3d;
                              copy(v: AcGeVectorLike): this;
                              cross(v: AcGeVector3dLike): this;
                              crossVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                              distanceTo(v: AcGeVector3dLike): number;
                              distanceToSquared(v: AcGeVector3dLike): number;
                              divide(v: AcGeVector3dLike): this;
                              divideScalar(scalar: number): this;
                              dot(v: AcGeVector3dLike): number;
                              equals(v: AcGeVector3dLike): boolean;
                              floor(): this;
                              fromArray(array: number[], offset?: number): this;
                              getComponent(index: number): number;
                              isParallelTo(vec: AcGeVector3d): boolean;
                              length(): number;
                              lengthSq(): number;
                              lerp(v: AcGeVector3dLike, alpha: number): this;
                              lerpVectors(
                                  v1: AcGeVector3dLike,
                                  v2: AcGeVector3dLike,
                                  alpha: number,
                              ): this;
                              manhattanDistanceTo(v: AcGeVector3dLike): number;
                              manhattanLength(): number;
                              max(v: AcGeVector3dLike): this;
                              min(v: AcGeVector3dLike): this;
                              multiply(v: AcGeVector3dLike): this;
                              multiplyScalar(scalar: number): this;
                              multiplyVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                              negate(): this;
                              normalize(): this;
                              projectOnPlane(planeNormal: AcGeVector3d): this;
                              projectOnVector(v: AcGeVector3d): this;
                              random(): this;
                              randomDirection(): this;
                              reflect(normal: AcGeVector3dLike): this;
                              round(): this;
                              roundToZero(): this;
                              set(x: number, y: number, z: number): this;
                              setComponent(index: number, value: number): this;
                              setFromMatrix3Column(m: AcGeMatrix2d, index: number): this;
                              setFromMatrixColumn(m: AcGeMatrix3d, index: number): this;
                              setFromMatrixPosition(m: AcGeMatrix3d): this;
                              setFromMatrixScale(m: AcGeMatrix3d): this;
                              setLength(l: number): this;
                              setScalar(scalar: number): this;
                              setX(x: number): this;
                              setY(y: number): this;
                              setZ(z: number): this;
                              sub(v: AcGeVector3dLike): this;
                              subScalar(s: number): this;
                              subVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                              toArray(
                                  array?: number[] | Float32Array<ArrayBufferLike>,
                                  offset?: number,
                              ): number[] | Float32Array<ArrayBufferLike>;
                              transformDirection(m: AcGeMatrix3d): this;
                          };
                          min: {
                              x: number;
                              y: number;
                              z: number;
                              "[iterator]"(): Generator<number, void, unknown>;
                              add(v: AcGeVectorLike): this;
                              addScalar(s: number): this;
                              addScaledVector(v: AcGeVector3dLike, s: number): this;
                              addVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                              angleTo(v: AcGeVector3d): number;
                              applyAxisAngle(axis: AcGeVector3dLike, angle: number): this;
                              applyEuler(euler: AcGeEuler): this;
                              applyMatrix3(m: AcGeMatrix2d): this;
                              applyMatrix4(m: AcGeMatrix3d): this;
                              applyNormalMatrix(m: AcGeMatrix2d): this;
                              applyQuaternion(q: AcGeQuaternion): this;
                              ceil(): this;
                              clamp(min: AcGeVector3dLike, max: AcGeVector3dLike): this;
                              clampLength(min: number, max: number): this;
                              clampScalar(minVal: number, maxVal: number): this;
                              clone(): AcGeVector3d;
                              copy(v: AcGeVectorLike): this;
                              cross(v: AcGeVector3dLike): this;
                              crossVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                              distanceTo(v: AcGeVector3dLike): number;
                              distanceToSquared(v: AcGeVector3dLike): number;
                              divide(v: AcGeVector3dLike): this;
                              divideScalar(scalar: number): this;
                              dot(v: AcGeVector3dLike): number;
                              equals(v: AcGeVector3dLike): boolean;
                              floor(): this;
                              fromArray(array: number[], offset?: number): this;
                              getComponent(index: number): number;
                              isParallelTo(vec: AcGeVector3d): boolean;
                              length(): number;
                              lengthSq(): number;
                              lerp(v: AcGeVector3dLike, alpha: number): this;
                              lerpVectors(
                                  v1: AcGeVector3dLike,
                                  v2: AcGeVector3dLike,
                                  alpha: number,
                              ): this;
                              manhattanDistanceTo(v: AcGeVector3dLike): number;
                              manhattanLength(): number;
                              max(v: AcGeVector3dLike): this;
                              min(v: AcGeVector3dLike): this;
                              multiply(v: AcGeVector3dLike): this;
                              multiplyScalar(scalar: number): this;
                              multiplyVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                              negate(): this;
                              normalize(): this;
                              projectOnPlane(planeNormal: AcGeVector3d): this;
                              projectOnVector(v: AcGeVector3d): this;
                              random(): this;
                              randomDirection(): this;
                              reflect(normal: AcGeVector3dLike): this;
                              round(): this;
                              roundToZero(): this;
                              set(x: number, y: number, z: number): this;
                              setComponent(index: number, value: number): this;
                              setFromMatrix3Column(m: AcGeMatrix2d, index: number): this;
                              setFromMatrixColumn(m: AcGeMatrix3d, index: number): this;
                              setFromMatrixPosition(m: AcGeMatrix3d): this;
                              setFromMatrixScale(m: AcGeMatrix3d): this;
                              setLength(l: number): this;
                              setScalar(scalar: number): this;
                              setX(x: number): this;
                              setY(y: number): this;
                              setZ(z: number): this;
                              sub(v: AcGeVector3dLike): this;
                              subScalar(s: number): this;
                              subVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                              toArray(
                                  array?: number[] | Float32Array<ArrayBufferLike>,
                                  offset?: number,
                              ): number[] | Float32Array<ArrayBufferLike>;
                              transformDirection(m: AcGeMatrix3d): this;
                          };
                          size: {
                              x: number;
                              y: number;
                              z: number;
                              "[iterator]"(): Generator<number, void, unknown>;
                              add(v: AcGeVectorLike): this;
                              addScalar(s: number): this;
                              addScaledVector(v: AcGeVector3dLike, s: number): this;
                              addVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                              angleTo(v: AcGeVector3d): number;
                              applyAxisAngle(axis: AcGeVector3dLike, angle: number): this;
                              applyEuler(euler: AcGeEuler): this;
                              applyMatrix3(m: AcGeMatrix2d): this;
                              applyMatrix4(m: AcGeMatrix3d): this;
                              applyNormalMatrix(m: AcGeMatrix2d): this;
                              applyQuaternion(q: AcGeQuaternion): this;
                              ceil(): this;
                              clamp(min: AcGeVector3dLike, max: AcGeVector3dLike): this;
                              clampLength(min: number, max: number): this;
                              clampScalar(minVal: number, maxVal: number): this;
                              clone(): AcGeVector3d;
                              copy(v: AcGeVectorLike): this;
                              cross(v: AcGeVector3dLike): this;
                              crossVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                              distanceTo(v: AcGeVector3dLike): number;
                              distanceToSquared(v: AcGeVector3dLike): number;
                              divide(v: AcGeVector3dLike): this;
                              divideScalar(scalar: number): this;
                              dot(v: AcGeVector3dLike): number;
                              equals(v: AcGeVector3dLike): boolean;
                              floor(): this;
                              fromArray(array: number[], offset?: number): this;
                              getComponent(index: number): number;
                              isParallelTo(vec: AcGeVector3d): boolean;
                              length(): number;
                              lengthSq(): number;
                              lerp(v: AcGeVector3dLike, alpha: number): this;
                              lerpVectors(
                                  v1: AcGeVector3dLike,
                                  v2: AcGeVector3dLike,
                                  alpha: number,
                              ): this;
                              manhattanDistanceTo(v: AcGeVector3dLike): number;
                              manhattanLength(): number;
                              max(v: AcGeVector3dLike): this;
                              min(v: AcGeVector3dLike): this;
                              multiply(v: AcGeVector3dLike): this;
                              multiplyScalar(scalar: number): this;
                              multiplyVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                              negate(): this;
                              normalize(): this;
                              projectOnPlane(planeNormal: AcGeVector3d): this;
                              projectOnVector(v: AcGeVector3d): this;
                              random(): this;
                              randomDirection(): this;
                              reflect(normal: AcGeVector3dLike): this;
                              round(): this;
                              roundToZero(): this;
                              set(x: number, y: number, z: number): this;
                              setComponent(index: number, value: number): this;
                              setFromMatrix3Column(m: AcGeMatrix2d, index: number): this;
                              setFromMatrixColumn(m: AcGeMatrix3d, index: number): this;
                              setFromMatrixPosition(m: AcGeMatrix3d): this;
                              setFromMatrixScale(m: AcGeMatrix3d): this;
                              setLength(l: number): this;
                              setScalar(scalar: number): this;
                              setX(x: number): this;
                              setY(y: number): this;
                              setZ(z: number): this;
                              sub(v: AcGeVector3dLike): this;
                              subScalar(s: number): this;
                              subVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                              toArray(
                                  array?: number[] | Float32Array<ArrayBufferLike>,
                                  offset?: number,
                              ): number[] | Float32Array<ArrayBufferLike>;
                              transformDirection(m: AcGeMatrix3d): this;
                          };
                          applyMatrix4(matrix: AcGeMatrix3d): this;
                          clampPoint(point: AcGeVector3dLike, target: AcGeVector3d): AcGeVector3d;
                          clone(): AcGeBox3d;
                          containsBox(box: AcGeBox3d): boolean;
                          containsPoint(point: AcGeVector3dLike): boolean;
                          copy(box: AcGeBox3d): this;
                          distanceToPoint(point: AcGeVector3dLike): number;
                          equals(box: AcGeBox3d): boolean;
                          expandByPoint(point: AcGeVector3dLike): this;
                          expandByScalar(scalar: number): this;
                          expandByVector(vector: AcGeVector3dLike): this;
                          getCenter(target: AcGeVector3d): AcGeVector3d;
                          getParameter(
                              point: AcGeVector3dLike,
                              target: AcGeVector3d,
                          ): AcGeVector3d;
                          getSize(target: AcGeVector3d): AcGeVector3d;
                          intersect(box: AcGeBox3d): this;
                          intersectsBox(box: AcGeBox3d): boolean;
                          intersectsPlane(plane: AcGePlane): boolean;
                          isEmpty(): boolean;
                          makeEmpty(): this;
                          set(min: AcGeVector3dLike, max: AcGeVector3dLike): this;
                          setFromArray(array: number[]): this;
                          setFromCenterAndSize(
                              center: AcGeVector3dLike,
                              size: AcGeVector3dLike,
                          ): this;
                          setFromPoints(points: AcGeVector3dLike[]): this;
                          translate(offset: AcGeVector3dLike): this;
                          union(box: AcGeBox3d): this;
                      };
                      extmax: {
                          x: number;
                          y: number;
                          z: number;
                          "[iterator]"(): Generator<number, void, unknown>;
                          add(v: AcGeVectorLike): this;
                          addScalar(s: number): this;
                          addScaledVector(v: AcGeVector3dLike, s: number): this;
                          addVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                          angleTo(v: AcGeVector3d): number;
                          applyAxisAngle(axis: AcGeVector3dLike, angle: number): this;
                          applyEuler(euler: AcGeEuler): this;
                          applyMatrix3(m: AcGeMatrix2d): this;
                          applyMatrix4(m: AcGeMatrix3d): this;
                          applyNormalMatrix(m: AcGeMatrix2d): this;
                          applyQuaternion(q: AcGeQuaternion): this;
                          ceil(): this;
                          clamp(min: AcGeVector3dLike, max: AcGeVector3dLike): this;
                          clampLength(min: number, max: number): this;
                          clampScalar(minVal: number, maxVal: number): this;
                          clone(): AcGePoint3d;
                          copy(v: AcGeVectorLike): this;
                          cross(v: AcGeVector3dLike): this;
                          crossVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                          distanceTo(v: AcGeVector3dLike): number;
                          distanceToSquared(v: AcGeVector3dLike): number;
                          divide(v: AcGeVector3dLike): this;
                          divideScalar(scalar: number): this;
                          dot(v: AcGeVector3dLike): number;
                          equals(v: AcGeVector3dLike): boolean;
                          floor(): this;
                          fromArray(array: number[], offset?: number): this;
                          getComponent(index: number): number;
                          isParallelTo(vec: AcGeVector3d): boolean;
                          length(): number;
                          lengthSq(): number;
                          lerp(v: AcGeVector3dLike, alpha: number): this;
                          lerpVectors(
                              v1: AcGeVector3dLike,
                              v2: AcGeVector3dLike,
                              alpha: number,
                          ): this;
                          manhattanDistanceTo(v: AcGeVector3dLike): number;
                          manhattanLength(): number;
                          max(v: AcGeVector3dLike): this;
                          min(v: AcGeVector3dLike): this;
                          multiply(v: AcGeVector3dLike): this;
                          multiplyScalar(scalar: number): this;
                          multiplyVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                          negate(): this;
                          normalize(): this;
                          projectOnPlane(planeNormal: AcGeVector3d): this;
                          projectOnVector(v: AcGeVector3d): this;
                          random(): this;
                          randomDirection(): this;
                          reflect(normal: AcGeVector3dLike): this;
                          round(): this;
                          roundToZero(): this;
                          set(x: number, y: number, z: number): this;
                          setComponent(index: number, value: number): this;
                          setFromMatrix3Column(m: AcGeMatrix2d, index: number): this;
                          setFromMatrixColumn(m: AcGeMatrix3d, index: number): this;
                          setFromMatrixPosition(m: AcGeMatrix3d): this;
                          setFromMatrixScale(m: AcGeMatrix3d): this;
                          setLength(l: number): this;
                          setScalar(scalar: number): this;
                          setX(x: number): this;
                          setY(y: number): this;
                          setZ(z: number): this;
                          sub(v: AcGeVector3dLike): this;
                          subScalar(s: number): this;
                          subVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                          toArray(
                              array?: number[] | Float32Array<ArrayBufferLike>,
                              offset?: number,
                          ): number[] | Float32Array<ArrayBufferLike>;
                          transformDirection(m: AcGeMatrix3d): this;
                      };
                      extmin: {
                          x: number;
                          y: number;
                          z: number;
                          "[iterator]"(): Generator<number, void, unknown>;
                          add(v: AcGeVectorLike): this;
                          addScalar(s: number): this;
                          addScaledVector(v: AcGeVector3dLike, s: number): this;
                          addVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                          angleTo(v: AcGeVector3d): number;
                          applyAxisAngle(axis: AcGeVector3dLike, angle: number): this;
                          applyEuler(euler: AcGeEuler): this;
                          applyMatrix3(m: AcGeMatrix2d): this;
                          applyMatrix4(m: AcGeMatrix3d): this;
                          applyNormalMatrix(m: AcGeMatrix2d): this;
                          applyQuaternion(q: AcGeQuaternion): this;
                          ceil(): this;
                          clamp(min: AcGeVector3dLike, max: AcGeVector3dLike): this;
                          clampLength(min: number, max: number): this;
                          clampScalar(minVal: number, maxVal: number): this;
                          clone(): AcGePoint3d;
                          copy(v: AcGeVectorLike): this;
                          cross(v: AcGeVector3dLike): this;
                          crossVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                          distanceTo(v: AcGeVector3dLike): number;
                          distanceToSquared(v: AcGeVector3dLike): number;
                          divide(v: AcGeVector3dLike): this;
                          divideScalar(scalar: number): this;
                          dot(v: AcGeVector3dLike): number;
                          equals(v: AcGeVector3dLike): boolean;
                          floor(): this;
                          fromArray(array: number[], offset?: number): this;
                          getComponent(index: number): number;
                          isParallelTo(vec: AcGeVector3d): boolean;
                          length(): number;
                          lengthSq(): number;
                          lerp(v: AcGeVector3dLike, alpha: number): this;
                          lerpVectors(
                              v1: AcGeVector3dLike,
                              v2: AcGeVector3dLike,
                              alpha: number,
                          ): this;
                          manhattanDistanceTo(v: AcGeVector3dLike): number;
                          manhattanLength(): number;
                          max(v: AcGeVector3dLike): this;
                          min(v: AcGeVector3dLike): this;
                          multiply(v: AcGeVector3dLike): this;
                          multiplyScalar(scalar: number): this;
                          multiplyVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                          negate(): this;
                          normalize(): this;
                          projectOnPlane(planeNormal: AcGeVector3d): this;
                          projectOnVector(v: AcGeVector3d): this;
                          random(): this;
                          randomDirection(): this;
                          reflect(normal: AcGeVector3dLike): this;
                          round(): this;
                          roundToZero(): this;
                          set(x: number, y: number, z: number): this;
                          setComponent(index: number, value: number): this;
                          setFromMatrix3Column(m: AcGeMatrix2d, index: number): this;
                          setFromMatrixColumn(m: AcGeMatrix3d, index: number): this;
                          setFromMatrixPosition(m: AcGeMatrix3d): this;
                          setFromMatrixScale(m: AcGeMatrix3d): this;
                          setLength(l: number): this;
                          setScalar(scalar: number): this;
                          setX(x: number): this;
                          setY(y: number): this;
                          setZ(z: number): this;
                          sub(v: AcGeVector3dLike): this;
                          subScalar(s: number): this;
                          subVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                          toArray(
                              array?: number[] | Float32Array<ArrayBufferLike>,
                              offset?: number,
                          ): number[] | Float32Array<ArrayBufferLike>;
                          transformDirection(m: AcGeMatrix3d): this;
                      };
                      formatter: {
                          formatAngle(radians: number, options?: AcDbFormatterOptions): string;
                          formatLength(value: number, options?: AcDbFormatterOptions): string;
                          formatPoint2d(
                              point: AcGePoint2d,
                              options?: AcDbFormatterOptions,
                          ): string;
                          formatPoint3d(
                              point: AcGePoint3d,
                              options?: AcDbFormatterOptions,
                          ): string;
                      };
                      hpbackgroundcolor: {
                          blue: number
                          | undefined;
                          colorIndex: number | undefined;
                          colorMethod: AcCmColorMethod;
                          colorName: string | undefined;
                          cssColor: string | undefined;
                          green: number | undefined;
                          hexColor: string | undefined;
                          isByACI: boolean;
                          isByBlock: boolean;
                          isByColor: boolean;
                          isByLayer: boolean;
                          isForeground: boolean;
                          red: number | undefined;
                          RGB: number | undefined;
                          clone(): AcCmColor;
                          copy(other: AcCmColor): this;
                          cssColorAlpha(alpha: number): string | undefined;
                          equals(other: AcCmColor): boolean;
                          setByBlock(value?: number): this;
                          setByLayer(value?: number): this;
                          setForeground(): this;
                          setRGB(r: number, g: number, b: number): this;
                          setRGBFromCss(cssString: string): this;
                          setRGBValue(value: number | null | undefined): this;
                          setScalar(scalar: number): this;
                          toString(): string;
                      };
                      hpcolor: {
                          blue: number
                          | undefined;
                          colorIndex: number | undefined;
                          colorMethod: AcCmColorMethod;
                          colorName: string | undefined;
                          cssColor: string | undefined;
                          green: number | undefined;
                          hexColor: string | undefined;
                          isByACI: boolean;
                          isByBlock: boolean;
                          isByColor: boolean;
                          isByLayer: boolean;
                          isForeground: boolean;
                          red: number | undefined;
                          RGB: number | undefined;
                          clone(): AcCmColor;
                          copy(other: AcCmColor): this;
                          cssColorAlpha(alpha: number): string | undefined;
                          equals(other: AcCmColor): boolean;
                          setByBlock(value?: number): this;
                          setByLayer(value?: number): this;
                          setForeground(): this;
                          setRGB(r: number, g: number, b: number): this;
                          setRGBFromCss(cssString: string): this;
                          setRGBValue(value: number | null | undefined): this;
                          setScalar(scalar: number): this;
                          toString(): string;
                      };
                      hplayer: string;
                      hptransparency: {
                          alpha: number;
                          isByAlpha: boolean;
                          isByBlock: boolean;
                          isByLayer: boolean;
                          isClear: boolean;
                          isInvalid: boolean;
                          isSolid: boolean;
                          method: AcCmTransparencyMethod;
                          percentage: number
                          | undefined;
                          clone(): AcCmTransparency;
                          equals(other: AcCmTransparency): boolean;
                          serialize(): number;
                          toString(): string;
                      };
                      insunits: number;
                      isTemp: any;
                      lastOpenError: AcDbOpenDatabaseError
                      | null;
                      layerFilters: {
                          current:
                              | {
                                  filterExpression: string;
                                  name: string;
                                  nestedFilters: readonly (
                                      { name: string; setName: (value: string) => boolean; filterExpression: string; setFilterExpression: (expression: string) => boolean; filterExpressionTree: () => AcLyBoolExpr | null; ... 18 more ...; showEditor: () => AcLyLayerFilterDialogResult; }
                                  )[];
                                  addNested(filter: AcLyLayerFilter): boolean;
                                  allowDelete(): boolean;
                                  allowNested(): boolean;
                                  allowRename(): boolean;
                                  compareTo(other: AcLyLayerFilter | null | undefined): boolean;
                                  dynamicallyGenerated(): boolean;
                                  filter(layer: AcDbLayerTableRecord): boolean;
                                  filterExpressionTree(): AcLyBoolExpr | null;
                                  generateNested(): boolean;
                                  getNestedFilters(): readonly AcLyLayerFilter[];
                                  isIdFilter(): boolean;
                                  isProxy(): boolean;
                                  parent(): AcLyLayerFilter | null;
                                  removeNested(filter: AcLyLayerFilter): boolean;
                                  setAllowDelete(value: boolean): void;
                                  setAllowRename(value: boolean): void;
                                  setDynamicallyGenerated(value: boolean): void;
                                  setFilterExpression(expression: string): boolean;
                                  setIsProxy(value: boolean): void;
                                  setName(value: string): boolean;
                                  showEditor(): AcLyLayerFilterDialogResult;
                              }
                              | null;
                          root: {
                              filterExpression: string;
                              name: string;
                              nestedFilters: readonly (
                                  { name: string; setName: (value: string) => boolean; filterExpression: string; setFilterExpression: (expression: string) => boolean; filterExpressionTree: () => AcLyBoolExpr | null; ... 18 more ...; showEditor: () => AcLyLayerFilterDialogResult; }
                              )[];
                              addNested(filter: AcLyLayerFilter): boolean;
                              allowDelete(): boolean;
                              allowNested(): boolean;
                              allowRename(): boolean;
                              compareTo(other: AcLyLayerFilter | null | undefined): boolean;
                              dynamicallyGenerated(): boolean;
                              filter(layer: AcDbLayerTableRecord): boolean;
                              filterExpressionTree(): AcLyBoolExpr | null;
                              generateNested(): boolean;
                              getNestedFilters(): readonly AcLyLayerFilter[];
                              isIdFilter(): boolean;
                              isProxy(): boolean;
                              parent(): AcLyLayerFilter | null;
                              removeNested(filter: AcLyLayerFilter): boolean;
                              setAllowDelete(value: boolean): void;
                              setAllowRename(value: boolean): void;
                              setDynamicallyGenerated(value: boolean): void;
                              setFilterExpression(expression: string): boolean;
                              setIsProxy(value: boolean): void;
                              setName(value: string): boolean;
                              showEditor(): AcLyLayerFilterDialogResult;
                          };
                          clone(): AcLyLayerFilterTree;
                      };
                      ltscale: number;
                      lunits: number;
                      luprec: number;
                      lwdisplay: boolean;
                      measurement: number;
                      objectId: string;
                      objects: {
                          dictionary: {
                              attrs: {
                                  attributes: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  changed: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  events: {
                                      attrChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                      modelChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                  };
                                  changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                  clone(): AcCmObject<AcDbObjectAttrs>;
                                  get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                  has(key: string): boolean;
                                  hasChanged(key?: string): boolean;
                                  previous<A extends string>(
                                      key: A,
                                  ): AcDbObjectAttrs[A] | null | undefined;
                                  previousAttributes(): Partial<T>;
                                  set<A extends string>(
                                      key: A,
                                      val?: AcDbObjectAttrs[A],
                                      options?: AcCmObjectOptions,
                                  ): this;
                                  set(key: Partial<T>, options?: AcCmObjectOptions): this;
                              };
                              database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                              extensionDictionary: string
                              | undefined;
                              isTemp: any;
                              numEntries: number;
                              objectId: string;
                              ownerId: string;
                              clone(): this;
                              clonePreservingIdentity(): this;
                              close(): void;
                              createExtensionDictionary(): string | undefined;
                              dxfIn(filer: AcDbDxfFiler): this;
                              dxfInFields(filer: AcDbDxfFiler): this;
                              dxfOut(...args: unknown[]): unknown;
                              dxfOutFields(filer: AcDbDxfFiler): this;
                              entries(): IterableIterator<
                                  [string, AcDbDictionary<AcDbObject<(...)>>],
                              >;
                              getAt(
                                  name: string,
                              ): AcDbDictionary<AcDbObject<AcDbObjectAttrs>> | undefined;
                              getAttr(attrName: string): any;
                              getAttrWithoutException(attrName: string): any;
                              getIdAt(
                                  id: string,
                              ): AcDbDictionary<AcDbObject<AcDbObjectAttrs>> | undefined;
                              getXData(appId: string): AcDbResultBuffer | undefined;
                              has(name: string): boolean;
                              hasId(id: string): boolean;
                              newIterator(): AcDbObjectIterator<
                                  AcDbDictionary<AcDbObject<AcDbObjectAttrs>>,
                              >;
                              remove(name: string): boolean;
                              removeAll(): void;
                              removeId(id: string): boolean;
                              removeXData(appId: string): void;
                              restoreFrom(snapshot: this): void;
                              setAt(key: string, value: AcDbDictionary): void;
                              setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                              setXData(resbuf: AcDbResultBuffer): void;
                          };
                          group: {
                              attrs: {
                                  attributes: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  changed: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  events: {
                                      attrChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                      modelChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                  };
                                  changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                  clone(): AcCmObject<AcDbObjectAttrs>;
                                  get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                  has(key: string): boolean;
                                  hasChanged(key?: string): boolean;
                                  previous<A extends string>(
                                      key: A,
                                  ): AcDbObjectAttrs[A] | null | undefined;
                                  previousAttributes(): Partial<T>;
                                  set<A extends string>(
                                      key: A,
                                      val?: AcDbObjectAttrs[A],
                                      options?: AcCmObjectOptions,
                                  ): this;
                                  set(key: Partial<T>, options?: AcCmObjectOptions): this;
                              };
                              database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                              extensionDictionary: string
                              | undefined;
                              isTemp: any;
                              numEntries: number;
                              objectId: string;
                              ownerId: string;
                              clone(): this;
                              clonePreservingIdentity(): this;
                              close(): void;
                              createExtensionDictionary(): string | undefined;
                              dxfIn(filer: AcDbDxfFiler): this;
                              dxfInFields(filer: AcDbDxfFiler): this;
                              dxfOut(...args: unknown[]): unknown;
                              dxfOutFields(filer: AcDbDxfFiler): this;
                              entries(): IterableIterator<[string, AcDbGroup]>;
                              getAt(name: string): AcDbGroup | undefined;
                              getAttr(attrName: string): any;
                              getAttrWithoutException(attrName: string): any;
                              getIdAt(id: string): AcDbGroup | undefined;
                              getXData(appId: string): AcDbResultBuffer | undefined;
                              has(name: string): boolean;
                              hasId(id: string): boolean;
                              newIterator(): AcDbObjectIterator<AcDbGroup>;
                              remove(name: string): boolean;
                              removeAll(): void;
                              removeId(id: string): boolean;
                              removeXData(appId: string): void;
                              restoreFrom(snapshot: this): void;
                              setAt(key: string, value: AcDbGroup): void;
                              setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                              setXData(resbuf: AcDbResultBuffer): void;
                          };
                          imageDefinition: {
                              attrs: {
                                  attributes: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  changed: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  events: {
                                      attrChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                      modelChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                  };
                                  changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                  clone(): AcCmObject<AcDbObjectAttrs>;
                                  get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                  has(key: string): boolean;
                                  hasChanged(key?: string): boolean;
                                  previous<A extends string>(
                                      key: A,
                                  ): AcDbObjectAttrs[A] | null | undefined;
                                  previousAttributes(): Partial<T>;
                                  set<A extends string>(
                                      key: A,
                                      val?: AcDbObjectAttrs[A],
                                      options?: AcCmObjectOptions,
                                  ): this;
                                  set(key: Partial<T>, options?: AcCmObjectOptions): this;
                              };
                              database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                              extensionDictionary: string
                              | undefined;
                              isTemp: any;
                              numEntries: number;
                              objectId: string;
                              ownerId: string;
                              clone(): this;
                              clonePreservingIdentity(): this;
                              close(): void;
                              createExtensionDictionary(): string | undefined;
                              dxfIn(filer: AcDbDxfFiler): this;
                              dxfInFields(filer: AcDbDxfFiler): this;
                              dxfOut(...args: unknown[]): unknown;
                              dxfOutFields(filer: AcDbDxfFiler): this;
                              entries(): IterableIterator<[string, AcDbRasterImageDef]>;
                              getAt(name: string): AcDbRasterImageDef | undefined;
                              getAttr(attrName: string): any;
                              getAttrWithoutException(attrName: string): any;
                              getIdAt(id: string): AcDbRasterImageDef | undefined;
                              getXData(appId: string): AcDbResultBuffer | undefined;
                              has(name: string): boolean;
                              hasId(id: string): boolean;
                              newIterator(): AcDbObjectIterator<AcDbRasterImageDef>;
                              remove(name: string): boolean;
                              removeAll(): void;
                              removeId(id: string): boolean;
                              removeXData(appId: string): void;
                              restoreFrom(snapshot: this): void;
                              setAt(key: string, value: AcDbRasterImageDef): void;
                              setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                              setXData(resbuf: AcDbResultBuffer): void;
                          };
                          layerFilter: {
                              attrs: {
                                  attributes: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  changed: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  events: {
                                      attrChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                      modelChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                  };
                                  changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                  clone(): AcCmObject<AcDbObjectAttrs>;
                                  get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                  has(key: string): boolean;
                                  hasChanged(key?: string): boolean;
                                  previous<A extends string>(
                                      key: A,
                                  ): AcDbObjectAttrs[A] | null | undefined;
                                  previousAttributes(): Partial<T>;
                                  set<A extends string>(
                                      key: A,
                                      val?: AcDbObjectAttrs[A],
                                      options?: AcCmObjectOptions,
                                  ): this;
                                  set(key: Partial<T>, options?: AcCmObjectOptions): this;
                              };
                              database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                              extensionDictionary: string
                              | undefined;
                              isTemp: any;
                              numEntries: number;
                              objectId: string;
                              ownerId: string;
                              clone(): this;
                              clonePreservingIdentity(): this;
                              close(): void;
                              createExtensionDictionary(): string | undefined;
                              dxfIn(filer: AcDbDxfFiler): this;
                              dxfInFields(filer: AcDbDxfFiler): this;
                              dxfOut(...args: unknown[]): unknown;
                              dxfOutFields(filer: AcDbDxfFiler): this;
                              entries(): IterableIterator<[string, AcDbLayerFilter]>;
                              getAt(name: string): AcDbLayerFilter | undefined;
                              getAttr(attrName: string): any;
                              getAttrWithoutException(attrName: string): any;
                              getIdAt(id: string): AcDbLayerFilter | undefined;
                              getXData(appId: string): AcDbResultBuffer | undefined;
                              has(name: string): boolean;
                              hasId(id: string): boolean;
                              newIterator(): AcDbObjectIterator<AcDbLayerFilter>;
                              remove(name: string): boolean;
                              removeAll(): void;
                              removeId(id: string): boolean;
                              removeXData(appId: string): void;
                              restoreFrom(snapshot: this): void;
                              setAt(key: string, value: AcDbLayerFilter): void;
                              setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                              setXData(resbuf: AcDbResultBuffer): void;
                          };
                          layerIndex: {
                              attrs: {
                                  attributes: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  changed: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  events: {
                                      attrChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                      modelChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                  };
                                  changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                  clone(): AcCmObject<AcDbObjectAttrs>;
                                  get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                  has(key: string): boolean;
                                  hasChanged(key?: string): boolean;
                                  previous<A extends string>(
                                      key: A,
                                  ): AcDbObjectAttrs[A] | null | undefined;
                                  previousAttributes(): Partial<T>;
                                  set<A extends string>(
                                      key: A,
                                      val?: AcDbObjectAttrs[A],
                                      options?: AcCmObjectOptions,
                                  ): this;
                                  set(key: Partial<T>, options?: AcCmObjectOptions): this;
                              };
                              database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                              extensionDictionary: string
                              | undefined;
                              isTemp: any;
                              numEntries: number;
                              objectId: string;
                              ownerId: string;
                              clone(): this;
                              clonePreservingIdentity(): this;
                              close(): void;
                              createExtensionDictionary(): string | undefined;
                              dxfIn(filer: AcDbDxfFiler): this;
                              dxfInFields(filer: AcDbDxfFiler): this;
                              dxfOut(...args: unknown[]): unknown;
                              dxfOutFields(filer: AcDbDxfFiler): this;
                              entries(): IterableIterator<[string, AcDbLayerIndex]>;
                              getAt(name: string): AcDbLayerIndex | undefined;
                              getAttr(attrName: string): any;
                              getAttrWithoutException(attrName: string): any;
                              getIdAt(id: string): AcDbLayerIndex | undefined;
                              getXData(appId: string): AcDbResultBuffer | undefined;
                              has(name: string): boolean;
                              hasId(id: string): boolean;
                              newIterator(): AcDbObjectIterator<AcDbLayerIndex>;
                              remove(name: string): boolean;
                              removeAll(): void;
                              removeId(id: string): boolean;
                              removeXData(appId: string): void;
                              restoreFrom(snapshot: this): void;
                              setAt(key: string, value: AcDbLayerIndex): void;
                              setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                              setXData(resbuf: AcDbResultBuffer): void;
                          };
                          layout: {
                              attrs: {
                                  attributes: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  changed: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  events: {
                                      attrChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                      modelChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                  };
                                  changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                  clone(): AcCmObject<AcDbObjectAttrs>;
                                  get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                  has(key: string): boolean;
                                  hasChanged(key?: string): boolean;
                                  previous<A extends string>(
                                      key: A,
                                  ): AcDbObjectAttrs[A] | null | undefined;
                                  previousAttributes(): Partial<T>;
                                  set<A extends string>(
                                      key: A,
                                      val?: AcDbObjectAttrs[A],
                                      options?: AcCmObjectOptions,
                                  ): this;
                                  set(key: Partial<T>, options?: AcCmObjectOptions): this;
                              };
                              database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                              extensionDictionary: string
                              | undefined;
                              isTemp: any;
                              maxTabOrder: number;
                              numEntries: number;
                              objectId: string;
                              ownerId: string;
                              clone(): this;
                              clonePreservingIdentity(): this;
                              close(): void;
                              createExtensionDictionary(): string | undefined;
                              dxfIn(filer: AcDbDxfFiler): this;
                              dxfInFields(filer: AcDbDxfFiler): this;
                              dxfOut(...args: unknown[]): unknown;
                              dxfOutFields(filer: AcDbDxfFiler): this;
                              entries(): IterableIterator<[string, AcDbLayout]>;
                              getAt(name: string): AcDbLayout | undefined;
                              getAttr(attrName: string): any;
                              getAttrWithoutException(attrName: string): any;
                              getBtrIdAt(id: string): AcDbLayout | undefined;
                              getIdAt(id: string): AcDbLayout | undefined;
                              getXData(appId: string): AcDbResultBuffer | undefined;
                              has(name: string): boolean;
                              hasId(id: string): boolean;
                              newIterator(): AcDbObjectIterator<AcDbLayout>;
                              remove(name: string): boolean;
                              removeAll(): void;
                              removeId(id: string): boolean;
                              removeXData(appId: string): void;
                              restoreFrom(snapshot: this): void;
                              setAt(key: string, value: AcDbLayout): void;
                              setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                              setXData(resbuf: AcDbResultBuffer): void;
                          };
                          mleaderStyle: {
                              attrs: {
                                  attributes: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  changed: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  events: {
                                      attrChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                      modelChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                  };
                                  changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                  clone(): AcCmObject<AcDbObjectAttrs>;
                                  get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                  has(key: string): boolean;
                                  hasChanged(key?: string): boolean;
                                  previous<A extends string>(
                                      key: A,
                                  ): AcDbObjectAttrs[A] | null | undefined;
                                  previousAttributes(): Partial<T>;
                                  set<A extends string>(
                                      key: A,
                                      val?: AcDbObjectAttrs[A],
                                      options?: AcCmObjectOptions,
                                  ): this;
                                  set(key: Partial<T>, options?: AcCmObjectOptions): this;
                              };
                              database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                              extensionDictionary: string
                              | undefined;
                              isTemp: any;
                              numEntries: number;
                              objectId: string;
                              ownerId: string;
                              clone(): this;
                              clonePreservingIdentity(): this;
                              close(): void;
                              createExtensionDictionary(): string | undefined;
                              dxfIn(filer: AcDbDxfFiler): this;
                              dxfInFields(filer: AcDbDxfFiler): this;
                              dxfOut(...args: unknown[]): unknown;
                              dxfOutFields(filer: AcDbDxfFiler): this;
                              entries(): IterableIterator<[string, AcDbMLeaderStyle]>;
                              getAt(name: string): AcDbMLeaderStyle | undefined;
                              getAttr(attrName: string): any;
                              getAttrWithoutException(attrName: string): any;
                              getIdAt(id: string): AcDbMLeaderStyle | undefined;
                              getXData(appId: string): AcDbResultBuffer | undefined;
                              has(name: string): boolean;
                              hasId(id: string): boolean;
                              newIterator(): AcDbObjectIterator<AcDbMLeaderStyle>;
                              remove(name: string): boolean;
                              removeAll(): void;
                              removeId(id: string): boolean;
                              removeXData(appId: string): void;
                              restoreFrom(snapshot: this): void;
                              setAt(key: string, value: AcDbMLeaderStyle): void;
                              setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                              setXData(resbuf: AcDbResultBuffer): void;
                          };
                          mlineStyle: {
                              attrs: {
                                  attributes: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  changed: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  events: {
                                      attrChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                      modelChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                  };
                                  changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                  clone(): AcCmObject<AcDbObjectAttrs>;
                                  get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                  has(key: string): boolean;
                                  hasChanged(key?: string): boolean;
                                  previous<A extends string>(
                                      key: A,
                                  ): AcDbObjectAttrs[A] | null | undefined;
                                  previousAttributes(): Partial<T>;
                                  set<A extends string>(
                                      key: A,
                                      val?: AcDbObjectAttrs[A],
                                      options?: AcCmObjectOptions,
                                  ): this;
                                  set(key: Partial<T>, options?: AcCmObjectOptions): this;
                              };
                              database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                              extensionDictionary: string
                              | undefined;
                              isTemp: any;
                              numEntries: number;
                              objectId: string;
                              ownerId: string;
                              clone(): this;
                              clonePreservingIdentity(): this;
                              close(): void;
                              createExtensionDictionary(): string | undefined;
                              dxfIn(filer: AcDbDxfFiler): this;
                              dxfInFields(filer: AcDbDxfFiler): this;
                              dxfOut(...args: unknown[]): unknown;
                              dxfOutFields(filer: AcDbDxfFiler): this;
                              entries(): IterableIterator<[string, AcDbMlineStyle]>;
                              getAt(name: string): AcDbMlineStyle | undefined;
                              getAttr(attrName: string): any;
                              getAttrWithoutException(attrName: string): any;
                              getIdAt(id: string): AcDbMlineStyle | undefined;
                              getXData(appId: string): AcDbResultBuffer | undefined;
                              has(name: string): boolean;
                              hasId(id: string): boolean;
                              newIterator(): AcDbObjectIterator<AcDbMlineStyle>;
                              remove(name: string): boolean;
                              removeAll(): void;
                              removeId(id: string): boolean;
                              removeXData(appId: string): void;
                              restoreFrom(snapshot: this): void;
                              setAt(key: string, value: AcDbMlineStyle): void;
                              setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                              setXData(resbuf: AcDbResultBuffer): void;
                          };
                          sortentsTable: {
                              attrs: {
                                  attributes: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  changed: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  events: {
                                      attrChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                      modelChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                  };
                                  changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                  clone(): AcCmObject<AcDbObjectAttrs>;
                                  get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                  has(key: string): boolean;
                                  hasChanged(key?: string): boolean;
                                  previous<A extends string>(
                                      key: A,
                                  ): AcDbObjectAttrs[A] | null | undefined;
                                  previousAttributes(): Partial<T>;
                                  set<A extends string>(
                                      key: A,
                                      val?: AcDbObjectAttrs[A],
                                      options?: AcCmObjectOptions,
                                  ): this;
                                  set(key: Partial<T>, options?: AcCmObjectOptions): this;
                              };
                              database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                              extensionDictionary: string
                              | undefined;
                              isTemp: any;
                              numEntries: number;
                              objectId: string;
                              ownerId: string;
                              clone(): this;
                              clonePreservingIdentity(): this;
                              close(): void;
                              createExtensionDictionary(): string | undefined;
                              dxfIn(filer: AcDbDxfFiler): this;
                              dxfInFields(filer: AcDbDxfFiler): this;
                              dxfOut(...args: unknown[]): unknown;
                              dxfOutFields(filer: AcDbDxfFiler): this;
                              entries(): IterableIterator<[string, AcDbSortentsTable]>;
                              getAt(name: string): AcDbSortentsTable | undefined;
                              getAttr(attrName: string): any;
                              getAttrWithoutException(attrName: string): any;
                              getIdAt(id: string): AcDbSortentsTable | undefined;
                              getXData(appId: string): AcDbResultBuffer | undefined;
                              has(name: string): boolean;
                              hasId(id: string): boolean;
                              newIterator(): AcDbObjectIterator<AcDbSortentsTable>;
                              remove(name: string): boolean;
                              removeAll(): void;
                              removeId(id: string): boolean;
                              removeXData(appId: string): void;
                              restoreFrom(snapshot: this): void;
                              setAt(key: string, value: AcDbSortentsTable): void;
                              setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                              setXData(resbuf: AcDbResultBuffer): void;
                          };
                          xrecord: {
                              attrs: {
                                  attributes: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  changed: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  events: {
                                      attrChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                      modelChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                  };
                                  changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                  clone(): AcCmObject<AcDbObjectAttrs>;
                                  get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                  has(key: string): boolean;
                                  hasChanged(key?: string): boolean;
                                  previous<A extends string>(
                                      key: A,
                                  ): AcDbObjectAttrs[A] | null | undefined;
                                  previousAttributes(): Partial<T>;
                                  set<A extends string>(
                                      key: A,
                                      val?: AcDbObjectAttrs[A],
                                      options?: AcCmObjectOptions,
                                  ): this;
                                  set(key: Partial<T>, options?: AcCmObjectOptions): this;
                              };
                              database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                              extensionDictionary: string
                              | undefined;
                              isTemp: any;
                              numEntries: number;
                              objectId: string;
                              ownerId: string;
                              clone(): this;
                              clonePreservingIdentity(): this;
                              close(): void;
                              createExtensionDictionary(): string | undefined;
                              dxfIn(filer: AcDbDxfFiler): this;
                              dxfInFields(filer: AcDbDxfFiler): this;
                              dxfOut(...args: unknown[]): unknown;
                              dxfOutFields(filer: AcDbDxfFiler): this;
                              entries(): IterableIterator<[string, AcDbXrecord]>;
                              getAt(name: string): AcDbXrecord | undefined;
                              getAttr(attrName: string): any;
                              getAttrWithoutException(attrName: string): any;
                              getIdAt(id: string): AcDbXrecord | undefined;
                              getXData(appId: string): AcDbResultBuffer | undefined;
                              has(name: string): boolean;
                              hasId(id: string): boolean;
                              newIterator(): AcDbObjectIterator<AcDbXrecord>;
                              remove(name: string): boolean;
                              removeAll(): void;
                              removeId(id: string): boolean;
                              removeXData(appId: string): void;
                              restoreFrom(snapshot: this): void;
                              setAt(key: string, value: AcDbXrecord): void;
                              setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                              setXData(resbuf: AcDbResultBuffer): void;
                          };
                      };
                      orthomode: number;
                      osmode: number;
                      ownerId: string;
                      pdmode: number;
                      pdsize: number;
                      psltscale: boolean;
                      tables: {
                          appIdTable: {
                              attrs: {
                                  attributes: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  changed: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  events: {
                                      attrChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                      modelChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                  };
                                  changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                  clone(): AcCmObject<AcDbObjectAttrs>;
                                  get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                  has(key: string): boolean;
                                  hasChanged(key?: string): boolean;
                                  previous<A extends string>(
                                      key: A,
                                  ): AcDbObjectAttrs[A] | null | undefined;
                                  previousAttributes(): Partial<T>;
                                  set<A extends string>(
                                      key: A,
                                      val?: AcDbObjectAttrs[A],
                                      options?: AcCmObjectOptions,
                                  ): this;
                                  set(key: Partial<T>, options?: AcCmObjectOptions): this;
                              };
                              database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                              extensionDictionary: string
                              | undefined;
                              isTemp: any;
                              numEntries: number;
                              objectId: string;
                              ownerId: string;
                              add(record: AcDbRegAppTableRecord): void;
                              clone(): this;
                              clonePreservingIdentity(): this;
                              close(): void;
                              createExtensionDictionary(): string | undefined;
                              dxfIn(filer: AcDbDxfFiler): this;
                              dxfInFields(_filer: AcDbDxfFiler): this;
                              dxfOut(...args: unknown[]): unknown;
                              dxfOutFields(filer: AcDbDxfFiler): this;
                              getAt(name: string): AcDbRegAppTableRecord | undefined;
                              getAttr(attrName: string): any;
                              getAttrWithoutException(attrName: string): any;
                              getIdAt(id: string): AcDbRegAppTableRecord | undefined;
                              getOwnerIdAt(id: string): AcDbRegAppTableRecord | undefined;
                              getXData(appId: string): AcDbResultBuffer | undefined;
                              has(name: string): boolean;
                              hasId(id: string): boolean;
                              newIterator(
                                  iterateById?: boolean,
                              ): AcDbObjectIterator<AcDbRegAppTableRecord>;
                              remove(name: string): boolean;
                              removeAll(): void;
                              removeId(id: string): boolean;
                              removeXData(appId: string): void;
                              restoreFrom(snapshot: this): void;
                              setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                              setXData(resbuf: AcDbResultBuffer): void;
                          };
                          blockTable: {
                              attrs: {
                                  attributes: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  changed: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  events: {
                                      attrChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                      modelChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                  };
                                  changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                  clone(): AcCmObject<AcDbObjectAttrs>;
                                  get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                  has(key: string): boolean;
                                  hasChanged(key?: string): boolean;
                                  previous<A extends string>(
                                      key: A,
                                  ): AcDbObjectAttrs[A] | null | undefined;
                                  previousAttributes(): Partial<T>;
                                  set<A extends string>(
                                      key: A,
                                      val?: AcDbObjectAttrs[A],
                                      options?: AcCmObjectOptions,
                                  ): this;
                                  set(key: Partial<T>, options?: AcCmObjectOptions): this;
                              };
                              database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                              extensionDictionary: string
                              | undefined;
                              isTemp: any;
                              modelSpace: {
                                  attrs: {
                                      attributes: {
                                          blockInsertUnits?: (...) | (...);
                                          blockScaling?: (...) | (...);
                                          explodability?: (...) | (...);
                                          extensionDictionary?: (...) | (...);
                                          flags?: (...) | (...);
                                          layoutId?: (...) | (...);
                                          name?: (...) | (...);
                                          objectId?: (...) | (...);
                                          origin?: (...) | (...);
                                          ownerId?: (...) | (...);
                                          pathName?: (...) | (...);
                                          previewIcon?: (...) | (...);
                                          [key: string]: any;
                                      };
                                      changed: {
                                          blockInsertUnits?: (...)
                                          | (...);
                                          blockScaling?: (...) | (...);
                                          explodability?: (...) | (...);
                                          extensionDictionary?: (...) | (...);
                                          flags?: (...) | (...);
                                          layoutId?: (...) | (...);
                                          name?: (...) | (...);
                                          objectId?: (...) | (...);
                                          origin?: (...) | (...);
                                          ownerId?: (...) | (...);
                                          pathName?: (...) | (...);
                                          previewIcon?: (...) | (...);
                                          [key: string]: any;
                                      };
                                      events: {
                                          attrChanged: {
                                              addEventListener(listener: ...): ...;
                                              dispatch(payload?: ..., ...args: ...): ...;
                                              removeEventListener(listener: ...): ...;
                                              replaceEventListener(listener: ...): ...;
                                          };
                                          modelChanged: {
                                              addEventListener(listener: ...): ...;
                                              dispatch(payload?: ..., ...args: ...): ...;
                                              removeEventListener(listener: ...): ...;
                                              replaceEventListener(listener: ...): ...;
                                          };
                                      };
                                      changedAttributes(diff?: Partial<(...)>): Partial<T>;
                                      clone(): AcCmObject<AcDbBlockTableRecordAttrs>;
                                      get<A extends string>(key: A): (...)[(...)] | undefined;
                                      has(key: string): boolean;
                                      hasChanged(key?: string): boolean;
                                      previous<A extends string>(key: A): (...)[(...)] | null | undefined;
                                      previousAttributes(): Partial<T>;
                                      set<A extends string>(
                                          key: A,
                                          val?: (...)[(...)],
                                          options?: AcCmObjectOptions,
                                      ): this;
                                      set(key: Partial<T>, options?: AcCmObjectOptions): this;
                                  };
                                  blockInsertUnits: AcDbUnitsValue;
                                  blockScaling: AcDbBlockScaling;
                                  database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                                  explodability: number;
                                  extensionDictionary: string
                                  | undefined;
                                  flags: number;
                                  isModelSapce: boolean;
                                  isOverlayReference: boolean;
                                  isPaperSapce: boolean;
                                  isTemp: any;
                                  isUnresolvedXref: boolean;
                                  isXref: boolean;
                                  layoutId: string;
                                  name: string;
                                  objectId: string;
                                  origin: {
                                      x: number;
                                      y: number;
                                      z: number;
                                      "[iterator]"(): Generator<number, void, unknown>;
                                      add(v: AcGeVectorLike): this;
                                      addScalar(s: number): this;
                                      addScaledVector(v: AcGeVector3dLike, s: number): this;
                                      addVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                                      angleTo(v: AcGeVector3d): number;
                                      applyAxisAngle(axis: AcGeVector3dLike, angle: number): this;
                                      applyEuler(euler: AcGeEuler): this;
                                      applyMatrix3(m: AcGeMatrix2d): this;
                                      applyMatrix4(m: AcGeMatrix3d): this;
                                      applyNormalMatrix(m: AcGeMatrix2d): this;
                                      applyQuaternion(q: AcGeQuaternion): this;
                                      ceil(): this;
                                      clamp(min: AcGeVector3dLike, max: AcGeVector3dLike): this;
                                      clampLength(min: number, max: number): this;
                                      clampScalar(minVal: number, maxVal: number): this;
                                      clone(): AcGePoint3d;
                                      copy(v: AcGeVectorLike): this;
                                      cross(v: AcGeVector3dLike): this;
                                      crossVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                                      distanceTo(v: AcGeVector3dLike): number;
                                      distanceToSquared(v: AcGeVector3dLike): number;
                                      divide(v: AcGeVector3dLike): this;
                                      divideScalar(scalar: number): this;
                                      dot(v: AcGeVector3dLike): number;
                                      equals(v: AcGeVector3dLike): boolean;
                                      floor(): this;
                                      fromArray(array: number[], offset?: number): this;
                                      getComponent(index: number): number;
                                      isParallelTo(vec: AcGeVector3d): boolean;
                                      length(): number;
                                      lengthSq(): number;
                                      lerp(v: AcGeVector3dLike, alpha: number): this;
                                      lerpVectors(
                                          v1: AcGeVector3dLike,
                                          v2: AcGeVector3dLike,
                                          alpha: number,
                                      ): this;
                                      manhattanDistanceTo(v: AcGeVector3dLike): number;
                                      manhattanLength(): number;
                                      max(v: AcGeVector3dLike): this;
                                      min(v: AcGeVector3dLike): this;
                                      multiply(v: AcGeVector3dLike): this;
                                      multiplyScalar(scalar: number): this;
                                      multiplyVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                                      negate(): this;
                                      normalize(): this;
                                      projectOnPlane(planeNormal: AcGeVector3d): this;
                                      projectOnVector(v: AcGeVector3d): this;
                                      random(): this;
                                      randomDirection(): this;
                                      reflect(normal: AcGeVector3dLike): this;
                                      round(): this;
                                      roundToZero(): this;
                                      set(x: number, y: number, z: number): this;
                                      setComponent(index: number, value: number): this;
                                      setFromMatrix3Column(m: AcGeMatrix2d, index: number): this;
                                      setFromMatrixColumn(m: AcGeMatrix3d, index: number): this;
                                      setFromMatrixPosition(m: AcGeMatrix3d): this;
                                      setFromMatrixScale(m: AcGeMatrix3d): this;
                                      setLength(l: number): this;
                                      setScalar(scalar: number): this;
                                      setX(x: number): this;
                                      setY(y: number): this;
                                      setZ(z: number): this;
                                      sub(v: AcGeVector3dLike): this;
                                      subScalar(s: number): this;
                                      subVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                                      toArray(
                                          array?: (...)[] | Float32Array<(...)>,
                                          offset?: number,
                                      ): (...)[] | Float32Array<(...)>;
                                      transformDirection(m: AcGeMatrix3d): this;
                                  };
                                  ownerId: string;
                                  pathName: string;
                                  previewIcon: | {
                                      "[toStringTag]": "Uint8Array";
                                      buffer: (...)
                                      | (...);
                                      byteLength: number;
                                      byteOffset: number;
                                      BYTES_PER_ELEMENT: number;
                                      length: number;
                                      "[iterator]"(): ArrayIterator<(...)>;
                                      at(index: number): (...) | (...);
                                      copyWithin(target: number, start: number, end?: (...) | (...)): this;
                                      entries(): ArrayIterator<(...)>;
                                      every(
                                          predicate: (value: ..., index: ..., array: this) => ...,
                                          thisArg?: any,
                                      ): boolean;
                                      fill(
                                          value: number,
                                          start?: (...) | (...),
                                          end?: (...) | (...),
                                      ): this;
                                      filter(
                                          predicate: (value: ..., index: ..., array: this) => ...,
                                          thisArg?: any,
                                      ): Uint8Array<(...)>;
                                      find(
                                          predicate: (value: ..., index: ..., obj: this) => ...,
                                          thisArg?: any,
                                      ): (...) | (...);
                                      findIndex(
                                          predicate: (value: ..., index: ..., obj: this) => ...,
                                          thisArg?: any,
                                      ): number;
                                      findLast<S extends number>(
                                          predicate: (
                                              value: ...,
                                              index: ...,
                                              array: this,
                                          ) => value is (...),
                                          thisArg?: any,
                                      ): (...) | (...);
                                      findLast(
                                          predicate: (value: ..., index: ..., array: this) => ...,
                                          thisArg?: any,
                                      ): (...) | (...);
                                      findLastIndex(
                                          predicate: (value: ..., index: ..., array: this) => ...,
                                          thisArg?: any,
                                      ): number;
                                      forEach(
                                          callbackfn: (value: ..., index: ..., array: this) => ...,
                                          thisArg?: any,
                                      ): void;
                                      includes(searchElement: number, fromIndex?: (...) | (...)): boolean;
                                      indexOf(searchElement: number, fromIndex?: (...) | (...)): number;
                                      join(separator?: (...) | (...)): string;
                                      keys(): ArrayIterator<(...)>;
                                      lastIndexOf(
                                          searchElement: number,
                                          fromIndex?: (...) | (...),
                                      ): number;
                                      map(
                                          callbackfn: (value: ..., index: ..., array: this) => ...,
                                          thisArg?: any,
                                      ): Uint8Array<(...)>;
                                      reduce(
                                          callbackfn: (
                                              previousValue: ...,
                                              currentValue: ...,
                                              currentIndex: ...,
                                              array: this,
                                          ) => ...,
                                      ): number;
                                      reduce(
                                          callbackfn: (
                                              previousValue: ...,
                                              currentValue: ...,
                                              currentIndex: ...,
                                              array: this,
                                          ) => ...,
                                          initialValue: number,
                                      ): number;
                                      reduce<U>(
                                          callbackfn: (
                                              previousValue: ...,
                                              currentValue: ...,
                                              currentIndex: ...,
                                              array: this,
                                          ) => ...,
                                          initialValue: U,
                                      ): U;
                                      reduceRight(
                                          callbackfn: (
                                              previousValue: ...,
                                              currentValue: ...,
                                              currentIndex: ...,
                                              array: this,
                                          ) => ...,
                                      ): number;
                                      reduceRight(
                                          callbackfn: (
                                              previousValue: ...,
                                              currentValue: ...,
                                              currentIndex: ...,
                                              array: this,
                                          ) => ...,
                                          initialValue: number,
                                      ): number;
                                      reduceRight<U>(
                                          callbackfn: (
                                              previousValue: ...,
                                              currentValue: ...,
                                              currentIndex: ...,
                                              array: this,
                                          ) => ...,
                                          initialValue: U,
                                      ): U;
                                      reverse(): this;
                                      set(array: ArrayLike<(...)>, offset?: (...) | (...)): void;
                                      slice(start?: (...) | (...), end?: (...) | (...)): Uint8Array<(...)>;
                                      some(
                                          predicate: (value: ..., index: ..., array: this) => ...,
                                          thisArg?: any,
                                      ): boolean;
                                      sort(compareFn?: (...) | (...)): this;
                                      subarray(
                                          begin?: (...) | (...),
                                          end?: (...) | (...),
                                      ): Uint8Array<(...)>;
                                      toLocaleString(): string;
                                      toLocaleString(
                                          locales: (...) | (...),
                                          options?: (...) | (...),
                                      ): string;
                                      toReversed(): Uint8Array<(...)>;
                                      toSorted(compareFn?: (...) | (...)): Uint8Array<(...)>;
                                      toString(): string;
                                      valueOf(): this;
                                      values(): ArrayIterator<(...)>;
                                      with(index: number, value: number): Uint8Array<(...)>;
                                      [key: number]: number;
                                  }
                                  | undefined;
                                  appendEntity(entity: AcDbEntity | AcDbEntity[]): void;
                                  clone(): this;
                                  clonePreservingIdentity(): this;
                                  close(): void;
                                  createExtensionDictionary(): string | undefined;
                                  dxfIn(filer: AcDbDxfFiler): this;
                                  dxfInFields(filer: AcDbDxfFiler): this;
                                  dxfOut(...args: unknown[]): unknown;
                                  dxfOutBlockBegin(filer: AcDbDxfFiler): this;
                                  dxfOutBlockEnd(filer: AcDbDxfFiler): this;
                                  dxfOutBlockRecord(filer: AcDbDxfFiler): this;
                                  dxfOutFields(filer: AcDbDxfFiler): this;
                                  getAttr(attrName: string): any;
                                  getAttrWithoutException(attrName: string): any;
                                  getIdAt(id: string): AcDbEntity | undefined;
                                  getXData(appId: string): AcDbResultBuffer | undefined;
                                  hasEntityId(id: string): boolean;
                                  newIterator(): AcDbObjectIterator<AcDbEntity>;
                                  removeEntity(objectId: string | string[]): boolean;
                                  removeXData(appId: string): void;
                                  restoreFrom(snapshot: this): void;
                                  setAttr<A extends string>(
                                      attrName: A,
                                      val?: AcDbBlockTableRecordAttrs[A],
                                  ): void;
                                  setXData(resbuf: AcDbResultBuffer): void;
                              };
                              numEntries: number;
                              objectId: string;
                              ownerId: string;
                              add(record: AcDbBlockTableRecord): void;
                              clone(): this;
                              clonePreservingIdentity(): this;
                              close(): void;
                              createExtensionDictionary(): string | undefined;
                              dxfIn(filer: AcDbDxfFiler): this;
                              dxfInFields(_filer: AcDbDxfFiler): this;
                              dxfOut(...args: unknown[]): unknown;
                              dxfOutFields(filer: AcDbDxfFiler): this;
                              getAt(name: string): AcDbBlockTableRecord | undefined;
                              getAttr(attrName: string): any;
                              getAttrWithoutException(attrName: string): any;
                              getEntityById(id: string): AcDbEntity | undefined;
                              getIdAt(id: string): AcDbBlockTableRecord | undefined;
                              getOwnerIdAt(id: string): AcDbBlockTableRecord | undefined;
                              getUnresolvedXrefs(): AcDbBlockTableRecord[];
                              getXData(appId: string): AcDbResultBuffer | undefined;
                              getXrefs(): AcDbBlockTableRecord[];
                              has(name: string): boolean;
                              hasId(id: string): boolean;
                              newIterator(
                                  iterateById?: boolean,
                              ): AcDbObjectIterator<AcDbBlockTableRecord>;
                              remove(name: string): boolean;
                              removeAll(): void;
                              removeEntity(objectId: string | string[]): boolean;
                              removeId(id: string): boolean;
                              removeXData(appId: string): void;
                              restoreFrom(snapshot: this): void;
                              setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                              setXData(resbuf: AcDbResultBuffer): void;
                          };
                          dimStyleTable: {
                              attrs: {
                                  attributes: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  changed: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  events: {
                                      attrChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                      modelChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                  };
                                  changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                  clone(): AcCmObject<AcDbObjectAttrs>;
                                  get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                  has(key: string): boolean;
                                  hasChanged(key?: string): boolean;
                                  previous<A extends string>(
                                      key: A,
                                  ): AcDbObjectAttrs[A] | null | undefined;
                                  previousAttributes(): Partial<T>;
                                  set<A extends string>(
                                      key: A,
                                      val?: AcDbObjectAttrs[A],
                                      options?: AcCmObjectOptions,
                                  ): this;
                                  set(key: Partial<T>, options?: AcCmObjectOptions): this;
                              };
                              database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                              extensionDictionary: string
                              | undefined;
                              isTemp: any;
                              numEntries: number;
                              objectId: string;
                              ownerId: string;
                              add(record: AcDbDimStyleTableRecord): void;
                              clone(): this;
                              clonePreservingIdentity(): this;
                              close(): void;
                              createExtensionDictionary(): string | undefined;
                              dxfIn(filer: AcDbDxfFiler): this;
                              dxfInFields(_filer: AcDbDxfFiler): this;
                              dxfOut(...args: unknown[]): unknown;
                              dxfOutFields(filer: AcDbDxfFiler): this;
                              getAt(name: string): AcDbDimStyleTableRecord | undefined;
                              getAttr(attrName: string): any;
                              getAttrWithoutException(attrName: string): any;
                              getIdAt(id: string): AcDbDimStyleTableRecord | undefined;
                              getOwnerIdAt(id: string): AcDbDimStyleTableRecord | undefined;
                              getXData(appId: string): AcDbResultBuffer | undefined;
                              has(name: string): boolean;
                              hasId(id: string): boolean;
                              newIterator(
                                  iterateById?: boolean,
                              ): AcDbObjectIterator<AcDbDimStyleTableRecord>;
                              remove(name: string): boolean;
                              removeAll(): void;
                              removeId(id: string): boolean;
                              removeXData(appId: string): void;
                              restoreFrom(snapshot: this): void;
                              setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                              setXData(resbuf: AcDbResultBuffer): void;
                          };
                          layerTable: {
                              attrs: {
                                  attributes: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  changed: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  events: {
                                      attrChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                      modelChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                  };
                                  changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                  clone(): AcCmObject<AcDbObjectAttrs>;
                                  get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                  has(key: string): boolean;
                                  hasChanged(key?: string): boolean;
                                  previous<A extends string>(
                                      key: A,
                                  ): AcDbObjectAttrs[A] | null | undefined;
                                  previousAttributes(): Partial<T>;
                                  set<A extends string>(
                                      key: A,
                                      val?: AcDbObjectAttrs[A],
                                      options?: AcCmObjectOptions,
                                  ): this;
                                  set(key: Partial<T>, options?: AcCmObjectOptions): this;
                              };
                              database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                              extensionDictionary: string
                              | undefined;
                              isTemp: any;
                              numEntries: number;
                              objectId: string;
                              ownerId: string;
                              add(record: AcDbLayerTableRecord): void;
                              clone(): this;
                              clonePreservingIdentity(): this;
                              close(): void;
                              createExtensionDictionary(): string | undefined;
                              dxfIn(filer: AcDbDxfFiler): this;
                              dxfInFields(_filer: AcDbDxfFiler): this;
                              dxfOut(...args: unknown[]): unknown;
                              dxfOutFields(filer: AcDbDxfFiler): this;
                              getAt(name: string): AcDbLayerTableRecord | undefined;
                              getAttr(attrName: string): any;
                              getAttrWithoutException(attrName: string): any;
                              getIdAt(id: string): AcDbLayerTableRecord | undefined;
                              getOwnerIdAt(id: string): AcDbLayerTableRecord | undefined;
                              getXData(appId: string): AcDbResultBuffer | undefined;
                              has(name: string): boolean;
                              hasId(id: string): boolean;
                              newIterator(
                                  iterateById?: boolean,
                              ): AcDbObjectIterator<AcDbLayerTableRecord>;
                              remove(name: string): boolean;
                              removeAll(): void;
                              removeId(id: string): boolean;
                              removeXData(appId: string): void;
                              restoreFrom(snapshot: this): void;
                              setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                              setXData(resbuf: AcDbResultBuffer): void;
                          };
                          linetypeTable: {
                              attrs: {
                                  attributes: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  changed: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  events: {
                                      attrChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                      modelChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                  };
                                  changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                  clone(): AcCmObject<AcDbObjectAttrs>;
                                  get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                  has(key: string): boolean;
                                  hasChanged(key?: string): boolean;
                                  previous<A extends string>(
                                      key: A,
                                  ): AcDbObjectAttrs[A] | null | undefined;
                                  previousAttributes(): Partial<T>;
                                  set<A extends string>(
                                      key: A,
                                      val?: AcDbObjectAttrs[A],
                                      options?: AcCmObjectOptions,
                                  ): this;
                                  set(key: Partial<T>, options?: AcCmObjectOptions): this;
                              };
                              database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                              extensionDictionary: string
                              | undefined;
                              isTemp: any;
                              numEntries: number;
                              objectId: string;
                              ownerId: string;
                              add(record: AcDbLinetypeTableRecord): void;
                              clone(): this;
                              clonePreservingIdentity(): this;
                              close(): void;
                              createExtensionDictionary(): string | undefined;
                              dxfIn(filer: AcDbDxfFiler): this;
                              dxfInFields(_filer: AcDbDxfFiler): this;
                              dxfOut(...args: unknown[]): unknown;
                              dxfOutFields(filer: AcDbDxfFiler): this;
                              getAt(name: string): AcDbLinetypeTableRecord | undefined;
                              getAttr(attrName: string): any;
                              getAttrWithoutException(attrName: string): any;
                              getIdAt(id: string): AcDbLinetypeTableRecord | undefined;
                              getOwnerIdAt(id: string): AcDbLinetypeTableRecord | undefined;
                              getXData(appId: string): AcDbResultBuffer | undefined;
                              has(name: string): boolean;
                              hasId(id: string): boolean;
                              newIterator(
                                  iterateById?: boolean,
                              ): AcDbObjectIterator<AcDbLinetypeTableRecord>;
                              remove(name: string): boolean;
                              removeAll(): void;
                              removeId(id: string): boolean;
                              removeXData(appId: string): void;
                              restoreFrom(snapshot: this): void;
                              setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                              setXData(resbuf: AcDbResultBuffer): void;
                          };
                          textStyleTable: {
                              attrs: {
                                  attributes: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  changed: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  events: {
                                      attrChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                      modelChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                  };
                                  changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                  clone(): AcCmObject<AcDbObjectAttrs>;
                                  get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                  has(key: string): boolean;
                                  hasChanged(key?: string): boolean;
                                  previous<A extends string>(
                                      key: A,
                                  ): AcDbObjectAttrs[A] | null | undefined;
                                  previousAttributes(): Partial<T>;
                                  set<A extends string>(
                                      key: A,
                                      val?: AcDbObjectAttrs[A],
                                      options?: AcCmObjectOptions,
                                  ): this;
                                  set(key: Partial<T>, options?: AcCmObjectOptions): this;
                              };
                              database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                              extensionDictionary: string
                              | undefined;
                              fonts: string[];
                              isTemp: any;
                              numEntries: number;
                              objectId: string;
                              ownerId: string;
                              shapeFiles: {
                                  attrs: {
                                      attributes: {
                                          bigFont?: ...;
                                          extendedFont?: ...;
                                          extensionDictionary?: ...;
                                          fixedTextHeight?: ...;
                                          font?: ...;
                                          lastHeight?: ...;
                                          name?: ...;
                                          objectId?: ...;
                                          obliqueAngle?: ...;
                                          ownerId?: ...;
                                          standardFlag?: ...;
                                          textGenerationFlag?: ...;
                                          widthFactor?: ...;
                                          [key: ...]: ...;
                                      };
                                      changed: {
                                          bigFont?: ...;
                                          extendedFont?: ...;
                                          extensionDictionary?: ...;
                                          fixedTextHeight?: ...;
                                          font?: ...;
                                          lastHeight?: ...;
                                          name?: ...;
                                          objectId?: ...;
                                          obliqueAngle?: ...;
                                          ownerId?: ...;
                                          standardFlag?: ...;
                                          textGenerationFlag?: ...;
                                          widthFactor?: ...;
                                          [key: ...]: ...;
                                      };
                                      events: { attrChanged: ...; modelChanged: ... };
                                      changedAttributes(diff?: (...) | (...)): Partial<(...)>;
                                      clone(): AcCmObject<(...)>;
                                      get<A extends string>(key: A): (...) | (...);
                                      has(key: string): boolean;
                                      hasChanged(key?: (...) | (...)): boolean;
                                      previous<A extends string>(key: A): (...) | (...) | (...);
                                      previousAttributes(): Partial<(...)>;
                                      set<A extends string>(
                                          key: A,
                                          val?: (...) | (...),
                                          options?: (...) | (...),
                                      ): this;
                                      set(key: Partial<(...)>, options?: (...) | (...)): this;
                                  };
                                  bigFontFileName: string;
                                  database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                                  extensionDictionary: string
                                  | undefined;
                                  fileName: string;
                                  isShapeFile: boolean;
                                  isTemp: any;
                                  isVertical: boolean;
                                  name: string;
                                  objectId: string;
                                  obliquingAngle: number;
                                  ownerId: string;
                                  priorSize: number;
                                  textSize: number;
                                  textStyle: {
                                      bigFont: string;
                                      extendedFont?: (...) | (...);
                                      fixedTextHeight: number;
                                      font: string;
                                      lastHeight: number;
                                      name: string;
                                      obliqueAngle: number;
                                      standardFlag: number;
                                      textGenerationFlag: number;
                                      widthFactor: number;
                                  };
                                  xScale: number;
                                  clone(): this;
                                  clonePreservingIdentity(): this;
                                  close(): void;
                                  createExtensionDictionary(): string | undefined;
                                  dxfIn(filer: AcDbDxfFiler): this;
                                  dxfInFields(filer: AcDbDxfFiler): this;
                                  dxfOut(...args: unknown[]): unknown;
                                  dxfOutFields(filer: AcDbDxfFiler): this;
                                  getAttr(attrName: string): any;
                                  getAttrWithoutException(attrName: string): any;
                                  getXData(appId: string): AcDbResultBuffer | undefined;
                                  removeXData(appId: string): void;
                                  restoreFrom(snapshot: this): void;
                                  setAttr<A extends string>(attrName: A, val?: (...)[(...)]): void;
                                  setXData(resbuf: AcDbResultBuffer): void;
                              }[];
                              add(record: AcDbTextStyleTableRecord): void;
                              clone(): this;
                              clonePreservingIdentity(): this;
                              close(): void;
                              createExtensionDictionary(): string | undefined;
                              dxfIn(filer: AcDbDxfFiler): this;
                              dxfInFields(_filer: AcDbDxfFiler): this;
                              dxfOut(...args: unknown[]): unknown;
                              dxfOutFields(filer: AcDbDxfFiler): this;
                              getAt(name: string): AcDbTextStyleTableRecord | undefined;
                              getAttr(attrName: string): any;
                              getAttrWithoutException(attrName: string): any;
                              getIdAt(id: string): AcDbTextStyleTableRecord | undefined;
                              getOwnerIdAt(id: string): AcDbTextStyleTableRecord | undefined;
                              getXData(appId: string): AcDbResultBuffer | undefined;
                              has(name: string): boolean;
                              hasId(id: string): boolean;
                              newIterator(
                                  iterateById?: boolean,
                              ): AcDbObjectIterator<AcDbTextStyleTableRecord>;
                              remove(name: string): boolean;
                              removeAll(): void;
                              removeId(id: string): boolean;
                              removeXData(appId: string): void;
                              resolveAt(name?: string): AcDbTextStyleTableRecord | undefined;
                              restoreFrom(snapshot: this): void;
                              setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                              setXData(resbuf: AcDbResultBuffer): void;
                          };
                          ucsTable: {
                              attrs: {
                                  attributes: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  changed: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  events: {
                                      attrChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                      modelChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                  };
                                  changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                  clone(): AcCmObject<AcDbObjectAttrs>;
                                  get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                  has(key: string): boolean;
                                  hasChanged(key?: string): boolean;
                                  previous<A extends string>(
                                      key: A,
                                  ): AcDbObjectAttrs[A] | null | undefined;
                                  previousAttributes(): Partial<T>;
                                  set<A extends string>(
                                      key: A,
                                      val?: AcDbObjectAttrs[A],
                                      options?: AcCmObjectOptions,
                                  ): this;
                                  set(key: Partial<T>, options?: AcCmObjectOptions): this;
                              };
                              database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                              extensionDictionary: string
                              | undefined;
                              isTemp: any;
                              numEntries: number;
                              objectId: string;
                              ownerId: string;
                              add(record: AcDbUcsTableRecord): void;
                              clone(): this;
                              clonePreservingIdentity(): this;
                              close(): void;
                              createExtensionDictionary(): string | undefined;
                              dxfIn(filer: AcDbDxfFiler): this;
                              dxfInFields(_filer: AcDbDxfFiler): this;
                              dxfOut(...args: unknown[]): unknown;
                              dxfOutFields(filer: AcDbDxfFiler): this;
                              getAt(name: string): AcDbUcsTableRecord | undefined;
                              getAttr(attrName: string): any;
                              getAttrWithoutException(attrName: string): any;
                              getIdAt(id: string): AcDbUcsTableRecord | undefined;
                              getOwnerIdAt(id: string): AcDbUcsTableRecord | undefined;
                              getXData(appId: string): AcDbResultBuffer | undefined;
                              has(name: string): boolean;
                              hasId(id: string): boolean;
                              newIterator(
                                  iterateById?: boolean,
                              ): AcDbObjectIterator<AcDbUcsTableRecord>;
                              remove(name: string): boolean;
                              removeAll(): void;
                              removeId(id: string): boolean;
                              removeXData(appId: string): void;
                              restoreFrom(snapshot: this): void;
                              setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                              setXData(resbuf: AcDbResultBuffer): void;
                          };
                          viewportTable: {
                              attrs: {
                                  attributes: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  changed: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  events: {
                                      attrChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                      modelChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                  };
                                  changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                  clone(): AcCmObject<AcDbObjectAttrs>;
                                  get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                  has(key: string): boolean;
                                  hasChanged(key?: string): boolean;
                                  previous<A extends string>(
                                      key: A,
                                  ): AcDbObjectAttrs[A] | null | undefined;
                                  previousAttributes(): Partial<T>;
                                  set<A extends string>(
                                      key: A,
                                      val?: AcDbObjectAttrs[A],
                                      options?: AcCmObjectOptions,
                                  ): this;
                                  set(key: Partial<T>, options?: AcCmObjectOptions): this;
                              };
                              database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                              extensionDictionary: string
                              | undefined;
                              isTemp: any;
                              numEntries: number;
                              objectId: string;
                              ownerId: string;
                              add(record: AcDbViewportTableRecord): void;
                              clone(): this;
                              clonePreservingIdentity(): this;
                              close(): void;
                              createExtensionDictionary(): string | undefined;
                              dxfIn(filer: AcDbDxfFiler): this;
                              dxfInFields(_filer: AcDbDxfFiler): this;
                              dxfOut(...args: unknown[]): unknown;
                              dxfOutFields(filer: AcDbDxfFiler): this;
                              getActiveVport(): AcDbViewportTableRecord | undefined;
                              getActiveVportBox(
                                  canvasAspectRatio: number,
                                  drawingExtents?: AcGeBox2d,
                              ): AcGeBox2d | undefined;
                              getAt(name: string): AcDbViewportTableRecord | undefined;
                              getAttr(attrName: string): any;
                              getAttrWithoutException(attrName: string): any;
                              getIdAt(id: string): AcDbViewportTableRecord | undefined;
                              getOwnerIdAt(id: string): AcDbViewportTableRecord | undefined;
                              getXData(appId: string): AcDbResultBuffer | undefined;
                              has(name: string): boolean;
                              hasId(id: string): boolean;
                              newIterator(
                                  iterateById?: boolean,
                              ): AcDbObjectIterator<AcDbViewportTableRecord>;
                              remove(name: string): boolean;
                              removeAll(): void;
                              removeId(id: string): boolean;
                              removeXData(appId: string): void;
                              restoreFrom(snapshot: this): void;
                              setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                              setXData(resbuf: AcDbResultBuffer): void;
                          };
                          viewTable: {
                              attrs: {
                                  attributes: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  changed: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  events: {
                                      attrChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                      modelChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                  };
                                  changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                  clone(): AcCmObject<AcDbObjectAttrs>;
                                  get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                  has(key: string): boolean;
                                  hasChanged(key?: string): boolean;
                                  previous<A extends string>(
                                      key: A,
                                  ): AcDbObjectAttrs[A] | null | undefined;
                                  previousAttributes(): Partial<T>;
                                  set<A extends string>(
                                      key: A,
                                      val?: AcDbObjectAttrs[A],
                                      options?: AcCmObjectOptions,
                                  ): this;
                                  set(key: Partial<T>, options?: AcCmObjectOptions): this;
                              };
                              database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                              extensionDictionary: string
                              | undefined;
                              isTemp: any;
                              numEntries: number;
                              objectId: string;
                              ownerId: string;
                              add(record: AcDbViewTableRecord): void;
                              clone(): this;
                              clonePreservingIdentity(): this;
                              close(): void;
                              createExtensionDictionary(): string | undefined;
                              dxfIn(filer: AcDbDxfFiler): this;
                              dxfInFields(_filer: AcDbDxfFiler): this;
                              dxfOut(...args: unknown[]): unknown;
                              dxfOutFields(filer: AcDbDxfFiler): this;
                              getAt(name: string): AcDbViewTableRecord | undefined;
                              getAttr(attrName: string): any;
                              getAttrWithoutException(attrName: string): any;
                              getIdAt(id: string): AcDbViewTableRecord | undefined;
                              getOwnerIdAt(id: string): AcDbViewTableRecord | undefined;
                              getXData(appId: string): AcDbResultBuffer | undefined;
                              has(name: string): boolean;
                              hasId(id: string): boolean;
                              newIterator(
                                  iterateById?: boolean,
                              ): AcDbObjectIterator<AcDbViewTableRecord>;
                              remove(name: string): boolean;
                              removeAll(): void;
                              removeId(id: string): boolean;
                              removeXData(appId: string): void;
                              restoreFrom(snapshot: this): void;
                              setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                              setXData(resbuf: AcDbResultBuffer): void;
                          };
                      };
                      textstyle: string;
                      thumbnailImage: | {
                          "[toStringTag]": "Uint8Array";
                          buffer: | {
                              "[toStringTag]": "ArrayBuffer";
                              byteLength: number;
                              detached: boolean;
                              maxByteLength: number;
                              resizable: boolean;
                              resize(newByteLength?: number): void;
                              slice(begin?: number, end?: number): ArrayBuffer;
                              transfer(newByteLength?: number): ArrayBuffer;
                              transferToFixedLength(newByteLength?: number): ArrayBuffer;
                          }
                          | {
                              "[toStringTag]": "SharedArrayBuffer";
                              byteLength: number;
                              growable: boolean;
                              maxByteLength: number;
                              grow(newByteLength?: number): void;
                              slice(begin?: number, end?: number): SharedArrayBuffer;
                          };
                          byteLength: number;
                          byteOffset: number;
                          BYTES_PER_ELEMENT: number;
                          length: number;
                          "[iterator]"(): ArrayIterator<number>;
                          at(index: number): number | undefined;
                          copyWithin(target: number, start: number, end?: number): this;
                          entries(): ArrayIterator<[number, number]>;
                          every(
                              predicate: (value: number, index: number, array: this) => unknown,
                              thisArg?: any,
                          ): boolean;
                          fill(value: number, start?: number, end?: number): this;
                          filter(
                              predicate: (value: number, index: number, array: this) => any,
                              thisArg?: any,
                          ): Uint8Array<ArrayBuffer>;
                          find(
                              predicate: (value: number, index: number, obj: this) => boolean,
                              thisArg?: any,
                          ): number | undefined;
                          findIndex(
                              predicate: (value: number, index: number, obj: this) => boolean,
                              thisArg?: any,
                          ): number;
                          findLast<S extends number>(
                              predicate: (
                                  value: number,
                                  index: number,
                                  array: this,
                              ) => value is S,
                              thisArg?: any,
                          ): S | undefined;
                          findLast(
                              predicate: (value: number, index: number, array: this) => unknown,
                              thisArg?: any,
                          ): number | undefined;
                          findLastIndex(
                              predicate: (value: number, index: number, array: this) => unknown,
                              thisArg?: any,
                          ): number;
                          forEach(
                              callbackfn: (value: number, index: number, array: this) => void,
                              thisArg?: any,
                          ): void;
                          includes(searchElement: number, fromIndex?: number): boolean;
                          indexOf(searchElement: number, fromIndex?: number): number;
                          join(separator?: string): string;
                          keys(): ArrayIterator<number>;
                          lastIndexOf(searchElement: number, fromIndex?: number): number;
                          map(
                              callbackfn: (value: number, index: number, array: this) => number,
                              thisArg?: any,
                          ): Uint8Array<ArrayBuffer>;
                          reduce(
                              callbackfn: (
                                  previousValue: number,
                                  currentValue: number,
                                  currentIndex: number,
                                  array: this,
                              ) => number,
                          ): number;
                          reduce(
                              callbackfn: (
                                  previousValue: number,
                                  currentValue: number,
                                  currentIndex: number,
                                  array: this,
                              ) => number,
                              initialValue: number,
                          ): number;
                          reduce<U>(
                              callbackfn: (
                                  previousValue: U,
                                  currentValue: number,
                                  currentIndex: number,
                                  array: this,
                              ) => U,
                              initialValue: U,
                          ): U;
                          reduceRight(
                              callbackfn: (
                                  previousValue: number,
                                  currentValue: number,
                                  currentIndex: number,
                                  array: this,
                              ) => number,
                          ): number;
                          reduceRight(
                              callbackfn: (
                                  previousValue: number,
                                  currentValue: number,
                                  currentIndex: number,
                                  array: this,
                              ) => number,
                              initialValue: number,
                          ): number;
                          reduceRight<U>(
                              callbackfn: (
                                  previousValue: U,
                                  currentValue: number,
                                  currentIndex: number,
                                  array: this,
                              ) => U,
                              initialValue: U,
                          ): U;
                          reverse(): this;
                          set(array: ArrayLike<number>, offset?: number): void;
                          slice(start?: number, end?: number): Uint8Array<ArrayBuffer>;
                          some(
                              predicate: (value: number, index: number, array: this) => unknown,
                              thisArg?: any,
                          ): boolean;
                          sort(compareFn?: (a: number, b: number) => number): this;
                          subarray(begin?: number, end?: number): Uint8Array<ArrayBufferLike>;
                          toLocaleString(): string;
                          toLocaleString(
                              locales: string | string[],
                              options?: NumberFormatOptions,
                          ): string;
                          toReversed(): Uint8Array<ArrayBuffer>;
                          toSorted(
                              compareFn?: (a: number, b: number) => number,
                          ): Uint8Array<ArrayBuffer>;
                          toString(): string;
                          valueOf(): this;
                          values(): ArrayIterator<number>;
                          with(index: number, value: number): Uint8Array<ArrayBuffer>;
                          [key: number]: number;
                      }
                      | undefined;
                      tilemode: boolean;
                      transactionManager: {
                          strictMode: boolean;
                          abortTransaction(): void;
                          cancelUndoMark(): void;
                          canRedo(): boolean;
                          canUndo(): boolean;
                          clearUndoStack(): void;
                          commitTransaction(): void;
                          currentTransaction(): AcDbDatabaseTransaction | undefined;
                          endUndoMark(): void;
                          flushPendingEntityModifiedEvents(): void;
                          flushPendingLayerModifiedEvents(): void;
                          hasTransaction(): boolean;
                          isApplyingUndoRedo(): boolean;
                          isOpenedForWriteInTransaction(objectId: string): boolean;
                          isRecording(): boolean;
                          recordAppend(container: AcDbChangeContainer, object: AcDbObject): void;
                          recordRemove(container: AcDbChangeContainer, object: AcDbObject): void;
                          recordSysvar(name: string, before: unknown): void;
                          redo(): boolean;
                          resolveSymbolTableName(table: { objectId: string }): string;
                          runUndoable<T>(
                              label: string,
                              fn: (tr: AcDbDatabaseTransaction) => T,
                          ): T;
                          startTransaction(): AcDbDatabaseTransaction;
                          startUndoMark(label?: string): void;
                          undo(): boolean;
                      };
                      unitmode: number;
                      version: {
                          capabilities: {
                              supportsBlockRecordTable: boolean;
                              supportsClassesSection: boolean;
                              supportsHandles: boolean;
                              supportsLineWeight: boolean;
                              supportsLwPolyline: boolean;
                              supportsObjectsSection: boolean;
                              supportsSubclassMarkers: boolean;
                              supportsTransparency: boolean;
                              supportsTrueColor: boolean;
                              supportsUtf8CodePage: boolean;
                          };
                          name: string;
                          value: number;
                      };
                      adoptExternalHandle(object: AcDbObject, preferredId: string): string;
                      beginEventBatch(): void;
                      clone(): this;
                      clonePreservingIdentity(): this;
                      close(): void;
                      commitObjectHandle(
                          object: AcDbObject,
                          hasId?: (id: string) => boolean,
                      ): void;
                      createDefaultData(options?: AcDbCreateDefaultDataOptions): void;
                      createExtensionDictionary(): string | undefined;
                      dxfIn(filer: AcDbDxfFiler): this;
                      dxfInFields(_filer: AcDbDxfFiler): this;
                      dxfOut(
                          _fileName?: string,
                          precision?: number,
                          version?: string | number | AcDbDwgVersion,
                          optionsOrThumbnail?:
                              | boolean
                              | { format?: "ascii"
                              | "binary"; saveThumbnailImage?: boolean },
                      ): string | Uint8Array<ArrayBufferLike>;
                      dxfOutFields(_filer: AcDbDxfFiler): this;
                      endEventBatch(): void;
                      endEventBatchChunked(
                          chunkSize: number,
                          onChunk?: (flushed: number, total: number) => void | Promise<void>,
                      ): Promise<void>;
                      ensureEntityStyleDefaults(entity: AcDbEntity): void;
                      ensureTextStyleDefaults(): void;
                      generateHandle(): string;
                      generateUniqueHandle(): string;
                      getAttr(attrName: string): any;
                      getAttrWithoutException(attrName: string): any;
                      getObjectById(
                          id: string,
                          _openErased?: boolean,
                      ): AcDbObject<AcDbObjectAttrs> | undefined;
                      getRootDictionaries(): AcDbDictionary<AcDbObject<AcDbObjectAttrs>>[];
                      getXData(appId: string): AcDbResultBuffer | undefined;
                      initializeHandleSeed(seed: string): void;
                      isEventBatched(): boolean;
                      isHandleTaken(
                          objectId: string,
                          except?: AcDbObject<AcDbObjectAttrs>,
                      ): boolean;
                      isLayerDrawable(layerName: string): boolean;
                      isUndoRecording(): boolean;
                      notifyDictObjectErased(object: AcDbObject, key: string): void;
                      notifyDictObjectSet(object: AcDbObject, key: string): void;
                      notifyEntityAppended(entity: AcDbEntity | AcDbEntity[]): void;
                      notifyEntityErased(entity: AcDbEntity | AcDbEntity[]): void;
                      openEntityForRead(
                          entityOrId: string | AcDbEntity,
                      ): AcDbEntity | undefined;
                      openEntityForWrite(
                          entityOrId: string | AcDbEntity,
                      ): AcDbEntity | undefined;
                      openObjectForRead<T extends AcDbObject<AcDbObjectAttrs>>(
                          objectId: string,
                      ): T | undefined;
                      openObjectForWrite<T extends AcDbObject<AcDbObjectAttrs>>(
                          objectId: string,
                      ): T | undefined;
                      openUri(url: string, options: AcDbOpenDatabaseOptions): Promise<void>;
                      read(
                          data: ArrayBuffer,
                          options: AcDbOpenDatabaseOptions,
                          fileType?: string,
                      ): Promise<void>;
                      regen(): Promise<void>;
                      registerObjectHandle(object: AcDbObject): void;
                      releaseObjectHandle(object: AcDbObject): void;
                      removeXData(appId: string): void;
                      restoreFrom(snapshot: this): void;
                      runDatabaseEdit(label: string, fn: () => void): void;
                      setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                      setDwgName(value: string): void;
                      setXData(resbuf: AcDbResultBuffer): void;
                      updateMaxHandle(handle: string): void;
                  };
                  dxfPaperSpace: boolean;
                  dxfTypeName: string;
                  extensionDictionary: string
                  | undefined;
                  geometricExtents: {
                      center: {
                          x: number;
                          y: number;
                          z: number;
                          "[iterator]"(): Generator<number, void, unknown>;
                          add(v: AcGeVectorLike): this;
                          addScalar(s: number): this;
                          addScaledVector(v: AcGeVector3dLike, s: number): this;
                          addVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                          angleTo(v: AcGeVector3d): number;
                          applyAxisAngle(axis: AcGeVector3dLike, angle: number): this;
                          applyEuler(euler: AcGeEuler): this;
                          applyMatrix3(m: AcGeMatrix2d): this;
                          applyMatrix4(m: AcGeMatrix3d): this;
                          applyNormalMatrix(m: AcGeMatrix2d): this;
                          applyQuaternion(q: AcGeQuaternion): this;
                          ceil(): this;
                          clamp(min: AcGeVector3dLike, max: AcGeVector3dLike): this;
                          clampLength(min: number, max: number): this;
                          clampScalar(minVal: number, maxVal: number): this;
                          clone(): AcGeVector3d;
                          copy(v: AcGeVectorLike): this;
                          cross(v: AcGeVector3dLike): this;
                          crossVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                          distanceTo(v: AcGeVector3dLike): number;
                          distanceToSquared(v: AcGeVector3dLike): number;
                          divide(v: AcGeVector3dLike): this;
                          divideScalar(scalar: number): this;
                          dot(v: AcGeVector3dLike): number;
                          equals(v: AcGeVector3dLike): boolean;
                          floor(): this;
                          fromArray(array: number[], offset?: number): this;
                          getComponent(index: number): number;
                          isParallelTo(vec: AcGeVector3d): boolean;
                          length(): number;
                          lengthSq(): number;
                          lerp(v: AcGeVector3dLike, alpha: number): this;
                          lerpVectors(
                              v1: AcGeVector3dLike,
                              v2: AcGeVector3dLike,
                              alpha: number,
                          ): this;
                          manhattanDistanceTo(v: AcGeVector3dLike): number;
                          manhattanLength(): number;
                          max(v: AcGeVector3dLike): this;
                          min(v: AcGeVector3dLike): this;
                          multiply(v: AcGeVector3dLike): this;
                          multiplyScalar(scalar: number): this;
                          multiplyVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                          negate(): this;
                          normalize(): this;
                          projectOnPlane(planeNormal: AcGeVector3d): this;
                          projectOnVector(v: AcGeVector3d): this;
                          random(): this;
                          randomDirection(): this;
                          reflect(normal: AcGeVector3dLike): this;
                          round(): this;
                          roundToZero(): this;
                          set(x: number, y: number, z: number): this;
                          setComponent(index: number, value: number): this;
                          setFromMatrix3Column(m: AcGeMatrix2d, index: number): this;
                          setFromMatrixColumn(m: AcGeMatrix3d, index: number): this;
                          setFromMatrixPosition(m: AcGeMatrix3d): this;
                          setFromMatrixScale(m: AcGeMatrix3d): this;
                          setLength(l: number): this;
                          setScalar(scalar: number): this;
                          setX(x: number): this;
                          setY(y: number): this;
                          setZ(z: number): this;
                          sub(v: AcGeVector3dLike): this;
                          subScalar(s: number): this;
                          subVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                          toArray(
                              array?: number[] | Float32Array<ArrayBufferLike>,
                              offset?: number,
                          ): number[] | Float32Array<ArrayBufferLike>;
                          transformDirection(m: AcGeMatrix3d): this;
                      };
                      max: {
                          x: number;
                          y: number;
                          z: number;
                          "[iterator]"(): Generator<number, void, unknown>;
                          add(v: AcGeVectorLike): this;
                          addScalar(s: number): this;
                          addScaledVector(v: AcGeVector3dLike, s: number): this;
                          addVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                          angleTo(v: AcGeVector3d): number;
                          applyAxisAngle(axis: AcGeVector3dLike, angle: number): this;
                          applyEuler(euler: AcGeEuler): this;
                          applyMatrix3(m: AcGeMatrix2d): this;
                          applyMatrix4(m: AcGeMatrix3d): this;
                          applyNormalMatrix(m: AcGeMatrix2d): this;
                          applyQuaternion(q: AcGeQuaternion): this;
                          ceil(): this;
                          clamp(min: AcGeVector3dLike, max: AcGeVector3dLike): this;
                          clampLength(min: number, max: number): this;
                          clampScalar(minVal: number, maxVal: number): this;
                          clone(): AcGeVector3d;
                          copy(v: AcGeVectorLike): this;
                          cross(v: AcGeVector3dLike): this;
                          crossVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                          distanceTo(v: AcGeVector3dLike): number;
                          distanceToSquared(v: AcGeVector3dLike): number;
                          divide(v: AcGeVector3dLike): this;
                          divideScalar(scalar: number): this;
                          dot(v: AcGeVector3dLike): number;
                          equals(v: AcGeVector3dLike): boolean;
                          floor(): this;
                          fromArray(array: number[], offset?: number): this;
                          getComponent(index: number): number;
                          isParallelTo(vec: AcGeVector3d): boolean;
                          length(): number;
                          lengthSq(): number;
                          lerp(v: AcGeVector3dLike, alpha: number): this;
                          lerpVectors(
                              v1: AcGeVector3dLike,
                              v2: AcGeVector3dLike,
                              alpha: number,
                          ): this;
                          manhattanDistanceTo(v: AcGeVector3dLike): number;
                          manhattanLength(): number;
                          max(v: AcGeVector3dLike): this;
                          min(v: AcGeVector3dLike): this;
                          multiply(v: AcGeVector3dLike): this;
                          multiplyScalar(scalar: number): this;
                          multiplyVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                          negate(): this;
                          normalize(): this;
                          projectOnPlane(planeNormal: AcGeVector3d): this;
                          projectOnVector(v: AcGeVector3d): this;
                          random(): this;
                          randomDirection(): this;
                          reflect(normal: AcGeVector3dLike): this;
                          round(): this;
                          roundToZero(): this;
                          set(x: number, y: number, z: number): this;
                          setComponent(index: number, value: number): this;
                          setFromMatrix3Column(m: AcGeMatrix2d, index: number): this;
                          setFromMatrixColumn(m: AcGeMatrix3d, index: number): this;
                          setFromMatrixPosition(m: AcGeMatrix3d): this;
                          setFromMatrixScale(m: AcGeMatrix3d): this;
                          setLength(l: number): this;
                          setScalar(scalar: number): this;
                          setX(x: number): this;
                          setY(y: number): this;
                          setZ(z: number): this;
                          sub(v: AcGeVector3dLike): this;
                          subScalar(s: number): this;
                          subVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                          toArray(
                              array?: number[] | Float32Array<ArrayBufferLike>,
                              offset?: number,
                          ): number[] | Float32Array<ArrayBufferLike>;
                          transformDirection(m: AcGeMatrix3d): this;
                      };
                      min: {
                          x: number;
                          y: number;
                          z: number;
                          "[iterator]"(): Generator<number, void, unknown>;
                          add(v: AcGeVectorLike): this;
                          addScalar(s: number): this;
                          addScaledVector(v: AcGeVector3dLike, s: number): this;
                          addVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                          angleTo(v: AcGeVector3d): number;
                          applyAxisAngle(axis: AcGeVector3dLike, angle: number): this;
                          applyEuler(euler: AcGeEuler): this;
                          applyMatrix3(m: AcGeMatrix2d): this;
                          applyMatrix4(m: AcGeMatrix3d): this;
                          applyNormalMatrix(m: AcGeMatrix2d): this;
                          applyQuaternion(q: AcGeQuaternion): this;
                          ceil(): this;
                          clamp(min: AcGeVector3dLike, max: AcGeVector3dLike): this;
                          clampLength(min: number, max: number): this;
                          clampScalar(minVal: number, maxVal: number): this;
                          clone(): AcGeVector3d;
                          copy(v: AcGeVectorLike): this;
                          cross(v: AcGeVector3dLike): this;
                          crossVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                          distanceTo(v: AcGeVector3dLike): number;
                          distanceToSquared(v: AcGeVector3dLike): number;
                          divide(v: AcGeVector3dLike): this;
                          divideScalar(scalar: number): this;
                          dot(v: AcGeVector3dLike): number;
                          equals(v: AcGeVector3dLike): boolean;
                          floor(): this;
                          fromArray(array: number[], offset?: number): this;
                          getComponent(index: number): number;
                          isParallelTo(vec: AcGeVector3d): boolean;
                          length(): number;
                          lengthSq(): number;
                          lerp(v: AcGeVector3dLike, alpha: number): this;
                          lerpVectors(
                              v1: AcGeVector3dLike,
                              v2: AcGeVector3dLike,
                              alpha: number,
                          ): this;
                          manhattanDistanceTo(v: AcGeVector3dLike): number;
                          manhattanLength(): number;
                          max(v: AcGeVector3dLike): this;
                          min(v: AcGeVector3dLike): this;
                          multiply(v: AcGeVector3dLike): this;
                          multiplyScalar(scalar: number): this;
                          multiplyVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                          negate(): this;
                          normalize(): this;
                          projectOnPlane(planeNormal: AcGeVector3d): this;
                          projectOnVector(v: AcGeVector3d): this;
                          random(): this;
                          randomDirection(): this;
                          reflect(normal: AcGeVector3dLike): this;
                          round(): this;
                          roundToZero(): this;
                          set(x: number, y: number, z: number): this;
                          setComponent(index: number, value: number): this;
                          setFromMatrix3Column(m: AcGeMatrix2d, index: number): this;
                          setFromMatrixColumn(m: AcGeMatrix3d, index: number): this;
                          setFromMatrixPosition(m: AcGeMatrix3d): this;
                          setFromMatrixScale(m: AcGeMatrix3d): this;
                          setLength(l: number): this;
                          setScalar(scalar: number): this;
                          setX(x: number): this;
                          setY(y: number): this;
                          setZ(z: number): this;
                          sub(v: AcGeVector3dLike): this;
                          subScalar(s: number): this;
                          subVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                          toArray(
                              array?: number[] | Float32Array<ArrayBufferLike>,
                              offset?: number,
                          ): number[] | Float32Array<ArrayBufferLike>;
                          transformDirection(m: AcGeMatrix3d): this;
                      };
                      size: {
                          x: number;
                          y: number;
                          z: number;
                          "[iterator]"(): Generator<number, void, unknown>;
                          add(v: AcGeVectorLike): this;
                          addScalar(s: number): this;
                          addScaledVector(v: AcGeVector3dLike, s: number): this;
                          addVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                          angleTo(v: AcGeVector3d): number;
                          applyAxisAngle(axis: AcGeVector3dLike, angle: number): this;
                          applyEuler(euler: AcGeEuler): this;
                          applyMatrix3(m: AcGeMatrix2d): this;
                          applyMatrix4(m: AcGeMatrix3d): this;
                          applyNormalMatrix(m: AcGeMatrix2d): this;
                          applyQuaternion(q: AcGeQuaternion): this;
                          ceil(): this;
                          clamp(min: AcGeVector3dLike, max: AcGeVector3dLike): this;
                          clampLength(min: number, max: number): this;
                          clampScalar(minVal: number, maxVal: number): this;
                          clone(): AcGeVector3d;
                          copy(v: AcGeVectorLike): this;
                          cross(v: AcGeVector3dLike): this;
                          crossVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                          distanceTo(v: AcGeVector3dLike): number;
                          distanceToSquared(v: AcGeVector3dLike): number;
                          divide(v: AcGeVector3dLike): this;
                          divideScalar(scalar: number): this;
                          dot(v: AcGeVector3dLike): number;
                          equals(v: AcGeVector3dLike): boolean;
                          floor(): this;
                          fromArray(array: number[], offset?: number): this;
                          getComponent(index: number): number;
                          isParallelTo(vec: AcGeVector3d): boolean;
                          length(): number;
                          lengthSq(): number;
                          lerp(v: AcGeVector3dLike, alpha: number): this;
                          lerpVectors(
                              v1: AcGeVector3dLike,
                              v2: AcGeVector3dLike,
                              alpha: number,
                          ): this;
                          manhattanDistanceTo(v: AcGeVector3dLike): number;
                          manhattanLength(): number;
                          max(v: AcGeVector3dLike): this;
                          min(v: AcGeVector3dLike): this;
                          multiply(v: AcGeVector3dLike): this;
                          multiplyScalar(scalar: number): this;
                          multiplyVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                          negate(): this;
                          normalize(): this;
                          projectOnPlane(planeNormal: AcGeVector3d): this;
                          projectOnVector(v: AcGeVector3d): this;
                          random(): this;
                          randomDirection(): this;
                          reflect(normal: AcGeVector3dLike): this;
                          round(): this;
                          roundToZero(): this;
                          set(x: number, y: number, z: number): this;
                          setComponent(index: number, value: number): this;
                          setFromMatrix3Column(m: AcGeMatrix2d, index: number): this;
                          setFromMatrixColumn(m: AcGeMatrix3d, index: number): this;
                          setFromMatrixPosition(m: AcGeMatrix3d): this;
                          setFromMatrixScale(m: AcGeMatrix3d): this;
                          setLength(l: number): this;
                          setScalar(scalar: number): this;
                          setX(x: number): this;
                          setY(y: number): this;
                          setZ(z: number): this;
                          sub(v: AcGeVector3dLike): this;
                          subScalar(s: number): this;
                          subVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                          toArray(
                              array?: number[] | Float32Array<ArrayBufferLike>,
                              offset?: number,
                          ): number[] | Float32Array<ArrayBufferLike>;
                          transformDirection(m: AcGeMatrix3d): this;
                      };
                      applyMatrix4(matrix: AcGeMatrix3d): this;
                      clampPoint(point: AcGeVector3dLike, target: AcGeVector3d): AcGeVector3d;
                      clone(): AcGeBox3d;
                      containsBox(box: AcGeBox3d): boolean;
                      containsPoint(point: AcGeVector3dLike): boolean;
                      copy(box: AcGeBox3d): this;
                      distanceToPoint(point: AcGeVector3dLike): number;
                      equals(box: AcGeBox3d): boolean;
                      expandByPoint(point: AcGeVector3dLike): this;
                      expandByScalar(scalar: number): this;
                      expandByVector(vector: AcGeVector3dLike): this;
                      getCenter(target: AcGeVector3d): AcGeVector3d;
                      getParameter(
                          point: AcGeVector3dLike,
                          target: AcGeVector3d,
                      ): AcGeVector3d;
                      getSize(target: AcGeVector3d): AcGeVector3d;
                      intersect(box: AcGeBox3d): this;
                      intersectsBox(box: AcGeBox3d): boolean;
                      intersectsPlane(plane: AcGePlane): boolean;
                      isEmpty(): boolean;
                      makeEmpty(): this;
                      set(min: AcGeVector3dLike, max: AcGeVector3dLike): this;
                      setFromArray(array: number[]): this;
                      setFromCenterAndSize(
                          center: AcGeVector3dLike,
                          size: AcGeVector3dLike,
                      ): this;
                      setFromPoints(points: AcGeVector3dLike[]): this;
                      translate(offset: AcGeVector3dLike): this;
                      union(box: AcGeBox3d): this;
                  };
                  isTemp: any;
                  layer: string;
                  lineStyle: {
                      description: string;
                      name: string;
                      pattern?: {
                          elementLength: number;
                          elementTypeFlag: number;
                          offsetX?: number;
                          offsetY?: number;
                          rotation?: number;
                          scale?: number;
                          shapeNumber?: number;
                          styleObjectId?: string;
                          text?: string;
                      }[];
                      standardFlag: number;
                      totalPatternLength: number;
                      type: AcGiStyleType;
                  };
                  lineType: string;
                  linetypeScale: number;
                  lineWeight: AcGiLineWeight;
                  objectId: string;
                  ownerId: string;
                  properties: {
                      groups: {
                          groupName: string;
                          properties: {
                              accessor: { set?: (...)
                              | (...); get(): unknown };
                              editable?: boolean;
                              itemSchema?: { properties: ... };
                              name: string;
                              options?: (...)[];
                              skipTranslation?: boolean;
                              type: AcDbEntityPropertyType;
                          }[];
                      }[];
                      type: string;
                  };
                  resolvedColor: {
                      blue: number
                      | undefined;
                      colorIndex: number | undefined;
                      colorMethod: AcCmColorMethod;
                      colorName: string | undefined;
                      cssColor: string | undefined;
                      green: number | undefined;
                      hexColor: string | undefined;
                      isByACI: boolean;
                      isByBlock: boolean;
                      isByColor: boolean;
                      isByLayer: boolean;
                      isForeground: boolean;
                      red: number | undefined;
                      RGB: number | undefined;
                      clone(): AcCmColor;
                      copy(other: AcCmColor): this;
                      cssColorAlpha(alpha: number): string | undefined;
                      equals(other: AcCmColor): boolean;
                      setByBlock(value?: number): this;
                      setByLayer(value?: number): this;
                      setForeground(): this;
                      setRGB(r: number, g: number, b: number): this;
                      setRGBFromCss(cssString: string): this;
                      setRGBValue(value: number | null | undefined): this;
                      setScalar(scalar: number): this;
                      toString(): string;
                  };
                  transparency: {
                      alpha: number;
                      isByAlpha: boolean;
                      isByBlock: boolean;
                      isByLayer: boolean;
                      isClear: boolean;
                      isInvalid: boolean;
                      isSolid: boolean;
                      method: AcCmTransparencyMethod;
                      percentage: number
                      | undefined;
                      clone(): AcCmTransparency;
                      equals(other: AcCmTransparency): boolean;
                      serialize(): number;
                      toString(): string;
                  };
                  type: string;
                  visibility: boolean;
                  clone(): this;
                  clonePreservingIdentity(): this;
                  close(): void;
                  createExtensionDictionary(): string | undefined;
                  dxfIn(filer: AcDbDxfFiler): this;
                  dxfInFields(filer: AcDbDxfFiler): this;
                  dxfOut(...args: unknown[]): unknown;
                  dxfOutFields(filer: AcDbDxfFiler): this;
                  erase(): boolean;
                  getAttr(attrName: string): any;
                  getAttrWithoutException(attrName: string): any;
                  getXData(appId: string): AcDbResultBuffer | undefined;
                  removeXData(appId: string): void;
                  resolveEffectiveProperties(): void;
                  restoreFrom(snapshot: this): void;
                  setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                  setXData(resbuf: AcDbResultBuffer): void;
                  subGetGripPoints(): AcGePoint3d[];
                  subGetOsnapPoints(
                      osnapMode: AcDbOsnapMode,
                      pickPoint: AcGePoint3dLike,
                      lastPoint: AcGePoint3dLike,
                      snapPoints: AcGePoint3dLike[],
                      gsMark?: any,
                      insertionMat?: AcGeMatrix3d,
                  ): void;
                  subMoveGripPointsAt(indices: number[], offset: AcGeVector3dLike): this;
                  subWorldDraw(
                      renderer: AcGiRenderer,
                      delay?: boolean,
                  ): AcGiEntity | undefined;
                  transformBy(matrix: AcGeMatrix3d): this;
                  worldDraw(
                      renderer: AcGiRenderer,
                      delay?: boolean,
                  ): AcGiEntity | undefined;
              }
              | null,
              | AcDbEntity
              | {
                  attrs: {
                      attributes: {
                          extensionDictionary?: string;
                          objectId?: string;
                          ownerId?: string;
                          [key: string]: any;
                      };
                      changed: {
                          extensionDictionary?: string;
                          objectId?: string;
                          ownerId?: string;
                          [key: string]: any;
                      };
                      events: {
                          attrChanged: {
                              addEventListener(
                                  listener: (payload: AcCmObjectAttributeChangedEventArgs) => void,
                              ): void;
                              dispatch(
                                  payload?: AcCmObjectAttributeChangedEventArgs<AcDbObjectAttrs>,
                                  ...args: unknown[],
                              ): void;
                              removeEventListener(
                                  listener: (payload: AcCmObjectAttributeChangedEventArgs) => void,
                              ): void;
                              replaceEventListener(
                                  listener: (payload: AcCmObjectAttributeChangedEventArgs) => void,
                              ): void;
                          };
                          modelChanged: {
                              addEventListener(
                                  listener: (payload: AcCmObjectChangedEventArgs) => void,
                              ): void;
                              dispatch(
                                  payload?: AcCmObjectChangedEventArgs<AcDbObjectAttrs>,
                                  ...args: unknown[],
                              ): void;
                              removeEventListener(
                                  listener: (payload: AcCmObjectChangedEventArgs) => void,
                              ): void;
                              replaceEventListener(
                                  listener: (payload: AcCmObjectChangedEventArgs) => void,
                              ): void;
                          };
                      };
                      changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                      clone(): AcCmObject<AcDbObjectAttrs>;
                      get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                      has(key: string): boolean;
                      hasChanged(key?: string): boolean;
                      previous<A extends string>(
                          key: A,
                      ): AcDbObjectAttrs[A] | null | undefined;
                      previousAttributes(): Partial<T>;
                      set<A extends string>(
                          key: A,
                          val?: AcDbObjectAttrs[A],
                          options?: AcCmObjectOptions,
                      ): this;
                      set(key: Partial<T>, options?: AcCmObjectOptions): this;
                  };
                  color: {
                      blue: number
                      | undefined;
                      colorIndex: number | undefined;
                      colorMethod: AcCmColorMethod;
                      colorName: string | undefined;
                      cssColor: string | undefined;
                      green: number | undefined;
                      hexColor: string | undefined;
                      isByACI: boolean;
                      isByBlock: boolean;
                      isByColor: boolean;
                      isByLayer: boolean;
                      isForeground: boolean;
                      red: number | undefined;
                      RGB: number | undefined;
                      clone(): AcCmColor;
                      copy(other: AcCmColor): this;
                      cssColorAlpha(alpha: number): string | undefined;
                      equals(other: AcCmColor): boolean;
                      setByBlock(value?: number): this;
                      setByLayer(value?: number): this;
                      setForeground(): this;
                      setRGB(r: number, g: number, b: number): this;
                      setRGBFromCss(cssString: string): this;
                      setRGBValue(value: number | null | undefined): this;
                      setScalar(scalar: number): this;
                      toString(): string;
                  };
                  database: {
                      angbase: number;
                      angdir: number;
                      attrs: {
                          attributes: {
                              extensionDictionary?: string;
                              objectId?: string;
                              ownerId?: string;
                              [key: string]: any;
                          };
                          changed: {
                              extensionDictionary?: string;
                              objectId?: string;
                              ownerId?: string;
                              [key: string]: any;
                          };
                          events: {
                              attrChanged: {
                                  addEventListener(
                                      listener: (payload: AcCmObjectAttributeChangedEventArgs) => void,
                                  ): void;
                                  dispatch(
                                      payload?: AcCmObjectAttributeChangedEventArgs<AcDbObjectAttrs>,
                                      ...args: unknown[],
                                  ): void;
                                  removeEventListener(
                                      listener: (payload: AcCmObjectAttributeChangedEventArgs) => void,
                                  ): void;
                                  replaceEventListener(
                                      listener: (payload: AcCmObjectAttributeChangedEventArgs) => void,
                                  ): void;
                              };
                              modelChanged: {
                                  addEventListener(
                                      listener: (payload: AcCmObjectChangedEventArgs) => void,
                                  ): void;
                                  dispatch(
                                      payload?: AcCmObjectChangedEventArgs<AcDbObjectAttrs>,
                                      ...args: unknown[],
                                  ): void;
                                  removeEventListener(
                                      listener: (payload: AcCmObjectChangedEventArgs) => void,
                                  ): void;
                                  replaceEventListener(
                                      listener: (payload: AcCmObjectChangedEventArgs) => void,
                                  ): void;
                              };
                          };
                          changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                          clone(): AcCmObject<AcDbObjectAttrs>;
                          get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                          has(key: string): boolean;
                          hasChanged(key?: string): boolean;
                          previous<A extends string>(
                              key: A,
                          ): AcDbObjectAttrs[A] | null | undefined;
                          previousAttributes(): Partial<T>;
                          set<A extends string>(
                              key: A,
                              val?: AcDbObjectAttrs[A],
                              options?: AcCmObjectOptions,
                          ): this;
                          set(key: Partial<T>, options?: AcCmObjectOptions): this;
                      };
                      aunits: number;
                      auprec: number;
                      cecolor: {
                          blue: number
                          | undefined;
                          colorIndex: number | undefined;
                          colorMethod: AcCmColorMethod;
                          colorName: string | undefined;
                          cssColor: string | undefined;
                          green: number | undefined;
                          hexColor: string | undefined;
                          isByACI: boolean;
                          isByBlock: boolean;
                          isByColor: boolean;
                          isByLayer: boolean;
                          isForeground: boolean;
                          red: number | undefined;
                          RGB: number | undefined;
                          clone(): AcCmColor;
                          copy(other: AcCmColor): this;
                          cssColorAlpha(alpha: number): string | undefined;
                          equals(other: AcCmColor): boolean;
                          setByBlock(value?: number): this;
                          setByLayer(value?: number): this;
                          setForeground(): this;
                          setRGB(r: number, g: number, b: number): this;
                          setRGBFromCss(cssString: string): this;
                          setRGBValue(value: number | null | undefined): this;
                          setScalar(scalar: number): this;
                          toString(): string;
                      };
                      celtscale: number;
                      celtype: string;
                      celweight: AcGiLineWeight;
                      cetransparency: {
                          alpha: number;
                          isByAlpha: boolean;
                          isByBlock: boolean;
                          isByLayer: boolean;
                          isClear: boolean;
                          isInvalid: boolean;
                          isSolid: boolean;
                          method: AcCmTransparencyMethod;
                          percentage: number
                          | undefined;
                          clone(): AcCmTransparency;
                          equals(other: AcCmTransparency): boolean;
                          serialize(): number;
                          toString(): string;
                      };
                      classes: readonly {
                          appName: string;
                          cppClassName: string;
                          instanceCount: number;
                          isEntity: boolean;
                          name: string;
                          proxyFlag: number;
                          wasProxy: boolean;
                      }[];
                      clayer: string;
                      cmleaderstyle: string;
                      cmlscale: number;
                      cmlstyle: string;
                      currentSpaceId: string;
                      database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                      dimstyle: string;
                      drawNoPlotLayers: boolean;
                      dwgname: string;
                      events: {
                          dictObjectErased: {
                              addEventListener(
                                  listener: (payload: AcDbDictObjectEventArgs) => void,
                              ): void;
                              dispatch(payload?: AcDbDictObjectEventArgs, ...args: unknown[]): void;
                              removeEventListener(
                                  listener: (payload: AcDbDictObjectEventArgs) => void,
                              ): void;
                              replaceEventListener(
                                  listener: (payload: AcDbDictObjectEventArgs) => void,
                              ): void;
                          };
                          dictObjetSet: {
                              addEventListener(
                                  listener: (payload: AcDbDictObjectEventArgs) => void,
                              ): void;
                              dispatch(payload?: AcDbDictObjectEventArgs, ...args: unknown[]): void;
                              removeEventListener(
                                  listener: (payload: AcDbDictObjectEventArgs) => void,
                              ): void;
                              replaceEventListener(
                                  listener: (payload: AcDbDictObjectEventArgs) => void,
                              ): void;
                          };
                          entityAppended: {
                              addEventListener(
                                  listener: (payload: AcDbEntityEventArgs) => void,
                              ): void;
                              dispatch(payload?: AcDbEntityEventArgs, ...args: unknown[]): void;
                              removeEventListener(
                                  listener: (payload: AcDbEntityEventArgs) => void,
                              ): void;
                              replaceEventListener(
                                  listener: (payload: AcDbEntityEventArgs) => void,
                              ): void;
                          };
                          entityErased: {
                              addEventListener(
                                  listener: (payload: AcDbEntityEventArgs) => void,
                              ): void;
                              dispatch(payload?: AcDbEntityEventArgs, ...args: unknown[]): void;
                              removeEventListener(
                                  listener: (payload: AcDbEntityEventArgs) => void,
                              ): void;
                              replaceEventListener(
                                  listener: (payload: AcDbEntityEventArgs) => void,
                              ): void;
                          };
                          entityModified: {
                              addEventListener(
                                  listener: (payload: AcDbEntityEventArgs) => void,
                              ): void;
                              dispatch(payload?: AcDbEntityEventArgs, ...args: unknown[]): void;
                              removeEventListener(
                                  listener: (payload: AcDbEntityEventArgs) => void,
                              ): void;
                              replaceEventListener(
                                  listener: (payload: AcDbEntityEventArgs) => void,
                              ): void;
                          };
                          layerAppended: {
                              addEventListener(
                                  listener: (payload: AcDbLayerEventArgs) => void,
                              ): void;
                              dispatch(payload?: AcDbLayerEventArgs, ...args: unknown[]): void;
                              removeEventListener(
                                  listener: (payload: AcDbLayerEventArgs) => void,
                              ): void;
                              replaceEventListener(
                                  listener: (payload: AcDbLayerEventArgs) => void,
                              ): void;
                          };
                          layerErased: {
                              addEventListener(
                                  listener: (payload: AcDbLayerEventArgs) => void,
                              ): void;
                              dispatch(payload?: AcDbLayerEventArgs, ...args: unknown[]): void;
                              removeEventListener(
                                  listener: (payload: AcDbLayerEventArgs) => void,
                              ): void;
                              replaceEventListener(
                                  listener: (payload: AcDbLayerEventArgs) => void,
                              ): void;
                          };
                          layerModified: {
                              addEventListener(
                                  listener: (payload: AcDbLayerModifiedEventArgs) => void,
                              ): void;
                              dispatch(
                                  payload?: AcDbLayerModifiedEventArgs,
                                  ...args: unknown[],
                              ): void;
                              removeEventListener(
                                  listener: (payload: AcDbLayerModifiedEventArgs) => void,
                              ): void;
                              replaceEventListener(
                                  listener: (payload: AcDbLayerModifiedEventArgs) => void,
                              ): void;
                          };
                          openFailed: {
                              addEventListener(
                                  listener: (payload: AcDbOpenFailedEventArgs) => void,
                              ): void;
                              dispatch(payload?: AcDbOpenFailedEventArgs, ...args: unknown[]): void;
                              removeEventListener(
                                  listener: (payload: AcDbOpenFailedEventArgs) => void,
                              ): void;
                              replaceEventListener(
                                  listener: (payload: AcDbOpenFailedEventArgs) => void,
                              ): void;
                          };
                          openProgress: {
                              addEventListener(
                                  listener: (payload: AcDbProgressdEventArgs) => void,
                              ): void;
                              dispatch(payload?: AcDbProgressdEventArgs, ...args: unknown[]): void;
                              removeEventListener(
                                  listener: (payload: AcDbProgressdEventArgs) => void,
                              ): void;
                              replaceEventListener(
                                  listener: (payload: AcDbProgressdEventArgs) => void,
                              ): void;
                          };
                      };
                      extensionDictionary: string
                      | undefined;
                      extents: {
                          center: {
                              x: number;
                              y: number;
                              z: number;
                              "[iterator]"(): Generator<number, void, unknown>;
                              add(v: AcGeVectorLike): this;
                              addScalar(s: number): this;
                              addScaledVector(v: AcGeVector3dLike, s: number): this;
                              addVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                              angleTo(v: AcGeVector3d): number;
                              applyAxisAngle(axis: AcGeVector3dLike, angle: number): this;
                              applyEuler(euler: AcGeEuler): this;
                              applyMatrix3(m: AcGeMatrix2d): this;
                              applyMatrix4(m: AcGeMatrix3d): this;
                              applyNormalMatrix(m: AcGeMatrix2d): this;
                              applyQuaternion(q: AcGeQuaternion): this;
                              ceil(): this;
                              clamp(min: AcGeVector3dLike, max: AcGeVector3dLike): this;
                              clampLength(min: number, max: number): this;
                              clampScalar(minVal: number, maxVal: number): this;
                              clone(): AcGeVector3d;
                              copy(v: AcGeVectorLike): this;
                              cross(v: AcGeVector3dLike): this;
                              crossVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                              distanceTo(v: AcGeVector3dLike): number;
                              distanceToSquared(v: AcGeVector3dLike): number;
                              divide(v: AcGeVector3dLike): this;
                              divideScalar(scalar: number): this;
                              dot(v: AcGeVector3dLike): number;
                              equals(v: AcGeVector3dLike): boolean;
                              floor(): this;
                              fromArray(array: number[], offset?: number): this;
                              getComponent(index: number): number;
                              isParallelTo(vec: AcGeVector3d): boolean;
                              length(): number;
                              lengthSq(): number;
                              lerp(v: AcGeVector3dLike, alpha: number): this;
                              lerpVectors(
                                  v1: AcGeVector3dLike,
                                  v2: AcGeVector3dLike,
                                  alpha: number,
                              ): this;
                              manhattanDistanceTo(v: AcGeVector3dLike): number;
                              manhattanLength(): number;
                              max(v: AcGeVector3dLike): this;
                              min(v: AcGeVector3dLike): this;
                              multiply(v: AcGeVector3dLike): this;
                              multiplyScalar(scalar: number): this;
                              multiplyVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                              negate(): this;
                              normalize(): this;
                              projectOnPlane(planeNormal: AcGeVector3d): this;
                              projectOnVector(v: AcGeVector3d): this;
                              random(): this;
                              randomDirection(): this;
                              reflect(normal: AcGeVector3dLike): this;
                              round(): this;
                              roundToZero(): this;
                              set(x: number, y: number, z: number): this;
                              setComponent(index: number, value: number): this;
                              setFromMatrix3Column(m: AcGeMatrix2d, index: number): this;
                              setFromMatrixColumn(m: AcGeMatrix3d, index: number): this;
                              setFromMatrixPosition(m: AcGeMatrix3d): this;
                              setFromMatrixScale(m: AcGeMatrix3d): this;
                              setLength(l: number): this;
                              setScalar(scalar: number): this;
                              setX(x: number): this;
                              setY(y: number): this;
                              setZ(z: number): this;
                              sub(v: AcGeVector3dLike): this;
                              subScalar(s: number): this;
                              subVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                              toArray(
                                  array?: number[] | Float32Array<ArrayBufferLike>,
                                  offset?: number,
                              ): number[] | Float32Array<ArrayBufferLike>;
                              transformDirection(m: AcGeMatrix3d): this;
                          };
                          max: {
                              x: number;
                              y: number;
                              z: number;
                              "[iterator]"(): Generator<number, void, unknown>;
                              add(v: AcGeVectorLike): this;
                              addScalar(s: number): this;
                              addScaledVector(v: AcGeVector3dLike, s: number): this;
                              addVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                              angleTo(v: AcGeVector3d): number;
                              applyAxisAngle(axis: AcGeVector3dLike, angle: number): this;
                              applyEuler(euler: AcGeEuler): this;
                              applyMatrix3(m: AcGeMatrix2d): this;
                              applyMatrix4(m: AcGeMatrix3d): this;
                              applyNormalMatrix(m: AcGeMatrix2d): this;
                              applyQuaternion(q: AcGeQuaternion): this;
                              ceil(): this;
                              clamp(min: AcGeVector3dLike, max: AcGeVector3dLike): this;
                              clampLength(min: number, max: number): this;
                              clampScalar(minVal: number, maxVal: number): this;
                              clone(): AcGeVector3d;
                              copy(v: AcGeVectorLike): this;
                              cross(v: AcGeVector3dLike): this;
                              crossVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                              distanceTo(v: AcGeVector3dLike): number;
                              distanceToSquared(v: AcGeVector3dLike): number;
                              divide(v: AcGeVector3dLike): this;
                              divideScalar(scalar: number): this;
                              dot(v: AcGeVector3dLike): number;
                              equals(v: AcGeVector3dLike): boolean;
                              floor(): this;
                              fromArray(array: number[], offset?: number): this;
                              getComponent(index: number): number;
                              isParallelTo(vec: AcGeVector3d): boolean;
                              length(): number;
                              lengthSq(): number;
                              lerp(v: AcGeVector3dLike, alpha: number): this;
                              lerpVectors(
                                  v1: AcGeVector3dLike,
                                  v2: AcGeVector3dLike,
                                  alpha: number,
                              ): this;
                              manhattanDistanceTo(v: AcGeVector3dLike): number;
                              manhattanLength(): number;
                              max(v: AcGeVector3dLike): this;
                              min(v: AcGeVector3dLike): this;
                              multiply(v: AcGeVector3dLike): this;
                              multiplyScalar(scalar: number): this;
                              multiplyVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                              negate(): this;
                              normalize(): this;
                              projectOnPlane(planeNormal: AcGeVector3d): this;
                              projectOnVector(v: AcGeVector3d): this;
                              random(): this;
                              randomDirection(): this;
                              reflect(normal: AcGeVector3dLike): this;
                              round(): this;
                              roundToZero(): this;
                              set(x: number, y: number, z: number): this;
                              setComponent(index: number, value: number): this;
                              setFromMatrix3Column(m: AcGeMatrix2d, index: number): this;
                              setFromMatrixColumn(m: AcGeMatrix3d, index: number): this;
                              setFromMatrixPosition(m: AcGeMatrix3d): this;
                              setFromMatrixScale(m: AcGeMatrix3d): this;
                              setLength(l: number): this;
                              setScalar(scalar: number): this;
                              setX(x: number): this;
                              setY(y: number): this;
                              setZ(z: number): this;
                              sub(v: AcGeVector3dLike): this;
                              subScalar(s: number): this;
                              subVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                              toArray(
                                  array?: number[] | Float32Array<ArrayBufferLike>,
                                  offset?: number,
                              ): number[] | Float32Array<ArrayBufferLike>;
                              transformDirection(m: AcGeMatrix3d): this;
                          };
                          min: {
                              x: number;
                              y: number;
                              z: number;
                              "[iterator]"(): Generator<number, void, unknown>;
                              add(v: AcGeVectorLike): this;
                              addScalar(s: number): this;
                              addScaledVector(v: AcGeVector3dLike, s: number): this;
                              addVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                              angleTo(v: AcGeVector3d): number;
                              applyAxisAngle(axis: AcGeVector3dLike, angle: number): this;
                              applyEuler(euler: AcGeEuler): this;
                              applyMatrix3(m: AcGeMatrix2d): this;
                              applyMatrix4(m: AcGeMatrix3d): this;
                              applyNormalMatrix(m: AcGeMatrix2d): this;
                              applyQuaternion(q: AcGeQuaternion): this;
                              ceil(): this;
                              clamp(min: AcGeVector3dLike, max: AcGeVector3dLike): this;
                              clampLength(min: number, max: number): this;
                              clampScalar(minVal: number, maxVal: number): this;
                              clone(): AcGeVector3d;
                              copy(v: AcGeVectorLike): this;
                              cross(v: AcGeVector3dLike): this;
                              crossVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                              distanceTo(v: AcGeVector3dLike): number;
                              distanceToSquared(v: AcGeVector3dLike): number;
                              divide(v: AcGeVector3dLike): this;
                              divideScalar(scalar: number): this;
                              dot(v: AcGeVector3dLike): number;
                              equals(v: AcGeVector3dLike): boolean;
                              floor(): this;
                              fromArray(array: number[], offset?: number): this;
                              getComponent(index: number): number;
                              isParallelTo(vec: AcGeVector3d): boolean;
                              length(): number;
                              lengthSq(): number;
                              lerp(v: AcGeVector3dLike, alpha: number): this;
                              lerpVectors(
                                  v1: AcGeVector3dLike,
                                  v2: AcGeVector3dLike,
                                  alpha: number,
                              ): this;
                              manhattanDistanceTo(v: AcGeVector3dLike): number;
                              manhattanLength(): number;
                              max(v: AcGeVector3dLike): this;
                              min(v: AcGeVector3dLike): this;
                              multiply(v: AcGeVector3dLike): this;
                              multiplyScalar(scalar: number): this;
                              multiplyVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                              negate(): this;
                              normalize(): this;
                              projectOnPlane(planeNormal: AcGeVector3d): this;
                              projectOnVector(v: AcGeVector3d): this;
                              random(): this;
                              randomDirection(): this;
                              reflect(normal: AcGeVector3dLike): this;
                              round(): this;
                              roundToZero(): this;
                              set(x: number, y: number, z: number): this;
                              setComponent(index: number, value: number): this;
                              setFromMatrix3Column(m: AcGeMatrix2d, index: number): this;
                              setFromMatrixColumn(m: AcGeMatrix3d, index: number): this;
                              setFromMatrixPosition(m: AcGeMatrix3d): this;
                              setFromMatrixScale(m: AcGeMatrix3d): this;
                              setLength(l: number): this;
                              setScalar(scalar: number): this;
                              setX(x: number): this;
                              setY(y: number): this;
                              setZ(z: number): this;
                              sub(v: AcGeVector3dLike): this;
                              subScalar(s: number): this;
                              subVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                              toArray(
                                  array?: number[] | Float32Array<ArrayBufferLike>,
                                  offset?: number,
                              ): number[] | Float32Array<ArrayBufferLike>;
                              transformDirection(m: AcGeMatrix3d): this;
                          };
                          size: {
                              x: number;
                              y: number;
                              z: number;
                              "[iterator]"(): Generator<number, void, unknown>;
                              add(v: AcGeVectorLike): this;
                              addScalar(s: number): this;
                              addScaledVector(v: AcGeVector3dLike, s: number): this;
                              addVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                              angleTo(v: AcGeVector3d): number;
                              applyAxisAngle(axis: AcGeVector3dLike, angle: number): this;
                              applyEuler(euler: AcGeEuler): this;
                              applyMatrix3(m: AcGeMatrix2d): this;
                              applyMatrix4(m: AcGeMatrix3d): this;
                              applyNormalMatrix(m: AcGeMatrix2d): this;
                              applyQuaternion(q: AcGeQuaternion): this;
                              ceil(): this;
                              clamp(min: AcGeVector3dLike, max: AcGeVector3dLike): this;
                              clampLength(min: number, max: number): this;
                              clampScalar(minVal: number, maxVal: number): this;
                              clone(): AcGeVector3d;
                              copy(v: AcGeVectorLike): this;
                              cross(v: AcGeVector3dLike): this;
                              crossVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                              distanceTo(v: AcGeVector3dLike): number;
                              distanceToSquared(v: AcGeVector3dLike): number;
                              divide(v: AcGeVector3dLike): this;
                              divideScalar(scalar: number): this;
                              dot(v: AcGeVector3dLike): number;
                              equals(v: AcGeVector3dLike): boolean;
                              floor(): this;
                              fromArray(array: number[], offset?: number): this;
                              getComponent(index: number): number;
                              isParallelTo(vec: AcGeVector3d): boolean;
                              length(): number;
                              lengthSq(): number;
                              lerp(v: AcGeVector3dLike, alpha: number): this;
                              lerpVectors(
                                  v1: AcGeVector3dLike,
                                  v2: AcGeVector3dLike,
                                  alpha: number,
                              ): this;
                              manhattanDistanceTo(v: AcGeVector3dLike): number;
                              manhattanLength(): number;
                              max(v: AcGeVector3dLike): this;
                              min(v: AcGeVector3dLike): this;
                              multiply(v: AcGeVector3dLike): this;
                              multiplyScalar(scalar: number): this;
                              multiplyVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                              negate(): this;
                              normalize(): this;
                              projectOnPlane(planeNormal: AcGeVector3d): this;
                              projectOnVector(v: AcGeVector3d): this;
                              random(): this;
                              randomDirection(): this;
                              reflect(normal: AcGeVector3dLike): this;
                              round(): this;
                              roundToZero(): this;
                              set(x: number, y: number, z: number): this;
                              setComponent(index: number, value: number): this;
                              setFromMatrix3Column(m: AcGeMatrix2d, index: number): this;
                              setFromMatrixColumn(m: AcGeMatrix3d, index: number): this;
                              setFromMatrixPosition(m: AcGeMatrix3d): this;
                              setFromMatrixScale(m: AcGeMatrix3d): this;
                              setLength(l: number): this;
                              setScalar(scalar: number): this;
                              setX(x: number): this;
                              setY(y: number): this;
                              setZ(z: number): this;
                              sub(v: AcGeVector3dLike): this;
                              subScalar(s: number): this;
                              subVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                              toArray(
                                  array?: number[] | Float32Array<ArrayBufferLike>,
                                  offset?: number,
                              ): number[] | Float32Array<ArrayBufferLike>;
                              transformDirection(m: AcGeMatrix3d): this;
                          };
                          applyMatrix4(matrix: AcGeMatrix3d): this;
                          clampPoint(point: AcGeVector3dLike, target: AcGeVector3d): AcGeVector3d;
                          clone(): AcGeBox3d;
                          containsBox(box: AcGeBox3d): boolean;
                          containsPoint(point: AcGeVector3dLike): boolean;
                          copy(box: AcGeBox3d): this;
                          distanceToPoint(point: AcGeVector3dLike): number;
                          equals(box: AcGeBox3d): boolean;
                          expandByPoint(point: AcGeVector3dLike): this;
                          expandByScalar(scalar: number): this;
                          expandByVector(vector: AcGeVector3dLike): this;
                          getCenter(target: AcGeVector3d): AcGeVector3d;
                          getParameter(
                              point: AcGeVector3dLike,
                              target: AcGeVector3d,
                          ): AcGeVector3d;
                          getSize(target: AcGeVector3d): AcGeVector3d;
                          intersect(box: AcGeBox3d): this;
                          intersectsBox(box: AcGeBox3d): boolean;
                          intersectsPlane(plane: AcGePlane): boolean;
                          isEmpty(): boolean;
                          makeEmpty(): this;
                          set(min: AcGeVector3dLike, max: AcGeVector3dLike): this;
                          setFromArray(array: number[]): this;
                          setFromCenterAndSize(
                              center: AcGeVector3dLike,
                              size: AcGeVector3dLike,
                          ): this;
                          setFromPoints(points: AcGeVector3dLike[]): this;
                          translate(offset: AcGeVector3dLike): this;
                          union(box: AcGeBox3d): this;
                      };
                      extmax: {
                          x: number;
                          y: number;
                          z: number;
                          "[iterator]"(): Generator<number, void, unknown>;
                          add(v: AcGeVectorLike): this;
                          addScalar(s: number): this;
                          addScaledVector(v: AcGeVector3dLike, s: number): this;
                          addVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                          angleTo(v: AcGeVector3d): number;
                          applyAxisAngle(axis: AcGeVector3dLike, angle: number): this;
                          applyEuler(euler: AcGeEuler): this;
                          applyMatrix3(m: AcGeMatrix2d): this;
                          applyMatrix4(m: AcGeMatrix3d): this;
                          applyNormalMatrix(m: AcGeMatrix2d): this;
                          applyQuaternion(q: AcGeQuaternion): this;
                          ceil(): this;
                          clamp(min: AcGeVector3dLike, max: AcGeVector3dLike): this;
                          clampLength(min: number, max: number): this;
                          clampScalar(minVal: number, maxVal: number): this;
                          clone(): AcGePoint3d;
                          copy(v: AcGeVectorLike): this;
                          cross(v: AcGeVector3dLike): this;
                          crossVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                          distanceTo(v: AcGeVector3dLike): number;
                          distanceToSquared(v: AcGeVector3dLike): number;
                          divide(v: AcGeVector3dLike): this;
                          divideScalar(scalar: number): this;
                          dot(v: AcGeVector3dLike): number;
                          equals(v: AcGeVector3dLike): boolean;
                          floor(): this;
                          fromArray(array: number[], offset?: number): this;
                          getComponent(index: number): number;
                          isParallelTo(vec: AcGeVector3d): boolean;
                          length(): number;
                          lengthSq(): number;
                          lerp(v: AcGeVector3dLike, alpha: number): this;
                          lerpVectors(
                              v1: AcGeVector3dLike,
                              v2: AcGeVector3dLike,
                              alpha: number,
                          ): this;
                          manhattanDistanceTo(v: AcGeVector3dLike): number;
                          manhattanLength(): number;
                          max(v: AcGeVector3dLike): this;
                          min(v: AcGeVector3dLike): this;
                          multiply(v: AcGeVector3dLike): this;
                          multiplyScalar(scalar: number): this;
                          multiplyVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                          negate(): this;
                          normalize(): this;
                          projectOnPlane(planeNormal: AcGeVector3d): this;
                          projectOnVector(v: AcGeVector3d): this;
                          random(): this;
                          randomDirection(): this;
                          reflect(normal: AcGeVector3dLike): this;
                          round(): this;
                          roundToZero(): this;
                          set(x: number, y: number, z: number): this;
                          setComponent(index: number, value: number): this;
                          setFromMatrix3Column(m: AcGeMatrix2d, index: number): this;
                          setFromMatrixColumn(m: AcGeMatrix3d, index: number): this;
                          setFromMatrixPosition(m: AcGeMatrix3d): this;
                          setFromMatrixScale(m: AcGeMatrix3d): this;
                          setLength(l: number): this;
                          setScalar(scalar: number): this;
                          setX(x: number): this;
                          setY(y: number): this;
                          setZ(z: number): this;
                          sub(v: AcGeVector3dLike): this;
                          subScalar(s: number): this;
                          subVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                          toArray(
                              array?: number[] | Float32Array<ArrayBufferLike>,
                              offset?: number,
                          ): number[] | Float32Array<ArrayBufferLike>;
                          transformDirection(m: AcGeMatrix3d): this;
                      };
                      extmin: {
                          x: number;
                          y: number;
                          z: number;
                          "[iterator]"(): Generator<number, void, unknown>;
                          add(v: AcGeVectorLike): this;
                          addScalar(s: number): this;
                          addScaledVector(v: AcGeVector3dLike, s: number): this;
                          addVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                          angleTo(v: AcGeVector3d): number;
                          applyAxisAngle(axis: AcGeVector3dLike, angle: number): this;
                          applyEuler(euler: AcGeEuler): this;
                          applyMatrix3(m: AcGeMatrix2d): this;
                          applyMatrix4(m: AcGeMatrix3d): this;
                          applyNormalMatrix(m: AcGeMatrix2d): this;
                          applyQuaternion(q: AcGeQuaternion): this;
                          ceil(): this;
                          clamp(min: AcGeVector3dLike, max: AcGeVector3dLike): this;
                          clampLength(min: number, max: number): this;
                          clampScalar(minVal: number, maxVal: number): this;
                          clone(): AcGePoint3d;
                          copy(v: AcGeVectorLike): this;
                          cross(v: AcGeVector3dLike): this;
                          crossVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                          distanceTo(v: AcGeVector3dLike): number;
                          distanceToSquared(v: AcGeVector3dLike): number;
                          divide(v: AcGeVector3dLike): this;
                          divideScalar(scalar: number): this;
                          dot(v: AcGeVector3dLike): number;
                          equals(v: AcGeVector3dLike): boolean;
                          floor(): this;
                          fromArray(array: number[], offset?: number): this;
                          getComponent(index: number): number;
                          isParallelTo(vec: AcGeVector3d): boolean;
                          length(): number;
                          lengthSq(): number;
                          lerp(v: AcGeVector3dLike, alpha: number): this;
                          lerpVectors(
                              v1: AcGeVector3dLike,
                              v2: AcGeVector3dLike,
                              alpha: number,
                          ): this;
                          manhattanDistanceTo(v: AcGeVector3dLike): number;
                          manhattanLength(): number;
                          max(v: AcGeVector3dLike): this;
                          min(v: AcGeVector3dLike): this;
                          multiply(v: AcGeVector3dLike): this;
                          multiplyScalar(scalar: number): this;
                          multiplyVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                          negate(): this;
                          normalize(): this;
                          projectOnPlane(planeNormal: AcGeVector3d): this;
                          projectOnVector(v: AcGeVector3d): this;
                          random(): this;
                          randomDirection(): this;
                          reflect(normal: AcGeVector3dLike): this;
                          round(): this;
                          roundToZero(): this;
                          set(x: number, y: number, z: number): this;
                          setComponent(index: number, value: number): this;
                          setFromMatrix3Column(m: AcGeMatrix2d, index: number): this;
                          setFromMatrixColumn(m: AcGeMatrix3d, index: number): this;
                          setFromMatrixPosition(m: AcGeMatrix3d): this;
                          setFromMatrixScale(m: AcGeMatrix3d): this;
                          setLength(l: number): this;
                          setScalar(scalar: number): this;
                          setX(x: number): this;
                          setY(y: number): this;
                          setZ(z: number): this;
                          sub(v: AcGeVector3dLike): this;
                          subScalar(s: number): this;
                          subVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                          toArray(
                              array?: number[] | Float32Array<ArrayBufferLike>,
                              offset?: number,
                          ): number[] | Float32Array<ArrayBufferLike>;
                          transformDirection(m: AcGeMatrix3d): this;
                      };
                      formatter: {
                          formatAngle(radians: number, options?: AcDbFormatterOptions): string;
                          formatLength(value: number, options?: AcDbFormatterOptions): string;
                          formatPoint2d(
                              point: AcGePoint2d,
                              options?: AcDbFormatterOptions,
                          ): string;
                          formatPoint3d(
                              point: AcGePoint3d,
                              options?: AcDbFormatterOptions,
                          ): string;
                      };
                      hpbackgroundcolor: {
                          blue: number
                          | undefined;
                          colorIndex: number | undefined;
                          colorMethod: AcCmColorMethod;
                          colorName: string | undefined;
                          cssColor: string | undefined;
                          green: number | undefined;
                          hexColor: string | undefined;
                          isByACI: boolean;
                          isByBlock: boolean;
                          isByColor: boolean;
                          isByLayer: boolean;
                          isForeground: boolean;
                          red: number | undefined;
                          RGB: number | undefined;
                          clone(): AcCmColor;
                          copy(other: AcCmColor): this;
                          cssColorAlpha(alpha: number): string | undefined;
                          equals(other: AcCmColor): boolean;
                          setByBlock(value?: number): this;
                          setByLayer(value?: number): this;
                          setForeground(): this;
                          setRGB(r: number, g: number, b: number): this;
                          setRGBFromCss(cssString: string): this;
                          setRGBValue(value: number | null | undefined): this;
                          setScalar(scalar: number): this;
                          toString(): string;
                      };
                      hpcolor: {
                          blue: number
                          | undefined;
                          colorIndex: number | undefined;
                          colorMethod: AcCmColorMethod;
                          colorName: string | undefined;
                          cssColor: string | undefined;
                          green: number | undefined;
                          hexColor: string | undefined;
                          isByACI: boolean;
                          isByBlock: boolean;
                          isByColor: boolean;
                          isByLayer: boolean;
                          isForeground: boolean;
                          red: number | undefined;
                          RGB: number | undefined;
                          clone(): AcCmColor;
                          copy(other: AcCmColor): this;
                          cssColorAlpha(alpha: number): string | undefined;
                          equals(other: AcCmColor): boolean;
                          setByBlock(value?: number): this;
                          setByLayer(value?: number): this;
                          setForeground(): this;
                          setRGB(r: number, g: number, b: number): this;
                          setRGBFromCss(cssString: string): this;
                          setRGBValue(value: number | null | undefined): this;
                          setScalar(scalar: number): this;
                          toString(): string;
                      };
                      hplayer: string;
                      hptransparency: {
                          alpha: number;
                          isByAlpha: boolean;
                          isByBlock: boolean;
                          isByLayer: boolean;
                          isClear: boolean;
                          isInvalid: boolean;
                          isSolid: boolean;
                          method: AcCmTransparencyMethod;
                          percentage: number
                          | undefined;
                          clone(): AcCmTransparency;
                          equals(other: AcCmTransparency): boolean;
                          serialize(): number;
                          toString(): string;
                      };
                      insunits: number;
                      isTemp: any;
                      lastOpenError: AcDbOpenDatabaseError
                      | null;
                      layerFilters: {
                          current:
                              | {
                                  filterExpression: string;
                                  name: string;
                                  nestedFilters: readonly (
                                      { name: string; setName: (value: string) => boolean; filterExpression: string; setFilterExpression: (expression: string) => boolean; filterExpressionTree: () => AcLyBoolExpr | null; ... 18 more ...; showEditor: () => AcLyLayerFilterDialogResult; }
                                  )[];
                                  addNested(filter: AcLyLayerFilter): boolean;
                                  allowDelete(): boolean;
                                  allowNested(): boolean;
                                  allowRename(): boolean;
                                  compareTo(other: AcLyLayerFilter | null | undefined): boolean;
                                  dynamicallyGenerated(): boolean;
                                  filter(layer: AcDbLayerTableRecord): boolean;
                                  filterExpressionTree(): AcLyBoolExpr | null;
                                  generateNested(): boolean;
                                  getNestedFilters(): readonly AcLyLayerFilter[];
                                  isIdFilter(): boolean;
                                  isProxy(): boolean;
                                  parent(): AcLyLayerFilter | null;
                                  removeNested(filter: AcLyLayerFilter): boolean;
                                  setAllowDelete(value: boolean): void;
                                  setAllowRename(value: boolean): void;
                                  setDynamicallyGenerated(value: boolean): void;
                                  setFilterExpression(expression: string): boolean;
                                  setIsProxy(value: boolean): void;
                                  setName(value: string): boolean;
                                  showEditor(): AcLyLayerFilterDialogResult;
                              }
                              | null;
                          root: {
                              filterExpression: string;
                              name: string;
                              nestedFilters: readonly (
                                  { name: string; setName: (value: string) => boolean; filterExpression: string; setFilterExpression: (expression: string) => boolean; filterExpressionTree: () => AcLyBoolExpr | null; ... 18 more ...; showEditor: () => AcLyLayerFilterDialogResult; }
                              )[];
                              addNested(filter: AcLyLayerFilter): boolean;
                              allowDelete(): boolean;
                              allowNested(): boolean;
                              allowRename(): boolean;
                              compareTo(other: AcLyLayerFilter | null | undefined): boolean;
                              dynamicallyGenerated(): boolean;
                              filter(layer: AcDbLayerTableRecord): boolean;
                              filterExpressionTree(): AcLyBoolExpr | null;
                              generateNested(): boolean;
                              getNestedFilters(): readonly AcLyLayerFilter[];
                              isIdFilter(): boolean;
                              isProxy(): boolean;
                              parent(): AcLyLayerFilter | null;
                              removeNested(filter: AcLyLayerFilter): boolean;
                              setAllowDelete(value: boolean): void;
                              setAllowRename(value: boolean): void;
                              setDynamicallyGenerated(value: boolean): void;
                              setFilterExpression(expression: string): boolean;
                              setIsProxy(value: boolean): void;
                              setName(value: string): boolean;
                              showEditor(): AcLyLayerFilterDialogResult;
                          };
                          clone(): AcLyLayerFilterTree;
                      };
                      ltscale: number;
                      lunits: number;
                      luprec: number;
                      lwdisplay: boolean;
                      measurement: number;
                      objectId: string;
                      objects: {
                          dictionary: {
                              attrs: {
                                  attributes: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  changed: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  events: {
                                      attrChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                      modelChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                  };
                                  changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                  clone(): AcCmObject<AcDbObjectAttrs>;
                                  get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                  has(key: string): boolean;
                                  hasChanged(key?: string): boolean;
                                  previous<A extends string>(
                                      key: A,
                                  ): AcDbObjectAttrs[A] | null | undefined;
                                  previousAttributes(): Partial<T>;
                                  set<A extends string>(
                                      key: A,
                                      val?: AcDbObjectAttrs[A],
                                      options?: AcCmObjectOptions,
                                  ): this;
                                  set(key: Partial<T>, options?: AcCmObjectOptions): this;
                              };
                              database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                              extensionDictionary: string
                              | undefined;
                              isTemp: any;
                              numEntries: number;
                              objectId: string;
                              ownerId: string;
                              clone(): this;
                              clonePreservingIdentity(): this;
                              close(): void;
                              createExtensionDictionary(): string | undefined;
                              dxfIn(filer: AcDbDxfFiler): this;
                              dxfInFields(filer: AcDbDxfFiler): this;
                              dxfOut(...args: unknown[]): unknown;
                              dxfOutFields(filer: AcDbDxfFiler): this;
                              entries(): IterableIterator<
                                  [string, AcDbDictionary<AcDbObject<(...)>>],
                              >;
                              getAt(
                                  name: string,
                              ): AcDbDictionary<AcDbObject<AcDbObjectAttrs>> | undefined;
                              getAttr(attrName: string): any;
                              getAttrWithoutException(attrName: string): any;
                              getIdAt(
                                  id: string,
                              ): AcDbDictionary<AcDbObject<AcDbObjectAttrs>> | undefined;
                              getXData(appId: string): AcDbResultBuffer | undefined;
                              has(name: string): boolean;
                              hasId(id: string): boolean;
                              newIterator(): AcDbObjectIterator<
                                  AcDbDictionary<AcDbObject<AcDbObjectAttrs>>,
                              >;
                              remove(name: string): boolean;
                              removeAll(): void;
                              removeId(id: string): boolean;
                              removeXData(appId: string): void;
                              restoreFrom(snapshot: this): void;
                              setAt(key: string, value: AcDbDictionary): void;
                              setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                              setXData(resbuf: AcDbResultBuffer): void;
                          };
                          group: {
                              attrs: {
                                  attributes: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  changed: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  events: {
                                      attrChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                      modelChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                  };
                                  changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                  clone(): AcCmObject<AcDbObjectAttrs>;
                                  get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                  has(key: string): boolean;
                                  hasChanged(key?: string): boolean;
                                  previous<A extends string>(
                                      key: A,
                                  ): AcDbObjectAttrs[A] | null | undefined;
                                  previousAttributes(): Partial<T>;
                                  set<A extends string>(
                                      key: A,
                                      val?: AcDbObjectAttrs[A],
                                      options?: AcCmObjectOptions,
                                  ): this;
                                  set(key: Partial<T>, options?: AcCmObjectOptions): this;
                              };
                              database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                              extensionDictionary: string
                              | undefined;
                              isTemp: any;
                              numEntries: number;
                              objectId: string;
                              ownerId: string;
                              clone(): this;
                              clonePreservingIdentity(): this;
                              close(): void;
                              createExtensionDictionary(): string | undefined;
                              dxfIn(filer: AcDbDxfFiler): this;
                              dxfInFields(filer: AcDbDxfFiler): this;
                              dxfOut(...args: unknown[]): unknown;
                              dxfOutFields(filer: AcDbDxfFiler): this;
                              entries(): IterableIterator<[string, AcDbGroup]>;
                              getAt(name: string): AcDbGroup | undefined;
                              getAttr(attrName: string): any;
                              getAttrWithoutException(attrName: string): any;
                              getIdAt(id: string): AcDbGroup | undefined;
                              getXData(appId: string): AcDbResultBuffer | undefined;
                              has(name: string): boolean;
                              hasId(id: string): boolean;
                              newIterator(): AcDbObjectIterator<AcDbGroup>;
                              remove(name: string): boolean;
                              removeAll(): void;
                              removeId(id: string): boolean;
                              removeXData(appId: string): void;
                              restoreFrom(snapshot: this): void;
                              setAt(key: string, value: AcDbGroup): void;
                              setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                              setXData(resbuf: AcDbResultBuffer): void;
                          };
                          imageDefinition: {
                              attrs: {
                                  attributes: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  changed: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  events: {
                                      attrChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                      modelChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                  };
                                  changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                  clone(): AcCmObject<AcDbObjectAttrs>;
                                  get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                  has(key: string): boolean;
                                  hasChanged(key?: string): boolean;
                                  previous<A extends string>(
                                      key: A,
                                  ): AcDbObjectAttrs[A] | null | undefined;
                                  previousAttributes(): Partial<T>;
                                  set<A extends string>(
                                      key: A,
                                      val?: AcDbObjectAttrs[A],
                                      options?: AcCmObjectOptions,
                                  ): this;
                                  set(key: Partial<T>, options?: AcCmObjectOptions): this;
                              };
                              database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                              extensionDictionary: string
                              | undefined;
                              isTemp: any;
                              numEntries: number;
                              objectId: string;
                              ownerId: string;
                              clone(): this;
                              clonePreservingIdentity(): this;
                              close(): void;
                              createExtensionDictionary(): string | undefined;
                              dxfIn(filer: AcDbDxfFiler): this;
                              dxfInFields(filer: AcDbDxfFiler): this;
                              dxfOut(...args: unknown[]): unknown;
                              dxfOutFields(filer: AcDbDxfFiler): this;
                              entries(): IterableIterator<[string, AcDbRasterImageDef]>;
                              getAt(name: string): AcDbRasterImageDef | undefined;
                              getAttr(attrName: string): any;
                              getAttrWithoutException(attrName: string): any;
                              getIdAt(id: string): AcDbRasterImageDef | undefined;
                              getXData(appId: string): AcDbResultBuffer | undefined;
                              has(name: string): boolean;
                              hasId(id: string): boolean;
                              newIterator(): AcDbObjectIterator<AcDbRasterImageDef>;
                              remove(name: string): boolean;
                              removeAll(): void;
                              removeId(id: string): boolean;
                              removeXData(appId: string): void;
                              restoreFrom(snapshot: this): void;
                              setAt(key: string, value: AcDbRasterImageDef): void;
                              setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                              setXData(resbuf: AcDbResultBuffer): void;
                          };
                          layerFilter: {
                              attrs: {
                                  attributes: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  changed: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  events: {
                                      attrChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                      modelChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                  };
                                  changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                  clone(): AcCmObject<AcDbObjectAttrs>;
                                  get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                  has(key: string): boolean;
                                  hasChanged(key?: string): boolean;
                                  previous<A extends string>(
                                      key: A,
                                  ): AcDbObjectAttrs[A] | null | undefined;
                                  previousAttributes(): Partial<T>;
                                  set<A extends string>(
                                      key: A,
                                      val?: AcDbObjectAttrs[A],
                                      options?: AcCmObjectOptions,
                                  ): this;
                                  set(key: Partial<T>, options?: AcCmObjectOptions): this;
                              };
                              database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                              extensionDictionary: string
                              | undefined;
                              isTemp: any;
                              numEntries: number;
                              objectId: string;
                              ownerId: string;
                              clone(): this;
                              clonePreservingIdentity(): this;
                              close(): void;
                              createExtensionDictionary(): string | undefined;
                              dxfIn(filer: AcDbDxfFiler): this;
                              dxfInFields(filer: AcDbDxfFiler): this;
                              dxfOut(...args: unknown[]): unknown;
                              dxfOutFields(filer: AcDbDxfFiler): this;
                              entries(): IterableIterator<[string, AcDbLayerFilter]>;
                              getAt(name: string): AcDbLayerFilter | undefined;
                              getAttr(attrName: string): any;
                              getAttrWithoutException(attrName: string): any;
                              getIdAt(id: string): AcDbLayerFilter | undefined;
                              getXData(appId: string): AcDbResultBuffer | undefined;
                              has(name: string): boolean;
                              hasId(id: string): boolean;
                              newIterator(): AcDbObjectIterator<AcDbLayerFilter>;
                              remove(name: string): boolean;
                              removeAll(): void;
                              removeId(id: string): boolean;
                              removeXData(appId: string): void;
                              restoreFrom(snapshot: this): void;
                              setAt(key: string, value: AcDbLayerFilter): void;
                              setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                              setXData(resbuf: AcDbResultBuffer): void;
                          };
                          layerIndex: {
                              attrs: {
                                  attributes: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  changed: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  events: {
                                      attrChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                      modelChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                  };
                                  changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                  clone(): AcCmObject<AcDbObjectAttrs>;
                                  get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                  has(key: string): boolean;
                                  hasChanged(key?: string): boolean;
                                  previous<A extends string>(
                                      key: A,
                                  ): AcDbObjectAttrs[A] | null | undefined;
                                  previousAttributes(): Partial<T>;
                                  set<A extends string>(
                                      key: A,
                                      val?: AcDbObjectAttrs[A],
                                      options?: AcCmObjectOptions,
                                  ): this;
                                  set(key: Partial<T>, options?: AcCmObjectOptions): this;
                              };
                              database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                              extensionDictionary: string
                              | undefined;
                              isTemp: any;
                              numEntries: number;
                              objectId: string;
                              ownerId: string;
                              clone(): this;
                              clonePreservingIdentity(): this;
                              close(): void;
                              createExtensionDictionary(): string | undefined;
                              dxfIn(filer: AcDbDxfFiler): this;
                              dxfInFields(filer: AcDbDxfFiler): this;
                              dxfOut(...args: unknown[]): unknown;
                              dxfOutFields(filer: AcDbDxfFiler): this;
                              entries(): IterableIterator<[string, AcDbLayerIndex]>;
                              getAt(name: string): AcDbLayerIndex | undefined;
                              getAttr(attrName: string): any;
                              getAttrWithoutException(attrName: string): any;
                              getIdAt(id: string): AcDbLayerIndex | undefined;
                              getXData(appId: string): AcDbResultBuffer | undefined;
                              has(name: string): boolean;
                              hasId(id: string): boolean;
                              newIterator(): AcDbObjectIterator<AcDbLayerIndex>;
                              remove(name: string): boolean;
                              removeAll(): void;
                              removeId(id: string): boolean;
                              removeXData(appId: string): void;
                              restoreFrom(snapshot: this): void;
                              setAt(key: string, value: AcDbLayerIndex): void;
                              setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                              setXData(resbuf: AcDbResultBuffer): void;
                          };
                          layout: {
                              attrs: {
                                  attributes: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  changed: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  events: {
                                      attrChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                      modelChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                  };
                                  changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                  clone(): AcCmObject<AcDbObjectAttrs>;
                                  get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                  has(key: string): boolean;
                                  hasChanged(key?: string): boolean;
                                  previous<A extends string>(
                                      key: A,
                                  ): AcDbObjectAttrs[A] | null | undefined;
                                  previousAttributes(): Partial<T>;
                                  set<A extends string>(
                                      key: A,
                                      val?: AcDbObjectAttrs[A],
                                      options?: AcCmObjectOptions,
                                  ): this;
                                  set(key: Partial<T>, options?: AcCmObjectOptions): this;
                              };
                              database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                              extensionDictionary: string
                              | undefined;
                              isTemp: any;
                              maxTabOrder: number;
                              numEntries: number;
                              objectId: string;
                              ownerId: string;
                              clone(): this;
                              clonePreservingIdentity(): this;
                              close(): void;
                              createExtensionDictionary(): string | undefined;
                              dxfIn(filer: AcDbDxfFiler): this;
                              dxfInFields(filer: AcDbDxfFiler): this;
                              dxfOut(...args: unknown[]): unknown;
                              dxfOutFields(filer: AcDbDxfFiler): this;
                              entries(): IterableIterator<[string, AcDbLayout]>;
                              getAt(name: string): AcDbLayout | undefined;
                              getAttr(attrName: string): any;
                              getAttrWithoutException(attrName: string): any;
                              getBtrIdAt(id: string): AcDbLayout | undefined;
                              getIdAt(id: string): AcDbLayout | undefined;
                              getXData(appId: string): AcDbResultBuffer | undefined;
                              has(name: string): boolean;
                              hasId(id: string): boolean;
                              newIterator(): AcDbObjectIterator<AcDbLayout>;
                              remove(name: string): boolean;
                              removeAll(): void;
                              removeId(id: string): boolean;
                              removeXData(appId: string): void;
                              restoreFrom(snapshot: this): void;
                              setAt(key: string, value: AcDbLayout): void;
                              setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                              setXData(resbuf: AcDbResultBuffer): void;
                          };
                          mleaderStyle: {
                              attrs: {
                                  attributes: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  changed: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  events: {
                                      attrChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                      modelChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                  };
                                  changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                  clone(): AcCmObject<AcDbObjectAttrs>;
                                  get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                  has(key: string): boolean;
                                  hasChanged(key?: string): boolean;
                                  previous<A extends string>(
                                      key: A,
                                  ): AcDbObjectAttrs[A] | null | undefined;
                                  previousAttributes(): Partial<T>;
                                  set<A extends string>(
                                      key: A,
                                      val?: AcDbObjectAttrs[A],
                                      options?: AcCmObjectOptions,
                                  ): this;
                                  set(key: Partial<T>, options?: AcCmObjectOptions): this;
                              };
                              database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                              extensionDictionary: string
                              | undefined;
                              isTemp: any;
                              numEntries: number;
                              objectId: string;
                              ownerId: string;
                              clone(): this;
                              clonePreservingIdentity(): this;
                              close(): void;
                              createExtensionDictionary(): string | undefined;
                              dxfIn(filer: AcDbDxfFiler): this;
                              dxfInFields(filer: AcDbDxfFiler): this;
                              dxfOut(...args: unknown[]): unknown;
                              dxfOutFields(filer: AcDbDxfFiler): this;
                              entries(): IterableIterator<[string, AcDbMLeaderStyle]>;
                              getAt(name: string): AcDbMLeaderStyle | undefined;
                              getAttr(attrName: string): any;
                              getAttrWithoutException(attrName: string): any;
                              getIdAt(id: string): AcDbMLeaderStyle | undefined;
                              getXData(appId: string): AcDbResultBuffer | undefined;
                              has(name: string): boolean;
                              hasId(id: string): boolean;
                              newIterator(): AcDbObjectIterator<AcDbMLeaderStyle>;
                              remove(name: string): boolean;
                              removeAll(): void;
                              removeId(id: string): boolean;
                              removeXData(appId: string): void;
                              restoreFrom(snapshot: this): void;
                              setAt(key: string, value: AcDbMLeaderStyle): void;
                              setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                              setXData(resbuf: AcDbResultBuffer): void;
                          };
                          mlineStyle: {
                              attrs: {
                                  attributes: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  changed: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  events: {
                                      attrChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                      modelChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                  };
                                  changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                  clone(): AcCmObject<AcDbObjectAttrs>;
                                  get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                  has(key: string): boolean;
                                  hasChanged(key?: string): boolean;
                                  previous<A extends string>(
                                      key: A,
                                  ): AcDbObjectAttrs[A] | null | undefined;
                                  previousAttributes(): Partial<T>;
                                  set<A extends string>(
                                      key: A,
                                      val?: AcDbObjectAttrs[A],
                                      options?: AcCmObjectOptions,
                                  ): this;
                                  set(key: Partial<T>, options?: AcCmObjectOptions): this;
                              };
                              database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                              extensionDictionary: string
                              | undefined;
                              isTemp: any;
                              numEntries: number;
                              objectId: string;
                              ownerId: string;
                              clone(): this;
                              clonePreservingIdentity(): this;
                              close(): void;
                              createExtensionDictionary(): string | undefined;
                              dxfIn(filer: AcDbDxfFiler): this;
                              dxfInFields(filer: AcDbDxfFiler): this;
                              dxfOut(...args: unknown[]): unknown;
                              dxfOutFields(filer: AcDbDxfFiler): this;
                              entries(): IterableIterator<[string, AcDbMlineStyle]>;
                              getAt(name: string): AcDbMlineStyle | undefined;
                              getAttr(attrName: string): any;
                              getAttrWithoutException(attrName: string): any;
                              getIdAt(id: string): AcDbMlineStyle | undefined;
                              getXData(appId: string): AcDbResultBuffer | undefined;
                              has(name: string): boolean;
                              hasId(id: string): boolean;
                              newIterator(): AcDbObjectIterator<AcDbMlineStyle>;
                              remove(name: string): boolean;
                              removeAll(): void;
                              removeId(id: string): boolean;
                              removeXData(appId: string): void;
                              restoreFrom(snapshot: this): void;
                              setAt(key: string, value: AcDbMlineStyle): void;
                              setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                              setXData(resbuf: AcDbResultBuffer): void;
                          };
                          sortentsTable: {
                              attrs: {
                                  attributes: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  changed: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  events: {
                                      attrChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                      modelChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                  };
                                  changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                  clone(): AcCmObject<AcDbObjectAttrs>;
                                  get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                  has(key: string): boolean;
                                  hasChanged(key?: string): boolean;
                                  previous<A extends string>(
                                      key: A,
                                  ): AcDbObjectAttrs[A] | null | undefined;
                                  previousAttributes(): Partial<T>;
                                  set<A extends string>(
                                      key: A,
                                      val?: AcDbObjectAttrs[A],
                                      options?: AcCmObjectOptions,
                                  ): this;
                                  set(key: Partial<T>, options?: AcCmObjectOptions): this;
                              };
                              database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                              extensionDictionary: string
                              | undefined;
                              isTemp: any;
                              numEntries: number;
                              objectId: string;
                              ownerId: string;
                              clone(): this;
                              clonePreservingIdentity(): this;
                              close(): void;
                              createExtensionDictionary(): string | undefined;
                              dxfIn(filer: AcDbDxfFiler): this;
                              dxfInFields(filer: AcDbDxfFiler): this;
                              dxfOut(...args: unknown[]): unknown;
                              dxfOutFields(filer: AcDbDxfFiler): this;
                              entries(): IterableIterator<[string, AcDbSortentsTable]>;
                              getAt(name: string): AcDbSortentsTable | undefined;
                              getAttr(attrName: string): any;
                              getAttrWithoutException(attrName: string): any;
                              getIdAt(id: string): AcDbSortentsTable | undefined;
                              getXData(appId: string): AcDbResultBuffer | undefined;
                              has(name: string): boolean;
                              hasId(id: string): boolean;
                              newIterator(): AcDbObjectIterator<AcDbSortentsTable>;
                              remove(name: string): boolean;
                              removeAll(): void;
                              removeId(id: string): boolean;
                              removeXData(appId: string): void;
                              restoreFrom(snapshot: this): void;
                              setAt(key: string, value: AcDbSortentsTable): void;
                              setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                              setXData(resbuf: AcDbResultBuffer): void;
                          };
                          xrecord: {
                              attrs: {
                                  attributes: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  changed: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  events: {
                                      attrChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                      modelChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                  };
                                  changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                  clone(): AcCmObject<AcDbObjectAttrs>;
                                  get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                  has(key: string): boolean;
                                  hasChanged(key?: string): boolean;
                                  previous<A extends string>(
                                      key: A,
                                  ): AcDbObjectAttrs[A] | null | undefined;
                                  previousAttributes(): Partial<T>;
                                  set<A extends string>(
                                      key: A,
                                      val?: AcDbObjectAttrs[A],
                                      options?: AcCmObjectOptions,
                                  ): this;
                                  set(key: Partial<T>, options?: AcCmObjectOptions): this;
                              };
                              database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                              extensionDictionary: string
                              | undefined;
                              isTemp: any;
                              numEntries: number;
                              objectId: string;
                              ownerId: string;
                              clone(): this;
                              clonePreservingIdentity(): this;
                              close(): void;
                              createExtensionDictionary(): string | undefined;
                              dxfIn(filer: AcDbDxfFiler): this;
                              dxfInFields(filer: AcDbDxfFiler): this;
                              dxfOut(...args: unknown[]): unknown;
                              dxfOutFields(filer: AcDbDxfFiler): this;
                              entries(): IterableIterator<[string, AcDbXrecord]>;
                              getAt(name: string): AcDbXrecord | undefined;
                              getAttr(attrName: string): any;
                              getAttrWithoutException(attrName: string): any;
                              getIdAt(id: string): AcDbXrecord | undefined;
                              getXData(appId: string): AcDbResultBuffer | undefined;
                              has(name: string): boolean;
                              hasId(id: string): boolean;
                              newIterator(): AcDbObjectIterator<AcDbXrecord>;
                              remove(name: string): boolean;
                              removeAll(): void;
                              removeId(id: string): boolean;
                              removeXData(appId: string): void;
                              restoreFrom(snapshot: this): void;
                              setAt(key: string, value: AcDbXrecord): void;
                              setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                              setXData(resbuf: AcDbResultBuffer): void;
                          };
                      };
                      orthomode: number;
                      osmode: number;
                      ownerId: string;
                      pdmode: number;
                      pdsize: number;
                      psltscale: boolean;
                      tables: {
                          appIdTable: {
                              attrs: {
                                  attributes: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  changed: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  events: {
                                      attrChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                      modelChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                  };
                                  changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                  clone(): AcCmObject<AcDbObjectAttrs>;
                                  get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                  has(key: string): boolean;
                                  hasChanged(key?: string): boolean;
                                  previous<A extends string>(
                                      key: A,
                                  ): AcDbObjectAttrs[A] | null | undefined;
                                  previousAttributes(): Partial<T>;
                                  set<A extends string>(
                                      key: A,
                                      val?: AcDbObjectAttrs[A],
                                      options?: AcCmObjectOptions,
                                  ): this;
                                  set(key: Partial<T>, options?: AcCmObjectOptions): this;
                              };
                              database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                              extensionDictionary: string
                              | undefined;
                              isTemp: any;
                              numEntries: number;
                              objectId: string;
                              ownerId: string;
                              add(record: AcDbRegAppTableRecord): void;
                              clone(): this;
                              clonePreservingIdentity(): this;
                              close(): void;
                              createExtensionDictionary(): string | undefined;
                              dxfIn(filer: AcDbDxfFiler): this;
                              dxfInFields(_filer: AcDbDxfFiler): this;
                              dxfOut(...args: unknown[]): unknown;
                              dxfOutFields(filer: AcDbDxfFiler): this;
                              getAt(name: string): AcDbRegAppTableRecord | undefined;
                              getAttr(attrName: string): any;
                              getAttrWithoutException(attrName: string): any;
                              getIdAt(id: string): AcDbRegAppTableRecord | undefined;
                              getOwnerIdAt(id: string): AcDbRegAppTableRecord | undefined;
                              getXData(appId: string): AcDbResultBuffer | undefined;
                              has(name: string): boolean;
                              hasId(id: string): boolean;
                              newIterator(
                                  iterateById?: boolean,
                              ): AcDbObjectIterator<AcDbRegAppTableRecord>;
                              remove(name: string): boolean;
                              removeAll(): void;
                              removeId(id: string): boolean;
                              removeXData(appId: string): void;
                              restoreFrom(snapshot: this): void;
                              setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                              setXData(resbuf: AcDbResultBuffer): void;
                          };
                          blockTable: {
                              attrs: {
                                  attributes: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  changed: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  events: {
                                      attrChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                      modelChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                  };
                                  changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                  clone(): AcCmObject<AcDbObjectAttrs>;
                                  get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                  has(key: string): boolean;
                                  hasChanged(key?: string): boolean;
                                  previous<A extends string>(
                                      key: A,
                                  ): AcDbObjectAttrs[A] | null | undefined;
                                  previousAttributes(): Partial<T>;
                                  set<A extends string>(
                                      key: A,
                                      val?: AcDbObjectAttrs[A],
                                      options?: AcCmObjectOptions,
                                  ): this;
                                  set(key: Partial<T>, options?: AcCmObjectOptions): this;
                              };
                              database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                              extensionDictionary: string
                              | undefined;
                              isTemp: any;
                              modelSpace: {
                                  attrs: {
                                      attributes: {
                                          blockInsertUnits?: (...) | (...);
                                          blockScaling?: (...) | (...);
                                          explodability?: (...) | (...);
                                          extensionDictionary?: (...) | (...);
                                          flags?: (...) | (...);
                                          layoutId?: (...) | (...);
                                          name?: (...) | (...);
                                          objectId?: (...) | (...);
                                          origin?: (...) | (...);
                                          ownerId?: (...) | (...);
                                          pathName?: (...) | (...);
                                          previewIcon?: (...) | (...);
                                          [key: string]: any;
                                      };
                                      changed: {
                                          blockInsertUnits?: (...)
                                          | (...);
                                          blockScaling?: (...) | (...);
                                          explodability?: (...) | (...);
                                          extensionDictionary?: (...) | (...);
                                          flags?: (...) | (...);
                                          layoutId?: (...) | (...);
                                          name?: (...) | (...);
                                          objectId?: (...) | (...);
                                          origin?: (...) | (...);
                                          ownerId?: (...) | (...);
                                          pathName?: (...) | (...);
                                          previewIcon?: (...) | (...);
                                          [key: string]: any;
                                      };
                                      events: {
                                          attrChanged: {
                                              addEventListener(listener: ...): ...;
                                              dispatch(payload?: ..., ...args: ...): ...;
                                              removeEventListener(listener: ...): ...;
                                              replaceEventListener(listener: ...): ...;
                                          };
                                          modelChanged: {
                                              addEventListener(listener: ...): ...;
                                              dispatch(payload?: ..., ...args: ...): ...;
                                              removeEventListener(listener: ...): ...;
                                              replaceEventListener(listener: ...): ...;
                                          };
                                      };
                                      changedAttributes(diff?: Partial<(...)>): Partial<T>;
                                      clone(): AcCmObject<AcDbBlockTableRecordAttrs>;
                                      get<A extends string>(key: A): (...)[(...)] | undefined;
                                      has(key: string): boolean;
                                      hasChanged(key?: string): boolean;
                                      previous<A extends string>(key: A): (...)[(...)] | null | undefined;
                                      previousAttributes(): Partial<T>;
                                      set<A extends string>(
                                          key: A,
                                          val?: (...)[(...)],
                                          options?: AcCmObjectOptions,
                                      ): this;
                                      set(key: Partial<T>, options?: AcCmObjectOptions): this;
                                  };
                                  blockInsertUnits: AcDbUnitsValue;
                                  blockScaling: AcDbBlockScaling;
                                  database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                                  explodability: number;
                                  extensionDictionary: string
                                  | undefined;
                                  flags: number;
                                  isModelSapce: boolean;
                                  isOverlayReference: boolean;
                                  isPaperSapce: boolean;
                                  isTemp: any;
                                  isUnresolvedXref: boolean;
                                  isXref: boolean;
                                  layoutId: string;
                                  name: string;
                                  objectId: string;
                                  origin: {
                                      x: number;
                                      y: number;
                                      z: number;
                                      "[iterator]"(): Generator<number, void, unknown>;
                                      add(v: AcGeVectorLike): this;
                                      addScalar(s: number): this;
                                      addScaledVector(v: AcGeVector3dLike, s: number): this;
                                      addVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                                      angleTo(v: AcGeVector3d): number;
                                      applyAxisAngle(axis: AcGeVector3dLike, angle: number): this;
                                      applyEuler(euler: AcGeEuler): this;
                                      applyMatrix3(m: AcGeMatrix2d): this;
                                      applyMatrix4(m: AcGeMatrix3d): this;
                                      applyNormalMatrix(m: AcGeMatrix2d): this;
                                      applyQuaternion(q: AcGeQuaternion): this;
                                      ceil(): this;
                                      clamp(min: AcGeVector3dLike, max: AcGeVector3dLike): this;
                                      clampLength(min: number, max: number): this;
                                      clampScalar(minVal: number, maxVal: number): this;
                                      clone(): AcGePoint3d;
                                      copy(v: AcGeVectorLike): this;
                                      cross(v: AcGeVector3dLike): this;
                                      crossVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                                      distanceTo(v: AcGeVector3dLike): number;
                                      distanceToSquared(v: AcGeVector3dLike): number;
                                      divide(v: AcGeVector3dLike): this;
                                      divideScalar(scalar: number): this;
                                      dot(v: AcGeVector3dLike): number;
                                      equals(v: AcGeVector3dLike): boolean;
                                      floor(): this;
                                      fromArray(array: number[], offset?: number): this;
                                      getComponent(index: number): number;
                                      isParallelTo(vec: AcGeVector3d): boolean;
                                      length(): number;
                                      lengthSq(): number;
                                      lerp(v: AcGeVector3dLike, alpha: number): this;
                                      lerpVectors(
                                          v1: AcGeVector3dLike,
                                          v2: AcGeVector3dLike,
                                          alpha: number,
                                      ): this;
                                      manhattanDistanceTo(v: AcGeVector3dLike): number;
                                      manhattanLength(): number;
                                      max(v: AcGeVector3dLike): this;
                                      min(v: AcGeVector3dLike): this;
                                      multiply(v: AcGeVector3dLike): this;
                                      multiplyScalar(scalar: number): this;
                                      multiplyVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                                      negate(): this;
                                      normalize(): this;
                                      projectOnPlane(planeNormal: AcGeVector3d): this;
                                      projectOnVector(v: AcGeVector3d): this;
                                      random(): this;
                                      randomDirection(): this;
                                      reflect(normal: AcGeVector3dLike): this;
                                      round(): this;
                                      roundToZero(): this;
                                      set(x: number, y: number, z: number): this;
                                      setComponent(index: number, value: number): this;
                                      setFromMatrix3Column(m: AcGeMatrix2d, index: number): this;
                                      setFromMatrixColumn(m: AcGeMatrix3d, index: number): this;
                                      setFromMatrixPosition(m: AcGeMatrix3d): this;
                                      setFromMatrixScale(m: AcGeMatrix3d): this;
                                      setLength(l: number): this;
                                      setScalar(scalar: number): this;
                                      setX(x: number): this;
                                      setY(y: number): this;
                                      setZ(z: number): this;
                                      sub(v: AcGeVector3dLike): this;
                                      subScalar(s: number): this;
                                      subVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                                      toArray(
                                          array?: (...)[] | Float32Array<(...)>,
                                          offset?: number,
                                      ): (...)[] | Float32Array<(...)>;
                                      transformDirection(m: AcGeMatrix3d): this;
                                  };
                                  ownerId: string;
                                  pathName: string;
                                  previewIcon: | {
                                      "[toStringTag]": "Uint8Array";
                                      buffer: (...)
                                      | (...);
                                      byteLength: number;
                                      byteOffset: number;
                                      BYTES_PER_ELEMENT: number;
                                      length: number;
                                      "[iterator]"(): ArrayIterator<(...)>;
                                      at(index: number): (...) | (...);
                                      copyWithin(target: number, start: number, end?: (...) | (...)): this;
                                      entries(): ArrayIterator<(...)>;
                                      every(
                                          predicate: (value: ..., index: ..., array: this) => ...,
                                          thisArg?: any,
                                      ): boolean;
                                      fill(
                                          value: number,
                                          start?: (...) | (...),
                                          end?: (...) | (...),
                                      ): this;
                                      filter(
                                          predicate: (value: ..., index: ..., array: this) => ...,
                                          thisArg?: any,
                                      ): Uint8Array<(...)>;
                                      find(
                                          predicate: (value: ..., index: ..., obj: this) => ...,
                                          thisArg?: any,
                                      ): (...) | (...);
                                      findIndex(
                                          predicate: (value: ..., index: ..., obj: this) => ...,
                                          thisArg?: any,
                                      ): number;
                                      findLast<S extends number>(
                                          predicate: (
                                              value: ...,
                                              index: ...,
                                              array: this,
                                          ) => value is (...),
                                          thisArg?: any,
                                      ): (...) | (...);
                                      findLast(
                                          predicate: (value: ..., index: ..., array: this) => ...,
                                          thisArg?: any,
                                      ): (...) | (...);
                                      findLastIndex(
                                          predicate: (value: ..., index: ..., array: this) => ...,
                                          thisArg?: any,
                                      ): number;
                                      forEach(
                                          callbackfn: (value: ..., index: ..., array: this) => ...,
                                          thisArg?: any,
                                      ): void;
                                      includes(searchElement: number, fromIndex?: (...) | (...)): boolean;
                                      indexOf(searchElement: number, fromIndex?: (...) | (...)): number;
                                      join(separator?: (...) | (...)): string;
                                      keys(): ArrayIterator<(...)>;
                                      lastIndexOf(
                                          searchElement: number,
                                          fromIndex?: (...) | (...),
                                      ): number;
                                      map(
                                          callbackfn: (value: ..., index: ..., array: this) => ...,
                                          thisArg?: any,
                                      ): Uint8Array<(...)>;
                                      reduce(
                                          callbackfn: (
                                              previousValue: ...,
                                              currentValue: ...,
                                              currentIndex: ...,
                                              array: this,
                                          ) => ...,
                                      ): number;
                                      reduce(
                                          callbackfn: (
                                              previousValue: ...,
                                              currentValue: ...,
                                              currentIndex: ...,
                                              array: this,
                                          ) => ...,
                                          initialValue: number,
                                      ): number;
                                      reduce<U>(
                                          callbackfn: (
                                              previousValue: ...,
                                              currentValue: ...,
                                              currentIndex: ...,
                                              array: this,
                                          ) => ...,
                                          initialValue: U,
                                      ): U;
                                      reduceRight(
                                          callbackfn: (
                                              previousValue: ...,
                                              currentValue: ...,
                                              currentIndex: ...,
                                              array: this,
                                          ) => ...,
                                      ): number;
                                      reduceRight(
                                          callbackfn: (
                                              previousValue: ...,
                                              currentValue: ...,
                                              currentIndex: ...,
                                              array: this,
                                          ) => ...,
                                          initialValue: number,
                                      ): number;
                                      reduceRight<U>(
                                          callbackfn: (
                                              previousValue: ...,
                                              currentValue: ...,
                                              currentIndex: ...,
                                              array: this,
                                          ) => ...,
                                          initialValue: U,
                                      ): U;
                                      reverse(): this;
                                      set(array: ArrayLike<(...)>, offset?: (...) | (...)): void;
                                      slice(start?: (...) | (...), end?: (...) | (...)): Uint8Array<(...)>;
                                      some(
                                          predicate: (value: ..., index: ..., array: this) => ...,
                                          thisArg?: any,
                                      ): boolean;
                                      sort(compareFn?: (...) | (...)): this;
                                      subarray(
                                          begin?: (...) | (...),
                                          end?: (...) | (...),
                                      ): Uint8Array<(...)>;
                                      toLocaleString(): string;
                                      toLocaleString(
                                          locales: (...) | (...),
                                          options?: (...) | (...),
                                      ): string;
                                      toReversed(): Uint8Array<(...)>;
                                      toSorted(compareFn?: (...) | (...)): Uint8Array<(...)>;
                                      toString(): string;
                                      valueOf(): this;
                                      values(): ArrayIterator<(...)>;
                                      with(index: number, value: number): Uint8Array<(...)>;
                                      [key: number]: number;
                                  }
                                  | undefined;
                                  appendEntity(entity: AcDbEntity | AcDbEntity[]): void;
                                  clone(): this;
                                  clonePreservingIdentity(): this;
                                  close(): void;
                                  createExtensionDictionary(): string | undefined;
                                  dxfIn(filer: AcDbDxfFiler): this;
                                  dxfInFields(filer: AcDbDxfFiler): this;
                                  dxfOut(...args: unknown[]): unknown;
                                  dxfOutBlockBegin(filer: AcDbDxfFiler): this;
                                  dxfOutBlockEnd(filer: AcDbDxfFiler): this;
                                  dxfOutBlockRecord(filer: AcDbDxfFiler): this;
                                  dxfOutFields(filer: AcDbDxfFiler): this;
                                  getAttr(attrName: string): any;
                                  getAttrWithoutException(attrName: string): any;
                                  getIdAt(id: string): AcDbEntity | undefined;
                                  getXData(appId: string): AcDbResultBuffer | undefined;
                                  hasEntityId(id: string): boolean;
                                  newIterator(): AcDbObjectIterator<AcDbEntity>;
                                  removeEntity(objectId: string | string[]): boolean;
                                  removeXData(appId: string): void;
                                  restoreFrom(snapshot: this): void;
                                  setAttr<A extends string>(
                                      attrName: A,
                                      val?: AcDbBlockTableRecordAttrs[A],
                                  ): void;
                                  setXData(resbuf: AcDbResultBuffer): void;
                              };
                              numEntries: number;
                              objectId: string;
                              ownerId: string;
                              add(record: AcDbBlockTableRecord): void;
                              clone(): this;
                              clonePreservingIdentity(): this;
                              close(): void;
                              createExtensionDictionary(): string | undefined;
                              dxfIn(filer: AcDbDxfFiler): this;
                              dxfInFields(_filer: AcDbDxfFiler): this;
                              dxfOut(...args: unknown[]): unknown;
                              dxfOutFields(filer: AcDbDxfFiler): this;
                              getAt(name: string): AcDbBlockTableRecord | undefined;
                              getAttr(attrName: string): any;
                              getAttrWithoutException(attrName: string): any;
                              getEntityById(id: string): AcDbEntity | undefined;
                              getIdAt(id: string): AcDbBlockTableRecord | undefined;
                              getOwnerIdAt(id: string): AcDbBlockTableRecord | undefined;
                              getUnresolvedXrefs(): AcDbBlockTableRecord[];
                              getXData(appId: string): AcDbResultBuffer | undefined;
                              getXrefs(): AcDbBlockTableRecord[];
                              has(name: string): boolean;
                              hasId(id: string): boolean;
                              newIterator(
                                  iterateById?: boolean,
                              ): AcDbObjectIterator<AcDbBlockTableRecord>;
                              remove(name: string): boolean;
                              removeAll(): void;
                              removeEntity(objectId: string | string[]): boolean;
                              removeId(id: string): boolean;
                              removeXData(appId: string): void;
                              restoreFrom(snapshot: this): void;
                              setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                              setXData(resbuf: AcDbResultBuffer): void;
                          };
                          dimStyleTable: {
                              attrs: {
                                  attributes: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  changed: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  events: {
                                      attrChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                      modelChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                  };
                                  changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                  clone(): AcCmObject<AcDbObjectAttrs>;
                                  get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                  has(key: string): boolean;
                                  hasChanged(key?: string): boolean;
                                  previous<A extends string>(
                                      key: A,
                                  ): AcDbObjectAttrs[A] | null | undefined;
                                  previousAttributes(): Partial<T>;
                                  set<A extends string>(
                                      key: A,
                                      val?: AcDbObjectAttrs[A],
                                      options?: AcCmObjectOptions,
                                  ): this;
                                  set(key: Partial<T>, options?: AcCmObjectOptions): this;
                              };
                              database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                              extensionDictionary: string
                              | undefined;
                              isTemp: any;
                              numEntries: number;
                              objectId: string;
                              ownerId: string;
                              add(record: AcDbDimStyleTableRecord): void;
                              clone(): this;
                              clonePreservingIdentity(): this;
                              close(): void;
                              createExtensionDictionary(): string | undefined;
                              dxfIn(filer: AcDbDxfFiler): this;
                              dxfInFields(_filer: AcDbDxfFiler): this;
                              dxfOut(...args: unknown[]): unknown;
                              dxfOutFields(filer: AcDbDxfFiler): this;
                              getAt(name: string): AcDbDimStyleTableRecord | undefined;
                              getAttr(attrName: string): any;
                              getAttrWithoutException(attrName: string): any;
                              getIdAt(id: string): AcDbDimStyleTableRecord | undefined;
                              getOwnerIdAt(id: string): AcDbDimStyleTableRecord | undefined;
                              getXData(appId: string): AcDbResultBuffer | undefined;
                              has(name: string): boolean;
                              hasId(id: string): boolean;
                              newIterator(
                                  iterateById?: boolean,
                              ): AcDbObjectIterator<AcDbDimStyleTableRecord>;
                              remove(name: string): boolean;
                              removeAll(): void;
                              removeId(id: string): boolean;
                              removeXData(appId: string): void;
                              restoreFrom(snapshot: this): void;
                              setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                              setXData(resbuf: AcDbResultBuffer): void;
                          };
                          layerTable: {
                              attrs: {
                                  attributes: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  changed: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  events: {
                                      attrChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                      modelChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                  };
                                  changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                  clone(): AcCmObject<AcDbObjectAttrs>;
                                  get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                  has(key: string): boolean;
                                  hasChanged(key?: string): boolean;
                                  previous<A extends string>(
                                      key: A,
                                  ): AcDbObjectAttrs[A] | null | undefined;
                                  previousAttributes(): Partial<T>;
                                  set<A extends string>(
                                      key: A,
                                      val?: AcDbObjectAttrs[A],
                                      options?: AcCmObjectOptions,
                                  ): this;
                                  set(key: Partial<T>, options?: AcCmObjectOptions): this;
                              };
                              database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                              extensionDictionary: string
                              | undefined;
                              isTemp: any;
                              numEntries: number;
                              objectId: string;
                              ownerId: string;
                              add(record: AcDbLayerTableRecord): void;
                              clone(): this;
                              clonePreservingIdentity(): this;
                              close(): void;
                              createExtensionDictionary(): string | undefined;
                              dxfIn(filer: AcDbDxfFiler): this;
                              dxfInFields(_filer: AcDbDxfFiler): this;
                              dxfOut(...args: unknown[]): unknown;
                              dxfOutFields(filer: AcDbDxfFiler): this;
                              getAt(name: string): AcDbLayerTableRecord | undefined;
                              getAttr(attrName: string): any;
                              getAttrWithoutException(attrName: string): any;
                              getIdAt(id: string): AcDbLayerTableRecord | undefined;
                              getOwnerIdAt(id: string): AcDbLayerTableRecord | undefined;
                              getXData(appId: string): AcDbResultBuffer | undefined;
                              has(name: string): boolean;
                              hasId(id: string): boolean;
                              newIterator(
                                  iterateById?: boolean,
                              ): AcDbObjectIterator<AcDbLayerTableRecord>;
                              remove(name: string): boolean;
                              removeAll(): void;
                              removeId(id: string): boolean;
                              removeXData(appId: string): void;
                              restoreFrom(snapshot: this): void;
                              setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                              setXData(resbuf: AcDbResultBuffer): void;
                          };
                          linetypeTable: {
                              attrs: {
                                  attributes: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  changed: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  events: {
                                      attrChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                      modelChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                  };
                                  changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                  clone(): AcCmObject<AcDbObjectAttrs>;
                                  get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                  has(key: string): boolean;
                                  hasChanged(key?: string): boolean;
                                  previous<A extends string>(
                                      key: A,
                                  ): AcDbObjectAttrs[A] | null | undefined;
                                  previousAttributes(): Partial<T>;
                                  set<A extends string>(
                                      key: A,
                                      val?: AcDbObjectAttrs[A],
                                      options?: AcCmObjectOptions,
                                  ): this;
                                  set(key: Partial<T>, options?: AcCmObjectOptions): this;
                              };
                              database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                              extensionDictionary: string
                              | undefined;
                              isTemp: any;
                              numEntries: number;
                              objectId: string;
                              ownerId: string;
                              add(record: AcDbLinetypeTableRecord): void;
                              clone(): this;
                              clonePreservingIdentity(): this;
                              close(): void;
                              createExtensionDictionary(): string | undefined;
                              dxfIn(filer: AcDbDxfFiler): this;
                              dxfInFields(_filer: AcDbDxfFiler): this;
                              dxfOut(...args: unknown[]): unknown;
                              dxfOutFields(filer: AcDbDxfFiler): this;
                              getAt(name: string): AcDbLinetypeTableRecord | undefined;
                              getAttr(attrName: string): any;
                              getAttrWithoutException(attrName: string): any;
                              getIdAt(id: string): AcDbLinetypeTableRecord | undefined;
                              getOwnerIdAt(id: string): AcDbLinetypeTableRecord | undefined;
                              getXData(appId: string): AcDbResultBuffer | undefined;
                              has(name: string): boolean;
                              hasId(id: string): boolean;
                              newIterator(
                                  iterateById?: boolean,
                              ): AcDbObjectIterator<AcDbLinetypeTableRecord>;
                              remove(name: string): boolean;
                              removeAll(): void;
                              removeId(id: string): boolean;
                              removeXData(appId: string): void;
                              restoreFrom(snapshot: this): void;
                              setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                              setXData(resbuf: AcDbResultBuffer): void;
                          };
                          textStyleTable: {
                              attrs: {
                                  attributes: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  changed: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  events: {
                                      attrChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                      modelChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                  };
                                  changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                  clone(): AcCmObject<AcDbObjectAttrs>;
                                  get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                  has(key: string): boolean;
                                  hasChanged(key?: string): boolean;
                                  previous<A extends string>(
                                      key: A,
                                  ): AcDbObjectAttrs[A] | null | undefined;
                                  previousAttributes(): Partial<T>;
                                  set<A extends string>(
                                      key: A,
                                      val?: AcDbObjectAttrs[A],
                                      options?: AcCmObjectOptions,
                                  ): this;
                                  set(key: Partial<T>, options?: AcCmObjectOptions): this;
                              };
                              database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                              extensionDictionary: string
                              | undefined;
                              fonts: string[];
                              isTemp: any;
                              numEntries: number;
                              objectId: string;
                              ownerId: string;
                              shapeFiles: {
                                  attrs: {
                                      attributes: {
                                          bigFont?: ...;
                                          extendedFont?: ...;
                                          extensionDictionary?: ...;
                                          fixedTextHeight?: ...;
                                          font?: ...;
                                          lastHeight?: ...;
                                          name?: ...;
                                          objectId?: ...;
                                          obliqueAngle?: ...;
                                          ownerId?: ...;
                                          standardFlag?: ...;
                                          textGenerationFlag?: ...;
                                          widthFactor?: ...;
                                          [key: ...]: ...;
                                      };
                                      changed: {
                                          bigFont?: ...;
                                          extendedFont?: ...;
                                          extensionDictionary?: ...;
                                          fixedTextHeight?: ...;
                                          font?: ...;
                                          lastHeight?: ...;
                                          name?: ...;
                                          objectId?: ...;
                                          obliqueAngle?: ...;
                                          ownerId?: ...;
                                          standardFlag?: ...;
                                          textGenerationFlag?: ...;
                                          widthFactor?: ...;
                                          [key: ...]: ...;
                                      };
                                      events: { attrChanged: ...; modelChanged: ... };
                                      changedAttributes(diff?: (...) | (...)): Partial<(...)>;
                                      clone(): AcCmObject<(...)>;
                                      get<A extends string>(key: A): (...) | (...);
                                      has(key: string): boolean;
                                      hasChanged(key?: (...) | (...)): boolean;
                                      previous<A extends string>(key: A): (...) | (...) | (...);
                                      previousAttributes(): Partial<(...)>;
                                      set<A extends string>(
                                          key: A,
                                          val?: (...) | (...),
                                          options?: (...) | (...),
                                      ): this;
                                      set(key: Partial<(...)>, options?: (...) | (...)): this;
                                  };
                                  bigFontFileName: string;
                                  database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                                  extensionDictionary: string
                                  | undefined;
                                  fileName: string;
                                  isShapeFile: boolean;
                                  isTemp: any;
                                  isVertical: boolean;
                                  name: string;
                                  objectId: string;
                                  obliquingAngle: number;
                                  ownerId: string;
                                  priorSize: number;
                                  textSize: number;
                                  textStyle: {
                                      bigFont: string;
                                      extendedFont?: (...) | (...);
                                      fixedTextHeight: number;
                                      font: string;
                                      lastHeight: number;
                                      name: string;
                                      obliqueAngle: number;
                                      standardFlag: number;
                                      textGenerationFlag: number;
                                      widthFactor: number;
                                  };
                                  xScale: number;
                                  clone(): this;
                                  clonePreservingIdentity(): this;
                                  close(): void;
                                  createExtensionDictionary(): string | undefined;
                                  dxfIn(filer: AcDbDxfFiler): this;
                                  dxfInFields(filer: AcDbDxfFiler): this;
                                  dxfOut(...args: unknown[]): unknown;
                                  dxfOutFields(filer: AcDbDxfFiler): this;
                                  getAttr(attrName: string): any;
                                  getAttrWithoutException(attrName: string): any;
                                  getXData(appId: string): AcDbResultBuffer | undefined;
                                  removeXData(appId: string): void;
                                  restoreFrom(snapshot: this): void;
                                  setAttr<A extends string>(attrName: A, val?: (...)[(...)]): void;
                                  setXData(resbuf: AcDbResultBuffer): void;
                              }[];
                              add(record: AcDbTextStyleTableRecord): void;
                              clone(): this;
                              clonePreservingIdentity(): this;
                              close(): void;
                              createExtensionDictionary(): string | undefined;
                              dxfIn(filer: AcDbDxfFiler): this;
                              dxfInFields(_filer: AcDbDxfFiler): this;
                              dxfOut(...args: unknown[]): unknown;
                              dxfOutFields(filer: AcDbDxfFiler): this;
                              getAt(name: string): AcDbTextStyleTableRecord | undefined;
                              getAttr(attrName: string): any;
                              getAttrWithoutException(attrName: string): any;
                              getIdAt(id: string): AcDbTextStyleTableRecord | undefined;
                              getOwnerIdAt(id: string): AcDbTextStyleTableRecord | undefined;
                              getXData(appId: string): AcDbResultBuffer | undefined;
                              has(name: string): boolean;
                              hasId(id: string): boolean;
                              newIterator(
                                  iterateById?: boolean,
                              ): AcDbObjectIterator<AcDbTextStyleTableRecord>;
                              remove(name: string): boolean;
                              removeAll(): void;
                              removeId(id: string): boolean;
                              removeXData(appId: string): void;
                              resolveAt(name?: string): AcDbTextStyleTableRecord | undefined;
                              restoreFrom(snapshot: this): void;
                              setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                              setXData(resbuf: AcDbResultBuffer): void;
                          };
                          ucsTable: {
                              attrs: {
                                  attributes: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  changed: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  events: {
                                      attrChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                      modelChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                  };
                                  changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                  clone(): AcCmObject<AcDbObjectAttrs>;
                                  get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                  has(key: string): boolean;
                                  hasChanged(key?: string): boolean;
                                  previous<A extends string>(
                                      key: A,
                                  ): AcDbObjectAttrs[A] | null | undefined;
                                  previousAttributes(): Partial<T>;
                                  set<A extends string>(
                                      key: A,
                                      val?: AcDbObjectAttrs[A],
                                      options?: AcCmObjectOptions,
                                  ): this;
                                  set(key: Partial<T>, options?: AcCmObjectOptions): this;
                              };
                              database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                              extensionDictionary: string
                              | undefined;
                              isTemp: any;
                              numEntries: number;
                              objectId: string;
                              ownerId: string;
                              add(record: AcDbUcsTableRecord): void;
                              clone(): this;
                              clonePreservingIdentity(): this;
                              close(): void;
                              createExtensionDictionary(): string | undefined;
                              dxfIn(filer: AcDbDxfFiler): this;
                              dxfInFields(_filer: AcDbDxfFiler): this;
                              dxfOut(...args: unknown[]): unknown;
                              dxfOutFields(filer: AcDbDxfFiler): this;
                              getAt(name: string): AcDbUcsTableRecord | undefined;
                              getAttr(attrName: string): any;
                              getAttrWithoutException(attrName: string): any;
                              getIdAt(id: string): AcDbUcsTableRecord | undefined;
                              getOwnerIdAt(id: string): AcDbUcsTableRecord | undefined;
                              getXData(appId: string): AcDbResultBuffer | undefined;
                              has(name: string): boolean;
                              hasId(id: string): boolean;
                              newIterator(
                                  iterateById?: boolean,
                              ): AcDbObjectIterator<AcDbUcsTableRecord>;
                              remove(name: string): boolean;
                              removeAll(): void;
                              removeId(id: string): boolean;
                              removeXData(appId: string): void;
                              restoreFrom(snapshot: this): void;
                              setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                              setXData(resbuf: AcDbResultBuffer): void;
                          };
                          viewportTable: {
                              attrs: {
                                  attributes: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  changed: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  events: {
                                      attrChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                      modelChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                  };
                                  changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                  clone(): AcCmObject<AcDbObjectAttrs>;
                                  get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                  has(key: string): boolean;
                                  hasChanged(key?: string): boolean;
                                  previous<A extends string>(
                                      key: A,
                                  ): AcDbObjectAttrs[A] | null | undefined;
                                  previousAttributes(): Partial<T>;
                                  set<A extends string>(
                                      key: A,
                                      val?: AcDbObjectAttrs[A],
                                      options?: AcCmObjectOptions,
                                  ): this;
                                  set(key: Partial<T>, options?: AcCmObjectOptions): this;
                              };
                              database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                              extensionDictionary: string
                              | undefined;
                              isTemp: any;
                              numEntries: number;
                              objectId: string;
                              ownerId: string;
                              add(record: AcDbViewportTableRecord): void;
                              clone(): this;
                              clonePreservingIdentity(): this;
                              close(): void;
                              createExtensionDictionary(): string | undefined;
                              dxfIn(filer: AcDbDxfFiler): this;
                              dxfInFields(_filer: AcDbDxfFiler): this;
                              dxfOut(...args: unknown[]): unknown;
                              dxfOutFields(filer: AcDbDxfFiler): this;
                              getActiveVport(): AcDbViewportTableRecord | undefined;
                              getActiveVportBox(
                                  canvasAspectRatio: number,
                                  drawingExtents?: AcGeBox2d,
                              ): AcGeBox2d | undefined;
                              getAt(name: string): AcDbViewportTableRecord | undefined;
                              getAttr(attrName: string): any;
                              getAttrWithoutException(attrName: string): any;
                              getIdAt(id: string): AcDbViewportTableRecord | undefined;
                              getOwnerIdAt(id: string): AcDbViewportTableRecord | undefined;
                              getXData(appId: string): AcDbResultBuffer | undefined;
                              has(name: string): boolean;
                              hasId(id: string): boolean;
                              newIterator(
                                  iterateById?: boolean,
                              ): AcDbObjectIterator<AcDbViewportTableRecord>;
                              remove(name: string): boolean;
                              removeAll(): void;
                              removeId(id: string): boolean;
                              removeXData(appId: string): void;
                              restoreFrom(snapshot: this): void;
                              setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                              setXData(resbuf: AcDbResultBuffer): void;
                          };
                          viewTable: {
                              attrs: {
                                  attributes: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  changed: {
                                      extensionDictionary?: string;
                                      objectId?: string;
                                      ownerId?: string;
                                      [key: string]: any;
                                  };
                                  events: {
                                      attrChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                      modelChanged: {
                                          addEventListener(listener: (payload: ...) => ...): void;
                                          dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                          removeEventListener(listener: (payload: ...) => ...): void;
                                          replaceEventListener(listener: (payload: ...) => ...): void;
                                      };
                                  };
                                  changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                  clone(): AcCmObject<AcDbObjectAttrs>;
                                  get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                  has(key: string): boolean;
                                  hasChanged(key?: string): boolean;
                                  previous<A extends string>(
                                      key: A,
                                  ): AcDbObjectAttrs[A] | null | undefined;
                                  previousAttributes(): Partial<T>;
                                  set<A extends string>(
                                      key: A,
                                      val?: AcDbObjectAttrs[A],
                                      options?: AcCmObjectOptions,
                                  ): this;
                                  set(key: Partial<T>, options?: AcCmObjectOptions): this;
                              };
                              database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                              extensionDictionary: string
                              | undefined;
                              isTemp: any;
                              numEntries: number;
                              objectId: string;
                              ownerId: string;
                              add(record: AcDbViewTableRecord): void;
                              clone(): this;
                              clonePreservingIdentity(): this;
                              close(): void;
                              createExtensionDictionary(): string | undefined;
                              dxfIn(filer: AcDbDxfFiler): this;
                              dxfInFields(_filer: AcDbDxfFiler): this;
                              dxfOut(...args: unknown[]): unknown;
                              dxfOutFields(filer: AcDbDxfFiler): this;
                              getAt(name: string): AcDbViewTableRecord | undefined;
                              getAttr(attrName: string): any;
                              getAttrWithoutException(attrName: string): any;
                              getIdAt(id: string): AcDbViewTableRecord | undefined;
                              getOwnerIdAt(id: string): AcDbViewTableRecord | undefined;
                              getXData(appId: string): AcDbResultBuffer | undefined;
                              has(name: string): boolean;
                              hasId(id: string): boolean;
                              newIterator(
                                  iterateById?: boolean,
                              ): AcDbObjectIterator<AcDbViewTableRecord>;
                              remove(name: string): boolean;
                              removeAll(): void;
                              removeId(id: string): boolean;
                              removeXData(appId: string): void;
                              restoreFrom(snapshot: this): void;
                              setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                              setXData(resbuf: AcDbResultBuffer): void;
                          };
                      };
                      textstyle: string;
                      thumbnailImage: | {
                          "[toStringTag]": "Uint8Array";
                          buffer: | {
                              "[toStringTag]": "ArrayBuffer";
                              byteLength: number;
                              detached: boolean;
                              maxByteLength: number;
                              resizable: boolean;
                              resize(newByteLength?: number): void;
                              slice(begin?: number, end?: number): ArrayBuffer;
                              transfer(newByteLength?: number): ArrayBuffer;
                              transferToFixedLength(newByteLength?: number): ArrayBuffer;
                          }
                          | {
                              "[toStringTag]": "SharedArrayBuffer";
                              byteLength: number;
                              growable: boolean;
                              maxByteLength: number;
                              grow(newByteLength?: number): void;
                              slice(begin?: number, end?: number): SharedArrayBuffer;
                          };
                          byteLength: number;
                          byteOffset: number;
                          BYTES_PER_ELEMENT: number;
                          length: number;
                          "[iterator]"(): ArrayIterator<number>;
                          at(index: number): number | undefined;
                          copyWithin(target: number, start: number, end?: number): this;
                          entries(): ArrayIterator<[number, number]>;
                          every(
                              predicate: (value: number, index: number, array: this) => unknown,
                              thisArg?: any,
                          ): boolean;
                          fill(value: number, start?: number, end?: number): this;
                          filter(
                              predicate: (value: number, index: number, array: this) => any,
                              thisArg?: any,
                          ): Uint8Array<ArrayBuffer>;
                          find(
                              predicate: (value: number, index: number, obj: this) => boolean,
                              thisArg?: any,
                          ): number | undefined;
                          findIndex(
                              predicate: (value: number, index: number, obj: this) => boolean,
                              thisArg?: any,
                          ): number;
                          findLast<S extends number>(
                              predicate: (
                                  value: number,
                                  index: number,
                                  array: this,
                              ) => value is S,
                              thisArg?: any,
                          ): S | undefined;
                          findLast(
                              predicate: (value: number, index: number, array: this) => unknown,
                              thisArg?: any,
                          ): number | undefined;
                          findLastIndex(
                              predicate: (value: number, index: number, array: this) => unknown,
                              thisArg?: any,
                          ): number;
                          forEach(
                              callbackfn: (value: number, index: number, array: this) => void,
                              thisArg?: any,
                          ): void;
                          includes(searchElement: number, fromIndex?: number): boolean;
                          indexOf(searchElement: number, fromIndex?: number): number;
                          join(separator?: string): string;
                          keys(): ArrayIterator<number>;
                          lastIndexOf(searchElement: number, fromIndex?: number): number;
                          map(
                              callbackfn: (value: number, index: number, array: this) => number,
                              thisArg?: any,
                          ): Uint8Array<ArrayBuffer>;
                          reduce(
                              callbackfn: (
                                  previousValue: number,
                                  currentValue: number,
                                  currentIndex: number,
                                  array: this,
                              ) => number,
                          ): number;
                          reduce(
                              callbackfn: (
                                  previousValue: number,
                                  currentValue: number,
                                  currentIndex: number,
                                  array: this,
                              ) => number,
                              initialValue: number,
                          ): number;
                          reduce<U>(
                              callbackfn: (
                                  previousValue: U,
                                  currentValue: number,
                                  currentIndex: number,
                                  array: this,
                              ) => U,
                              initialValue: U,
                          ): U;
                          reduceRight(
                              callbackfn: (
                                  previousValue: number,
                                  currentValue: number,
                                  currentIndex: number,
                                  array: this,
                              ) => number,
                          ): number;
                          reduceRight(
                              callbackfn: (
                                  previousValue: number,
                                  currentValue: number,
                                  currentIndex: number,
                                  array: this,
                              ) => number,
                              initialValue: number,
                          ): number;
                          reduceRight<U>(
                              callbackfn: (
                                  previousValue: U,
                                  currentValue: number,
                                  currentIndex: number,
                                  array: this,
                              ) => U,
                              initialValue: U,
                          ): U;
                          reverse(): this;
                          set(array: ArrayLike<number>, offset?: number): void;
                          slice(start?: number, end?: number): Uint8Array<ArrayBuffer>;
                          some(
                              predicate: (value: number, index: number, array: this) => unknown,
                              thisArg?: any,
                          ): boolean;
                          sort(compareFn?: (a: number, b: number) => number): this;
                          subarray(begin?: number, end?: number): Uint8Array<ArrayBufferLike>;
                          toLocaleString(): string;
                          toLocaleString(
                              locales: string | string[],
                              options?: NumberFormatOptions,
                          ): string;
                          toReversed(): Uint8Array<ArrayBuffer>;
                          toSorted(
                              compareFn?: (a: number, b: number) => number,
                          ): Uint8Array<ArrayBuffer>;
                          toString(): string;
                          valueOf(): this;
                          values(): ArrayIterator<number>;
                          with(index: number, value: number): Uint8Array<ArrayBuffer>;
                          [key: number]: number;
                      }
                      | undefined;
                      tilemode: boolean;
                      transactionManager: {
                          strictMode: boolean;
                          abortTransaction(): void;
                          cancelUndoMark(): void;
                          canRedo(): boolean;
                          canUndo(): boolean;
                          clearUndoStack(): void;
                          commitTransaction(): void;
                          currentTransaction(): AcDbDatabaseTransaction | undefined;
                          endUndoMark(): void;
                          flushPendingEntityModifiedEvents(): void;
                          flushPendingLayerModifiedEvents(): void;
                          hasTransaction(): boolean;
                          isApplyingUndoRedo(): boolean;
                          isOpenedForWriteInTransaction(objectId: string): boolean;
                          isRecording(): boolean;
                          recordAppend(container: AcDbChangeContainer, object: AcDbObject): void;
                          recordRemove(container: AcDbChangeContainer, object: AcDbObject): void;
                          recordSysvar(name: string, before: unknown): void;
                          redo(): boolean;
                          resolveSymbolTableName(table: { objectId: string }): string;
                          runUndoable<T>(
                              label: string,
                              fn: (tr: AcDbDatabaseTransaction) => T,
                          ): T;
                          startTransaction(): AcDbDatabaseTransaction;
                          startUndoMark(label?: string): void;
                          undo(): boolean;
                      };
                      unitmode: number;
                      version: {
                          capabilities: {
                              supportsBlockRecordTable: boolean;
                              supportsClassesSection: boolean;
                              supportsHandles: boolean;
                              supportsLineWeight: boolean;
                              supportsLwPolyline: boolean;
                              supportsObjectsSection: boolean;
                              supportsSubclassMarkers: boolean;
                              supportsTransparency: boolean;
                              supportsTrueColor: boolean;
                              supportsUtf8CodePage: boolean;
                          };
                          name: string;
                          value: number;
                      };
                      adoptExternalHandle(object: AcDbObject, preferredId: string): string;
                      beginEventBatch(): void;
                      clone(): this;
                      clonePreservingIdentity(): this;
                      close(): void;
                      commitObjectHandle(
                          object: AcDbObject,
                          hasId?: (id: string) => boolean,
                      ): void;
                      createDefaultData(options?: AcDbCreateDefaultDataOptions): void;
                      createExtensionDictionary(): string | undefined;
                      dxfIn(filer: AcDbDxfFiler): this;
                      dxfInFields(_filer: AcDbDxfFiler): this;
                      dxfOut(
                          _fileName?: string,
                          precision?: number,
                          version?: string | number | AcDbDwgVersion,
                          optionsOrThumbnail?:
                              | boolean
                              | { format?: "ascii"
                              | "binary"; saveThumbnailImage?: boolean },
                      ): string | Uint8Array<ArrayBufferLike>;
                      dxfOutFields(_filer: AcDbDxfFiler): this;
                      endEventBatch(): void;
                      endEventBatchChunked(
                          chunkSize: number,
                          onChunk?: (flushed: number, total: number) => void | Promise<void>,
                      ): Promise<void>;
                      ensureEntityStyleDefaults(entity: AcDbEntity): void;
                      ensureTextStyleDefaults(): void;
                      generateHandle(): string;
                      generateUniqueHandle(): string;
                      getAttr(attrName: string): any;
                      getAttrWithoutException(attrName: string): any;
                      getObjectById(
                          id: string,
                          _openErased?: boolean,
                      ): AcDbObject<AcDbObjectAttrs> | undefined;
                      getRootDictionaries(): AcDbDictionary<AcDbObject<AcDbObjectAttrs>>[];
                      getXData(appId: string): AcDbResultBuffer | undefined;
                      initializeHandleSeed(seed: string): void;
                      isEventBatched(): boolean;
                      isHandleTaken(
                          objectId: string,
                          except?: AcDbObject<AcDbObjectAttrs>,
                      ): boolean;
                      isLayerDrawable(layerName: string): boolean;
                      isUndoRecording(): boolean;
                      notifyDictObjectErased(object: AcDbObject, key: string): void;
                      notifyDictObjectSet(object: AcDbObject, key: string): void;
                      notifyEntityAppended(entity: AcDbEntity | AcDbEntity[]): void;
                      notifyEntityErased(entity: AcDbEntity | AcDbEntity[]): void;
                      openEntityForRead(
                          entityOrId: string | AcDbEntity,
                      ): AcDbEntity | undefined;
                      openEntityForWrite(
                          entityOrId: string | AcDbEntity,
                      ): AcDbEntity | undefined;
                      openObjectForRead<T extends AcDbObject<AcDbObjectAttrs>>(
                          objectId: string,
                      ): T | undefined;
                      openObjectForWrite<T extends AcDbObject<AcDbObjectAttrs>>(
                          objectId: string,
                      ): T | undefined;
                      openUri(url: string, options: AcDbOpenDatabaseOptions): Promise<void>;
                      read(
                          data: ArrayBuffer,
                          options: AcDbOpenDatabaseOptions,
                          fileType?: string,
                      ): Promise<void>;
                      regen(): Promise<void>;
                      registerObjectHandle(object: AcDbObject): void;
                      releaseObjectHandle(object: AcDbObject): void;
                      removeXData(appId: string): void;
                      restoreFrom(snapshot: this): void;
                      runDatabaseEdit(label: string, fn: () => void): void;
                      setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                      setDwgName(value: string): void;
                      setXData(resbuf: AcDbResultBuffer): void;
                      updateMaxHandle(handle: string): void;
                  };
                  dxfPaperSpace: boolean;
                  dxfTypeName: string;
                  extensionDictionary: string
                  | undefined;
                  geometricExtents: {
                      center: {
                          x: number;
                          y: number;
                          z: number;
                          "[iterator]"(): Generator<number, void, unknown>;
                          add(v: AcGeVectorLike): this;
                          addScalar(s: number): this;
                          addScaledVector(v: AcGeVector3dLike, s: number): this;
                          addVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                          angleTo(v: AcGeVector3d): number;
                          applyAxisAngle(axis: AcGeVector3dLike, angle: number): this;
                          applyEuler(euler: AcGeEuler): this;
                          applyMatrix3(m: AcGeMatrix2d): this;
                          applyMatrix4(m: AcGeMatrix3d): this;
                          applyNormalMatrix(m: AcGeMatrix2d): this;
                          applyQuaternion(q: AcGeQuaternion): this;
                          ceil(): this;
                          clamp(min: AcGeVector3dLike, max: AcGeVector3dLike): this;
                          clampLength(min: number, max: number): this;
                          clampScalar(minVal: number, maxVal: number): this;
                          clone(): AcGeVector3d;
                          copy(v: AcGeVectorLike): this;
                          cross(v: AcGeVector3dLike): this;
                          crossVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                          distanceTo(v: AcGeVector3dLike): number;
                          distanceToSquared(v: AcGeVector3dLike): number;
                          divide(v: AcGeVector3dLike): this;
                          divideScalar(scalar: number): this;
                          dot(v: AcGeVector3dLike): number;
                          equals(v: AcGeVector3dLike): boolean;
                          floor(): this;
                          fromArray(array: number[], offset?: number): this;
                          getComponent(index: number): number;
                          isParallelTo(vec: AcGeVector3d): boolean;
                          length(): number;
                          lengthSq(): number;
                          lerp(v: AcGeVector3dLike, alpha: number): this;
                          lerpVectors(
                              v1: AcGeVector3dLike,
                              v2: AcGeVector3dLike,
                              alpha: number,
                          ): this;
                          manhattanDistanceTo(v: AcGeVector3dLike): number;
                          manhattanLength(): number;
                          max(v: AcGeVector3dLike): this;
                          min(v: AcGeVector3dLike): this;
                          multiply(v: AcGeVector3dLike): this;
                          multiplyScalar(scalar: number): this;
                          multiplyVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                          negate(): this;
                          normalize(): this;
                          projectOnPlane(planeNormal: AcGeVector3d): this;
                          projectOnVector(v: AcGeVector3d): this;
                          random(): this;
                          randomDirection(): this;
                          reflect(normal: AcGeVector3dLike): this;
                          round(): this;
                          roundToZero(): this;
                          set(x: number, y: number, z: number): this;
                          setComponent(index: number, value: number): this;
                          setFromMatrix3Column(m: AcGeMatrix2d, index: number): this;
                          setFromMatrixColumn(m: AcGeMatrix3d, index: number): this;
                          setFromMatrixPosition(m: AcGeMatrix3d): this;
                          setFromMatrixScale(m: AcGeMatrix3d): this;
                          setLength(l: number): this;
                          setScalar(scalar: number): this;
                          setX(x: number): this;
                          setY(y: number): this;
                          setZ(z: number): this;
                          sub(v: AcGeVector3dLike): this;
                          subScalar(s: number): this;
                          subVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                          toArray(
                              array?: number[] | Float32Array<ArrayBufferLike>,
                              offset?: number,
                          ): number[] | Float32Array<ArrayBufferLike>;
                          transformDirection(m: AcGeMatrix3d): this;
                      };
                      max: {
                          x: number;
                          y: number;
                          z: number;
                          "[iterator]"(): Generator<number, void, unknown>;
                          add(v: AcGeVectorLike): this;
                          addScalar(s: number): this;
                          addScaledVector(v: AcGeVector3dLike, s: number): this;
                          addVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                          angleTo(v: AcGeVector3d): number;
                          applyAxisAngle(axis: AcGeVector3dLike, angle: number): this;
                          applyEuler(euler: AcGeEuler): this;
                          applyMatrix3(m: AcGeMatrix2d): this;
                          applyMatrix4(m: AcGeMatrix3d): this;
                          applyNormalMatrix(m: AcGeMatrix2d): this;
                          applyQuaternion(q: AcGeQuaternion): this;
                          ceil(): this;
                          clamp(min: AcGeVector3dLike, max: AcGeVector3dLike): this;
                          clampLength(min: number, max: number): this;
                          clampScalar(minVal: number, maxVal: number): this;
                          clone(): AcGeVector3d;
                          copy(v: AcGeVectorLike): this;
                          cross(v: AcGeVector3dLike): this;
                          crossVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                          distanceTo(v: AcGeVector3dLike): number;
                          distanceToSquared(v: AcGeVector3dLike): number;
                          divide(v: AcGeVector3dLike): this;
                          divideScalar(scalar: number): this;
                          dot(v: AcGeVector3dLike): number;
                          equals(v: AcGeVector3dLike): boolean;
                          floor(): this;
                          fromArray(array: number[], offset?: number): this;
                          getComponent(index: number): number;
                          isParallelTo(vec: AcGeVector3d): boolean;
                          length(): number;
                          lengthSq(): number;
                          lerp(v: AcGeVector3dLike, alpha: number): this;
                          lerpVectors(
                              v1: AcGeVector3dLike,
                              v2: AcGeVector3dLike,
                              alpha: number,
                          ): this;
                          manhattanDistanceTo(v: AcGeVector3dLike): number;
                          manhattanLength(): number;
                          max(v: AcGeVector3dLike): this;
                          min(v: AcGeVector3dLike): this;
                          multiply(v: AcGeVector3dLike): this;
                          multiplyScalar(scalar: number): this;
                          multiplyVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                          negate(): this;
                          normalize(): this;
                          projectOnPlane(planeNormal: AcGeVector3d): this;
                          projectOnVector(v: AcGeVector3d): this;
                          random(): this;
                          randomDirection(): this;
                          reflect(normal: AcGeVector3dLike): this;
                          round(): this;
                          roundToZero(): this;
                          set(x: number, y: number, z: number): this;
                          setComponent(index: number, value: number): this;
                          setFromMatrix3Column(m: AcGeMatrix2d, index: number): this;
                          setFromMatrixColumn(m: AcGeMatrix3d, index: number): this;
                          setFromMatrixPosition(m: AcGeMatrix3d): this;
                          setFromMatrixScale(m: AcGeMatrix3d): this;
                          setLength(l: number): this;
                          setScalar(scalar: number): this;
                          setX(x: number): this;
                          setY(y: number): this;
                          setZ(z: number): this;
                          sub(v: AcGeVector3dLike): this;
                          subScalar(s: number): this;
                          subVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                          toArray(
                              array?: number[] | Float32Array<ArrayBufferLike>,
                              offset?: number,
                          ): number[] | Float32Array<ArrayBufferLike>;
                          transformDirection(m: AcGeMatrix3d): this;
                      };
                      min: {
                          x: number;
                          y: number;
                          z: number;
                          "[iterator]"(): Generator<number, void, unknown>;
                          add(v: AcGeVectorLike): this;
                          addScalar(s: number): this;
                          addScaledVector(v: AcGeVector3dLike, s: number): this;
                          addVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                          angleTo(v: AcGeVector3d): number;
                          applyAxisAngle(axis: AcGeVector3dLike, angle: number): this;
                          applyEuler(euler: AcGeEuler): this;
                          applyMatrix3(m: AcGeMatrix2d): this;
                          applyMatrix4(m: AcGeMatrix3d): this;
                          applyNormalMatrix(m: AcGeMatrix2d): this;
                          applyQuaternion(q: AcGeQuaternion): this;
                          ceil(): this;
                          clamp(min: AcGeVector3dLike, max: AcGeVector3dLike): this;
                          clampLength(min: number, max: number): this;
                          clampScalar(minVal: number, maxVal: number): this;
                          clone(): AcGeVector3d;
                          copy(v: AcGeVectorLike): this;
                          cross(v: AcGeVector3dLike): this;
                          crossVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                          distanceTo(v: AcGeVector3dLike): number;
                          distanceToSquared(v: AcGeVector3dLike): number;
                          divide(v: AcGeVector3dLike): this;
                          divideScalar(scalar: number): this;
                          dot(v: AcGeVector3dLike): number;
                          equals(v: AcGeVector3dLike): boolean;
                          floor(): this;
                          fromArray(array: number[], offset?: number): this;
                          getComponent(index: number): number;
                          isParallelTo(vec: AcGeVector3d): boolean;
                          length(): number;
                          lengthSq(): number;
                          lerp(v: AcGeVector3dLike, alpha: number): this;
                          lerpVectors(
                              v1: AcGeVector3dLike,
                              v2: AcGeVector3dLike,
                              alpha: number,
                          ): this;
                          manhattanDistanceTo(v: AcGeVector3dLike): number;
                          manhattanLength(): number;
                          max(v: AcGeVector3dLike): this;
                          min(v: AcGeVector3dLike): this;
                          multiply(v: AcGeVector3dLike): this;
                          multiplyScalar(scalar: number): this;
                          multiplyVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                          negate(): this;
                          normalize(): this;
                          projectOnPlane(planeNormal: AcGeVector3d): this;
                          projectOnVector(v: AcGeVector3d): this;
                          random(): this;
                          randomDirection(): this;
                          reflect(normal: AcGeVector3dLike): this;
                          round(): this;
                          roundToZero(): this;
                          set(x: number, y: number, z: number): this;
                          setComponent(index: number, value: number): this;
                          setFromMatrix3Column(m: AcGeMatrix2d, index: number): this;
                          setFromMatrixColumn(m: AcGeMatrix3d, index: number): this;
                          setFromMatrixPosition(m: AcGeMatrix3d): this;
                          setFromMatrixScale(m: AcGeMatrix3d): this;
                          setLength(l: number): this;
                          setScalar(scalar: number): this;
                          setX(x: number): this;
                          setY(y: number): this;
                          setZ(z: number): this;
                          sub(v: AcGeVector3dLike): this;
                          subScalar(s: number): this;
                          subVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                          toArray(
                              array?: number[] | Float32Array<ArrayBufferLike>,
                              offset?: number,
                          ): number[] | Float32Array<ArrayBufferLike>;
                          transformDirection(m: AcGeMatrix3d): this;
                      };
                      size: {
                          x: number;
                          y: number;
                          z: number;
                          "[iterator]"(): Generator<number, void, unknown>;
                          add(v: AcGeVectorLike): this;
                          addScalar(s: number): this;
                          addScaledVector(v: AcGeVector3dLike, s: number): this;
                          addVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                          angleTo(v: AcGeVector3d): number;
                          applyAxisAngle(axis: AcGeVector3dLike, angle: number): this;
                          applyEuler(euler: AcGeEuler): this;
                          applyMatrix3(m: AcGeMatrix2d): this;
                          applyMatrix4(m: AcGeMatrix3d): this;
                          applyNormalMatrix(m: AcGeMatrix2d): this;
                          applyQuaternion(q: AcGeQuaternion): this;
                          ceil(): this;
                          clamp(min: AcGeVector3dLike, max: AcGeVector3dLike): this;
                          clampLength(min: number, max: number): this;
                          clampScalar(minVal: number, maxVal: number): this;
                          clone(): AcGeVector3d;
                          copy(v: AcGeVectorLike): this;
                          cross(v: AcGeVector3dLike): this;
                          crossVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                          distanceTo(v: AcGeVector3dLike): number;
                          distanceToSquared(v: AcGeVector3dLike): number;
                          divide(v: AcGeVector3dLike): this;
                          divideScalar(scalar: number): this;
                          dot(v: AcGeVector3dLike): number;
                          equals(v: AcGeVector3dLike): boolean;
                          floor(): this;
                          fromArray(array: number[], offset?: number): this;
                          getComponent(index: number): number;
                          isParallelTo(vec: AcGeVector3d): boolean;
                          length(): number;
                          lengthSq(): number;
                          lerp(v: AcGeVector3dLike, alpha: number): this;
                          lerpVectors(
                              v1: AcGeVector3dLike,
                              v2: AcGeVector3dLike,
                              alpha: number,
                          ): this;
                          manhattanDistanceTo(v: AcGeVector3dLike): number;
                          manhattanLength(): number;
                          max(v: AcGeVector3dLike): this;
                          min(v: AcGeVector3dLike): this;
                          multiply(v: AcGeVector3dLike): this;
                          multiplyScalar(scalar: number): this;
                          multiplyVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                          negate(): this;
                          normalize(): this;
                          projectOnPlane(planeNormal: AcGeVector3d): this;
                          projectOnVector(v: AcGeVector3d): this;
                          random(): this;
                          randomDirection(): this;
                          reflect(normal: AcGeVector3dLike): this;
                          round(): this;
                          roundToZero(): this;
                          set(x: number, y: number, z: number): this;
                          setComponent(index: number, value: number): this;
                          setFromMatrix3Column(m: AcGeMatrix2d, index: number): this;
                          setFromMatrixColumn(m: AcGeMatrix3d, index: number): this;
                          setFromMatrixPosition(m: AcGeMatrix3d): this;
                          setFromMatrixScale(m: AcGeMatrix3d): this;
                          setLength(l: number): this;
                          setScalar(scalar: number): this;
                          setX(x: number): this;
                          setY(y: number): this;
                          setZ(z: number): this;
                          sub(v: AcGeVector3dLike): this;
                          subScalar(s: number): this;
                          subVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                          toArray(
                              array?: number[] | Float32Array<ArrayBufferLike>,
                              offset?: number,
                          ): number[] | Float32Array<ArrayBufferLike>;
                          transformDirection(m: AcGeMatrix3d): this;
                      };
                      applyMatrix4(matrix: AcGeMatrix3d): this;
                      clampPoint(point: AcGeVector3dLike, target: AcGeVector3d): AcGeVector3d;
                      clone(): AcGeBox3d;
                      containsBox(box: AcGeBox3d): boolean;
                      containsPoint(point: AcGeVector3dLike): boolean;
                      copy(box: AcGeBox3d): this;
                      distanceToPoint(point: AcGeVector3dLike): number;
                      equals(box: AcGeBox3d): boolean;
                      expandByPoint(point: AcGeVector3dLike): this;
                      expandByScalar(scalar: number): this;
                      expandByVector(vector: AcGeVector3dLike): this;
                      getCenter(target: AcGeVector3d): AcGeVector3d;
                      getParameter(
                          point: AcGeVector3dLike,
                          target: AcGeVector3d,
                      ): AcGeVector3d;
                      getSize(target: AcGeVector3d): AcGeVector3d;
                      intersect(box: AcGeBox3d): this;
                      intersectsBox(box: AcGeBox3d): boolean;
                      intersectsPlane(plane: AcGePlane): boolean;
                      isEmpty(): boolean;
                      makeEmpty(): this;
                      set(min: AcGeVector3dLike, max: AcGeVector3dLike): this;
                      setFromArray(array: number[]): this;
                      setFromCenterAndSize(
                          center: AcGeVector3dLike,
                          size: AcGeVector3dLike,
                      ): this;
                      setFromPoints(points: AcGeVector3dLike[]): this;
                      translate(offset: AcGeVector3dLike): this;
                      union(box: AcGeBox3d): this;
                  };
                  isTemp: any;
                  layer: string;
                  lineStyle: {
                      description: string;
                      name: string;
                      pattern?: {
                          elementLength: number;
                          elementTypeFlag: number;
                          offsetX?: number;
                          offsetY?: number;
                          rotation?: number;
                          scale?: number;
                          shapeNumber?: number;
                          styleObjectId?: string;
                          text?: string;
                      }[];
                      standardFlag: number;
                      totalPatternLength: number;
                      type: AcGiStyleType;
                  };
                  lineType: string;
                  linetypeScale: number;
                  lineWeight: AcGiLineWeight;
                  objectId: string;
                  ownerId: string;
                  properties: {
                      groups: {
                          groupName: string;
                          properties: {
                              accessor: { set?: (...)
                              | (...); get(): unknown };
                              editable?: boolean;
                              itemSchema?: { properties: ... };
                              name: string;
                              options?: (...)[];
                              skipTranslation?: boolean;
                              type: AcDbEntityPropertyType;
                          }[];
                      }[];
                      type: string;
                  };
                  resolvedColor: {
                      blue: number
                      | undefined;
                      colorIndex: number | undefined;
                      colorMethod: AcCmColorMethod;
                      colorName: string | undefined;
                      cssColor: string | undefined;
                      green: number | undefined;
                      hexColor: string | undefined;
                      isByACI: boolean;
                      isByBlock: boolean;
                      isByColor: boolean;
                      isByLayer: boolean;
                      isForeground: boolean;
                      red: number | undefined;
                      RGB: number | undefined;
                      clone(): AcCmColor;
                      copy(other: AcCmColor): this;
                      cssColorAlpha(alpha: number): string | undefined;
                      equals(other: AcCmColor): boolean;
                      setByBlock(value?: number): this;
                      setByLayer(value?: number): this;
                      setForeground(): this;
                      setRGB(r: number, g: number, b: number): this;
                      setRGBFromCss(cssString: string): this;
                      setRGBValue(value: number | null | undefined): this;
                      setScalar(scalar: number): this;
                      toString(): string;
                  };
                  transparency: {
                      alpha: number;
                      isByAlpha: boolean;
                      isByBlock: boolean;
                      isByLayer: boolean;
                      isClear: boolean;
                      isInvalid: boolean;
                      isSolid: boolean;
                      method: AcCmTransparencyMethod;
                      percentage: number
                      | undefined;
                      clone(): AcCmTransparency;
                      equals(other: AcCmTransparency): boolean;
                      serialize(): number;
                      toString(): string;
                  };
                  type: string;
                  visibility: boolean;
                  clone(): this;
                  clonePreservingIdentity(): this;
                  close(): void;
                  createExtensionDictionary(): string | undefined;
                  dxfIn(filer: AcDbDxfFiler): this;
                  dxfInFields(filer: AcDbDxfFiler): this;
                  dxfOut(...args: unknown[]): unknown;
                  dxfOutFields(filer: AcDbDxfFiler): this;
                  erase(): boolean;
                  getAttr(attrName: string): any;
                  getAttrWithoutException(attrName: string): any;
                  getXData(appId: string): AcDbResultBuffer | undefined;
                  removeXData(appId: string): void;
                  resolveEffectiveProperties(): void;
                  restoreFrom(snapshot: this): void;
                  setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                  setXData(resbuf: AcDbResultBuffer): void;
                  subGetGripPoints(): AcGePoint3d[];
                  subGetOsnapPoints(
                      osnapMode: AcDbOsnapMode,
                      pickPoint: AcGePoint3dLike,
                      lastPoint: AcGePoint3dLike,
                      snapPoints: AcGePoint3dLike[],
                      gsMark?: any,
                      insertionMat?: AcGeMatrix3d,
                  ): void;
                  subMoveGripPointsAt(indices: number[], offset: AcGeVector3dLike): this;
                  subWorldDraw(
                      renderer: AcGiRenderer,
                      delay?: boolean,
                  ): AcGiEntity | undefined;
                  transformBy(matrix: AcGeMatrix3d): this;
                  worldDraw(
                      renderer: AcGiRenderer,
                      delay?: boolean,
                  ): AcGiEntity | undefined;
              }
              | null,
          >;
          hovered: Ref<boolean, boolean>;
          id: Ref<string | null, string | null>;
          mouse: Ref<
              { x: number; y: number },
              { x: number; y: number } | { x: number; y: number },
          >;
      }

      Reactive state tracking the current hover context.

      • entity: Ref<
            | {
                attrs: {
                    attributes: {
                        extensionDictionary?: string;
                        objectId?: string;
                        ownerId?: string;
                        [key: string]: any;
                    };
                    changed: {
                        extensionDictionary?: string;
                        objectId?: string;
                        ownerId?: string;
                        [key: string]: any;
                    };
                    events: {
                        attrChanged: {
                            addEventListener(
                                listener: (payload: AcCmObjectAttributeChangedEventArgs) => void,
                            ): void;
                            dispatch(
                                payload?: AcCmObjectAttributeChangedEventArgs<AcDbObjectAttrs>,
                                ...args: unknown[],
                            ): void;
                            removeEventListener(
                                listener: (payload: AcCmObjectAttributeChangedEventArgs) => void,
                            ): void;
                            replaceEventListener(
                                listener: (payload: AcCmObjectAttributeChangedEventArgs) => void,
                            ): void;
                        };
                        modelChanged: {
                            addEventListener(
                                listener: (payload: AcCmObjectChangedEventArgs) => void,
                            ): void;
                            dispatch(
                                payload?: AcCmObjectChangedEventArgs<AcDbObjectAttrs>,
                                ...args: unknown[],
                            ): void;
                            removeEventListener(
                                listener: (payload: AcCmObjectChangedEventArgs) => void,
                            ): void;
                            replaceEventListener(
                                listener: (payload: AcCmObjectChangedEventArgs) => void,
                            ): void;
                        };
                    };
                    changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                    clone(): AcCmObject<AcDbObjectAttrs>;
                    get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                    has(key: string): boolean;
                    hasChanged(key?: string): boolean;
                    previous<A extends string>(key: A): AcDbObjectAttrs[A] | null | undefined;
                    previousAttributes(): Partial<T>;
                    set<A extends string>(
                        key: A,
                        val?: AcDbObjectAttrs[A],
                        options?: AcCmObjectOptions,
                    ): this;
                    set(key: Partial<T>, options?: AcCmObjectOptions): this;
                };
                color: {
                    blue: number
                    | undefined;
                    colorIndex: number | undefined;
                    colorMethod: AcCmColorMethod;
                    colorName: string | undefined;
                    cssColor: string | undefined;
                    green: number | undefined;
                    hexColor: string | undefined;
                    isByACI: boolean;
                    isByBlock: boolean;
                    isByColor: boolean;
                    isByLayer: boolean;
                    isForeground: boolean;
                    red: number | undefined;
                    RGB: number | undefined;
                    clone(): AcCmColor;
                    copy(other: AcCmColor): this;
                    cssColorAlpha(alpha: number): string | undefined;
                    equals(other: AcCmColor): boolean;
                    setByBlock(value?: number): this;
                    setByLayer(value?: number): this;
                    setForeground(): this;
                    setRGB(r: number, g: number, b: number): this;
                    setRGBFromCss(cssString: string): this;
                    setRGBValue(value: number | null | undefined): this;
                    setScalar(scalar: number): this;
                    toString(): string;
                };
                database: {
                    angbase: number;
                    angdir: number;
                    attrs: {
                        attributes: {
                            extensionDictionary?: string;
                            objectId?: string;
                            ownerId?: string;
                            [key: string]: any;
                        };
                        changed: {
                            extensionDictionary?: string;
                            objectId?: string;
                            ownerId?: string;
                            [key: string]: any;
                        };
                        events: {
                            attrChanged: {
                                addEventListener(
                                    listener: (payload: AcCmObjectAttributeChangedEventArgs) => void,
                                ): void;
                                dispatch(
                                    payload?: AcCmObjectAttributeChangedEventArgs<AcDbObjectAttrs>,
                                    ...args: unknown[],
                                ): void;
                                removeEventListener(
                                    listener: (payload: AcCmObjectAttributeChangedEventArgs) => void,
                                ): void;
                                replaceEventListener(
                                    listener: (payload: AcCmObjectAttributeChangedEventArgs) => void,
                                ): void;
                            };
                            modelChanged: {
                                addEventListener(
                                    listener: (payload: AcCmObjectChangedEventArgs) => void,
                                ): void;
                                dispatch(
                                    payload?: AcCmObjectChangedEventArgs<AcDbObjectAttrs>,
                                    ...args: unknown[],
                                ): void;
                                removeEventListener(
                                    listener: (payload: AcCmObjectChangedEventArgs) => void,
                                ): void;
                                replaceEventListener(
                                    listener: (payload: AcCmObjectChangedEventArgs) => void,
                                ): void;
                            };
                        };
                        changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                        clone(): AcCmObject<AcDbObjectAttrs>;
                        get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                        has(key: string): boolean;
                        hasChanged(key?: string): boolean;
                        previous<A extends string>(
                            key: A,
                        ): AcDbObjectAttrs[A] | null | undefined;
                        previousAttributes(): Partial<T>;
                        set<A extends string>(
                            key: A,
                            val?: AcDbObjectAttrs[A],
                            options?: AcCmObjectOptions,
                        ): this;
                        set(key: Partial<T>, options?: AcCmObjectOptions): this;
                    };
                    aunits: number;
                    auprec: number;
                    cecolor: {
                        blue: number
                        | undefined;
                        colorIndex: number | undefined;
                        colorMethod: AcCmColorMethod;
                        colorName: string | undefined;
                        cssColor: string | undefined;
                        green: number | undefined;
                        hexColor: string | undefined;
                        isByACI: boolean;
                        isByBlock: boolean;
                        isByColor: boolean;
                        isByLayer: boolean;
                        isForeground: boolean;
                        red: number | undefined;
                        RGB: number | undefined;
                        clone(): AcCmColor;
                        copy(other: AcCmColor): this;
                        cssColorAlpha(alpha: number): string | undefined;
                        equals(other: AcCmColor): boolean;
                        setByBlock(value?: number): this;
                        setByLayer(value?: number): this;
                        setForeground(): this;
                        setRGB(r: number, g: number, b: number): this;
                        setRGBFromCss(cssString: string): this;
                        setRGBValue(value: number | null | undefined): this;
                        setScalar(scalar: number): this;
                        toString(): string;
                    };
                    celtscale: number;
                    celtype: string;
                    celweight: AcGiLineWeight;
                    cetransparency: {
                        alpha: number;
                        isByAlpha: boolean;
                        isByBlock: boolean;
                        isByLayer: boolean;
                        isClear: boolean;
                        isInvalid: boolean;
                        isSolid: boolean;
                        method: AcCmTransparencyMethod;
                        percentage: number
                        | undefined;
                        clone(): AcCmTransparency;
                        equals(other: AcCmTransparency): boolean;
                        serialize(): number;
                        toString(): string;
                    };
                    classes: readonly {
                        appName: string;
                        cppClassName: string;
                        instanceCount: number;
                        isEntity: boolean;
                        name: string;
                        proxyFlag: number;
                        wasProxy: boolean;
                    }[];
                    clayer: string;
                    cmleaderstyle: string;
                    cmlscale: number;
                    cmlstyle: string;
                    currentSpaceId: string;
                    database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                    dimstyle: string;
                    drawNoPlotLayers: boolean;
                    dwgname: string;
                    events: {
                        dictObjectErased: {
                            addEventListener(
                                listener: (payload: AcDbDictObjectEventArgs) => void,
                            ): void;
                            dispatch(payload?: AcDbDictObjectEventArgs, ...args: unknown[]): void;
                            removeEventListener(
                                listener: (payload: AcDbDictObjectEventArgs) => void,
                            ): void;
                            replaceEventListener(
                                listener: (payload: AcDbDictObjectEventArgs) => void,
                            ): void;
                        };
                        dictObjetSet: {
                            addEventListener(
                                listener: (payload: AcDbDictObjectEventArgs) => void,
                            ): void;
                            dispatch(payload?: AcDbDictObjectEventArgs, ...args: unknown[]): void;
                            removeEventListener(
                                listener: (payload: AcDbDictObjectEventArgs) => void,
                            ): void;
                            replaceEventListener(
                                listener: (payload: AcDbDictObjectEventArgs) => void,
                            ): void;
                        };
                        entityAppended: {
                            addEventListener(
                                listener: (payload: AcDbEntityEventArgs) => void,
                            ): void;
                            dispatch(payload?: AcDbEntityEventArgs, ...args: unknown[]): void;
                            removeEventListener(
                                listener: (payload: AcDbEntityEventArgs) => void,
                            ): void;
                            replaceEventListener(
                                listener: (payload: AcDbEntityEventArgs) => void,
                            ): void;
                        };
                        entityErased: {
                            addEventListener(
                                listener: (payload: AcDbEntityEventArgs) => void,
                            ): void;
                            dispatch(payload?: AcDbEntityEventArgs, ...args: unknown[]): void;
                            removeEventListener(
                                listener: (payload: AcDbEntityEventArgs) => void,
                            ): void;
                            replaceEventListener(
                                listener: (payload: AcDbEntityEventArgs) => void,
                            ): void;
                        };
                        entityModified: {
                            addEventListener(
                                listener: (payload: AcDbEntityEventArgs) => void,
                            ): void;
                            dispatch(payload?: AcDbEntityEventArgs, ...args: unknown[]): void;
                            removeEventListener(
                                listener: (payload: AcDbEntityEventArgs) => void,
                            ): void;
                            replaceEventListener(
                                listener: (payload: AcDbEntityEventArgs) => void,
                            ): void;
                        };
                        layerAppended: {
                            addEventListener(
                                listener: (payload: AcDbLayerEventArgs) => void,
                            ): void;
                            dispatch(payload?: AcDbLayerEventArgs, ...args: unknown[]): void;
                            removeEventListener(
                                listener: (payload: AcDbLayerEventArgs) => void,
                            ): void;
                            replaceEventListener(
                                listener: (payload: AcDbLayerEventArgs) => void,
                            ): void;
                        };
                        layerErased: {
                            addEventListener(
                                listener: (payload: AcDbLayerEventArgs) => void,
                            ): void;
                            dispatch(payload?: AcDbLayerEventArgs, ...args: unknown[]): void;
                            removeEventListener(
                                listener: (payload: AcDbLayerEventArgs) => void,
                            ): void;
                            replaceEventListener(
                                listener: (payload: AcDbLayerEventArgs) => void,
                            ): void;
                        };
                        layerModified: {
                            addEventListener(
                                listener: (payload: AcDbLayerModifiedEventArgs) => void,
                            ): void;
                            dispatch(
                                payload?: AcDbLayerModifiedEventArgs,
                                ...args: unknown[],
                            ): void;
                            removeEventListener(
                                listener: (payload: AcDbLayerModifiedEventArgs) => void,
                            ): void;
                            replaceEventListener(
                                listener: (payload: AcDbLayerModifiedEventArgs) => void,
                            ): void;
                        };
                        openFailed: {
                            addEventListener(
                                listener: (payload: AcDbOpenFailedEventArgs) => void,
                            ): void;
                            dispatch(payload?: AcDbOpenFailedEventArgs, ...args: unknown[]): void;
                            removeEventListener(
                                listener: (payload: AcDbOpenFailedEventArgs) => void,
                            ): void;
                            replaceEventListener(
                                listener: (payload: AcDbOpenFailedEventArgs) => void,
                            ): void;
                        };
                        openProgress: {
                            addEventListener(
                                listener: (payload: AcDbProgressdEventArgs) => void,
                            ): void;
                            dispatch(payload?: AcDbProgressdEventArgs, ...args: unknown[]): void;
                            removeEventListener(
                                listener: (payload: AcDbProgressdEventArgs) => void,
                            ): void;
                            replaceEventListener(
                                listener: (payload: AcDbProgressdEventArgs) => void,
                            ): void;
                        };
                    };
                    extensionDictionary: string
                    | undefined;
                    extents: {
                        center: {
                            x: number;
                            y: number;
                            z: number;
                            "[iterator]"(): Generator<number, void, unknown>;
                            add(v: AcGeVectorLike): this;
                            addScalar(s: number): this;
                            addScaledVector(v: AcGeVector3dLike, s: number): this;
                            addVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                            angleTo(v: AcGeVector3d): number;
                            applyAxisAngle(axis: AcGeVector3dLike, angle: number): this;
                            applyEuler(euler: AcGeEuler): this;
                            applyMatrix3(m: AcGeMatrix2d): this;
                            applyMatrix4(m: AcGeMatrix3d): this;
                            applyNormalMatrix(m: AcGeMatrix2d): this;
                            applyQuaternion(q: AcGeQuaternion): this;
                            ceil(): this;
                            clamp(min: AcGeVector3dLike, max: AcGeVector3dLike): this;
                            clampLength(min: number, max: number): this;
                            clampScalar(minVal: number, maxVal: number): this;
                            clone(): AcGeVector3d;
                            copy(v: AcGeVectorLike): this;
                            cross(v: AcGeVector3dLike): this;
                            crossVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                            distanceTo(v: AcGeVector3dLike): number;
                            distanceToSquared(v: AcGeVector3dLike): number;
                            divide(v: AcGeVector3dLike): this;
                            divideScalar(scalar: number): this;
                            dot(v: AcGeVector3dLike): number;
                            equals(v: AcGeVector3dLike): boolean;
                            floor(): this;
                            fromArray(array: number[], offset?: number): this;
                            getComponent(index: number): number;
                            isParallelTo(vec: AcGeVector3d): boolean;
                            length(): number;
                            lengthSq(): number;
                            lerp(v: AcGeVector3dLike, alpha: number): this;
                            lerpVectors(
                                v1: AcGeVector3dLike,
                                v2: AcGeVector3dLike,
                                alpha: number,
                            ): this;
                            manhattanDistanceTo(v: AcGeVector3dLike): number;
                            manhattanLength(): number;
                            max(v: AcGeVector3dLike): this;
                            min(v: AcGeVector3dLike): this;
                            multiply(v: AcGeVector3dLike): this;
                            multiplyScalar(scalar: number): this;
                            multiplyVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                            negate(): this;
                            normalize(): this;
                            projectOnPlane(planeNormal: AcGeVector3d): this;
                            projectOnVector(v: AcGeVector3d): this;
                            random(): this;
                            randomDirection(): this;
                            reflect(normal: AcGeVector3dLike): this;
                            round(): this;
                            roundToZero(): this;
                            set(x: number, y: number, z: number): this;
                            setComponent(index: number, value: number): this;
                            setFromMatrix3Column(m: AcGeMatrix2d, index: number): this;
                            setFromMatrixColumn(m: AcGeMatrix3d, index: number): this;
                            setFromMatrixPosition(m: AcGeMatrix3d): this;
                            setFromMatrixScale(m: AcGeMatrix3d): this;
                            setLength(l: number): this;
                            setScalar(scalar: number): this;
                            setX(x: number): this;
                            setY(y: number): this;
                            setZ(z: number): this;
                            sub(v: AcGeVector3dLike): this;
                            subScalar(s: number): this;
                            subVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                            toArray(
                                array?: number[] | Float32Array<ArrayBufferLike>,
                                offset?: number,
                            ): number[] | Float32Array<ArrayBufferLike>;
                            transformDirection(m: AcGeMatrix3d): this;
                        };
                        max: {
                            x: number;
                            y: number;
                            z: number;
                            "[iterator]"(): Generator<number, void, unknown>;
                            add(v: AcGeVectorLike): this;
                            addScalar(s: number): this;
                            addScaledVector(v: AcGeVector3dLike, s: number): this;
                            addVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                            angleTo(v: AcGeVector3d): number;
                            applyAxisAngle(axis: AcGeVector3dLike, angle: number): this;
                            applyEuler(euler: AcGeEuler): this;
                            applyMatrix3(m: AcGeMatrix2d): this;
                            applyMatrix4(m: AcGeMatrix3d): this;
                            applyNormalMatrix(m: AcGeMatrix2d): this;
                            applyQuaternion(q: AcGeQuaternion): this;
                            ceil(): this;
                            clamp(min: AcGeVector3dLike, max: AcGeVector3dLike): this;
                            clampLength(min: number, max: number): this;
                            clampScalar(minVal: number, maxVal: number): this;
                            clone(): AcGeVector3d;
                            copy(v: AcGeVectorLike): this;
                            cross(v: AcGeVector3dLike): this;
                            crossVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                            distanceTo(v: AcGeVector3dLike): number;
                            distanceToSquared(v: AcGeVector3dLike): number;
                            divide(v: AcGeVector3dLike): this;
                            divideScalar(scalar: number): this;
                            dot(v: AcGeVector3dLike): number;
                            equals(v: AcGeVector3dLike): boolean;
                            floor(): this;
                            fromArray(array: number[], offset?: number): this;
                            getComponent(index: number): number;
                            isParallelTo(vec: AcGeVector3d): boolean;
                            length(): number;
                            lengthSq(): number;
                            lerp(v: AcGeVector3dLike, alpha: number): this;
                            lerpVectors(
                                v1: AcGeVector3dLike,
                                v2: AcGeVector3dLike,
                                alpha: number,
                            ): this;
                            manhattanDistanceTo(v: AcGeVector3dLike): number;
                            manhattanLength(): number;
                            max(v: AcGeVector3dLike): this;
                            min(v: AcGeVector3dLike): this;
                            multiply(v: AcGeVector3dLike): this;
                            multiplyScalar(scalar: number): this;
                            multiplyVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                            negate(): this;
                            normalize(): this;
                            projectOnPlane(planeNormal: AcGeVector3d): this;
                            projectOnVector(v: AcGeVector3d): this;
                            random(): this;
                            randomDirection(): this;
                            reflect(normal: AcGeVector3dLike): this;
                            round(): this;
                            roundToZero(): this;
                            set(x: number, y: number, z: number): this;
                            setComponent(index: number, value: number): this;
                            setFromMatrix3Column(m: AcGeMatrix2d, index: number): this;
                            setFromMatrixColumn(m: AcGeMatrix3d, index: number): this;
                            setFromMatrixPosition(m: AcGeMatrix3d): this;
                            setFromMatrixScale(m: AcGeMatrix3d): this;
                            setLength(l: number): this;
                            setScalar(scalar: number): this;
                            setX(x: number): this;
                            setY(y: number): this;
                            setZ(z: number): this;
                            sub(v: AcGeVector3dLike): this;
                            subScalar(s: number): this;
                            subVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                            toArray(
                                array?: number[] | Float32Array<ArrayBufferLike>,
                                offset?: number,
                            ): number[] | Float32Array<ArrayBufferLike>;
                            transformDirection(m: AcGeMatrix3d): this;
                        };
                        min: {
                            x: number;
                            y: number;
                            z: number;
                            "[iterator]"(): Generator<number, void, unknown>;
                            add(v: AcGeVectorLike): this;
                            addScalar(s: number): this;
                            addScaledVector(v: AcGeVector3dLike, s: number): this;
                            addVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                            angleTo(v: AcGeVector3d): number;
                            applyAxisAngle(axis: AcGeVector3dLike, angle: number): this;
                            applyEuler(euler: AcGeEuler): this;
                            applyMatrix3(m: AcGeMatrix2d): this;
                            applyMatrix4(m: AcGeMatrix3d): this;
                            applyNormalMatrix(m: AcGeMatrix2d): this;
                            applyQuaternion(q: AcGeQuaternion): this;
                            ceil(): this;
                            clamp(min: AcGeVector3dLike, max: AcGeVector3dLike): this;
                            clampLength(min: number, max: number): this;
                            clampScalar(minVal: number, maxVal: number): this;
                            clone(): AcGeVector3d;
                            copy(v: AcGeVectorLike): this;
                            cross(v: AcGeVector3dLike): this;
                            crossVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                            distanceTo(v: AcGeVector3dLike): number;
                            distanceToSquared(v: AcGeVector3dLike): number;
                            divide(v: AcGeVector3dLike): this;
                            divideScalar(scalar: number): this;
                            dot(v: AcGeVector3dLike): number;
                            equals(v: AcGeVector3dLike): boolean;
                            floor(): this;
                            fromArray(array: number[], offset?: number): this;
                            getComponent(index: number): number;
                            isParallelTo(vec: AcGeVector3d): boolean;
                            length(): number;
                            lengthSq(): number;
                            lerp(v: AcGeVector3dLike, alpha: number): this;
                            lerpVectors(
                                v1: AcGeVector3dLike,
                                v2: AcGeVector3dLike,
                                alpha: number,
                            ): this;
                            manhattanDistanceTo(v: AcGeVector3dLike): number;
                            manhattanLength(): number;
                            max(v: AcGeVector3dLike): this;
                            min(v: AcGeVector3dLike): this;
                            multiply(v: AcGeVector3dLike): this;
                            multiplyScalar(scalar: number): this;
                            multiplyVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                            negate(): this;
                            normalize(): this;
                            projectOnPlane(planeNormal: AcGeVector3d): this;
                            projectOnVector(v: AcGeVector3d): this;
                            random(): this;
                            randomDirection(): this;
                            reflect(normal: AcGeVector3dLike): this;
                            round(): this;
                            roundToZero(): this;
                            set(x: number, y: number, z: number): this;
                            setComponent(index: number, value: number): this;
                            setFromMatrix3Column(m: AcGeMatrix2d, index: number): this;
                            setFromMatrixColumn(m: AcGeMatrix3d, index: number): this;
                            setFromMatrixPosition(m: AcGeMatrix3d): this;
                            setFromMatrixScale(m: AcGeMatrix3d): this;
                            setLength(l: number): this;
                            setScalar(scalar: number): this;
                            setX(x: number): this;
                            setY(y: number): this;
                            setZ(z: number): this;
                            sub(v: AcGeVector3dLike): this;
                            subScalar(s: number): this;
                            subVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                            toArray(
                                array?: number[] | Float32Array<ArrayBufferLike>,
                                offset?: number,
                            ): number[] | Float32Array<ArrayBufferLike>;
                            transformDirection(m: AcGeMatrix3d): this;
                        };
                        size: {
                            x: number;
                            y: number;
                            z: number;
                            "[iterator]"(): Generator<number, void, unknown>;
                            add(v: AcGeVectorLike): this;
                            addScalar(s: number): this;
                            addScaledVector(v: AcGeVector3dLike, s: number): this;
                            addVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                            angleTo(v: AcGeVector3d): number;
                            applyAxisAngle(axis: AcGeVector3dLike, angle: number): this;
                            applyEuler(euler: AcGeEuler): this;
                            applyMatrix3(m: AcGeMatrix2d): this;
                            applyMatrix4(m: AcGeMatrix3d): this;
                            applyNormalMatrix(m: AcGeMatrix2d): this;
                            applyQuaternion(q: AcGeQuaternion): this;
                            ceil(): this;
                            clamp(min: AcGeVector3dLike, max: AcGeVector3dLike): this;
                            clampLength(min: number, max: number): this;
                            clampScalar(minVal: number, maxVal: number): this;
                            clone(): AcGeVector3d;
                            copy(v: AcGeVectorLike): this;
                            cross(v: AcGeVector3dLike): this;
                            crossVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                            distanceTo(v: AcGeVector3dLike): number;
                            distanceToSquared(v: AcGeVector3dLike): number;
                            divide(v: AcGeVector3dLike): this;
                            divideScalar(scalar: number): this;
                            dot(v: AcGeVector3dLike): number;
                            equals(v: AcGeVector3dLike): boolean;
                            floor(): this;
                            fromArray(array: number[], offset?: number): this;
                            getComponent(index: number): number;
                            isParallelTo(vec: AcGeVector3d): boolean;
                            length(): number;
                            lengthSq(): number;
                            lerp(v: AcGeVector3dLike, alpha: number): this;
                            lerpVectors(
                                v1: AcGeVector3dLike,
                                v2: AcGeVector3dLike,
                                alpha: number,
                            ): this;
                            manhattanDistanceTo(v: AcGeVector3dLike): number;
                            manhattanLength(): number;
                            max(v: AcGeVector3dLike): this;
                            min(v: AcGeVector3dLike): this;
                            multiply(v: AcGeVector3dLike): this;
                            multiplyScalar(scalar: number): this;
                            multiplyVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                            negate(): this;
                            normalize(): this;
                            projectOnPlane(planeNormal: AcGeVector3d): this;
                            projectOnVector(v: AcGeVector3d): this;
                            random(): this;
                            randomDirection(): this;
                            reflect(normal: AcGeVector3dLike): this;
                            round(): this;
                            roundToZero(): this;
                            set(x: number, y: number, z: number): this;
                            setComponent(index: number, value: number): this;
                            setFromMatrix3Column(m: AcGeMatrix2d, index: number): this;
                            setFromMatrixColumn(m: AcGeMatrix3d, index: number): this;
                            setFromMatrixPosition(m: AcGeMatrix3d): this;
                            setFromMatrixScale(m: AcGeMatrix3d): this;
                            setLength(l: number): this;
                            setScalar(scalar: number): this;
                            setX(x: number): this;
                            setY(y: number): this;
                            setZ(z: number): this;
                            sub(v: AcGeVector3dLike): this;
                            subScalar(s: number): this;
                            subVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                            toArray(
                                array?: number[] | Float32Array<ArrayBufferLike>,
                                offset?: number,
                            ): number[] | Float32Array<ArrayBufferLike>;
                            transformDirection(m: AcGeMatrix3d): this;
                        };
                        applyMatrix4(matrix: AcGeMatrix3d): this;
                        clampPoint(point: AcGeVector3dLike, target: AcGeVector3d): AcGeVector3d;
                        clone(): AcGeBox3d;
                        containsBox(box: AcGeBox3d): boolean;
                        containsPoint(point: AcGeVector3dLike): boolean;
                        copy(box: AcGeBox3d): this;
                        distanceToPoint(point: AcGeVector3dLike): number;
                        equals(box: AcGeBox3d): boolean;
                        expandByPoint(point: AcGeVector3dLike): this;
                        expandByScalar(scalar: number): this;
                        expandByVector(vector: AcGeVector3dLike): this;
                        getCenter(target: AcGeVector3d): AcGeVector3d;
                        getParameter(
                            point: AcGeVector3dLike,
                            target: AcGeVector3d,
                        ): AcGeVector3d;
                        getSize(target: AcGeVector3d): AcGeVector3d;
                        intersect(box: AcGeBox3d): this;
                        intersectsBox(box: AcGeBox3d): boolean;
                        intersectsPlane(plane: AcGePlane): boolean;
                        isEmpty(): boolean;
                        makeEmpty(): this;
                        set(min: AcGeVector3dLike, max: AcGeVector3dLike): this;
                        setFromArray(array: number[]): this;
                        setFromCenterAndSize(
                            center: AcGeVector3dLike,
                            size: AcGeVector3dLike,
                        ): this;
                        setFromPoints(points: AcGeVector3dLike[]): this;
                        translate(offset: AcGeVector3dLike): this;
                        union(box: AcGeBox3d): this;
                    };
                    extmax: {
                        x: number;
                        y: number;
                        z: number;
                        "[iterator]"(): Generator<number, void, unknown>;
                        add(v: AcGeVectorLike): this;
                        addScalar(s: number): this;
                        addScaledVector(v: AcGeVector3dLike, s: number): this;
                        addVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                        angleTo(v: AcGeVector3d): number;
                        applyAxisAngle(axis: AcGeVector3dLike, angle: number): this;
                        applyEuler(euler: AcGeEuler): this;
                        applyMatrix3(m: AcGeMatrix2d): this;
                        applyMatrix4(m: AcGeMatrix3d): this;
                        applyNormalMatrix(m: AcGeMatrix2d): this;
                        applyQuaternion(q: AcGeQuaternion): this;
                        ceil(): this;
                        clamp(min: AcGeVector3dLike, max: AcGeVector3dLike): this;
                        clampLength(min: number, max: number): this;
                        clampScalar(minVal: number, maxVal: number): this;
                        clone(): AcGePoint3d;
                        copy(v: AcGeVectorLike): this;
                        cross(v: AcGeVector3dLike): this;
                        crossVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                        distanceTo(v: AcGeVector3dLike): number;
                        distanceToSquared(v: AcGeVector3dLike): number;
                        divide(v: AcGeVector3dLike): this;
                        divideScalar(scalar: number): this;
                        dot(v: AcGeVector3dLike): number;
                        equals(v: AcGeVector3dLike): boolean;
                        floor(): this;
                        fromArray(array: number[], offset?: number): this;
                        getComponent(index: number): number;
                        isParallelTo(vec: AcGeVector3d): boolean;
                        length(): number;
                        lengthSq(): number;
                        lerp(v: AcGeVector3dLike, alpha: number): this;
                        lerpVectors(
                            v1: AcGeVector3dLike,
                            v2: AcGeVector3dLike,
                            alpha: number,
                        ): this;
                        manhattanDistanceTo(v: AcGeVector3dLike): number;
                        manhattanLength(): number;
                        max(v: AcGeVector3dLike): this;
                        min(v: AcGeVector3dLike): this;
                        multiply(v: AcGeVector3dLike): this;
                        multiplyScalar(scalar: number): this;
                        multiplyVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                        negate(): this;
                        normalize(): this;
                        projectOnPlane(planeNormal: AcGeVector3d): this;
                        projectOnVector(v: AcGeVector3d): this;
                        random(): this;
                        randomDirection(): this;
                        reflect(normal: AcGeVector3dLike): this;
                        round(): this;
                        roundToZero(): this;
                        set(x: number, y: number, z: number): this;
                        setComponent(index: number, value: number): this;
                        setFromMatrix3Column(m: AcGeMatrix2d, index: number): this;
                        setFromMatrixColumn(m: AcGeMatrix3d, index: number): this;
                        setFromMatrixPosition(m: AcGeMatrix3d): this;
                        setFromMatrixScale(m: AcGeMatrix3d): this;
                        setLength(l: number): this;
                        setScalar(scalar: number): this;
                        setX(x: number): this;
                        setY(y: number): this;
                        setZ(z: number): this;
                        sub(v: AcGeVector3dLike): this;
                        subScalar(s: number): this;
                        subVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                        toArray(
                            array?: number[] | Float32Array<ArrayBufferLike>,
                            offset?: number,
                        ): number[] | Float32Array<ArrayBufferLike>;
                        transformDirection(m: AcGeMatrix3d): this;
                    };
                    extmin: {
                        x: number;
                        y: number;
                        z: number;
                        "[iterator]"(): Generator<number, void, unknown>;
                        add(v: AcGeVectorLike): this;
                        addScalar(s: number): this;
                        addScaledVector(v: AcGeVector3dLike, s: number): this;
                        addVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                        angleTo(v: AcGeVector3d): number;
                        applyAxisAngle(axis: AcGeVector3dLike, angle: number): this;
                        applyEuler(euler: AcGeEuler): this;
                        applyMatrix3(m: AcGeMatrix2d): this;
                        applyMatrix4(m: AcGeMatrix3d): this;
                        applyNormalMatrix(m: AcGeMatrix2d): this;
                        applyQuaternion(q: AcGeQuaternion): this;
                        ceil(): this;
                        clamp(min: AcGeVector3dLike, max: AcGeVector3dLike): this;
                        clampLength(min: number, max: number): this;
                        clampScalar(minVal: number, maxVal: number): this;
                        clone(): AcGePoint3d;
                        copy(v: AcGeVectorLike): this;
                        cross(v: AcGeVector3dLike): this;
                        crossVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                        distanceTo(v: AcGeVector3dLike): number;
                        distanceToSquared(v: AcGeVector3dLike): number;
                        divide(v: AcGeVector3dLike): this;
                        divideScalar(scalar: number): this;
                        dot(v: AcGeVector3dLike): number;
                        equals(v: AcGeVector3dLike): boolean;
                        floor(): this;
                        fromArray(array: number[], offset?: number): this;
                        getComponent(index: number): number;
                        isParallelTo(vec: AcGeVector3d): boolean;
                        length(): number;
                        lengthSq(): number;
                        lerp(v: AcGeVector3dLike, alpha: number): this;
                        lerpVectors(
                            v1: AcGeVector3dLike,
                            v2: AcGeVector3dLike,
                            alpha: number,
                        ): this;
                        manhattanDistanceTo(v: AcGeVector3dLike): number;
                        manhattanLength(): number;
                        max(v: AcGeVector3dLike): this;
                        min(v: AcGeVector3dLike): this;
                        multiply(v: AcGeVector3dLike): this;
                        multiplyScalar(scalar: number): this;
                        multiplyVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                        negate(): this;
                        normalize(): this;
                        projectOnPlane(planeNormal: AcGeVector3d): this;
                        projectOnVector(v: AcGeVector3d): this;
                        random(): this;
                        randomDirection(): this;
                        reflect(normal: AcGeVector3dLike): this;
                        round(): this;
                        roundToZero(): this;
                        set(x: number, y: number, z: number): this;
                        setComponent(index: number, value: number): this;
                        setFromMatrix3Column(m: AcGeMatrix2d, index: number): this;
                        setFromMatrixColumn(m: AcGeMatrix3d, index: number): this;
                        setFromMatrixPosition(m: AcGeMatrix3d): this;
                        setFromMatrixScale(m: AcGeMatrix3d): this;
                        setLength(l: number): this;
                        setScalar(scalar: number): this;
                        setX(x: number): this;
                        setY(y: number): this;
                        setZ(z: number): this;
                        sub(v: AcGeVector3dLike): this;
                        subScalar(s: number): this;
                        subVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                        toArray(
                            array?: number[] | Float32Array<ArrayBufferLike>,
                            offset?: number,
                        ): number[] | Float32Array<ArrayBufferLike>;
                        transformDirection(m: AcGeMatrix3d): this;
                    };
                    formatter: {
                        formatAngle(radians: number, options?: AcDbFormatterOptions): string;
                        formatLength(value: number, options?: AcDbFormatterOptions): string;
                        formatPoint2d(
                            point: AcGePoint2d,
                            options?: AcDbFormatterOptions,
                        ): string;
                        formatPoint3d(
                            point: AcGePoint3d,
                            options?: AcDbFormatterOptions,
                        ): string;
                    };
                    hpbackgroundcolor: {
                        blue: number
                        | undefined;
                        colorIndex: number | undefined;
                        colorMethod: AcCmColorMethod;
                        colorName: string | undefined;
                        cssColor: string | undefined;
                        green: number | undefined;
                        hexColor: string | undefined;
                        isByACI: boolean;
                        isByBlock: boolean;
                        isByColor: boolean;
                        isByLayer: boolean;
                        isForeground: boolean;
                        red: number | undefined;
                        RGB: number | undefined;
                        clone(): AcCmColor;
                        copy(other: AcCmColor): this;
                        cssColorAlpha(alpha: number): string | undefined;
                        equals(other: AcCmColor): boolean;
                        setByBlock(value?: number): this;
                        setByLayer(value?: number): this;
                        setForeground(): this;
                        setRGB(r: number, g: number, b: number): this;
                        setRGBFromCss(cssString: string): this;
                        setRGBValue(value: number | null | undefined): this;
                        setScalar(scalar: number): this;
                        toString(): string;
                    };
                    hpcolor: {
                        blue: number
                        | undefined;
                        colorIndex: number | undefined;
                        colorMethod: AcCmColorMethod;
                        colorName: string | undefined;
                        cssColor: string | undefined;
                        green: number | undefined;
                        hexColor: string | undefined;
                        isByACI: boolean;
                        isByBlock: boolean;
                        isByColor: boolean;
                        isByLayer: boolean;
                        isForeground: boolean;
                        red: number | undefined;
                        RGB: number | undefined;
                        clone(): AcCmColor;
                        copy(other: AcCmColor): this;
                        cssColorAlpha(alpha: number): string | undefined;
                        equals(other: AcCmColor): boolean;
                        setByBlock(value?: number): this;
                        setByLayer(value?: number): this;
                        setForeground(): this;
                        setRGB(r: number, g: number, b: number): this;
                        setRGBFromCss(cssString: string): this;
                        setRGBValue(value: number | null | undefined): this;
                        setScalar(scalar: number): this;
                        toString(): string;
                    };
                    hplayer: string;
                    hptransparency: {
                        alpha: number;
                        isByAlpha: boolean;
                        isByBlock: boolean;
                        isByLayer: boolean;
                        isClear: boolean;
                        isInvalid: boolean;
                        isSolid: boolean;
                        method: AcCmTransparencyMethod;
                        percentage: number
                        | undefined;
                        clone(): AcCmTransparency;
                        equals(other: AcCmTransparency): boolean;
                        serialize(): number;
                        toString(): string;
                    };
                    insunits: number;
                    isTemp: any;
                    lastOpenError: AcDbOpenDatabaseError
                    | null;
                    layerFilters: {
                        current:
                            | {
                                filterExpression: string;
                                name: string;
                                nestedFilters: readonly (
                                    { name: string; setName: (value: string) => boolean; filterExpression: string; setFilterExpression: (expression: string) => boolean; filterExpressionTree: () => AcLyBoolExpr | null; ... 18 more ...; showEditor: () => AcLyLayerFilterDialogResult; }
                                )[];
                                addNested(filter: AcLyLayerFilter): boolean;
                                allowDelete(): boolean;
                                allowNested(): boolean;
                                allowRename(): boolean;
                                compareTo(other: AcLyLayerFilter | null | undefined): boolean;
                                dynamicallyGenerated(): boolean;
                                filter(layer: AcDbLayerTableRecord): boolean;
                                filterExpressionTree(): AcLyBoolExpr | null;
                                generateNested(): boolean;
                                getNestedFilters(): readonly AcLyLayerFilter[];
                                isIdFilter(): boolean;
                                isProxy(): boolean;
                                parent(): AcLyLayerFilter | null;
                                removeNested(filter: AcLyLayerFilter): boolean;
                                setAllowDelete(value: boolean): void;
                                setAllowRename(value: boolean): void;
                                setDynamicallyGenerated(value: boolean): void;
                                setFilterExpression(expression: string): boolean;
                                setIsProxy(value: boolean): void;
                                setName(value: string): boolean;
                                showEditor(): AcLyLayerFilterDialogResult;
                            }
                            | null;
                        root: {
                            filterExpression: string;
                            name: string;
                            nestedFilters: readonly (
                                { name: string; setName: (value: string) => boolean; filterExpression: string; setFilterExpression: (expression: string) => boolean; filterExpressionTree: () => AcLyBoolExpr | null; ... 18 more ...; showEditor: () => AcLyLayerFilterDialogResult; }
                            )[];
                            addNested(filter: AcLyLayerFilter): boolean;
                            allowDelete(): boolean;
                            allowNested(): boolean;
                            allowRename(): boolean;
                            compareTo(other: AcLyLayerFilter | null | undefined): boolean;
                            dynamicallyGenerated(): boolean;
                            filter(layer: AcDbLayerTableRecord): boolean;
                            filterExpressionTree(): AcLyBoolExpr | null;
                            generateNested(): boolean;
                            getNestedFilters(): readonly AcLyLayerFilter[];
                            isIdFilter(): boolean;
                            isProxy(): boolean;
                            parent(): AcLyLayerFilter | null;
                            removeNested(filter: AcLyLayerFilter): boolean;
                            setAllowDelete(value: boolean): void;
                            setAllowRename(value: boolean): void;
                            setDynamicallyGenerated(value: boolean): void;
                            setFilterExpression(expression: string): boolean;
                            setIsProxy(value: boolean): void;
                            setName(value: string): boolean;
                            showEditor(): AcLyLayerFilterDialogResult;
                        };
                        clone(): AcLyLayerFilterTree;
                    };
                    ltscale: number;
                    lunits: number;
                    luprec: number;
                    lwdisplay: boolean;
                    measurement: number;
                    objectId: string;
                    objects: {
                        dictionary: {
                            attrs: {
                                attributes: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                changed: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                events: {
                                    attrChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                    modelChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                };
                                changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                clone(): AcCmObject<AcDbObjectAttrs>;
                                get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                has(key: string): boolean;
                                hasChanged(key?: string): boolean;
                                previous<A extends string>(
                                    key: A,
                                ): AcDbObjectAttrs[A] | null | undefined;
                                previousAttributes(): Partial<T>;
                                set<A extends string>(
                                    key: A,
                                    val?: AcDbObjectAttrs[A],
                                    options?: AcCmObjectOptions,
                                ): this;
                                set(key: Partial<T>, options?: AcCmObjectOptions): this;
                            };
                            database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                            extensionDictionary: string
                            | undefined;
                            isTemp: any;
                            numEntries: number;
                            objectId: string;
                            ownerId: string;
                            clone(): this;
                            clonePreservingIdentity(): this;
                            close(): void;
                            createExtensionDictionary(): string | undefined;
                            dxfIn(filer: AcDbDxfFiler): this;
                            dxfInFields(filer: AcDbDxfFiler): this;
                            dxfOut(...args: unknown[]): unknown;
                            dxfOutFields(filer: AcDbDxfFiler): this;
                            entries(): IterableIterator<
                                [string, AcDbDictionary<AcDbObject<(...)>>],
                            >;
                            getAt(
                                name: string,
                            ): AcDbDictionary<AcDbObject<AcDbObjectAttrs>> | undefined;
                            getAttr(attrName: string): any;
                            getAttrWithoutException(attrName: string): any;
                            getIdAt(
                                id: string,
                            ): AcDbDictionary<AcDbObject<AcDbObjectAttrs>> | undefined;
                            getXData(appId: string): AcDbResultBuffer | undefined;
                            has(name: string): boolean;
                            hasId(id: string): boolean;
                            newIterator(): AcDbObjectIterator<
                                AcDbDictionary<AcDbObject<AcDbObjectAttrs>>,
                            >;
                            remove(name: string): boolean;
                            removeAll(): void;
                            removeId(id: string): boolean;
                            removeXData(appId: string): void;
                            restoreFrom(snapshot: this): void;
                            setAt(key: string, value: AcDbDictionary): void;
                            setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                            setXData(resbuf: AcDbResultBuffer): void;
                        };
                        group: {
                            attrs: {
                                attributes: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                changed: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                events: {
                                    attrChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                    modelChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                };
                                changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                clone(): AcCmObject<AcDbObjectAttrs>;
                                get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                has(key: string): boolean;
                                hasChanged(key?: string): boolean;
                                previous<A extends string>(
                                    key: A,
                                ): AcDbObjectAttrs[A] | null | undefined;
                                previousAttributes(): Partial<T>;
                                set<A extends string>(
                                    key: A,
                                    val?: AcDbObjectAttrs[A],
                                    options?: AcCmObjectOptions,
                                ): this;
                                set(key: Partial<T>, options?: AcCmObjectOptions): this;
                            };
                            database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                            extensionDictionary: string
                            | undefined;
                            isTemp: any;
                            numEntries: number;
                            objectId: string;
                            ownerId: string;
                            clone(): this;
                            clonePreservingIdentity(): this;
                            close(): void;
                            createExtensionDictionary(): string | undefined;
                            dxfIn(filer: AcDbDxfFiler): this;
                            dxfInFields(filer: AcDbDxfFiler): this;
                            dxfOut(...args: unknown[]): unknown;
                            dxfOutFields(filer: AcDbDxfFiler): this;
                            entries(): IterableIterator<[string, AcDbGroup]>;
                            getAt(name: string): AcDbGroup | undefined;
                            getAttr(attrName: string): any;
                            getAttrWithoutException(attrName: string): any;
                            getIdAt(id: string): AcDbGroup | undefined;
                            getXData(appId: string): AcDbResultBuffer | undefined;
                            has(name: string): boolean;
                            hasId(id: string): boolean;
                            newIterator(): AcDbObjectIterator<AcDbGroup>;
                            remove(name: string): boolean;
                            removeAll(): void;
                            removeId(id: string): boolean;
                            removeXData(appId: string): void;
                            restoreFrom(snapshot: this): void;
                            setAt(key: string, value: AcDbGroup): void;
                            setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                            setXData(resbuf: AcDbResultBuffer): void;
                        };
                        imageDefinition: {
                            attrs: {
                                attributes: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                changed: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                events: {
                                    attrChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                    modelChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                };
                                changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                clone(): AcCmObject<AcDbObjectAttrs>;
                                get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                has(key: string): boolean;
                                hasChanged(key?: string): boolean;
                                previous<A extends string>(
                                    key: A,
                                ): AcDbObjectAttrs[A] | null | undefined;
                                previousAttributes(): Partial<T>;
                                set<A extends string>(
                                    key: A,
                                    val?: AcDbObjectAttrs[A],
                                    options?: AcCmObjectOptions,
                                ): this;
                                set(key: Partial<T>, options?: AcCmObjectOptions): this;
                            };
                            database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                            extensionDictionary: string
                            | undefined;
                            isTemp: any;
                            numEntries: number;
                            objectId: string;
                            ownerId: string;
                            clone(): this;
                            clonePreservingIdentity(): this;
                            close(): void;
                            createExtensionDictionary(): string | undefined;
                            dxfIn(filer: AcDbDxfFiler): this;
                            dxfInFields(filer: AcDbDxfFiler): this;
                            dxfOut(...args: unknown[]): unknown;
                            dxfOutFields(filer: AcDbDxfFiler): this;
                            entries(): IterableIterator<[string, AcDbRasterImageDef]>;
                            getAt(name: string): AcDbRasterImageDef | undefined;
                            getAttr(attrName: string): any;
                            getAttrWithoutException(attrName: string): any;
                            getIdAt(id: string): AcDbRasterImageDef | undefined;
                            getXData(appId: string): AcDbResultBuffer | undefined;
                            has(name: string): boolean;
                            hasId(id: string): boolean;
                            newIterator(): AcDbObjectIterator<AcDbRasterImageDef>;
                            remove(name: string): boolean;
                            removeAll(): void;
                            removeId(id: string): boolean;
                            removeXData(appId: string): void;
                            restoreFrom(snapshot: this): void;
                            setAt(key: string, value: AcDbRasterImageDef): void;
                            setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                            setXData(resbuf: AcDbResultBuffer): void;
                        };
                        layerFilter: {
                            attrs: {
                                attributes: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                changed: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                events: {
                                    attrChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                    modelChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                };
                                changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                clone(): AcCmObject<AcDbObjectAttrs>;
                                get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                has(key: string): boolean;
                                hasChanged(key?: string): boolean;
                                previous<A extends string>(
                                    key: A,
                                ): AcDbObjectAttrs[A] | null | undefined;
                                previousAttributes(): Partial<T>;
                                set<A extends string>(
                                    key: A,
                                    val?: AcDbObjectAttrs[A],
                                    options?: AcCmObjectOptions,
                                ): this;
                                set(key: Partial<T>, options?: AcCmObjectOptions): this;
                            };
                            database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                            extensionDictionary: string
                            | undefined;
                            isTemp: any;
                            numEntries: number;
                            objectId: string;
                            ownerId: string;
                            clone(): this;
                            clonePreservingIdentity(): this;
                            close(): void;
                            createExtensionDictionary(): string | undefined;
                            dxfIn(filer: AcDbDxfFiler): this;
                            dxfInFields(filer: AcDbDxfFiler): this;
                            dxfOut(...args: unknown[]): unknown;
                            dxfOutFields(filer: AcDbDxfFiler): this;
                            entries(): IterableIterator<[string, AcDbLayerFilter]>;
                            getAt(name: string): AcDbLayerFilter | undefined;
                            getAttr(attrName: string): any;
                            getAttrWithoutException(attrName: string): any;
                            getIdAt(id: string): AcDbLayerFilter | undefined;
                            getXData(appId: string): AcDbResultBuffer | undefined;
                            has(name: string): boolean;
                            hasId(id: string): boolean;
                            newIterator(): AcDbObjectIterator<AcDbLayerFilter>;
                            remove(name: string): boolean;
                            removeAll(): void;
                            removeId(id: string): boolean;
                            removeXData(appId: string): void;
                            restoreFrom(snapshot: this): void;
                            setAt(key: string, value: AcDbLayerFilter): void;
                            setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                            setXData(resbuf: AcDbResultBuffer): void;
                        };
                        layerIndex: {
                            attrs: {
                                attributes: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                changed: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                events: {
                                    attrChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                    modelChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                };
                                changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                clone(): AcCmObject<AcDbObjectAttrs>;
                                get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                has(key: string): boolean;
                                hasChanged(key?: string): boolean;
                                previous<A extends string>(
                                    key: A,
                                ): AcDbObjectAttrs[A] | null | undefined;
                                previousAttributes(): Partial<T>;
                                set<A extends string>(
                                    key: A,
                                    val?: AcDbObjectAttrs[A],
                                    options?: AcCmObjectOptions,
                                ): this;
                                set(key: Partial<T>, options?: AcCmObjectOptions): this;
                            };
                            database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                            extensionDictionary: string
                            | undefined;
                            isTemp: any;
                            numEntries: number;
                            objectId: string;
                            ownerId: string;
                            clone(): this;
                            clonePreservingIdentity(): this;
                            close(): void;
                            createExtensionDictionary(): string | undefined;
                            dxfIn(filer: AcDbDxfFiler): this;
                            dxfInFields(filer: AcDbDxfFiler): this;
                            dxfOut(...args: unknown[]): unknown;
                            dxfOutFields(filer: AcDbDxfFiler): this;
                            entries(): IterableIterator<[string, AcDbLayerIndex]>;
                            getAt(name: string): AcDbLayerIndex | undefined;
                            getAttr(attrName: string): any;
                            getAttrWithoutException(attrName: string): any;
                            getIdAt(id: string): AcDbLayerIndex | undefined;
                            getXData(appId: string): AcDbResultBuffer | undefined;
                            has(name: string): boolean;
                            hasId(id: string): boolean;
                            newIterator(): AcDbObjectIterator<AcDbLayerIndex>;
                            remove(name: string): boolean;
                            removeAll(): void;
                            removeId(id: string): boolean;
                            removeXData(appId: string): void;
                            restoreFrom(snapshot: this): void;
                            setAt(key: string, value: AcDbLayerIndex): void;
                            setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                            setXData(resbuf: AcDbResultBuffer): void;
                        };
                        layout: {
                            attrs: {
                                attributes: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                changed: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                events: {
                                    attrChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                    modelChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                };
                                changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                clone(): AcCmObject<AcDbObjectAttrs>;
                                get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                has(key: string): boolean;
                                hasChanged(key?: string): boolean;
                                previous<A extends string>(
                                    key: A,
                                ): AcDbObjectAttrs[A] | null | undefined;
                                previousAttributes(): Partial<T>;
                                set<A extends string>(
                                    key: A,
                                    val?: AcDbObjectAttrs[A],
                                    options?: AcCmObjectOptions,
                                ): this;
                                set(key: Partial<T>, options?: AcCmObjectOptions): this;
                            };
                            database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                            extensionDictionary: string
                            | undefined;
                            isTemp: any;
                            maxTabOrder: number;
                            numEntries: number;
                            objectId: string;
                            ownerId: string;
                            clone(): this;
                            clonePreservingIdentity(): this;
                            close(): void;
                            createExtensionDictionary(): string | undefined;
                            dxfIn(filer: AcDbDxfFiler): this;
                            dxfInFields(filer: AcDbDxfFiler): this;
                            dxfOut(...args: unknown[]): unknown;
                            dxfOutFields(filer: AcDbDxfFiler): this;
                            entries(): IterableIterator<[string, AcDbLayout]>;
                            getAt(name: string): AcDbLayout | undefined;
                            getAttr(attrName: string): any;
                            getAttrWithoutException(attrName: string): any;
                            getBtrIdAt(id: string): AcDbLayout | undefined;
                            getIdAt(id: string): AcDbLayout | undefined;
                            getXData(appId: string): AcDbResultBuffer | undefined;
                            has(name: string): boolean;
                            hasId(id: string): boolean;
                            newIterator(): AcDbObjectIterator<AcDbLayout>;
                            remove(name: string): boolean;
                            removeAll(): void;
                            removeId(id: string): boolean;
                            removeXData(appId: string): void;
                            restoreFrom(snapshot: this): void;
                            setAt(key: string, value: AcDbLayout): void;
                            setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                            setXData(resbuf: AcDbResultBuffer): void;
                        };
                        mleaderStyle: {
                            attrs: {
                                attributes: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                changed: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                events: {
                                    attrChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                    modelChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                };
                                changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                clone(): AcCmObject<AcDbObjectAttrs>;
                                get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                has(key: string): boolean;
                                hasChanged(key?: string): boolean;
                                previous<A extends string>(
                                    key: A,
                                ): AcDbObjectAttrs[A] | null | undefined;
                                previousAttributes(): Partial<T>;
                                set<A extends string>(
                                    key: A,
                                    val?: AcDbObjectAttrs[A],
                                    options?: AcCmObjectOptions,
                                ): this;
                                set(key: Partial<T>, options?: AcCmObjectOptions): this;
                            };
                            database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                            extensionDictionary: string
                            | undefined;
                            isTemp: any;
                            numEntries: number;
                            objectId: string;
                            ownerId: string;
                            clone(): this;
                            clonePreservingIdentity(): this;
                            close(): void;
                            createExtensionDictionary(): string | undefined;
                            dxfIn(filer: AcDbDxfFiler): this;
                            dxfInFields(filer: AcDbDxfFiler): this;
                            dxfOut(...args: unknown[]): unknown;
                            dxfOutFields(filer: AcDbDxfFiler): this;
                            entries(): IterableIterator<[string, AcDbMLeaderStyle]>;
                            getAt(name: string): AcDbMLeaderStyle | undefined;
                            getAttr(attrName: string): any;
                            getAttrWithoutException(attrName: string): any;
                            getIdAt(id: string): AcDbMLeaderStyle | undefined;
                            getXData(appId: string): AcDbResultBuffer | undefined;
                            has(name: string): boolean;
                            hasId(id: string): boolean;
                            newIterator(): AcDbObjectIterator<AcDbMLeaderStyle>;
                            remove(name: string): boolean;
                            removeAll(): void;
                            removeId(id: string): boolean;
                            removeXData(appId: string): void;
                            restoreFrom(snapshot: this): void;
                            setAt(key: string, value: AcDbMLeaderStyle): void;
                            setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                            setXData(resbuf: AcDbResultBuffer): void;
                        };
                        mlineStyle: {
                            attrs: {
                                attributes: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                changed: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                events: {
                                    attrChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                    modelChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                };
                                changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                clone(): AcCmObject<AcDbObjectAttrs>;
                                get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                has(key: string): boolean;
                                hasChanged(key?: string): boolean;
                                previous<A extends string>(
                                    key: A,
                                ): AcDbObjectAttrs[A] | null | undefined;
                                previousAttributes(): Partial<T>;
                                set<A extends string>(
                                    key: A,
                                    val?: AcDbObjectAttrs[A],
                                    options?: AcCmObjectOptions,
                                ): this;
                                set(key: Partial<T>, options?: AcCmObjectOptions): this;
                            };
                            database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                            extensionDictionary: string
                            | undefined;
                            isTemp: any;
                            numEntries: number;
                            objectId: string;
                            ownerId: string;
                            clone(): this;
                            clonePreservingIdentity(): this;
                            close(): void;
                            createExtensionDictionary(): string | undefined;
                            dxfIn(filer: AcDbDxfFiler): this;
                            dxfInFields(filer: AcDbDxfFiler): this;
                            dxfOut(...args: unknown[]): unknown;
                            dxfOutFields(filer: AcDbDxfFiler): this;
                            entries(): IterableIterator<[string, AcDbMlineStyle]>;
                            getAt(name: string): AcDbMlineStyle | undefined;
                            getAttr(attrName: string): any;
                            getAttrWithoutException(attrName: string): any;
                            getIdAt(id: string): AcDbMlineStyle | undefined;
                            getXData(appId: string): AcDbResultBuffer | undefined;
                            has(name: string): boolean;
                            hasId(id: string): boolean;
                            newIterator(): AcDbObjectIterator<AcDbMlineStyle>;
                            remove(name: string): boolean;
                            removeAll(): void;
                            removeId(id: string): boolean;
                            removeXData(appId: string): void;
                            restoreFrom(snapshot: this): void;
                            setAt(key: string, value: AcDbMlineStyle): void;
                            setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                            setXData(resbuf: AcDbResultBuffer): void;
                        };
                        sortentsTable: {
                            attrs: {
                                attributes: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                changed: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                events: {
                                    attrChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                    modelChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                };
                                changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                clone(): AcCmObject<AcDbObjectAttrs>;
                                get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                has(key: string): boolean;
                                hasChanged(key?: string): boolean;
                                previous<A extends string>(
                                    key: A,
                                ): AcDbObjectAttrs[A] | null | undefined;
                                previousAttributes(): Partial<T>;
                                set<A extends string>(
                                    key: A,
                                    val?: AcDbObjectAttrs[A],
                                    options?: AcCmObjectOptions,
                                ): this;
                                set(key: Partial<T>, options?: AcCmObjectOptions): this;
                            };
                            database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                            extensionDictionary: string
                            | undefined;
                            isTemp: any;
                            numEntries: number;
                            objectId: string;
                            ownerId: string;
                            clone(): this;
                            clonePreservingIdentity(): this;
                            close(): void;
                            createExtensionDictionary(): string | undefined;
                            dxfIn(filer: AcDbDxfFiler): this;
                            dxfInFields(filer: AcDbDxfFiler): this;
                            dxfOut(...args: unknown[]): unknown;
                            dxfOutFields(filer: AcDbDxfFiler): this;
                            entries(): IterableIterator<[string, AcDbSortentsTable]>;
                            getAt(name: string): AcDbSortentsTable | undefined;
                            getAttr(attrName: string): any;
                            getAttrWithoutException(attrName: string): any;
                            getIdAt(id: string): AcDbSortentsTable | undefined;
                            getXData(appId: string): AcDbResultBuffer | undefined;
                            has(name: string): boolean;
                            hasId(id: string): boolean;
                            newIterator(): AcDbObjectIterator<AcDbSortentsTable>;
                            remove(name: string): boolean;
                            removeAll(): void;
                            removeId(id: string): boolean;
                            removeXData(appId: string): void;
                            restoreFrom(snapshot: this): void;
                            setAt(key: string, value: AcDbSortentsTable): void;
                            setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                            setXData(resbuf: AcDbResultBuffer): void;
                        };
                        xrecord: {
                            attrs: {
                                attributes: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                changed: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                events: {
                                    attrChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                    modelChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                };
                                changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                clone(): AcCmObject<AcDbObjectAttrs>;
                                get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                has(key: string): boolean;
                                hasChanged(key?: string): boolean;
                                previous<A extends string>(
                                    key: A,
                                ): AcDbObjectAttrs[A] | null | undefined;
                                previousAttributes(): Partial<T>;
                                set<A extends string>(
                                    key: A,
                                    val?: AcDbObjectAttrs[A],
                                    options?: AcCmObjectOptions,
                                ): this;
                                set(key: Partial<T>, options?: AcCmObjectOptions): this;
                            };
                            database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                            extensionDictionary: string
                            | undefined;
                            isTemp: any;
                            numEntries: number;
                            objectId: string;
                            ownerId: string;
                            clone(): this;
                            clonePreservingIdentity(): this;
                            close(): void;
                            createExtensionDictionary(): string | undefined;
                            dxfIn(filer: AcDbDxfFiler): this;
                            dxfInFields(filer: AcDbDxfFiler): this;
                            dxfOut(...args: unknown[]): unknown;
                            dxfOutFields(filer: AcDbDxfFiler): this;
                            entries(): IterableIterator<[string, AcDbXrecord]>;
                            getAt(name: string): AcDbXrecord | undefined;
                            getAttr(attrName: string): any;
                            getAttrWithoutException(attrName: string): any;
                            getIdAt(id: string): AcDbXrecord | undefined;
                            getXData(appId: string): AcDbResultBuffer | undefined;
                            has(name: string): boolean;
                            hasId(id: string): boolean;
                            newIterator(): AcDbObjectIterator<AcDbXrecord>;
                            remove(name: string): boolean;
                            removeAll(): void;
                            removeId(id: string): boolean;
                            removeXData(appId: string): void;
                            restoreFrom(snapshot: this): void;
                            setAt(key: string, value: AcDbXrecord): void;
                            setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                            setXData(resbuf: AcDbResultBuffer): void;
                        };
                    };
                    orthomode: number;
                    osmode: number;
                    ownerId: string;
                    pdmode: number;
                    pdsize: number;
                    psltscale: boolean;
                    tables: {
                        appIdTable: {
                            attrs: {
                                attributes: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                changed: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                events: {
                                    attrChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                    modelChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                };
                                changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                clone(): AcCmObject<AcDbObjectAttrs>;
                                get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                has(key: string): boolean;
                                hasChanged(key?: string): boolean;
                                previous<A extends string>(
                                    key: A,
                                ): AcDbObjectAttrs[A] | null | undefined;
                                previousAttributes(): Partial<T>;
                                set<A extends string>(
                                    key: A,
                                    val?: AcDbObjectAttrs[A],
                                    options?: AcCmObjectOptions,
                                ): this;
                                set(key: Partial<T>, options?: AcCmObjectOptions): this;
                            };
                            database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                            extensionDictionary: string
                            | undefined;
                            isTemp: any;
                            numEntries: number;
                            objectId: string;
                            ownerId: string;
                            add(record: AcDbRegAppTableRecord): void;
                            clone(): this;
                            clonePreservingIdentity(): this;
                            close(): void;
                            createExtensionDictionary(): string | undefined;
                            dxfIn(filer: AcDbDxfFiler): this;
                            dxfInFields(_filer: AcDbDxfFiler): this;
                            dxfOut(...args: unknown[]): unknown;
                            dxfOutFields(filer: AcDbDxfFiler): this;
                            getAt(name: string): AcDbRegAppTableRecord | undefined;
                            getAttr(attrName: string): any;
                            getAttrWithoutException(attrName: string): any;
                            getIdAt(id: string): AcDbRegAppTableRecord | undefined;
                            getOwnerIdAt(id: string): AcDbRegAppTableRecord | undefined;
                            getXData(appId: string): AcDbResultBuffer | undefined;
                            has(name: string): boolean;
                            hasId(id: string): boolean;
                            newIterator(
                                iterateById?: boolean,
                            ): AcDbObjectIterator<AcDbRegAppTableRecord>;
                            remove(name: string): boolean;
                            removeAll(): void;
                            removeId(id: string): boolean;
                            removeXData(appId: string): void;
                            restoreFrom(snapshot: this): void;
                            setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                            setXData(resbuf: AcDbResultBuffer): void;
                        };
                        blockTable: {
                            attrs: {
                                attributes: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                changed: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                events: {
                                    attrChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                    modelChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                };
                                changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                clone(): AcCmObject<AcDbObjectAttrs>;
                                get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                has(key: string): boolean;
                                hasChanged(key?: string): boolean;
                                previous<A extends string>(
                                    key: A,
                                ): AcDbObjectAttrs[A] | null | undefined;
                                previousAttributes(): Partial<T>;
                                set<A extends string>(
                                    key: A,
                                    val?: AcDbObjectAttrs[A],
                                    options?: AcCmObjectOptions,
                                ): this;
                                set(key: Partial<T>, options?: AcCmObjectOptions): this;
                            };
                            database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                            extensionDictionary: string
                            | undefined;
                            isTemp: any;
                            modelSpace: {
                                attrs: {
                                    attributes: {
                                        blockInsertUnits?: (...) | (...);
                                        blockScaling?: (...) | (...);
                                        explodability?: (...) | (...);
                                        extensionDictionary?: (...) | (...);
                                        flags?: (...) | (...);
                                        layoutId?: (...) | (...);
                                        name?: (...) | (...);
                                        objectId?: (...) | (...);
                                        origin?: (...) | (...);
                                        ownerId?: (...) | (...);
                                        pathName?: (...) | (...);
                                        previewIcon?: (...) | (...);
                                        [key: string]: any;
                                    };
                                    changed: {
                                        blockInsertUnits?: (...)
                                        | (...);
                                        blockScaling?: (...) | (...);
                                        explodability?: (...) | (...);
                                        extensionDictionary?: (...) | (...);
                                        flags?: (...) | (...);
                                        layoutId?: (...) | (...);
                                        name?: (...) | (...);
                                        objectId?: (...) | (...);
                                        origin?: (...) | (...);
                                        ownerId?: (...) | (...);
                                        pathName?: (...) | (...);
                                        previewIcon?: (...) | (...);
                                        [key: string]: any;
                                    };
                                    events: {
                                        attrChanged: {
                                            addEventListener(listener: ...): ...;
                                            dispatch(payload?: ..., ...args: ...): ...;
                                            removeEventListener(listener: ...): ...;
                                            replaceEventListener(listener: ...): ...;
                                        };
                                        modelChanged: {
                                            addEventListener(listener: ...): ...;
                                            dispatch(payload?: ..., ...args: ...): ...;
                                            removeEventListener(listener: ...): ...;
                                            replaceEventListener(listener: ...): ...;
                                        };
                                    };
                                    changedAttributes(diff?: Partial<(...)>): Partial<T>;
                                    clone(): AcCmObject<AcDbBlockTableRecordAttrs>;
                                    get<A extends string>(key: A): (...)[(...)] | undefined;
                                    has(key: string): boolean;
                                    hasChanged(key?: string): boolean;
                                    previous<A extends string>(key: A): (...)[(...)] | null | undefined;
                                    previousAttributes(): Partial<T>;
                                    set<A extends string>(
                                        key: A,
                                        val?: (...)[(...)],
                                        options?: AcCmObjectOptions,
                                    ): this;
                                    set(key: Partial<T>, options?: AcCmObjectOptions): this;
                                };
                                blockInsertUnits: AcDbUnitsValue;
                                blockScaling: AcDbBlockScaling;
                                database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                                explodability: number;
                                extensionDictionary: string
                                | undefined;
                                flags: number;
                                isModelSapce: boolean;
                                isOverlayReference: boolean;
                                isPaperSapce: boolean;
                                isTemp: any;
                                isUnresolvedXref: boolean;
                                isXref: boolean;
                                layoutId: string;
                                name: string;
                                objectId: string;
                                origin: {
                                    x: number;
                                    y: number;
                                    z: number;
                                    "[iterator]"(): Generator<number, void, unknown>;
                                    add(v: AcGeVectorLike): this;
                                    addScalar(s: number): this;
                                    addScaledVector(v: AcGeVector3dLike, s: number): this;
                                    addVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                                    angleTo(v: AcGeVector3d): number;
                                    applyAxisAngle(axis: AcGeVector3dLike, angle: number): this;
                                    applyEuler(euler: AcGeEuler): this;
                                    applyMatrix3(m: AcGeMatrix2d): this;
                                    applyMatrix4(m: AcGeMatrix3d): this;
                                    applyNormalMatrix(m: AcGeMatrix2d): this;
                                    applyQuaternion(q: AcGeQuaternion): this;
                                    ceil(): this;
                                    clamp(min: AcGeVector3dLike, max: AcGeVector3dLike): this;
                                    clampLength(min: number, max: number): this;
                                    clampScalar(minVal: number, maxVal: number): this;
                                    clone(): AcGePoint3d;
                                    copy(v: AcGeVectorLike): this;
                                    cross(v: AcGeVector3dLike): this;
                                    crossVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                                    distanceTo(v: AcGeVector3dLike): number;
                                    distanceToSquared(v: AcGeVector3dLike): number;
                                    divide(v: AcGeVector3dLike): this;
                                    divideScalar(scalar: number): this;
                                    dot(v: AcGeVector3dLike): number;
                                    equals(v: AcGeVector3dLike): boolean;
                                    floor(): this;
                                    fromArray(array: number[], offset?: number): this;
                                    getComponent(index: number): number;
                                    isParallelTo(vec: AcGeVector3d): boolean;
                                    length(): number;
                                    lengthSq(): number;
                                    lerp(v: AcGeVector3dLike, alpha: number): this;
                                    lerpVectors(
                                        v1: AcGeVector3dLike,
                                        v2: AcGeVector3dLike,
                                        alpha: number,
                                    ): this;
                                    manhattanDistanceTo(v: AcGeVector3dLike): number;
                                    manhattanLength(): number;
                                    max(v: AcGeVector3dLike): this;
                                    min(v: AcGeVector3dLike): this;
                                    multiply(v: AcGeVector3dLike): this;
                                    multiplyScalar(scalar: number): this;
                                    multiplyVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                                    negate(): this;
                                    normalize(): this;
                                    projectOnPlane(planeNormal: AcGeVector3d): this;
                                    projectOnVector(v: AcGeVector3d): this;
                                    random(): this;
                                    randomDirection(): this;
                                    reflect(normal: AcGeVector3dLike): this;
                                    round(): this;
                                    roundToZero(): this;
                                    set(x: number, y: number, z: number): this;
                                    setComponent(index: number, value: number): this;
                                    setFromMatrix3Column(m: AcGeMatrix2d, index: number): this;
                                    setFromMatrixColumn(m: AcGeMatrix3d, index: number): this;
                                    setFromMatrixPosition(m: AcGeMatrix3d): this;
                                    setFromMatrixScale(m: AcGeMatrix3d): this;
                                    setLength(l: number): this;
                                    setScalar(scalar: number): this;
                                    setX(x: number): this;
                                    setY(y: number): this;
                                    setZ(z: number): this;
                                    sub(v: AcGeVector3dLike): this;
                                    subScalar(s: number): this;
                                    subVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                                    toArray(
                                        array?: (...)[] | Float32Array<(...)>,
                                        offset?: number,
                                    ): (...)[] | Float32Array<(...)>;
                                    transformDirection(m: AcGeMatrix3d): this;
                                };
                                ownerId: string;
                                pathName: string;
                                previewIcon: | {
                                    "[toStringTag]": "Uint8Array";
                                    buffer: (...)
                                    | (...);
                                    byteLength: number;
                                    byteOffset: number;
                                    BYTES_PER_ELEMENT: number;
                                    length: number;
                                    "[iterator]"(): ArrayIterator<(...)>;
                                    at(index: number): (...) | (...);
                                    copyWithin(target: number, start: number, end?: (...) | (...)): this;
                                    entries(): ArrayIterator<(...)>;
                                    every(
                                        predicate: (value: ..., index: ..., array: this) => ...,
                                        thisArg?: any,
                                    ): boolean;
                                    fill(value: number, start?: (...) | (...), end?: (...) | (...)): this;
                                    filter(
                                        predicate: (value: ..., index: ..., array: this) => ...,
                                        thisArg?: any,
                                    ): Uint8Array<(...)>;
                                    find(
                                        predicate: (value: ..., index: ..., obj: this) => ...,
                                        thisArg?: any,
                                    ): (...) | (...);
                                    findIndex(
                                        predicate: (value: ..., index: ..., obj: this) => ...,
                                        thisArg?: any,
                                    ): number;
                                    findLast<S extends number>(
                                        predicate: (
                                            value: ...,
                                            index: ...,
                                            array: this,
                                        ) => value is (...),
                                        thisArg?: any,
                                    ): (...) | (...);
                                    findLast(
                                        predicate: (value: ..., index: ..., array: this) => ...,
                                        thisArg?: any,
                                    ): (...) | (...);
                                    findLastIndex(
                                        predicate: (value: ..., index: ..., array: this) => ...,
                                        thisArg?: any,
                                    ): number;
                                    forEach(
                                        callbackfn: (value: ..., index: ..., array: this) => ...,
                                        thisArg?: any,
                                    ): void;
                                    includes(searchElement: number, fromIndex?: (...) | (...)): boolean;
                                    indexOf(searchElement: number, fromIndex?: (...) | (...)): number;
                                    join(separator?: (...) | (...)): string;
                                    keys(): ArrayIterator<(...)>;
                                    lastIndexOf(searchElement: number, fromIndex?: (...) | (...)): number;
                                    map(
                                        callbackfn: (value: ..., index: ..., array: this) => ...,
                                        thisArg?: any,
                                    ): Uint8Array<(...)>;
                                    reduce(
                                        callbackfn: (
                                            previousValue: ...,
                                            currentValue: ...,
                                            currentIndex: ...,
                                            array: this,
                                        ) => ...,
                                    ): number;
                                    reduce(
                                        callbackfn: (
                                            previousValue: ...,
                                            currentValue: ...,
                                            currentIndex: ...,
                                            array: this,
                                        ) => ...,
                                        initialValue: number,
                                    ): number;
                                    reduce<U>(
                                        callbackfn: (
                                            previousValue: ...,
                                            currentValue: ...,
                                            currentIndex: ...,
                                            array: this,
                                        ) => ...,
                                        initialValue: U,
                                    ): U;
                                    reduceRight(
                                        callbackfn: (
                                            previousValue: ...,
                                            currentValue: ...,
                                            currentIndex: ...,
                                            array: this,
                                        ) => ...,
                                    ): number;
                                    reduceRight(
                                        callbackfn: (
                                            previousValue: ...,
                                            currentValue: ...,
                                            currentIndex: ...,
                                            array: this,
                                        ) => ...,
                                        initialValue: number,
                                    ): number;
                                    reduceRight<U>(
                                        callbackfn: (
                                            previousValue: ...,
                                            currentValue: ...,
                                            currentIndex: ...,
                                            array: this,
                                        ) => ...,
                                        initialValue: U,
                                    ): U;
                                    reverse(): this;
                                    set(array: ArrayLike<(...)>, offset?: (...) | (...)): void;
                                    slice(start?: (...) | (...), end?: (...) | (...)): Uint8Array<(...)>;
                                    some(
                                        predicate: (value: ..., index: ..., array: this) => ...,
                                        thisArg?: any,
                                    ): boolean;
                                    sort(compareFn?: (...) | (...)): this;
                                    subarray(
                                        begin?: (...) | (...),
                                        end?: (...) | (...),
                                    ): Uint8Array<(...)>;
                                    toLocaleString(): string;
                                    toLocaleString(
                                        locales: (...) | (...),
                                        options?: (...) | (...),
                                    ): string;
                                    toReversed(): Uint8Array<(...)>;
                                    toSorted(compareFn?: (...) | (...)): Uint8Array<(...)>;
                                    toString(): string;
                                    valueOf(): this;
                                    values(): ArrayIterator<(...)>;
                                    with(index: number, value: number): Uint8Array<(...)>;
                                    [key: number]: number;
                                }
                                | undefined;
                                appendEntity(entity: AcDbEntity | AcDbEntity[]): void;
                                clone(): this;
                                clonePreservingIdentity(): this;
                                close(): void;
                                createExtensionDictionary(): string | undefined;
                                dxfIn(filer: AcDbDxfFiler): this;
                                dxfInFields(filer: AcDbDxfFiler): this;
                                dxfOut(...args: unknown[]): unknown;
                                dxfOutBlockBegin(filer: AcDbDxfFiler): this;
                                dxfOutBlockEnd(filer: AcDbDxfFiler): this;
                                dxfOutBlockRecord(filer: AcDbDxfFiler): this;
                                dxfOutFields(filer: AcDbDxfFiler): this;
                                getAttr(attrName: string): any;
                                getAttrWithoutException(attrName: string): any;
                                getIdAt(id: string): AcDbEntity | undefined;
                                getXData(appId: string): AcDbResultBuffer | undefined;
                                hasEntityId(id: string): boolean;
                                newIterator(): AcDbObjectIterator<AcDbEntity>;
                                removeEntity(objectId: string | string[]): boolean;
                                removeXData(appId: string): void;
                                restoreFrom(snapshot: this): void;
                                setAttr<A extends string>(
                                    attrName: A,
                                    val?: AcDbBlockTableRecordAttrs[A],
                                ): void;
                                setXData(resbuf: AcDbResultBuffer): void;
                            };
                            numEntries: number;
                            objectId: string;
                            ownerId: string;
                            add(record: AcDbBlockTableRecord): void;
                            clone(): this;
                            clonePreservingIdentity(): this;
                            close(): void;
                            createExtensionDictionary(): string | undefined;
                            dxfIn(filer: AcDbDxfFiler): this;
                            dxfInFields(_filer: AcDbDxfFiler): this;
                            dxfOut(...args: unknown[]): unknown;
                            dxfOutFields(filer: AcDbDxfFiler): this;
                            getAt(name: string): AcDbBlockTableRecord | undefined;
                            getAttr(attrName: string): any;
                            getAttrWithoutException(attrName: string): any;
                            getEntityById(id: string): AcDbEntity | undefined;
                            getIdAt(id: string): AcDbBlockTableRecord | undefined;
                            getOwnerIdAt(id: string): AcDbBlockTableRecord | undefined;
                            getUnresolvedXrefs(): AcDbBlockTableRecord[];
                            getXData(appId: string): AcDbResultBuffer | undefined;
                            getXrefs(): AcDbBlockTableRecord[];
                            has(name: string): boolean;
                            hasId(id: string): boolean;
                            newIterator(
                                iterateById?: boolean,
                            ): AcDbObjectIterator<AcDbBlockTableRecord>;
                            remove(name: string): boolean;
                            removeAll(): void;
                            removeEntity(objectId: string | string[]): boolean;
                            removeId(id: string): boolean;
                            removeXData(appId: string): void;
                            restoreFrom(snapshot: this): void;
                            setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                            setXData(resbuf: AcDbResultBuffer): void;
                        };
                        dimStyleTable: {
                            attrs: {
                                attributes: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                changed: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                events: {
                                    attrChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                    modelChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                };
                                changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                clone(): AcCmObject<AcDbObjectAttrs>;
                                get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                has(key: string): boolean;
                                hasChanged(key?: string): boolean;
                                previous<A extends string>(
                                    key: A,
                                ): AcDbObjectAttrs[A] | null | undefined;
                                previousAttributes(): Partial<T>;
                                set<A extends string>(
                                    key: A,
                                    val?: AcDbObjectAttrs[A],
                                    options?: AcCmObjectOptions,
                                ): this;
                                set(key: Partial<T>, options?: AcCmObjectOptions): this;
                            };
                            database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                            extensionDictionary: string
                            | undefined;
                            isTemp: any;
                            numEntries: number;
                            objectId: string;
                            ownerId: string;
                            add(record: AcDbDimStyleTableRecord): void;
                            clone(): this;
                            clonePreservingIdentity(): this;
                            close(): void;
                            createExtensionDictionary(): string | undefined;
                            dxfIn(filer: AcDbDxfFiler): this;
                            dxfInFields(_filer: AcDbDxfFiler): this;
                            dxfOut(...args: unknown[]): unknown;
                            dxfOutFields(filer: AcDbDxfFiler): this;
                            getAt(name: string): AcDbDimStyleTableRecord | undefined;
                            getAttr(attrName: string): any;
                            getAttrWithoutException(attrName: string): any;
                            getIdAt(id: string): AcDbDimStyleTableRecord | undefined;
                            getOwnerIdAt(id: string): AcDbDimStyleTableRecord | undefined;
                            getXData(appId: string): AcDbResultBuffer | undefined;
                            has(name: string): boolean;
                            hasId(id: string): boolean;
                            newIterator(
                                iterateById?: boolean,
                            ): AcDbObjectIterator<AcDbDimStyleTableRecord>;
                            remove(name: string): boolean;
                            removeAll(): void;
                            removeId(id: string): boolean;
                            removeXData(appId: string): void;
                            restoreFrom(snapshot: this): void;
                            setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                            setXData(resbuf: AcDbResultBuffer): void;
                        };
                        layerTable: {
                            attrs: {
                                attributes: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                changed: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                events: {
                                    attrChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                    modelChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                };
                                changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                clone(): AcCmObject<AcDbObjectAttrs>;
                                get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                has(key: string): boolean;
                                hasChanged(key?: string): boolean;
                                previous<A extends string>(
                                    key: A,
                                ): AcDbObjectAttrs[A] | null | undefined;
                                previousAttributes(): Partial<T>;
                                set<A extends string>(
                                    key: A,
                                    val?: AcDbObjectAttrs[A],
                                    options?: AcCmObjectOptions,
                                ): this;
                                set(key: Partial<T>, options?: AcCmObjectOptions): this;
                            };
                            database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                            extensionDictionary: string
                            | undefined;
                            isTemp: any;
                            numEntries: number;
                            objectId: string;
                            ownerId: string;
                            add(record: AcDbLayerTableRecord): void;
                            clone(): this;
                            clonePreservingIdentity(): this;
                            close(): void;
                            createExtensionDictionary(): string | undefined;
                            dxfIn(filer: AcDbDxfFiler): this;
                            dxfInFields(_filer: AcDbDxfFiler): this;
                            dxfOut(...args: unknown[]): unknown;
                            dxfOutFields(filer: AcDbDxfFiler): this;
                            getAt(name: string): AcDbLayerTableRecord | undefined;
                            getAttr(attrName: string): any;
                            getAttrWithoutException(attrName: string): any;
                            getIdAt(id: string): AcDbLayerTableRecord | undefined;
                            getOwnerIdAt(id: string): AcDbLayerTableRecord | undefined;
                            getXData(appId: string): AcDbResultBuffer | undefined;
                            has(name: string): boolean;
                            hasId(id: string): boolean;
                            newIterator(
                                iterateById?: boolean,
                            ): AcDbObjectIterator<AcDbLayerTableRecord>;
                            remove(name: string): boolean;
                            removeAll(): void;
                            removeId(id: string): boolean;
                            removeXData(appId: string): void;
                            restoreFrom(snapshot: this): void;
                            setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                            setXData(resbuf: AcDbResultBuffer): void;
                        };
                        linetypeTable: {
                            attrs: {
                                attributes: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                changed: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                events: {
                                    attrChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                    modelChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                };
                                changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                clone(): AcCmObject<AcDbObjectAttrs>;
                                get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                has(key: string): boolean;
                                hasChanged(key?: string): boolean;
                                previous<A extends string>(
                                    key: A,
                                ): AcDbObjectAttrs[A] | null | undefined;
                                previousAttributes(): Partial<T>;
                                set<A extends string>(
                                    key: A,
                                    val?: AcDbObjectAttrs[A],
                                    options?: AcCmObjectOptions,
                                ): this;
                                set(key: Partial<T>, options?: AcCmObjectOptions): this;
                            };
                            database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                            extensionDictionary: string
                            | undefined;
                            isTemp: any;
                            numEntries: number;
                            objectId: string;
                            ownerId: string;
                            add(record: AcDbLinetypeTableRecord): void;
                            clone(): this;
                            clonePreservingIdentity(): this;
                            close(): void;
                            createExtensionDictionary(): string | undefined;
                            dxfIn(filer: AcDbDxfFiler): this;
                            dxfInFields(_filer: AcDbDxfFiler): this;
                            dxfOut(...args: unknown[]): unknown;
                            dxfOutFields(filer: AcDbDxfFiler): this;
                            getAt(name: string): AcDbLinetypeTableRecord | undefined;
                            getAttr(attrName: string): any;
                            getAttrWithoutException(attrName: string): any;
                            getIdAt(id: string): AcDbLinetypeTableRecord | undefined;
                            getOwnerIdAt(id: string): AcDbLinetypeTableRecord | undefined;
                            getXData(appId: string): AcDbResultBuffer | undefined;
                            has(name: string): boolean;
                            hasId(id: string): boolean;
                            newIterator(
                                iterateById?: boolean,
                            ): AcDbObjectIterator<AcDbLinetypeTableRecord>;
                            remove(name: string): boolean;
                            removeAll(): void;
                            removeId(id: string): boolean;
                            removeXData(appId: string): void;
                            restoreFrom(snapshot: this): void;
                            setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                            setXData(resbuf: AcDbResultBuffer): void;
                        };
                        textStyleTable: {
                            attrs: {
                                attributes: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                changed: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                events: {
                                    attrChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                    modelChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                };
                                changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                clone(): AcCmObject<AcDbObjectAttrs>;
                                get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                has(key: string): boolean;
                                hasChanged(key?: string): boolean;
                                previous<A extends string>(
                                    key: A,
                                ): AcDbObjectAttrs[A] | null | undefined;
                                previousAttributes(): Partial<T>;
                                set<A extends string>(
                                    key: A,
                                    val?: AcDbObjectAttrs[A],
                                    options?: AcCmObjectOptions,
                                ): this;
                                set(key: Partial<T>, options?: AcCmObjectOptions): this;
                            };
                            database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                            extensionDictionary: string
                            | undefined;
                            fonts: string[];
                            isTemp: any;
                            numEntries: number;
                            objectId: string;
                            ownerId: string;
                            shapeFiles: {
                                attrs: {
                                    attributes: {
                                        bigFont?: ...;
                                        extendedFont?: ...;
                                        extensionDictionary?: ...;
                                        fixedTextHeight?: ...;
                                        font?: ...;
                                        lastHeight?: ...;
                                        name?: ...;
                                        objectId?: ...;
                                        obliqueAngle?: ...;
                                        ownerId?: ...;
                                        standardFlag?: ...;
                                        textGenerationFlag?: ...;
                                        widthFactor?: ...;
                                        [key: ...]: ...;
                                    };
                                    changed: {
                                        bigFont?: ...;
                                        extendedFont?: ...;
                                        extensionDictionary?: ...;
                                        fixedTextHeight?: ...;
                                        font?: ...;
                                        lastHeight?: ...;
                                        name?: ...;
                                        objectId?: ...;
                                        obliqueAngle?: ...;
                                        ownerId?: ...;
                                        standardFlag?: ...;
                                        textGenerationFlag?: ...;
                                        widthFactor?: ...;
                                        [key: ...]: ...;
                                    };
                                    events: { attrChanged: ...; modelChanged: ... };
                                    changedAttributes(diff?: (...) | (...)): Partial<(...)>;
                                    clone(): AcCmObject<(...)>;
                                    get<A extends string>(key: A): (...) | (...);
                                    has(key: string): boolean;
                                    hasChanged(key?: (...) | (...)): boolean;
                                    previous<A extends string>(key: A): (...) | (...) | (...);
                                    previousAttributes(): Partial<(...)>;
                                    set<A extends string>(
                                        key: A,
                                        val?: (...) | (...),
                                        options?: (...) | (...),
                                    ): this;
                                    set(key: Partial<(...)>, options?: (...) | (...)): this;
                                };
                                bigFontFileName: string;
                                database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                                extensionDictionary: string
                                | undefined;
                                fileName: string;
                                isShapeFile: boolean;
                                isTemp: any;
                                isVertical: boolean;
                                name: string;
                                objectId: string;
                                obliquingAngle: number;
                                ownerId: string;
                                priorSize: number;
                                textSize: number;
                                textStyle: {
                                    bigFont: string;
                                    extendedFont?: (...) | (...);
                                    fixedTextHeight: number;
                                    font: string;
                                    lastHeight: number;
                                    name: string;
                                    obliqueAngle: number;
                                    standardFlag: number;
                                    textGenerationFlag: number;
                                    widthFactor: number;
                                };
                                xScale: number;
                                clone(): this;
                                clonePreservingIdentity(): this;
                                close(): void;
                                createExtensionDictionary(): string | undefined;
                                dxfIn(filer: AcDbDxfFiler): this;
                                dxfInFields(filer: AcDbDxfFiler): this;
                                dxfOut(...args: unknown[]): unknown;
                                dxfOutFields(filer: AcDbDxfFiler): this;
                                getAttr(attrName: string): any;
                                getAttrWithoutException(attrName: string): any;
                                getXData(appId: string): AcDbResultBuffer | undefined;
                                removeXData(appId: string): void;
                                restoreFrom(snapshot: this): void;
                                setAttr<A extends string>(attrName: A, val?: (...)[(...)]): void;
                                setXData(resbuf: AcDbResultBuffer): void;
                            }[];
                            add(record: AcDbTextStyleTableRecord): void;
                            clone(): this;
                            clonePreservingIdentity(): this;
                            close(): void;
                            createExtensionDictionary(): string | undefined;
                            dxfIn(filer: AcDbDxfFiler): this;
                            dxfInFields(_filer: AcDbDxfFiler): this;
                            dxfOut(...args: unknown[]): unknown;
                            dxfOutFields(filer: AcDbDxfFiler): this;
                            getAt(name: string): AcDbTextStyleTableRecord | undefined;
                            getAttr(attrName: string): any;
                            getAttrWithoutException(attrName: string): any;
                            getIdAt(id: string): AcDbTextStyleTableRecord | undefined;
                            getOwnerIdAt(id: string): AcDbTextStyleTableRecord | undefined;
                            getXData(appId: string): AcDbResultBuffer | undefined;
                            has(name: string): boolean;
                            hasId(id: string): boolean;
                            newIterator(
                                iterateById?: boolean,
                            ): AcDbObjectIterator<AcDbTextStyleTableRecord>;
                            remove(name: string): boolean;
                            removeAll(): void;
                            removeId(id: string): boolean;
                            removeXData(appId: string): void;
                            resolveAt(name?: string): AcDbTextStyleTableRecord | undefined;
                            restoreFrom(snapshot: this): void;
                            setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                            setXData(resbuf: AcDbResultBuffer): void;
                        };
                        ucsTable: {
                            attrs: {
                                attributes: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                changed: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                events: {
                                    attrChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                    modelChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                };
                                changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                clone(): AcCmObject<AcDbObjectAttrs>;
                                get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                has(key: string): boolean;
                                hasChanged(key?: string): boolean;
                                previous<A extends string>(
                                    key: A,
                                ): AcDbObjectAttrs[A] | null | undefined;
                                previousAttributes(): Partial<T>;
                                set<A extends string>(
                                    key: A,
                                    val?: AcDbObjectAttrs[A],
                                    options?: AcCmObjectOptions,
                                ): this;
                                set(key: Partial<T>, options?: AcCmObjectOptions): this;
                            };
                            database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                            extensionDictionary: string
                            | undefined;
                            isTemp: any;
                            numEntries: number;
                            objectId: string;
                            ownerId: string;
                            add(record: AcDbUcsTableRecord): void;
                            clone(): this;
                            clonePreservingIdentity(): this;
                            close(): void;
                            createExtensionDictionary(): string | undefined;
                            dxfIn(filer: AcDbDxfFiler): this;
                            dxfInFields(_filer: AcDbDxfFiler): this;
                            dxfOut(...args: unknown[]): unknown;
                            dxfOutFields(filer: AcDbDxfFiler): this;
                            getAt(name: string): AcDbUcsTableRecord | undefined;
                            getAttr(attrName: string): any;
                            getAttrWithoutException(attrName: string): any;
                            getIdAt(id: string): AcDbUcsTableRecord | undefined;
                            getOwnerIdAt(id: string): AcDbUcsTableRecord | undefined;
                            getXData(appId: string): AcDbResultBuffer | undefined;
                            has(name: string): boolean;
                            hasId(id: string): boolean;
                            newIterator(
                                iterateById?: boolean,
                            ): AcDbObjectIterator<AcDbUcsTableRecord>;
                            remove(name: string): boolean;
                            removeAll(): void;
                            removeId(id: string): boolean;
                            removeXData(appId: string): void;
                            restoreFrom(snapshot: this): void;
                            setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                            setXData(resbuf: AcDbResultBuffer): void;
                        };
                        viewportTable: {
                            attrs: {
                                attributes: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                changed: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                events: {
                                    attrChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                    modelChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                };
                                changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                clone(): AcCmObject<AcDbObjectAttrs>;
                                get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                has(key: string): boolean;
                                hasChanged(key?: string): boolean;
                                previous<A extends string>(
                                    key: A,
                                ): AcDbObjectAttrs[A] | null | undefined;
                                previousAttributes(): Partial<T>;
                                set<A extends string>(
                                    key: A,
                                    val?: AcDbObjectAttrs[A],
                                    options?: AcCmObjectOptions,
                                ): this;
                                set(key: Partial<T>, options?: AcCmObjectOptions): this;
                            };
                            database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                            extensionDictionary: string
                            | undefined;
                            isTemp: any;
                            numEntries: number;
                            objectId: string;
                            ownerId: string;
                            add(record: AcDbViewportTableRecord): void;
                            clone(): this;
                            clonePreservingIdentity(): this;
                            close(): void;
                            createExtensionDictionary(): string | undefined;
                            dxfIn(filer: AcDbDxfFiler): this;
                            dxfInFields(_filer: AcDbDxfFiler): this;
                            dxfOut(...args: unknown[]): unknown;
                            dxfOutFields(filer: AcDbDxfFiler): this;
                            getActiveVport(): AcDbViewportTableRecord | undefined;
                            getActiveVportBox(
                                canvasAspectRatio: number,
                                drawingExtents?: AcGeBox2d,
                            ): AcGeBox2d | undefined;
                            getAt(name: string): AcDbViewportTableRecord | undefined;
                            getAttr(attrName: string): any;
                            getAttrWithoutException(attrName: string): any;
                            getIdAt(id: string): AcDbViewportTableRecord | undefined;
                            getOwnerIdAt(id: string): AcDbViewportTableRecord | undefined;
                            getXData(appId: string): AcDbResultBuffer | undefined;
                            has(name: string): boolean;
                            hasId(id: string): boolean;
                            newIterator(
                                iterateById?: boolean,
                            ): AcDbObjectIterator<AcDbViewportTableRecord>;
                            remove(name: string): boolean;
                            removeAll(): void;
                            removeId(id: string): boolean;
                            removeXData(appId: string): void;
                            restoreFrom(snapshot: this): void;
                            setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                            setXData(resbuf: AcDbResultBuffer): void;
                        };
                        viewTable: {
                            attrs: {
                                attributes: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                changed: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                events: {
                                    attrChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                    modelChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                };
                                changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                clone(): AcCmObject<AcDbObjectAttrs>;
                                get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                has(key: string): boolean;
                                hasChanged(key?: string): boolean;
                                previous<A extends string>(
                                    key: A,
                                ): AcDbObjectAttrs[A] | null | undefined;
                                previousAttributes(): Partial<T>;
                                set<A extends string>(
                                    key: A,
                                    val?: AcDbObjectAttrs[A],
                                    options?: AcCmObjectOptions,
                                ): this;
                                set(key: Partial<T>, options?: AcCmObjectOptions): this;
                            };
                            database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                            extensionDictionary: string
                            | undefined;
                            isTemp: any;
                            numEntries: number;
                            objectId: string;
                            ownerId: string;
                            add(record: AcDbViewTableRecord): void;
                            clone(): this;
                            clonePreservingIdentity(): this;
                            close(): void;
                            createExtensionDictionary(): string | undefined;
                            dxfIn(filer: AcDbDxfFiler): this;
                            dxfInFields(_filer: AcDbDxfFiler): this;
                            dxfOut(...args: unknown[]): unknown;
                            dxfOutFields(filer: AcDbDxfFiler): this;
                            getAt(name: string): AcDbViewTableRecord | undefined;
                            getAttr(attrName: string): any;
                            getAttrWithoutException(attrName: string): any;
                            getIdAt(id: string): AcDbViewTableRecord | undefined;
                            getOwnerIdAt(id: string): AcDbViewTableRecord | undefined;
                            getXData(appId: string): AcDbResultBuffer | undefined;
                            has(name: string): boolean;
                            hasId(id: string): boolean;
                            newIterator(
                                iterateById?: boolean,
                            ): AcDbObjectIterator<AcDbViewTableRecord>;
                            remove(name: string): boolean;
                            removeAll(): void;
                            removeId(id: string): boolean;
                            removeXData(appId: string): void;
                            restoreFrom(snapshot: this): void;
                            setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                            setXData(resbuf: AcDbResultBuffer): void;
                        };
                    };
                    textstyle: string;
                    thumbnailImage: | {
                        "[toStringTag]": "Uint8Array";
                        buffer: | {
                            "[toStringTag]": "ArrayBuffer";
                            byteLength: number;
                            detached: boolean;
                            maxByteLength: number;
                            resizable: boolean;
                            resize(newByteLength?: number): void;
                            slice(begin?: number, end?: number): ArrayBuffer;
                            transfer(newByteLength?: number): ArrayBuffer;
                            transferToFixedLength(newByteLength?: number): ArrayBuffer;
                        }
                        | {
                            "[toStringTag]": "SharedArrayBuffer";
                            byteLength: number;
                            growable: boolean;
                            maxByteLength: number;
                            grow(newByteLength?: number): void;
                            slice(begin?: number, end?: number): SharedArrayBuffer;
                        };
                        byteLength: number;
                        byteOffset: number;
                        BYTES_PER_ELEMENT: number;
                        length: number;
                        "[iterator]"(): ArrayIterator<number>;
                        at(index: number): number | undefined;
                        copyWithin(target: number, start: number, end?: number): this;
                        entries(): ArrayIterator<[number, number]>;
                        every(
                            predicate: (value: number, index: number, array: this) => unknown,
                            thisArg?: any,
                        ): boolean;
                        fill(value: number, start?: number, end?: number): this;
                        filter(
                            predicate: (value: number, index: number, array: this) => any,
                            thisArg?: any,
                        ): Uint8Array<ArrayBuffer>;
                        find(
                            predicate: (value: number, index: number, obj: this) => boolean,
                            thisArg?: any,
                        ): number | undefined;
                        findIndex(
                            predicate: (value: number, index: number, obj: this) => boolean,
                            thisArg?: any,
                        ): number;
                        findLast<S extends number>(
                            predicate: (value: number, index: number, array: this) => value is S,
                            thisArg?: any,
                        ): S | undefined;
                        findLast(
                            predicate: (value: number, index: number, array: this) => unknown,
                            thisArg?: any,
                        ): number | undefined;
                        findLastIndex(
                            predicate: (value: number, index: number, array: this) => unknown,
                            thisArg?: any,
                        ): number;
                        forEach(
                            callbackfn: (value: number, index: number, array: this) => void,
                            thisArg?: any,
                        ): void;
                        includes(searchElement: number, fromIndex?: number): boolean;
                        indexOf(searchElement: number, fromIndex?: number): number;
                        join(separator?: string): string;
                        keys(): ArrayIterator<number>;
                        lastIndexOf(searchElement: number, fromIndex?: number): number;
                        map(
                            callbackfn: (value: number, index: number, array: this) => number,
                            thisArg?: any,
                        ): Uint8Array<ArrayBuffer>;
                        reduce(
                            callbackfn: (
                                previousValue: number,
                                currentValue: number,
                                currentIndex: number,
                                array: this,
                            ) => number,
                        ): number;
                        reduce(
                            callbackfn: (
                                previousValue: number,
                                currentValue: number,
                                currentIndex: number,
                                array: this,
                            ) => number,
                            initialValue: number,
                        ): number;
                        reduce<U>(
                            callbackfn: (
                                previousValue: U,
                                currentValue: number,
                                currentIndex: number,
                                array: this,
                            ) => U,
                            initialValue: U,
                        ): U;
                        reduceRight(
                            callbackfn: (
                                previousValue: number,
                                currentValue: number,
                                currentIndex: number,
                                array: this,
                            ) => number,
                        ): number;
                        reduceRight(
                            callbackfn: (
                                previousValue: number,
                                currentValue: number,
                                currentIndex: number,
                                array: this,
                            ) => number,
                            initialValue: number,
                        ): number;
                        reduceRight<U>(
                            callbackfn: (
                                previousValue: U,
                                currentValue: number,
                                currentIndex: number,
                                array: this,
                            ) => U,
                            initialValue: U,
                        ): U;
                        reverse(): this;
                        set(array: ArrayLike<number>, offset?: number): void;
                        slice(start?: number, end?: number): Uint8Array<ArrayBuffer>;
                        some(
                            predicate: (value: number, index: number, array: this) => unknown,
                            thisArg?: any,
                        ): boolean;
                        sort(compareFn?: (a: number, b: number) => number): this;
                        subarray(begin?: number, end?: number): Uint8Array<ArrayBufferLike>;
                        toLocaleString(): string;
                        toLocaleString(
                            locales: string | string[],
                            options?: NumberFormatOptions,
                        ): string;
                        toReversed(): Uint8Array<ArrayBuffer>;
                        toSorted(
                            compareFn?: (a: number, b: number) => number,
                        ): Uint8Array<ArrayBuffer>;
                        toString(): string;
                        valueOf(): this;
                        values(): ArrayIterator<number>;
                        with(index: number, value: number): Uint8Array<ArrayBuffer>;
                        [key: number]: number;
                    }
                    | undefined;
                    tilemode: boolean;
                    transactionManager: {
                        strictMode: boolean;
                        abortTransaction(): void;
                        cancelUndoMark(): void;
                        canRedo(): boolean;
                        canUndo(): boolean;
                        clearUndoStack(): void;
                        commitTransaction(): void;
                        currentTransaction(): AcDbDatabaseTransaction | undefined;
                        endUndoMark(): void;
                        flushPendingEntityModifiedEvents(): void;
                        flushPendingLayerModifiedEvents(): void;
                        hasTransaction(): boolean;
                        isApplyingUndoRedo(): boolean;
                        isOpenedForWriteInTransaction(objectId: string): boolean;
                        isRecording(): boolean;
                        recordAppend(container: AcDbChangeContainer, object: AcDbObject): void;
                        recordRemove(container: AcDbChangeContainer, object: AcDbObject): void;
                        recordSysvar(name: string, before: unknown): void;
                        redo(): boolean;
                        resolveSymbolTableName(table: { objectId: string }): string;
                        runUndoable<T>(label: string, fn: (tr: AcDbDatabaseTransaction) => T): T;
                        startTransaction(): AcDbDatabaseTransaction;
                        startUndoMark(label?: string): void;
                        undo(): boolean;
                    };
                    unitmode: number;
                    version: {
                        capabilities: {
                            supportsBlockRecordTable: boolean;
                            supportsClassesSection: boolean;
                            supportsHandles: boolean;
                            supportsLineWeight: boolean;
                            supportsLwPolyline: boolean;
                            supportsObjectsSection: boolean;
                            supportsSubclassMarkers: boolean;
                            supportsTransparency: boolean;
                            supportsTrueColor: boolean;
                            supportsUtf8CodePage: boolean;
                        };
                        name: string;
                        value: number;
                    };
                    adoptExternalHandle(object: AcDbObject, preferredId: string): string;
                    beginEventBatch(): void;
                    clone(): this;
                    clonePreservingIdentity(): this;
                    close(): void;
                    commitObjectHandle(
                        object: AcDbObject,
                        hasId?: (id: string) => boolean,
                    ): void;
                    createDefaultData(options?: AcDbCreateDefaultDataOptions): void;
                    createExtensionDictionary(): string | undefined;
                    dxfIn(filer: AcDbDxfFiler): this;
                    dxfInFields(_filer: AcDbDxfFiler): this;
                    dxfOut(
                        _fileName?: string,
                        precision?: number,
                        version?: string | number | AcDbDwgVersion,
                        optionsOrThumbnail?:
                            | boolean
                            | { format?: "ascii"
                            | "binary"; saveThumbnailImage?: boolean },
                    ): string | Uint8Array<ArrayBufferLike>;
                    dxfOutFields(_filer: AcDbDxfFiler): this;
                    endEventBatch(): void;
                    endEventBatchChunked(
                        chunkSize: number,
                        onChunk?: (flushed: number, total: number) => void | Promise<void>,
                    ): Promise<void>;
                    ensureEntityStyleDefaults(entity: AcDbEntity): void;
                    ensureTextStyleDefaults(): void;
                    generateHandle(): string;
                    generateUniqueHandle(): string;
                    getAttr(attrName: string): any;
                    getAttrWithoutException(attrName: string): any;
                    getObjectById(
                        id: string,
                        _openErased?: boolean,
                    ): AcDbObject<AcDbObjectAttrs> | undefined;
                    getRootDictionaries(): AcDbDictionary<AcDbObject<AcDbObjectAttrs>>[];
                    getXData(appId: string): AcDbResultBuffer | undefined;
                    initializeHandleSeed(seed: string): void;
                    isEventBatched(): boolean;
                    isHandleTaken(
                        objectId: string,
                        except?: AcDbObject<AcDbObjectAttrs>,
                    ): boolean;
                    isLayerDrawable(layerName: string): boolean;
                    isUndoRecording(): boolean;
                    notifyDictObjectErased(object: AcDbObject, key: string): void;
                    notifyDictObjectSet(object: AcDbObject, key: string): void;
                    notifyEntityAppended(entity: AcDbEntity | AcDbEntity[]): void;
                    notifyEntityErased(entity: AcDbEntity | AcDbEntity[]): void;
                    openEntityForRead(
                        entityOrId: string | AcDbEntity,
                    ): AcDbEntity | undefined;
                    openEntityForWrite(
                        entityOrId: string | AcDbEntity,
                    ): AcDbEntity | undefined;
                    openObjectForRead<T extends AcDbObject<AcDbObjectAttrs>>(
                        objectId: string,
                    ): T | undefined;
                    openObjectForWrite<T extends AcDbObject<AcDbObjectAttrs>>(
                        objectId: string,
                    ): T | undefined;
                    openUri(url: string, options: AcDbOpenDatabaseOptions): Promise<void>;
                    read(
                        data: ArrayBuffer,
                        options: AcDbOpenDatabaseOptions,
                        fileType?: string,
                    ): Promise<void>;
                    regen(): Promise<void>;
                    registerObjectHandle(object: AcDbObject): void;
                    releaseObjectHandle(object: AcDbObject): void;
                    removeXData(appId: string): void;
                    restoreFrom(snapshot: this): void;
                    runDatabaseEdit(label: string, fn: () => void): void;
                    setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                    setDwgName(value: string): void;
                    setXData(resbuf: AcDbResultBuffer): void;
                    updateMaxHandle(handle: string): void;
                };
                dxfPaperSpace: boolean;
                dxfTypeName: string;
                extensionDictionary: string
                | undefined;
                geometricExtents: {
                    center: {
                        x: number;
                        y: number;
                        z: number;
                        "[iterator]"(): Generator<number, void, unknown>;
                        add(v: AcGeVectorLike): this;
                        addScalar(s: number): this;
                        addScaledVector(v: AcGeVector3dLike, s: number): this;
                        addVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                        angleTo(v: AcGeVector3d): number;
                        applyAxisAngle(axis: AcGeVector3dLike, angle: number): this;
                        applyEuler(euler: AcGeEuler): this;
                        applyMatrix3(m: AcGeMatrix2d): this;
                        applyMatrix4(m: AcGeMatrix3d): this;
                        applyNormalMatrix(m: AcGeMatrix2d): this;
                        applyQuaternion(q: AcGeQuaternion): this;
                        ceil(): this;
                        clamp(min: AcGeVector3dLike, max: AcGeVector3dLike): this;
                        clampLength(min: number, max: number): this;
                        clampScalar(minVal: number, maxVal: number): this;
                        clone(): AcGeVector3d;
                        copy(v: AcGeVectorLike): this;
                        cross(v: AcGeVector3dLike): this;
                        crossVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                        distanceTo(v: AcGeVector3dLike): number;
                        distanceToSquared(v: AcGeVector3dLike): number;
                        divide(v: AcGeVector3dLike): this;
                        divideScalar(scalar: number): this;
                        dot(v: AcGeVector3dLike): number;
                        equals(v: AcGeVector3dLike): boolean;
                        floor(): this;
                        fromArray(array: number[], offset?: number): this;
                        getComponent(index: number): number;
                        isParallelTo(vec: AcGeVector3d): boolean;
                        length(): number;
                        lengthSq(): number;
                        lerp(v: AcGeVector3dLike, alpha: number): this;
                        lerpVectors(
                            v1: AcGeVector3dLike,
                            v2: AcGeVector3dLike,
                            alpha: number,
                        ): this;
                        manhattanDistanceTo(v: AcGeVector3dLike): number;
                        manhattanLength(): number;
                        max(v: AcGeVector3dLike): this;
                        min(v: AcGeVector3dLike): this;
                        multiply(v: AcGeVector3dLike): this;
                        multiplyScalar(scalar: number): this;
                        multiplyVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                        negate(): this;
                        normalize(): this;
                        projectOnPlane(planeNormal: AcGeVector3d): this;
                        projectOnVector(v: AcGeVector3d): this;
                        random(): this;
                        randomDirection(): this;
                        reflect(normal: AcGeVector3dLike): this;
                        round(): this;
                        roundToZero(): this;
                        set(x: number, y: number, z: number): this;
                        setComponent(index: number, value: number): this;
                        setFromMatrix3Column(m: AcGeMatrix2d, index: number): this;
                        setFromMatrixColumn(m: AcGeMatrix3d, index: number): this;
                        setFromMatrixPosition(m: AcGeMatrix3d): this;
                        setFromMatrixScale(m: AcGeMatrix3d): this;
                        setLength(l: number): this;
                        setScalar(scalar: number): this;
                        setX(x: number): this;
                        setY(y: number): this;
                        setZ(z: number): this;
                        sub(v: AcGeVector3dLike): this;
                        subScalar(s: number): this;
                        subVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                        toArray(
                            array?: number[] | Float32Array<ArrayBufferLike>,
                            offset?: number,
                        ): number[] | Float32Array<ArrayBufferLike>;
                        transformDirection(m: AcGeMatrix3d): this;
                    };
                    max: {
                        x: number;
                        y: number;
                        z: number;
                        "[iterator]"(): Generator<number, void, unknown>;
                        add(v: AcGeVectorLike): this;
                        addScalar(s: number): this;
                        addScaledVector(v: AcGeVector3dLike, s: number): this;
                        addVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                        angleTo(v: AcGeVector3d): number;
                        applyAxisAngle(axis: AcGeVector3dLike, angle: number): this;
                        applyEuler(euler: AcGeEuler): this;
                        applyMatrix3(m: AcGeMatrix2d): this;
                        applyMatrix4(m: AcGeMatrix3d): this;
                        applyNormalMatrix(m: AcGeMatrix2d): this;
                        applyQuaternion(q: AcGeQuaternion): this;
                        ceil(): this;
                        clamp(min: AcGeVector3dLike, max: AcGeVector3dLike): this;
                        clampLength(min: number, max: number): this;
                        clampScalar(minVal: number, maxVal: number): this;
                        clone(): AcGeVector3d;
                        copy(v: AcGeVectorLike): this;
                        cross(v: AcGeVector3dLike): this;
                        crossVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                        distanceTo(v: AcGeVector3dLike): number;
                        distanceToSquared(v: AcGeVector3dLike): number;
                        divide(v: AcGeVector3dLike): this;
                        divideScalar(scalar: number): this;
                        dot(v: AcGeVector3dLike): number;
                        equals(v: AcGeVector3dLike): boolean;
                        floor(): this;
                        fromArray(array: number[], offset?: number): this;
                        getComponent(index: number): number;
                        isParallelTo(vec: AcGeVector3d): boolean;
                        length(): number;
                        lengthSq(): number;
                        lerp(v: AcGeVector3dLike, alpha: number): this;
                        lerpVectors(
                            v1: AcGeVector3dLike,
                            v2: AcGeVector3dLike,
                            alpha: number,
                        ): this;
                        manhattanDistanceTo(v: AcGeVector3dLike): number;
                        manhattanLength(): number;
                        max(v: AcGeVector3dLike): this;
                        min(v: AcGeVector3dLike): this;
                        multiply(v: AcGeVector3dLike): this;
                        multiplyScalar(scalar: number): this;
                        multiplyVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                        negate(): this;
                        normalize(): this;
                        projectOnPlane(planeNormal: AcGeVector3d): this;
                        projectOnVector(v: AcGeVector3d): this;
                        random(): this;
                        randomDirection(): this;
                        reflect(normal: AcGeVector3dLike): this;
                        round(): this;
                        roundToZero(): this;
                        set(x: number, y: number, z: number): this;
                        setComponent(index: number, value: number): this;
                        setFromMatrix3Column(m: AcGeMatrix2d, index: number): this;
                        setFromMatrixColumn(m: AcGeMatrix3d, index: number): this;
                        setFromMatrixPosition(m: AcGeMatrix3d): this;
                        setFromMatrixScale(m: AcGeMatrix3d): this;
                        setLength(l: number): this;
                        setScalar(scalar: number): this;
                        setX(x: number): this;
                        setY(y: number): this;
                        setZ(z: number): this;
                        sub(v: AcGeVector3dLike): this;
                        subScalar(s: number): this;
                        subVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                        toArray(
                            array?: number[] | Float32Array<ArrayBufferLike>,
                            offset?: number,
                        ): number[] | Float32Array<ArrayBufferLike>;
                        transformDirection(m: AcGeMatrix3d): this;
                    };
                    min: {
                        x: number;
                        y: number;
                        z: number;
                        "[iterator]"(): Generator<number, void, unknown>;
                        add(v: AcGeVectorLike): this;
                        addScalar(s: number): this;
                        addScaledVector(v: AcGeVector3dLike, s: number): this;
                        addVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                        angleTo(v: AcGeVector3d): number;
                        applyAxisAngle(axis: AcGeVector3dLike, angle: number): this;
                        applyEuler(euler: AcGeEuler): this;
                        applyMatrix3(m: AcGeMatrix2d): this;
                        applyMatrix4(m: AcGeMatrix3d): this;
                        applyNormalMatrix(m: AcGeMatrix2d): this;
                        applyQuaternion(q: AcGeQuaternion): this;
                        ceil(): this;
                        clamp(min: AcGeVector3dLike, max: AcGeVector3dLike): this;
                        clampLength(min: number, max: number): this;
                        clampScalar(minVal: number, maxVal: number): this;
                        clone(): AcGeVector3d;
                        copy(v: AcGeVectorLike): this;
                        cross(v: AcGeVector3dLike): this;
                        crossVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                        distanceTo(v: AcGeVector3dLike): number;
                        distanceToSquared(v: AcGeVector3dLike): number;
                        divide(v: AcGeVector3dLike): this;
                        divideScalar(scalar: number): this;
                        dot(v: AcGeVector3dLike): number;
                        equals(v: AcGeVector3dLike): boolean;
                        floor(): this;
                        fromArray(array: number[], offset?: number): this;
                        getComponent(index: number): number;
                        isParallelTo(vec: AcGeVector3d): boolean;
                        length(): number;
                        lengthSq(): number;
                        lerp(v: AcGeVector3dLike, alpha: number): this;
                        lerpVectors(
                            v1: AcGeVector3dLike,
                            v2: AcGeVector3dLike,
                            alpha: number,
                        ): this;
                        manhattanDistanceTo(v: AcGeVector3dLike): number;
                        manhattanLength(): number;
                        max(v: AcGeVector3dLike): this;
                        min(v: AcGeVector3dLike): this;
                        multiply(v: AcGeVector3dLike): this;
                        multiplyScalar(scalar: number): this;
                        multiplyVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                        negate(): this;
                        normalize(): this;
                        projectOnPlane(planeNormal: AcGeVector3d): this;
                        projectOnVector(v: AcGeVector3d): this;
                        random(): this;
                        randomDirection(): this;
                        reflect(normal: AcGeVector3dLike): this;
                        round(): this;
                        roundToZero(): this;
                        set(x: number, y: number, z: number): this;
                        setComponent(index: number, value: number): this;
                        setFromMatrix3Column(m: AcGeMatrix2d, index: number): this;
                        setFromMatrixColumn(m: AcGeMatrix3d, index: number): this;
                        setFromMatrixPosition(m: AcGeMatrix3d): this;
                        setFromMatrixScale(m: AcGeMatrix3d): this;
                        setLength(l: number): this;
                        setScalar(scalar: number): this;
                        setX(x: number): this;
                        setY(y: number): this;
                        setZ(z: number): this;
                        sub(v: AcGeVector3dLike): this;
                        subScalar(s: number): this;
                        subVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                        toArray(
                            array?: number[] | Float32Array<ArrayBufferLike>,
                            offset?: number,
                        ): number[] | Float32Array<ArrayBufferLike>;
                        transformDirection(m: AcGeMatrix3d): this;
                    };
                    size: {
                        x: number;
                        y: number;
                        z: number;
                        "[iterator]"(): Generator<number, void, unknown>;
                        add(v: AcGeVectorLike): this;
                        addScalar(s: number): this;
                        addScaledVector(v: AcGeVector3dLike, s: number): this;
                        addVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                        angleTo(v: AcGeVector3d): number;
                        applyAxisAngle(axis: AcGeVector3dLike, angle: number): this;
                        applyEuler(euler: AcGeEuler): this;
                        applyMatrix3(m: AcGeMatrix2d): this;
                        applyMatrix4(m: AcGeMatrix3d): this;
                        applyNormalMatrix(m: AcGeMatrix2d): this;
                        applyQuaternion(q: AcGeQuaternion): this;
                        ceil(): this;
                        clamp(min: AcGeVector3dLike, max: AcGeVector3dLike): this;
                        clampLength(min: number, max: number): this;
                        clampScalar(minVal: number, maxVal: number): this;
                        clone(): AcGeVector3d;
                        copy(v: AcGeVectorLike): this;
                        cross(v: AcGeVector3dLike): this;
                        crossVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                        distanceTo(v: AcGeVector3dLike): number;
                        distanceToSquared(v: AcGeVector3dLike): number;
                        divide(v: AcGeVector3dLike): this;
                        divideScalar(scalar: number): this;
                        dot(v: AcGeVector3dLike): number;
                        equals(v: AcGeVector3dLike): boolean;
                        floor(): this;
                        fromArray(array: number[], offset?: number): this;
                        getComponent(index: number): number;
                        isParallelTo(vec: AcGeVector3d): boolean;
                        length(): number;
                        lengthSq(): number;
                        lerp(v: AcGeVector3dLike, alpha: number): this;
                        lerpVectors(
                            v1: AcGeVector3dLike,
                            v2: AcGeVector3dLike,
                            alpha: number,
                        ): this;
                        manhattanDistanceTo(v: AcGeVector3dLike): number;
                        manhattanLength(): number;
                        max(v: AcGeVector3dLike): this;
                        min(v: AcGeVector3dLike): this;
                        multiply(v: AcGeVector3dLike): this;
                        multiplyScalar(scalar: number): this;
                        multiplyVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                        negate(): this;
                        normalize(): this;
                        projectOnPlane(planeNormal: AcGeVector3d): this;
                        projectOnVector(v: AcGeVector3d): this;
                        random(): this;
                        randomDirection(): this;
                        reflect(normal: AcGeVector3dLike): this;
                        round(): this;
                        roundToZero(): this;
                        set(x: number, y: number, z: number): this;
                        setComponent(index: number, value: number): this;
                        setFromMatrix3Column(m: AcGeMatrix2d, index: number): this;
                        setFromMatrixColumn(m: AcGeMatrix3d, index: number): this;
                        setFromMatrixPosition(m: AcGeMatrix3d): this;
                        setFromMatrixScale(m: AcGeMatrix3d): this;
                        setLength(l: number): this;
                        setScalar(scalar: number): this;
                        setX(x: number): this;
                        setY(y: number): this;
                        setZ(z: number): this;
                        sub(v: AcGeVector3dLike): this;
                        subScalar(s: number): this;
                        subVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                        toArray(
                            array?: number[] | Float32Array<ArrayBufferLike>,
                            offset?: number,
                        ): number[] | Float32Array<ArrayBufferLike>;
                        transformDirection(m: AcGeMatrix3d): this;
                    };
                    applyMatrix4(matrix: AcGeMatrix3d): this;
                    clampPoint(point: AcGeVector3dLike, target: AcGeVector3d): AcGeVector3d;
                    clone(): AcGeBox3d;
                    containsBox(box: AcGeBox3d): boolean;
                    containsPoint(point: AcGeVector3dLike): boolean;
                    copy(box: AcGeBox3d): this;
                    distanceToPoint(point: AcGeVector3dLike): number;
                    equals(box: AcGeBox3d): boolean;
                    expandByPoint(point: AcGeVector3dLike): this;
                    expandByScalar(scalar: number): this;
                    expandByVector(vector: AcGeVector3dLike): this;
                    getCenter(target: AcGeVector3d): AcGeVector3d;
                    getParameter(point: AcGeVector3dLike, target: AcGeVector3d): AcGeVector3d;
                    getSize(target: AcGeVector3d): AcGeVector3d;
                    intersect(box: AcGeBox3d): this;
                    intersectsBox(box: AcGeBox3d): boolean;
                    intersectsPlane(plane: AcGePlane): boolean;
                    isEmpty(): boolean;
                    makeEmpty(): this;
                    set(min: AcGeVector3dLike, max: AcGeVector3dLike): this;
                    setFromArray(array: number[]): this;
                    setFromCenterAndSize(
                        center: AcGeVector3dLike,
                        size: AcGeVector3dLike,
                    ): this;
                    setFromPoints(points: AcGeVector3dLike[]): this;
                    translate(offset: AcGeVector3dLike): this;
                    union(box: AcGeBox3d): this;
                };
                isTemp: any;
                layer: string;
                lineStyle: {
                    description: string;
                    name: string;
                    pattern?: {
                        elementLength: number;
                        elementTypeFlag: number;
                        offsetX?: number;
                        offsetY?: number;
                        rotation?: number;
                        scale?: number;
                        shapeNumber?: number;
                        styleObjectId?: string;
                        text?: string;
                    }[];
                    standardFlag: number;
                    totalPatternLength: number;
                    type: AcGiStyleType;
                };
                lineType: string;
                linetypeScale: number;
                lineWeight: AcGiLineWeight;
                objectId: string;
                ownerId: string;
                properties: {
                    groups: {
                        groupName: string;
                        properties: {
                            accessor: { set?: (...)
                            | (...); get(): unknown };
                            editable?: boolean;
                            itemSchema?: { properties: ... };
                            name: string;
                            options?: (...)[];
                            skipTranslation?: boolean;
                            type: AcDbEntityPropertyType;
                        }[];
                    }[];
                    type: string;
                };
                resolvedColor: {
                    blue: number
                    | undefined;
                    colorIndex: number | undefined;
                    colorMethod: AcCmColorMethod;
                    colorName: string | undefined;
                    cssColor: string | undefined;
                    green: number | undefined;
                    hexColor: string | undefined;
                    isByACI: boolean;
                    isByBlock: boolean;
                    isByColor: boolean;
                    isByLayer: boolean;
                    isForeground: boolean;
                    red: number | undefined;
                    RGB: number | undefined;
                    clone(): AcCmColor;
                    copy(other: AcCmColor): this;
                    cssColorAlpha(alpha: number): string | undefined;
                    equals(other: AcCmColor): boolean;
                    setByBlock(value?: number): this;
                    setByLayer(value?: number): this;
                    setForeground(): this;
                    setRGB(r: number, g: number, b: number): this;
                    setRGBFromCss(cssString: string): this;
                    setRGBValue(value: number | null | undefined): this;
                    setScalar(scalar: number): this;
                    toString(): string;
                };
                transparency: {
                    alpha: number;
                    isByAlpha: boolean;
                    isByBlock: boolean;
                    isByLayer: boolean;
                    isClear: boolean;
                    isInvalid: boolean;
                    isSolid: boolean;
                    method: AcCmTransparencyMethod;
                    percentage: number
                    | undefined;
                    clone(): AcCmTransparency;
                    equals(other: AcCmTransparency): boolean;
                    serialize(): number;
                    toString(): string;
                };
                type: string;
                visibility: boolean;
                clone(): this;
                clonePreservingIdentity(): this;
                close(): void;
                createExtensionDictionary(): string | undefined;
                dxfIn(filer: AcDbDxfFiler): this;
                dxfInFields(filer: AcDbDxfFiler): this;
                dxfOut(...args: unknown[]): unknown;
                dxfOutFields(filer: AcDbDxfFiler): this;
                erase(): boolean;
                getAttr(attrName: string): any;
                getAttrWithoutException(attrName: string): any;
                getXData(appId: string): AcDbResultBuffer | undefined;
                removeXData(appId: string): void;
                resolveEffectiveProperties(): void;
                restoreFrom(snapshot: this): void;
                setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                setXData(resbuf: AcDbResultBuffer): void;
                subGetGripPoints(): AcGePoint3d[];
                subGetOsnapPoints(
                    osnapMode: AcDbOsnapMode,
                    pickPoint: AcGePoint3dLike,
                    lastPoint: AcGePoint3dLike,
                    snapPoints: AcGePoint3dLike[],
                    gsMark?: any,
                    insertionMat?: AcGeMatrix3d,
                ): void;
                subMoveGripPointsAt(indices: number[], offset: AcGeVector3dLike): this;
                subWorldDraw(
                    renderer: AcGiRenderer,
                    delay?: boolean,
                ): AcGiEntity | undefined;
                transformBy(matrix: AcGeMatrix3d): this;
                worldDraw(renderer: AcGiRenderer, delay?: boolean): AcGiEntity | undefined;
            }
            | null,
            | AcDbEntity
            | {
                attrs: {
                    attributes: {
                        extensionDictionary?: string;
                        objectId?: string;
                        ownerId?: string;
                        [key: string]: any;
                    };
                    changed: {
                        extensionDictionary?: string;
                        objectId?: string;
                        ownerId?: string;
                        [key: string]: any;
                    };
                    events: {
                        attrChanged: {
                            addEventListener(
                                listener: (payload: AcCmObjectAttributeChangedEventArgs) => void,
                            ): void;
                            dispatch(
                                payload?: AcCmObjectAttributeChangedEventArgs<AcDbObjectAttrs>,
                                ...args: unknown[],
                            ): void;
                            removeEventListener(
                                listener: (payload: AcCmObjectAttributeChangedEventArgs) => void,
                            ): void;
                            replaceEventListener(
                                listener: (payload: AcCmObjectAttributeChangedEventArgs) => void,
                            ): void;
                        };
                        modelChanged: {
                            addEventListener(
                                listener: (payload: AcCmObjectChangedEventArgs) => void,
                            ): void;
                            dispatch(
                                payload?: AcCmObjectChangedEventArgs<AcDbObjectAttrs>,
                                ...args: unknown[],
                            ): void;
                            removeEventListener(
                                listener: (payload: AcCmObjectChangedEventArgs) => void,
                            ): void;
                            replaceEventListener(
                                listener: (payload: AcCmObjectChangedEventArgs) => void,
                            ): void;
                        };
                    };
                    changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                    clone(): AcCmObject<AcDbObjectAttrs>;
                    get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                    has(key: string): boolean;
                    hasChanged(key?: string): boolean;
                    previous<A extends string>(key: A): AcDbObjectAttrs[A] | null | undefined;
                    previousAttributes(): Partial<T>;
                    set<A extends string>(
                        key: A,
                        val?: AcDbObjectAttrs[A],
                        options?: AcCmObjectOptions,
                    ): this;
                    set(key: Partial<T>, options?: AcCmObjectOptions): this;
                };
                color: {
                    blue: number
                    | undefined;
                    colorIndex: number | undefined;
                    colorMethod: AcCmColorMethod;
                    colorName: string | undefined;
                    cssColor: string | undefined;
                    green: number | undefined;
                    hexColor: string | undefined;
                    isByACI: boolean;
                    isByBlock: boolean;
                    isByColor: boolean;
                    isByLayer: boolean;
                    isForeground: boolean;
                    red: number | undefined;
                    RGB: number | undefined;
                    clone(): AcCmColor;
                    copy(other: AcCmColor): this;
                    cssColorAlpha(alpha: number): string | undefined;
                    equals(other: AcCmColor): boolean;
                    setByBlock(value?: number): this;
                    setByLayer(value?: number): this;
                    setForeground(): this;
                    setRGB(r: number, g: number, b: number): this;
                    setRGBFromCss(cssString: string): this;
                    setRGBValue(value: number | null | undefined): this;
                    setScalar(scalar: number): this;
                    toString(): string;
                };
                database: {
                    angbase: number;
                    angdir: number;
                    attrs: {
                        attributes: {
                            extensionDictionary?: string;
                            objectId?: string;
                            ownerId?: string;
                            [key: string]: any;
                        };
                        changed: {
                            extensionDictionary?: string;
                            objectId?: string;
                            ownerId?: string;
                            [key: string]: any;
                        };
                        events: {
                            attrChanged: {
                                addEventListener(
                                    listener: (payload: AcCmObjectAttributeChangedEventArgs) => void,
                                ): void;
                                dispatch(
                                    payload?: AcCmObjectAttributeChangedEventArgs<AcDbObjectAttrs>,
                                    ...args: unknown[],
                                ): void;
                                removeEventListener(
                                    listener: (payload: AcCmObjectAttributeChangedEventArgs) => void,
                                ): void;
                                replaceEventListener(
                                    listener: (payload: AcCmObjectAttributeChangedEventArgs) => void,
                                ): void;
                            };
                            modelChanged: {
                                addEventListener(
                                    listener: (payload: AcCmObjectChangedEventArgs) => void,
                                ): void;
                                dispatch(
                                    payload?: AcCmObjectChangedEventArgs<AcDbObjectAttrs>,
                                    ...args: unknown[],
                                ): void;
                                removeEventListener(
                                    listener: (payload: AcCmObjectChangedEventArgs) => void,
                                ): void;
                                replaceEventListener(
                                    listener: (payload: AcCmObjectChangedEventArgs) => void,
                                ): void;
                            };
                        };
                        changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                        clone(): AcCmObject<AcDbObjectAttrs>;
                        get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                        has(key: string): boolean;
                        hasChanged(key?: string): boolean;
                        previous<A extends string>(
                            key: A,
                        ): AcDbObjectAttrs[A] | null | undefined;
                        previousAttributes(): Partial<T>;
                        set<A extends string>(
                            key: A,
                            val?: AcDbObjectAttrs[A],
                            options?: AcCmObjectOptions,
                        ): this;
                        set(key: Partial<T>, options?: AcCmObjectOptions): this;
                    };
                    aunits: number;
                    auprec: number;
                    cecolor: {
                        blue: number
                        | undefined;
                        colorIndex: number | undefined;
                        colorMethod: AcCmColorMethod;
                        colorName: string | undefined;
                        cssColor: string | undefined;
                        green: number | undefined;
                        hexColor: string | undefined;
                        isByACI: boolean;
                        isByBlock: boolean;
                        isByColor: boolean;
                        isByLayer: boolean;
                        isForeground: boolean;
                        red: number | undefined;
                        RGB: number | undefined;
                        clone(): AcCmColor;
                        copy(other: AcCmColor): this;
                        cssColorAlpha(alpha: number): string | undefined;
                        equals(other: AcCmColor): boolean;
                        setByBlock(value?: number): this;
                        setByLayer(value?: number): this;
                        setForeground(): this;
                        setRGB(r: number, g: number, b: number): this;
                        setRGBFromCss(cssString: string): this;
                        setRGBValue(value: number | null | undefined): this;
                        setScalar(scalar: number): this;
                        toString(): string;
                    };
                    celtscale: number;
                    celtype: string;
                    celweight: AcGiLineWeight;
                    cetransparency: {
                        alpha: number;
                        isByAlpha: boolean;
                        isByBlock: boolean;
                        isByLayer: boolean;
                        isClear: boolean;
                        isInvalid: boolean;
                        isSolid: boolean;
                        method: AcCmTransparencyMethod;
                        percentage: number
                        | undefined;
                        clone(): AcCmTransparency;
                        equals(other: AcCmTransparency): boolean;
                        serialize(): number;
                        toString(): string;
                    };
                    classes: readonly {
                        appName: string;
                        cppClassName: string;
                        instanceCount: number;
                        isEntity: boolean;
                        name: string;
                        proxyFlag: number;
                        wasProxy: boolean;
                    }[];
                    clayer: string;
                    cmleaderstyle: string;
                    cmlscale: number;
                    cmlstyle: string;
                    currentSpaceId: string;
                    database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                    dimstyle: string;
                    drawNoPlotLayers: boolean;
                    dwgname: string;
                    events: {
                        dictObjectErased: {
                            addEventListener(
                                listener: (payload: AcDbDictObjectEventArgs) => void,
                            ): void;
                            dispatch(payload?: AcDbDictObjectEventArgs, ...args: unknown[]): void;
                            removeEventListener(
                                listener: (payload: AcDbDictObjectEventArgs) => void,
                            ): void;
                            replaceEventListener(
                                listener: (payload: AcDbDictObjectEventArgs) => void,
                            ): void;
                        };
                        dictObjetSet: {
                            addEventListener(
                                listener: (payload: AcDbDictObjectEventArgs) => void,
                            ): void;
                            dispatch(payload?: AcDbDictObjectEventArgs, ...args: unknown[]): void;
                            removeEventListener(
                                listener: (payload: AcDbDictObjectEventArgs) => void,
                            ): void;
                            replaceEventListener(
                                listener: (payload: AcDbDictObjectEventArgs) => void,
                            ): void;
                        };
                        entityAppended: {
                            addEventListener(
                                listener: (payload: AcDbEntityEventArgs) => void,
                            ): void;
                            dispatch(payload?: AcDbEntityEventArgs, ...args: unknown[]): void;
                            removeEventListener(
                                listener: (payload: AcDbEntityEventArgs) => void,
                            ): void;
                            replaceEventListener(
                                listener: (payload: AcDbEntityEventArgs) => void,
                            ): void;
                        };
                        entityErased: {
                            addEventListener(
                                listener: (payload: AcDbEntityEventArgs) => void,
                            ): void;
                            dispatch(payload?: AcDbEntityEventArgs, ...args: unknown[]): void;
                            removeEventListener(
                                listener: (payload: AcDbEntityEventArgs) => void,
                            ): void;
                            replaceEventListener(
                                listener: (payload: AcDbEntityEventArgs) => void,
                            ): void;
                        };
                        entityModified: {
                            addEventListener(
                                listener: (payload: AcDbEntityEventArgs) => void,
                            ): void;
                            dispatch(payload?: AcDbEntityEventArgs, ...args: unknown[]): void;
                            removeEventListener(
                                listener: (payload: AcDbEntityEventArgs) => void,
                            ): void;
                            replaceEventListener(
                                listener: (payload: AcDbEntityEventArgs) => void,
                            ): void;
                        };
                        layerAppended: {
                            addEventListener(
                                listener: (payload: AcDbLayerEventArgs) => void,
                            ): void;
                            dispatch(payload?: AcDbLayerEventArgs, ...args: unknown[]): void;
                            removeEventListener(
                                listener: (payload: AcDbLayerEventArgs) => void,
                            ): void;
                            replaceEventListener(
                                listener: (payload: AcDbLayerEventArgs) => void,
                            ): void;
                        };
                        layerErased: {
                            addEventListener(
                                listener: (payload: AcDbLayerEventArgs) => void,
                            ): void;
                            dispatch(payload?: AcDbLayerEventArgs, ...args: unknown[]): void;
                            removeEventListener(
                                listener: (payload: AcDbLayerEventArgs) => void,
                            ): void;
                            replaceEventListener(
                                listener: (payload: AcDbLayerEventArgs) => void,
                            ): void;
                        };
                        layerModified: {
                            addEventListener(
                                listener: (payload: AcDbLayerModifiedEventArgs) => void,
                            ): void;
                            dispatch(
                                payload?: AcDbLayerModifiedEventArgs,
                                ...args: unknown[],
                            ): void;
                            removeEventListener(
                                listener: (payload: AcDbLayerModifiedEventArgs) => void,
                            ): void;
                            replaceEventListener(
                                listener: (payload: AcDbLayerModifiedEventArgs) => void,
                            ): void;
                        };
                        openFailed: {
                            addEventListener(
                                listener: (payload: AcDbOpenFailedEventArgs) => void,
                            ): void;
                            dispatch(payload?: AcDbOpenFailedEventArgs, ...args: unknown[]): void;
                            removeEventListener(
                                listener: (payload: AcDbOpenFailedEventArgs) => void,
                            ): void;
                            replaceEventListener(
                                listener: (payload: AcDbOpenFailedEventArgs) => void,
                            ): void;
                        };
                        openProgress: {
                            addEventListener(
                                listener: (payload: AcDbProgressdEventArgs) => void,
                            ): void;
                            dispatch(payload?: AcDbProgressdEventArgs, ...args: unknown[]): void;
                            removeEventListener(
                                listener: (payload: AcDbProgressdEventArgs) => void,
                            ): void;
                            replaceEventListener(
                                listener: (payload: AcDbProgressdEventArgs) => void,
                            ): void;
                        };
                    };
                    extensionDictionary: string
                    | undefined;
                    extents: {
                        center: {
                            x: number;
                            y: number;
                            z: number;
                            "[iterator]"(): Generator<number, void, unknown>;
                            add(v: AcGeVectorLike): this;
                            addScalar(s: number): this;
                            addScaledVector(v: AcGeVector3dLike, s: number): this;
                            addVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                            angleTo(v: AcGeVector3d): number;
                            applyAxisAngle(axis: AcGeVector3dLike, angle: number): this;
                            applyEuler(euler: AcGeEuler): this;
                            applyMatrix3(m: AcGeMatrix2d): this;
                            applyMatrix4(m: AcGeMatrix3d): this;
                            applyNormalMatrix(m: AcGeMatrix2d): this;
                            applyQuaternion(q: AcGeQuaternion): this;
                            ceil(): this;
                            clamp(min: AcGeVector3dLike, max: AcGeVector3dLike): this;
                            clampLength(min: number, max: number): this;
                            clampScalar(minVal: number, maxVal: number): this;
                            clone(): AcGeVector3d;
                            copy(v: AcGeVectorLike): this;
                            cross(v: AcGeVector3dLike): this;
                            crossVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                            distanceTo(v: AcGeVector3dLike): number;
                            distanceToSquared(v: AcGeVector3dLike): number;
                            divide(v: AcGeVector3dLike): this;
                            divideScalar(scalar: number): this;
                            dot(v: AcGeVector3dLike): number;
                            equals(v: AcGeVector3dLike): boolean;
                            floor(): this;
                            fromArray(array: number[], offset?: number): this;
                            getComponent(index: number): number;
                            isParallelTo(vec: AcGeVector3d): boolean;
                            length(): number;
                            lengthSq(): number;
                            lerp(v: AcGeVector3dLike, alpha: number): this;
                            lerpVectors(
                                v1: AcGeVector3dLike,
                                v2: AcGeVector3dLike,
                                alpha: number,
                            ): this;
                            manhattanDistanceTo(v: AcGeVector3dLike): number;
                            manhattanLength(): number;
                            max(v: AcGeVector3dLike): this;
                            min(v: AcGeVector3dLike): this;
                            multiply(v: AcGeVector3dLike): this;
                            multiplyScalar(scalar: number): this;
                            multiplyVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                            negate(): this;
                            normalize(): this;
                            projectOnPlane(planeNormal: AcGeVector3d): this;
                            projectOnVector(v: AcGeVector3d): this;
                            random(): this;
                            randomDirection(): this;
                            reflect(normal: AcGeVector3dLike): this;
                            round(): this;
                            roundToZero(): this;
                            set(x: number, y: number, z: number): this;
                            setComponent(index: number, value: number): this;
                            setFromMatrix3Column(m: AcGeMatrix2d, index: number): this;
                            setFromMatrixColumn(m: AcGeMatrix3d, index: number): this;
                            setFromMatrixPosition(m: AcGeMatrix3d): this;
                            setFromMatrixScale(m: AcGeMatrix3d): this;
                            setLength(l: number): this;
                            setScalar(scalar: number): this;
                            setX(x: number): this;
                            setY(y: number): this;
                            setZ(z: number): this;
                            sub(v: AcGeVector3dLike): this;
                            subScalar(s: number): this;
                            subVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                            toArray(
                                array?: number[] | Float32Array<ArrayBufferLike>,
                                offset?: number,
                            ): number[] | Float32Array<ArrayBufferLike>;
                            transformDirection(m: AcGeMatrix3d): this;
                        };
                        max: {
                            x: number;
                            y: number;
                            z: number;
                            "[iterator]"(): Generator<number, void, unknown>;
                            add(v: AcGeVectorLike): this;
                            addScalar(s: number): this;
                            addScaledVector(v: AcGeVector3dLike, s: number): this;
                            addVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                            angleTo(v: AcGeVector3d): number;
                            applyAxisAngle(axis: AcGeVector3dLike, angle: number): this;
                            applyEuler(euler: AcGeEuler): this;
                            applyMatrix3(m: AcGeMatrix2d): this;
                            applyMatrix4(m: AcGeMatrix3d): this;
                            applyNormalMatrix(m: AcGeMatrix2d): this;
                            applyQuaternion(q: AcGeQuaternion): this;
                            ceil(): this;
                            clamp(min: AcGeVector3dLike, max: AcGeVector3dLike): this;
                            clampLength(min: number, max: number): this;
                            clampScalar(minVal: number, maxVal: number): this;
                            clone(): AcGeVector3d;
                            copy(v: AcGeVectorLike): this;
                            cross(v: AcGeVector3dLike): this;
                            crossVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                            distanceTo(v: AcGeVector3dLike): number;
                            distanceToSquared(v: AcGeVector3dLike): number;
                            divide(v: AcGeVector3dLike): this;
                            divideScalar(scalar: number): this;
                            dot(v: AcGeVector3dLike): number;
                            equals(v: AcGeVector3dLike): boolean;
                            floor(): this;
                            fromArray(array: number[], offset?: number): this;
                            getComponent(index: number): number;
                            isParallelTo(vec: AcGeVector3d): boolean;
                            length(): number;
                            lengthSq(): number;
                            lerp(v: AcGeVector3dLike, alpha: number): this;
                            lerpVectors(
                                v1: AcGeVector3dLike,
                                v2: AcGeVector3dLike,
                                alpha: number,
                            ): this;
                            manhattanDistanceTo(v: AcGeVector3dLike): number;
                            manhattanLength(): number;
                            max(v: AcGeVector3dLike): this;
                            min(v: AcGeVector3dLike): this;
                            multiply(v: AcGeVector3dLike): this;
                            multiplyScalar(scalar: number): this;
                            multiplyVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                            negate(): this;
                            normalize(): this;
                            projectOnPlane(planeNormal: AcGeVector3d): this;
                            projectOnVector(v: AcGeVector3d): this;
                            random(): this;
                            randomDirection(): this;
                            reflect(normal: AcGeVector3dLike): this;
                            round(): this;
                            roundToZero(): this;
                            set(x: number, y: number, z: number): this;
                            setComponent(index: number, value: number): this;
                            setFromMatrix3Column(m: AcGeMatrix2d, index: number): this;
                            setFromMatrixColumn(m: AcGeMatrix3d, index: number): this;
                            setFromMatrixPosition(m: AcGeMatrix3d): this;
                            setFromMatrixScale(m: AcGeMatrix3d): this;
                            setLength(l: number): this;
                            setScalar(scalar: number): this;
                            setX(x: number): this;
                            setY(y: number): this;
                            setZ(z: number): this;
                            sub(v: AcGeVector3dLike): this;
                            subScalar(s: number): this;
                            subVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                            toArray(
                                array?: number[] | Float32Array<ArrayBufferLike>,
                                offset?: number,
                            ): number[] | Float32Array<ArrayBufferLike>;
                            transformDirection(m: AcGeMatrix3d): this;
                        };
                        min: {
                            x: number;
                            y: number;
                            z: number;
                            "[iterator]"(): Generator<number, void, unknown>;
                            add(v: AcGeVectorLike): this;
                            addScalar(s: number): this;
                            addScaledVector(v: AcGeVector3dLike, s: number): this;
                            addVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                            angleTo(v: AcGeVector3d): number;
                            applyAxisAngle(axis: AcGeVector3dLike, angle: number): this;
                            applyEuler(euler: AcGeEuler): this;
                            applyMatrix3(m: AcGeMatrix2d): this;
                            applyMatrix4(m: AcGeMatrix3d): this;
                            applyNormalMatrix(m: AcGeMatrix2d): this;
                            applyQuaternion(q: AcGeQuaternion): this;
                            ceil(): this;
                            clamp(min: AcGeVector3dLike, max: AcGeVector3dLike): this;
                            clampLength(min: number, max: number): this;
                            clampScalar(minVal: number, maxVal: number): this;
                            clone(): AcGeVector3d;
                            copy(v: AcGeVectorLike): this;
                            cross(v: AcGeVector3dLike): this;
                            crossVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                            distanceTo(v: AcGeVector3dLike): number;
                            distanceToSquared(v: AcGeVector3dLike): number;
                            divide(v: AcGeVector3dLike): this;
                            divideScalar(scalar: number): this;
                            dot(v: AcGeVector3dLike): number;
                            equals(v: AcGeVector3dLike): boolean;
                            floor(): this;
                            fromArray(array: number[], offset?: number): this;
                            getComponent(index: number): number;
                            isParallelTo(vec: AcGeVector3d): boolean;
                            length(): number;
                            lengthSq(): number;
                            lerp(v: AcGeVector3dLike, alpha: number): this;
                            lerpVectors(
                                v1: AcGeVector3dLike,
                                v2: AcGeVector3dLike,
                                alpha: number,
                            ): this;
                            manhattanDistanceTo(v: AcGeVector3dLike): number;
                            manhattanLength(): number;
                            max(v: AcGeVector3dLike): this;
                            min(v: AcGeVector3dLike): this;
                            multiply(v: AcGeVector3dLike): this;
                            multiplyScalar(scalar: number): this;
                            multiplyVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                            negate(): this;
                            normalize(): this;
                            projectOnPlane(planeNormal: AcGeVector3d): this;
                            projectOnVector(v: AcGeVector3d): this;
                            random(): this;
                            randomDirection(): this;
                            reflect(normal: AcGeVector3dLike): this;
                            round(): this;
                            roundToZero(): this;
                            set(x: number, y: number, z: number): this;
                            setComponent(index: number, value: number): this;
                            setFromMatrix3Column(m: AcGeMatrix2d, index: number): this;
                            setFromMatrixColumn(m: AcGeMatrix3d, index: number): this;
                            setFromMatrixPosition(m: AcGeMatrix3d): this;
                            setFromMatrixScale(m: AcGeMatrix3d): this;
                            setLength(l: number): this;
                            setScalar(scalar: number): this;
                            setX(x: number): this;
                            setY(y: number): this;
                            setZ(z: number): this;
                            sub(v: AcGeVector3dLike): this;
                            subScalar(s: number): this;
                            subVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                            toArray(
                                array?: number[] | Float32Array<ArrayBufferLike>,
                                offset?: number,
                            ): number[] | Float32Array<ArrayBufferLike>;
                            transformDirection(m: AcGeMatrix3d): this;
                        };
                        size: {
                            x: number;
                            y: number;
                            z: number;
                            "[iterator]"(): Generator<number, void, unknown>;
                            add(v: AcGeVectorLike): this;
                            addScalar(s: number): this;
                            addScaledVector(v: AcGeVector3dLike, s: number): this;
                            addVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                            angleTo(v: AcGeVector3d): number;
                            applyAxisAngle(axis: AcGeVector3dLike, angle: number): this;
                            applyEuler(euler: AcGeEuler): this;
                            applyMatrix3(m: AcGeMatrix2d): this;
                            applyMatrix4(m: AcGeMatrix3d): this;
                            applyNormalMatrix(m: AcGeMatrix2d): this;
                            applyQuaternion(q: AcGeQuaternion): this;
                            ceil(): this;
                            clamp(min: AcGeVector3dLike, max: AcGeVector3dLike): this;
                            clampLength(min: number, max: number): this;
                            clampScalar(minVal: number, maxVal: number): this;
                            clone(): AcGeVector3d;
                            copy(v: AcGeVectorLike): this;
                            cross(v: AcGeVector3dLike): this;
                            crossVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                            distanceTo(v: AcGeVector3dLike): number;
                            distanceToSquared(v: AcGeVector3dLike): number;
                            divide(v: AcGeVector3dLike): this;
                            divideScalar(scalar: number): this;
                            dot(v: AcGeVector3dLike): number;
                            equals(v: AcGeVector3dLike): boolean;
                            floor(): this;
                            fromArray(array: number[], offset?: number): this;
                            getComponent(index: number): number;
                            isParallelTo(vec: AcGeVector3d): boolean;
                            length(): number;
                            lengthSq(): number;
                            lerp(v: AcGeVector3dLike, alpha: number): this;
                            lerpVectors(
                                v1: AcGeVector3dLike,
                                v2: AcGeVector3dLike,
                                alpha: number,
                            ): this;
                            manhattanDistanceTo(v: AcGeVector3dLike): number;
                            manhattanLength(): number;
                            max(v: AcGeVector3dLike): this;
                            min(v: AcGeVector3dLike): this;
                            multiply(v: AcGeVector3dLike): this;
                            multiplyScalar(scalar: number): this;
                            multiplyVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                            negate(): this;
                            normalize(): this;
                            projectOnPlane(planeNormal: AcGeVector3d): this;
                            projectOnVector(v: AcGeVector3d): this;
                            random(): this;
                            randomDirection(): this;
                            reflect(normal: AcGeVector3dLike): this;
                            round(): this;
                            roundToZero(): this;
                            set(x: number, y: number, z: number): this;
                            setComponent(index: number, value: number): this;
                            setFromMatrix3Column(m: AcGeMatrix2d, index: number): this;
                            setFromMatrixColumn(m: AcGeMatrix3d, index: number): this;
                            setFromMatrixPosition(m: AcGeMatrix3d): this;
                            setFromMatrixScale(m: AcGeMatrix3d): this;
                            setLength(l: number): this;
                            setScalar(scalar: number): this;
                            setX(x: number): this;
                            setY(y: number): this;
                            setZ(z: number): this;
                            sub(v: AcGeVector3dLike): this;
                            subScalar(s: number): this;
                            subVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                            toArray(
                                array?: number[] | Float32Array<ArrayBufferLike>,
                                offset?: number,
                            ): number[] | Float32Array<ArrayBufferLike>;
                            transformDirection(m: AcGeMatrix3d): this;
                        };
                        applyMatrix4(matrix: AcGeMatrix3d): this;
                        clampPoint(point: AcGeVector3dLike, target: AcGeVector3d): AcGeVector3d;
                        clone(): AcGeBox3d;
                        containsBox(box: AcGeBox3d): boolean;
                        containsPoint(point: AcGeVector3dLike): boolean;
                        copy(box: AcGeBox3d): this;
                        distanceToPoint(point: AcGeVector3dLike): number;
                        equals(box: AcGeBox3d): boolean;
                        expandByPoint(point: AcGeVector3dLike): this;
                        expandByScalar(scalar: number): this;
                        expandByVector(vector: AcGeVector3dLike): this;
                        getCenter(target: AcGeVector3d): AcGeVector3d;
                        getParameter(
                            point: AcGeVector3dLike,
                            target: AcGeVector3d,
                        ): AcGeVector3d;
                        getSize(target: AcGeVector3d): AcGeVector3d;
                        intersect(box: AcGeBox3d): this;
                        intersectsBox(box: AcGeBox3d): boolean;
                        intersectsPlane(plane: AcGePlane): boolean;
                        isEmpty(): boolean;
                        makeEmpty(): this;
                        set(min: AcGeVector3dLike, max: AcGeVector3dLike): this;
                        setFromArray(array: number[]): this;
                        setFromCenterAndSize(
                            center: AcGeVector3dLike,
                            size: AcGeVector3dLike,
                        ): this;
                        setFromPoints(points: AcGeVector3dLike[]): this;
                        translate(offset: AcGeVector3dLike): this;
                        union(box: AcGeBox3d): this;
                    };
                    extmax: {
                        x: number;
                        y: number;
                        z: number;
                        "[iterator]"(): Generator<number, void, unknown>;
                        add(v: AcGeVectorLike): this;
                        addScalar(s: number): this;
                        addScaledVector(v: AcGeVector3dLike, s: number): this;
                        addVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                        angleTo(v: AcGeVector3d): number;
                        applyAxisAngle(axis: AcGeVector3dLike, angle: number): this;
                        applyEuler(euler: AcGeEuler): this;
                        applyMatrix3(m: AcGeMatrix2d): this;
                        applyMatrix4(m: AcGeMatrix3d): this;
                        applyNormalMatrix(m: AcGeMatrix2d): this;
                        applyQuaternion(q: AcGeQuaternion): this;
                        ceil(): this;
                        clamp(min: AcGeVector3dLike, max: AcGeVector3dLike): this;
                        clampLength(min: number, max: number): this;
                        clampScalar(minVal: number, maxVal: number): this;
                        clone(): AcGePoint3d;
                        copy(v: AcGeVectorLike): this;
                        cross(v: AcGeVector3dLike): this;
                        crossVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                        distanceTo(v: AcGeVector3dLike): number;
                        distanceToSquared(v: AcGeVector3dLike): number;
                        divide(v: AcGeVector3dLike): this;
                        divideScalar(scalar: number): this;
                        dot(v: AcGeVector3dLike): number;
                        equals(v: AcGeVector3dLike): boolean;
                        floor(): this;
                        fromArray(array: number[], offset?: number): this;
                        getComponent(index: number): number;
                        isParallelTo(vec: AcGeVector3d): boolean;
                        length(): number;
                        lengthSq(): number;
                        lerp(v: AcGeVector3dLike, alpha: number): this;
                        lerpVectors(
                            v1: AcGeVector3dLike,
                            v2: AcGeVector3dLike,
                            alpha: number,
                        ): this;
                        manhattanDistanceTo(v: AcGeVector3dLike): number;
                        manhattanLength(): number;
                        max(v: AcGeVector3dLike): this;
                        min(v: AcGeVector3dLike): this;
                        multiply(v: AcGeVector3dLike): this;
                        multiplyScalar(scalar: number): this;
                        multiplyVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                        negate(): this;
                        normalize(): this;
                        projectOnPlane(planeNormal: AcGeVector3d): this;
                        projectOnVector(v: AcGeVector3d): this;
                        random(): this;
                        randomDirection(): this;
                        reflect(normal: AcGeVector3dLike): this;
                        round(): this;
                        roundToZero(): this;
                        set(x: number, y: number, z: number): this;
                        setComponent(index: number, value: number): this;
                        setFromMatrix3Column(m: AcGeMatrix2d, index: number): this;
                        setFromMatrixColumn(m: AcGeMatrix3d, index: number): this;
                        setFromMatrixPosition(m: AcGeMatrix3d): this;
                        setFromMatrixScale(m: AcGeMatrix3d): this;
                        setLength(l: number): this;
                        setScalar(scalar: number): this;
                        setX(x: number): this;
                        setY(y: number): this;
                        setZ(z: number): this;
                        sub(v: AcGeVector3dLike): this;
                        subScalar(s: number): this;
                        subVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                        toArray(
                            array?: number[] | Float32Array<ArrayBufferLike>,
                            offset?: number,
                        ): number[] | Float32Array<ArrayBufferLike>;
                        transformDirection(m: AcGeMatrix3d): this;
                    };
                    extmin: {
                        x: number;
                        y: number;
                        z: number;
                        "[iterator]"(): Generator<number, void, unknown>;
                        add(v: AcGeVectorLike): this;
                        addScalar(s: number): this;
                        addScaledVector(v: AcGeVector3dLike, s: number): this;
                        addVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                        angleTo(v: AcGeVector3d): number;
                        applyAxisAngle(axis: AcGeVector3dLike, angle: number): this;
                        applyEuler(euler: AcGeEuler): this;
                        applyMatrix3(m: AcGeMatrix2d): this;
                        applyMatrix4(m: AcGeMatrix3d): this;
                        applyNormalMatrix(m: AcGeMatrix2d): this;
                        applyQuaternion(q: AcGeQuaternion): this;
                        ceil(): this;
                        clamp(min: AcGeVector3dLike, max: AcGeVector3dLike): this;
                        clampLength(min: number, max: number): this;
                        clampScalar(minVal: number, maxVal: number): this;
                        clone(): AcGePoint3d;
                        copy(v: AcGeVectorLike): this;
                        cross(v: AcGeVector3dLike): this;
                        crossVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                        distanceTo(v: AcGeVector3dLike): number;
                        distanceToSquared(v: AcGeVector3dLike): number;
                        divide(v: AcGeVector3dLike): this;
                        divideScalar(scalar: number): this;
                        dot(v: AcGeVector3dLike): number;
                        equals(v: AcGeVector3dLike): boolean;
                        floor(): this;
                        fromArray(array: number[], offset?: number): this;
                        getComponent(index: number): number;
                        isParallelTo(vec: AcGeVector3d): boolean;
                        length(): number;
                        lengthSq(): number;
                        lerp(v: AcGeVector3dLike, alpha: number): this;
                        lerpVectors(
                            v1: AcGeVector3dLike,
                            v2: AcGeVector3dLike,
                            alpha: number,
                        ): this;
                        manhattanDistanceTo(v: AcGeVector3dLike): number;
                        manhattanLength(): number;
                        max(v: AcGeVector3dLike): this;
                        min(v: AcGeVector3dLike): this;
                        multiply(v: AcGeVector3dLike): this;
                        multiplyScalar(scalar: number): this;
                        multiplyVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                        negate(): this;
                        normalize(): this;
                        projectOnPlane(planeNormal: AcGeVector3d): this;
                        projectOnVector(v: AcGeVector3d): this;
                        random(): this;
                        randomDirection(): this;
                        reflect(normal: AcGeVector3dLike): this;
                        round(): this;
                        roundToZero(): this;
                        set(x: number, y: number, z: number): this;
                        setComponent(index: number, value: number): this;
                        setFromMatrix3Column(m: AcGeMatrix2d, index: number): this;
                        setFromMatrixColumn(m: AcGeMatrix3d, index: number): this;
                        setFromMatrixPosition(m: AcGeMatrix3d): this;
                        setFromMatrixScale(m: AcGeMatrix3d): this;
                        setLength(l: number): this;
                        setScalar(scalar: number): this;
                        setX(x: number): this;
                        setY(y: number): this;
                        setZ(z: number): this;
                        sub(v: AcGeVector3dLike): this;
                        subScalar(s: number): this;
                        subVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                        toArray(
                            array?: number[] | Float32Array<ArrayBufferLike>,
                            offset?: number,
                        ): number[] | Float32Array<ArrayBufferLike>;
                        transformDirection(m: AcGeMatrix3d): this;
                    };
                    formatter: {
                        formatAngle(radians: number, options?: AcDbFormatterOptions): string;
                        formatLength(value: number, options?: AcDbFormatterOptions): string;
                        formatPoint2d(
                            point: AcGePoint2d,
                            options?: AcDbFormatterOptions,
                        ): string;
                        formatPoint3d(
                            point: AcGePoint3d,
                            options?: AcDbFormatterOptions,
                        ): string;
                    };
                    hpbackgroundcolor: {
                        blue: number
                        | undefined;
                        colorIndex: number | undefined;
                        colorMethod: AcCmColorMethod;
                        colorName: string | undefined;
                        cssColor: string | undefined;
                        green: number | undefined;
                        hexColor: string | undefined;
                        isByACI: boolean;
                        isByBlock: boolean;
                        isByColor: boolean;
                        isByLayer: boolean;
                        isForeground: boolean;
                        red: number | undefined;
                        RGB: number | undefined;
                        clone(): AcCmColor;
                        copy(other: AcCmColor): this;
                        cssColorAlpha(alpha: number): string | undefined;
                        equals(other: AcCmColor): boolean;
                        setByBlock(value?: number): this;
                        setByLayer(value?: number): this;
                        setForeground(): this;
                        setRGB(r: number, g: number, b: number): this;
                        setRGBFromCss(cssString: string): this;
                        setRGBValue(value: number | null | undefined): this;
                        setScalar(scalar: number): this;
                        toString(): string;
                    };
                    hpcolor: {
                        blue: number
                        | undefined;
                        colorIndex: number | undefined;
                        colorMethod: AcCmColorMethod;
                        colorName: string | undefined;
                        cssColor: string | undefined;
                        green: number | undefined;
                        hexColor: string | undefined;
                        isByACI: boolean;
                        isByBlock: boolean;
                        isByColor: boolean;
                        isByLayer: boolean;
                        isForeground: boolean;
                        red: number | undefined;
                        RGB: number | undefined;
                        clone(): AcCmColor;
                        copy(other: AcCmColor): this;
                        cssColorAlpha(alpha: number): string | undefined;
                        equals(other: AcCmColor): boolean;
                        setByBlock(value?: number): this;
                        setByLayer(value?: number): this;
                        setForeground(): this;
                        setRGB(r: number, g: number, b: number): this;
                        setRGBFromCss(cssString: string): this;
                        setRGBValue(value: number | null | undefined): this;
                        setScalar(scalar: number): this;
                        toString(): string;
                    };
                    hplayer: string;
                    hptransparency: {
                        alpha: number;
                        isByAlpha: boolean;
                        isByBlock: boolean;
                        isByLayer: boolean;
                        isClear: boolean;
                        isInvalid: boolean;
                        isSolid: boolean;
                        method: AcCmTransparencyMethod;
                        percentage: number
                        | undefined;
                        clone(): AcCmTransparency;
                        equals(other: AcCmTransparency): boolean;
                        serialize(): number;
                        toString(): string;
                    };
                    insunits: number;
                    isTemp: any;
                    lastOpenError: AcDbOpenDatabaseError
                    | null;
                    layerFilters: {
                        current:
                            | {
                                filterExpression: string;
                                name: string;
                                nestedFilters: readonly (
                                    { name: string; setName: (value: string) => boolean; filterExpression: string; setFilterExpression: (expression: string) => boolean; filterExpressionTree: () => AcLyBoolExpr | null; ... 18 more ...; showEditor: () => AcLyLayerFilterDialogResult; }
                                )[];
                                addNested(filter: AcLyLayerFilter): boolean;
                                allowDelete(): boolean;
                                allowNested(): boolean;
                                allowRename(): boolean;
                                compareTo(other: AcLyLayerFilter | null | undefined): boolean;
                                dynamicallyGenerated(): boolean;
                                filter(layer: AcDbLayerTableRecord): boolean;
                                filterExpressionTree(): AcLyBoolExpr | null;
                                generateNested(): boolean;
                                getNestedFilters(): readonly AcLyLayerFilter[];
                                isIdFilter(): boolean;
                                isProxy(): boolean;
                                parent(): AcLyLayerFilter | null;
                                removeNested(filter: AcLyLayerFilter): boolean;
                                setAllowDelete(value: boolean): void;
                                setAllowRename(value: boolean): void;
                                setDynamicallyGenerated(value: boolean): void;
                                setFilterExpression(expression: string): boolean;
                                setIsProxy(value: boolean): void;
                                setName(value: string): boolean;
                                showEditor(): AcLyLayerFilterDialogResult;
                            }
                            | null;
                        root: {
                            filterExpression: string;
                            name: string;
                            nestedFilters: readonly (
                                { name: string; setName: (value: string) => boolean; filterExpression: string; setFilterExpression: (expression: string) => boolean; filterExpressionTree: () => AcLyBoolExpr | null; ... 18 more ...; showEditor: () => AcLyLayerFilterDialogResult; }
                            )[];
                            addNested(filter: AcLyLayerFilter): boolean;
                            allowDelete(): boolean;
                            allowNested(): boolean;
                            allowRename(): boolean;
                            compareTo(other: AcLyLayerFilter | null | undefined): boolean;
                            dynamicallyGenerated(): boolean;
                            filter(layer: AcDbLayerTableRecord): boolean;
                            filterExpressionTree(): AcLyBoolExpr | null;
                            generateNested(): boolean;
                            getNestedFilters(): readonly AcLyLayerFilter[];
                            isIdFilter(): boolean;
                            isProxy(): boolean;
                            parent(): AcLyLayerFilter | null;
                            removeNested(filter: AcLyLayerFilter): boolean;
                            setAllowDelete(value: boolean): void;
                            setAllowRename(value: boolean): void;
                            setDynamicallyGenerated(value: boolean): void;
                            setFilterExpression(expression: string): boolean;
                            setIsProxy(value: boolean): void;
                            setName(value: string): boolean;
                            showEditor(): AcLyLayerFilterDialogResult;
                        };
                        clone(): AcLyLayerFilterTree;
                    };
                    ltscale: number;
                    lunits: number;
                    luprec: number;
                    lwdisplay: boolean;
                    measurement: number;
                    objectId: string;
                    objects: {
                        dictionary: {
                            attrs: {
                                attributes: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                changed: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                events: {
                                    attrChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                    modelChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                };
                                changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                clone(): AcCmObject<AcDbObjectAttrs>;
                                get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                has(key: string): boolean;
                                hasChanged(key?: string): boolean;
                                previous<A extends string>(
                                    key: A,
                                ): AcDbObjectAttrs[A] | null | undefined;
                                previousAttributes(): Partial<T>;
                                set<A extends string>(
                                    key: A,
                                    val?: AcDbObjectAttrs[A],
                                    options?: AcCmObjectOptions,
                                ): this;
                                set(key: Partial<T>, options?: AcCmObjectOptions): this;
                            };
                            database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                            extensionDictionary: string
                            | undefined;
                            isTemp: any;
                            numEntries: number;
                            objectId: string;
                            ownerId: string;
                            clone(): this;
                            clonePreservingIdentity(): this;
                            close(): void;
                            createExtensionDictionary(): string | undefined;
                            dxfIn(filer: AcDbDxfFiler): this;
                            dxfInFields(filer: AcDbDxfFiler): this;
                            dxfOut(...args: unknown[]): unknown;
                            dxfOutFields(filer: AcDbDxfFiler): this;
                            entries(): IterableIterator<
                                [string, AcDbDictionary<AcDbObject<(...)>>],
                            >;
                            getAt(
                                name: string,
                            ): AcDbDictionary<AcDbObject<AcDbObjectAttrs>> | undefined;
                            getAttr(attrName: string): any;
                            getAttrWithoutException(attrName: string): any;
                            getIdAt(
                                id: string,
                            ): AcDbDictionary<AcDbObject<AcDbObjectAttrs>> | undefined;
                            getXData(appId: string): AcDbResultBuffer | undefined;
                            has(name: string): boolean;
                            hasId(id: string): boolean;
                            newIterator(): AcDbObjectIterator<
                                AcDbDictionary<AcDbObject<AcDbObjectAttrs>>,
                            >;
                            remove(name: string): boolean;
                            removeAll(): void;
                            removeId(id: string): boolean;
                            removeXData(appId: string): void;
                            restoreFrom(snapshot: this): void;
                            setAt(key: string, value: AcDbDictionary): void;
                            setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                            setXData(resbuf: AcDbResultBuffer): void;
                        };
                        group: {
                            attrs: {
                                attributes: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                changed: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                events: {
                                    attrChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                    modelChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                };
                                changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                clone(): AcCmObject<AcDbObjectAttrs>;
                                get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                has(key: string): boolean;
                                hasChanged(key?: string): boolean;
                                previous<A extends string>(
                                    key: A,
                                ): AcDbObjectAttrs[A] | null | undefined;
                                previousAttributes(): Partial<T>;
                                set<A extends string>(
                                    key: A,
                                    val?: AcDbObjectAttrs[A],
                                    options?: AcCmObjectOptions,
                                ): this;
                                set(key: Partial<T>, options?: AcCmObjectOptions): this;
                            };
                            database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                            extensionDictionary: string
                            | undefined;
                            isTemp: any;
                            numEntries: number;
                            objectId: string;
                            ownerId: string;
                            clone(): this;
                            clonePreservingIdentity(): this;
                            close(): void;
                            createExtensionDictionary(): string | undefined;
                            dxfIn(filer: AcDbDxfFiler): this;
                            dxfInFields(filer: AcDbDxfFiler): this;
                            dxfOut(...args: unknown[]): unknown;
                            dxfOutFields(filer: AcDbDxfFiler): this;
                            entries(): IterableIterator<[string, AcDbGroup]>;
                            getAt(name: string): AcDbGroup | undefined;
                            getAttr(attrName: string): any;
                            getAttrWithoutException(attrName: string): any;
                            getIdAt(id: string): AcDbGroup | undefined;
                            getXData(appId: string): AcDbResultBuffer | undefined;
                            has(name: string): boolean;
                            hasId(id: string): boolean;
                            newIterator(): AcDbObjectIterator<AcDbGroup>;
                            remove(name: string): boolean;
                            removeAll(): void;
                            removeId(id: string): boolean;
                            removeXData(appId: string): void;
                            restoreFrom(snapshot: this): void;
                            setAt(key: string, value: AcDbGroup): void;
                            setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                            setXData(resbuf: AcDbResultBuffer): void;
                        };
                        imageDefinition: {
                            attrs: {
                                attributes: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                changed: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                events: {
                                    attrChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                    modelChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                };
                                changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                clone(): AcCmObject<AcDbObjectAttrs>;
                                get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                has(key: string): boolean;
                                hasChanged(key?: string): boolean;
                                previous<A extends string>(
                                    key: A,
                                ): AcDbObjectAttrs[A] | null | undefined;
                                previousAttributes(): Partial<T>;
                                set<A extends string>(
                                    key: A,
                                    val?: AcDbObjectAttrs[A],
                                    options?: AcCmObjectOptions,
                                ): this;
                                set(key: Partial<T>, options?: AcCmObjectOptions): this;
                            };
                            database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                            extensionDictionary: string
                            | undefined;
                            isTemp: any;
                            numEntries: number;
                            objectId: string;
                            ownerId: string;
                            clone(): this;
                            clonePreservingIdentity(): this;
                            close(): void;
                            createExtensionDictionary(): string | undefined;
                            dxfIn(filer: AcDbDxfFiler): this;
                            dxfInFields(filer: AcDbDxfFiler): this;
                            dxfOut(...args: unknown[]): unknown;
                            dxfOutFields(filer: AcDbDxfFiler): this;
                            entries(): IterableIterator<[string, AcDbRasterImageDef]>;
                            getAt(name: string): AcDbRasterImageDef | undefined;
                            getAttr(attrName: string): any;
                            getAttrWithoutException(attrName: string): any;
                            getIdAt(id: string): AcDbRasterImageDef | undefined;
                            getXData(appId: string): AcDbResultBuffer | undefined;
                            has(name: string): boolean;
                            hasId(id: string): boolean;
                            newIterator(): AcDbObjectIterator<AcDbRasterImageDef>;
                            remove(name: string): boolean;
                            removeAll(): void;
                            removeId(id: string): boolean;
                            removeXData(appId: string): void;
                            restoreFrom(snapshot: this): void;
                            setAt(key: string, value: AcDbRasterImageDef): void;
                            setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                            setXData(resbuf: AcDbResultBuffer): void;
                        };
                        layerFilter: {
                            attrs: {
                                attributes: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                changed: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                events: {
                                    attrChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                    modelChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                };
                                changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                clone(): AcCmObject<AcDbObjectAttrs>;
                                get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                has(key: string): boolean;
                                hasChanged(key?: string): boolean;
                                previous<A extends string>(
                                    key: A,
                                ): AcDbObjectAttrs[A] | null | undefined;
                                previousAttributes(): Partial<T>;
                                set<A extends string>(
                                    key: A,
                                    val?: AcDbObjectAttrs[A],
                                    options?: AcCmObjectOptions,
                                ): this;
                                set(key: Partial<T>, options?: AcCmObjectOptions): this;
                            };
                            database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                            extensionDictionary: string
                            | undefined;
                            isTemp: any;
                            numEntries: number;
                            objectId: string;
                            ownerId: string;
                            clone(): this;
                            clonePreservingIdentity(): this;
                            close(): void;
                            createExtensionDictionary(): string | undefined;
                            dxfIn(filer: AcDbDxfFiler): this;
                            dxfInFields(filer: AcDbDxfFiler): this;
                            dxfOut(...args: unknown[]): unknown;
                            dxfOutFields(filer: AcDbDxfFiler): this;
                            entries(): IterableIterator<[string, AcDbLayerFilter]>;
                            getAt(name: string): AcDbLayerFilter | undefined;
                            getAttr(attrName: string): any;
                            getAttrWithoutException(attrName: string): any;
                            getIdAt(id: string): AcDbLayerFilter | undefined;
                            getXData(appId: string): AcDbResultBuffer | undefined;
                            has(name: string): boolean;
                            hasId(id: string): boolean;
                            newIterator(): AcDbObjectIterator<AcDbLayerFilter>;
                            remove(name: string): boolean;
                            removeAll(): void;
                            removeId(id: string): boolean;
                            removeXData(appId: string): void;
                            restoreFrom(snapshot: this): void;
                            setAt(key: string, value: AcDbLayerFilter): void;
                            setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                            setXData(resbuf: AcDbResultBuffer): void;
                        };
                        layerIndex: {
                            attrs: {
                                attributes: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                changed: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                events: {
                                    attrChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                    modelChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                };
                                changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                clone(): AcCmObject<AcDbObjectAttrs>;
                                get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                has(key: string): boolean;
                                hasChanged(key?: string): boolean;
                                previous<A extends string>(
                                    key: A,
                                ): AcDbObjectAttrs[A] | null | undefined;
                                previousAttributes(): Partial<T>;
                                set<A extends string>(
                                    key: A,
                                    val?: AcDbObjectAttrs[A],
                                    options?: AcCmObjectOptions,
                                ): this;
                                set(key: Partial<T>, options?: AcCmObjectOptions): this;
                            };
                            database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                            extensionDictionary: string
                            | undefined;
                            isTemp: any;
                            numEntries: number;
                            objectId: string;
                            ownerId: string;
                            clone(): this;
                            clonePreservingIdentity(): this;
                            close(): void;
                            createExtensionDictionary(): string | undefined;
                            dxfIn(filer: AcDbDxfFiler): this;
                            dxfInFields(filer: AcDbDxfFiler): this;
                            dxfOut(...args: unknown[]): unknown;
                            dxfOutFields(filer: AcDbDxfFiler): this;
                            entries(): IterableIterator<[string, AcDbLayerIndex]>;
                            getAt(name: string): AcDbLayerIndex | undefined;
                            getAttr(attrName: string): any;
                            getAttrWithoutException(attrName: string): any;
                            getIdAt(id: string): AcDbLayerIndex | undefined;
                            getXData(appId: string): AcDbResultBuffer | undefined;
                            has(name: string): boolean;
                            hasId(id: string): boolean;
                            newIterator(): AcDbObjectIterator<AcDbLayerIndex>;
                            remove(name: string): boolean;
                            removeAll(): void;
                            removeId(id: string): boolean;
                            removeXData(appId: string): void;
                            restoreFrom(snapshot: this): void;
                            setAt(key: string, value: AcDbLayerIndex): void;
                            setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                            setXData(resbuf: AcDbResultBuffer): void;
                        };
                        layout: {
                            attrs: {
                                attributes: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                changed: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                events: {
                                    attrChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                    modelChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                };
                                changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                clone(): AcCmObject<AcDbObjectAttrs>;
                                get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                has(key: string): boolean;
                                hasChanged(key?: string): boolean;
                                previous<A extends string>(
                                    key: A,
                                ): AcDbObjectAttrs[A] | null | undefined;
                                previousAttributes(): Partial<T>;
                                set<A extends string>(
                                    key: A,
                                    val?: AcDbObjectAttrs[A],
                                    options?: AcCmObjectOptions,
                                ): this;
                                set(key: Partial<T>, options?: AcCmObjectOptions): this;
                            };
                            database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                            extensionDictionary: string
                            | undefined;
                            isTemp: any;
                            maxTabOrder: number;
                            numEntries: number;
                            objectId: string;
                            ownerId: string;
                            clone(): this;
                            clonePreservingIdentity(): this;
                            close(): void;
                            createExtensionDictionary(): string | undefined;
                            dxfIn(filer: AcDbDxfFiler): this;
                            dxfInFields(filer: AcDbDxfFiler): this;
                            dxfOut(...args: unknown[]): unknown;
                            dxfOutFields(filer: AcDbDxfFiler): this;
                            entries(): IterableIterator<[string, AcDbLayout]>;
                            getAt(name: string): AcDbLayout | undefined;
                            getAttr(attrName: string): any;
                            getAttrWithoutException(attrName: string): any;
                            getBtrIdAt(id: string): AcDbLayout | undefined;
                            getIdAt(id: string): AcDbLayout | undefined;
                            getXData(appId: string): AcDbResultBuffer | undefined;
                            has(name: string): boolean;
                            hasId(id: string): boolean;
                            newIterator(): AcDbObjectIterator<AcDbLayout>;
                            remove(name: string): boolean;
                            removeAll(): void;
                            removeId(id: string): boolean;
                            removeXData(appId: string): void;
                            restoreFrom(snapshot: this): void;
                            setAt(key: string, value: AcDbLayout): void;
                            setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                            setXData(resbuf: AcDbResultBuffer): void;
                        };
                        mleaderStyle: {
                            attrs: {
                                attributes: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                changed: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                events: {
                                    attrChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                    modelChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                };
                                changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                clone(): AcCmObject<AcDbObjectAttrs>;
                                get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                has(key: string): boolean;
                                hasChanged(key?: string): boolean;
                                previous<A extends string>(
                                    key: A,
                                ): AcDbObjectAttrs[A] | null | undefined;
                                previousAttributes(): Partial<T>;
                                set<A extends string>(
                                    key: A,
                                    val?: AcDbObjectAttrs[A],
                                    options?: AcCmObjectOptions,
                                ): this;
                                set(key: Partial<T>, options?: AcCmObjectOptions): this;
                            };
                            database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                            extensionDictionary: string
                            | undefined;
                            isTemp: any;
                            numEntries: number;
                            objectId: string;
                            ownerId: string;
                            clone(): this;
                            clonePreservingIdentity(): this;
                            close(): void;
                            createExtensionDictionary(): string | undefined;
                            dxfIn(filer: AcDbDxfFiler): this;
                            dxfInFields(filer: AcDbDxfFiler): this;
                            dxfOut(...args: unknown[]): unknown;
                            dxfOutFields(filer: AcDbDxfFiler): this;
                            entries(): IterableIterator<[string, AcDbMLeaderStyle]>;
                            getAt(name: string): AcDbMLeaderStyle | undefined;
                            getAttr(attrName: string): any;
                            getAttrWithoutException(attrName: string): any;
                            getIdAt(id: string): AcDbMLeaderStyle | undefined;
                            getXData(appId: string): AcDbResultBuffer | undefined;
                            has(name: string): boolean;
                            hasId(id: string): boolean;
                            newIterator(): AcDbObjectIterator<AcDbMLeaderStyle>;
                            remove(name: string): boolean;
                            removeAll(): void;
                            removeId(id: string): boolean;
                            removeXData(appId: string): void;
                            restoreFrom(snapshot: this): void;
                            setAt(key: string, value: AcDbMLeaderStyle): void;
                            setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                            setXData(resbuf: AcDbResultBuffer): void;
                        };
                        mlineStyle: {
                            attrs: {
                                attributes: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                changed: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                events: {
                                    attrChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                    modelChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                };
                                changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                clone(): AcCmObject<AcDbObjectAttrs>;
                                get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                has(key: string): boolean;
                                hasChanged(key?: string): boolean;
                                previous<A extends string>(
                                    key: A,
                                ): AcDbObjectAttrs[A] | null | undefined;
                                previousAttributes(): Partial<T>;
                                set<A extends string>(
                                    key: A,
                                    val?: AcDbObjectAttrs[A],
                                    options?: AcCmObjectOptions,
                                ): this;
                                set(key: Partial<T>, options?: AcCmObjectOptions): this;
                            };
                            database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                            extensionDictionary: string
                            | undefined;
                            isTemp: any;
                            numEntries: number;
                            objectId: string;
                            ownerId: string;
                            clone(): this;
                            clonePreservingIdentity(): this;
                            close(): void;
                            createExtensionDictionary(): string | undefined;
                            dxfIn(filer: AcDbDxfFiler): this;
                            dxfInFields(filer: AcDbDxfFiler): this;
                            dxfOut(...args: unknown[]): unknown;
                            dxfOutFields(filer: AcDbDxfFiler): this;
                            entries(): IterableIterator<[string, AcDbMlineStyle]>;
                            getAt(name: string): AcDbMlineStyle | undefined;
                            getAttr(attrName: string): any;
                            getAttrWithoutException(attrName: string): any;
                            getIdAt(id: string): AcDbMlineStyle | undefined;
                            getXData(appId: string): AcDbResultBuffer | undefined;
                            has(name: string): boolean;
                            hasId(id: string): boolean;
                            newIterator(): AcDbObjectIterator<AcDbMlineStyle>;
                            remove(name: string): boolean;
                            removeAll(): void;
                            removeId(id: string): boolean;
                            removeXData(appId: string): void;
                            restoreFrom(snapshot: this): void;
                            setAt(key: string, value: AcDbMlineStyle): void;
                            setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                            setXData(resbuf: AcDbResultBuffer): void;
                        };
                        sortentsTable: {
                            attrs: {
                                attributes: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                changed: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                events: {
                                    attrChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                    modelChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                };
                                changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                clone(): AcCmObject<AcDbObjectAttrs>;
                                get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                has(key: string): boolean;
                                hasChanged(key?: string): boolean;
                                previous<A extends string>(
                                    key: A,
                                ): AcDbObjectAttrs[A] | null | undefined;
                                previousAttributes(): Partial<T>;
                                set<A extends string>(
                                    key: A,
                                    val?: AcDbObjectAttrs[A],
                                    options?: AcCmObjectOptions,
                                ): this;
                                set(key: Partial<T>, options?: AcCmObjectOptions): this;
                            };
                            database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                            extensionDictionary: string
                            | undefined;
                            isTemp: any;
                            numEntries: number;
                            objectId: string;
                            ownerId: string;
                            clone(): this;
                            clonePreservingIdentity(): this;
                            close(): void;
                            createExtensionDictionary(): string | undefined;
                            dxfIn(filer: AcDbDxfFiler): this;
                            dxfInFields(filer: AcDbDxfFiler): this;
                            dxfOut(...args: unknown[]): unknown;
                            dxfOutFields(filer: AcDbDxfFiler): this;
                            entries(): IterableIterator<[string, AcDbSortentsTable]>;
                            getAt(name: string): AcDbSortentsTable | undefined;
                            getAttr(attrName: string): any;
                            getAttrWithoutException(attrName: string): any;
                            getIdAt(id: string): AcDbSortentsTable | undefined;
                            getXData(appId: string): AcDbResultBuffer | undefined;
                            has(name: string): boolean;
                            hasId(id: string): boolean;
                            newIterator(): AcDbObjectIterator<AcDbSortentsTable>;
                            remove(name: string): boolean;
                            removeAll(): void;
                            removeId(id: string): boolean;
                            removeXData(appId: string): void;
                            restoreFrom(snapshot: this): void;
                            setAt(key: string, value: AcDbSortentsTable): void;
                            setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                            setXData(resbuf: AcDbResultBuffer): void;
                        };
                        xrecord: {
                            attrs: {
                                attributes: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                changed: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                events: {
                                    attrChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                    modelChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                };
                                changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                clone(): AcCmObject<AcDbObjectAttrs>;
                                get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                has(key: string): boolean;
                                hasChanged(key?: string): boolean;
                                previous<A extends string>(
                                    key: A,
                                ): AcDbObjectAttrs[A] | null | undefined;
                                previousAttributes(): Partial<T>;
                                set<A extends string>(
                                    key: A,
                                    val?: AcDbObjectAttrs[A],
                                    options?: AcCmObjectOptions,
                                ): this;
                                set(key: Partial<T>, options?: AcCmObjectOptions): this;
                            };
                            database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                            extensionDictionary: string
                            | undefined;
                            isTemp: any;
                            numEntries: number;
                            objectId: string;
                            ownerId: string;
                            clone(): this;
                            clonePreservingIdentity(): this;
                            close(): void;
                            createExtensionDictionary(): string | undefined;
                            dxfIn(filer: AcDbDxfFiler): this;
                            dxfInFields(filer: AcDbDxfFiler): this;
                            dxfOut(...args: unknown[]): unknown;
                            dxfOutFields(filer: AcDbDxfFiler): this;
                            entries(): IterableIterator<[string, AcDbXrecord]>;
                            getAt(name: string): AcDbXrecord | undefined;
                            getAttr(attrName: string): any;
                            getAttrWithoutException(attrName: string): any;
                            getIdAt(id: string): AcDbXrecord | undefined;
                            getXData(appId: string): AcDbResultBuffer | undefined;
                            has(name: string): boolean;
                            hasId(id: string): boolean;
                            newIterator(): AcDbObjectIterator<AcDbXrecord>;
                            remove(name: string): boolean;
                            removeAll(): void;
                            removeId(id: string): boolean;
                            removeXData(appId: string): void;
                            restoreFrom(snapshot: this): void;
                            setAt(key: string, value: AcDbXrecord): void;
                            setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                            setXData(resbuf: AcDbResultBuffer): void;
                        };
                    };
                    orthomode: number;
                    osmode: number;
                    ownerId: string;
                    pdmode: number;
                    pdsize: number;
                    psltscale: boolean;
                    tables: {
                        appIdTable: {
                            attrs: {
                                attributes: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                changed: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                events: {
                                    attrChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                    modelChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                };
                                changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                clone(): AcCmObject<AcDbObjectAttrs>;
                                get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                has(key: string): boolean;
                                hasChanged(key?: string): boolean;
                                previous<A extends string>(
                                    key: A,
                                ): AcDbObjectAttrs[A] | null | undefined;
                                previousAttributes(): Partial<T>;
                                set<A extends string>(
                                    key: A,
                                    val?: AcDbObjectAttrs[A],
                                    options?: AcCmObjectOptions,
                                ): this;
                                set(key: Partial<T>, options?: AcCmObjectOptions): this;
                            };
                            database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                            extensionDictionary: string
                            | undefined;
                            isTemp: any;
                            numEntries: number;
                            objectId: string;
                            ownerId: string;
                            add(record: AcDbRegAppTableRecord): void;
                            clone(): this;
                            clonePreservingIdentity(): this;
                            close(): void;
                            createExtensionDictionary(): string | undefined;
                            dxfIn(filer: AcDbDxfFiler): this;
                            dxfInFields(_filer: AcDbDxfFiler): this;
                            dxfOut(...args: unknown[]): unknown;
                            dxfOutFields(filer: AcDbDxfFiler): this;
                            getAt(name: string): AcDbRegAppTableRecord | undefined;
                            getAttr(attrName: string): any;
                            getAttrWithoutException(attrName: string): any;
                            getIdAt(id: string): AcDbRegAppTableRecord | undefined;
                            getOwnerIdAt(id: string): AcDbRegAppTableRecord | undefined;
                            getXData(appId: string): AcDbResultBuffer | undefined;
                            has(name: string): boolean;
                            hasId(id: string): boolean;
                            newIterator(
                                iterateById?: boolean,
                            ): AcDbObjectIterator<AcDbRegAppTableRecord>;
                            remove(name: string): boolean;
                            removeAll(): void;
                            removeId(id: string): boolean;
                            removeXData(appId: string): void;
                            restoreFrom(snapshot: this): void;
                            setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                            setXData(resbuf: AcDbResultBuffer): void;
                        };
                        blockTable: {
                            attrs: {
                                attributes: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                changed: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                events: {
                                    attrChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                    modelChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                };
                                changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                clone(): AcCmObject<AcDbObjectAttrs>;
                                get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                has(key: string): boolean;
                                hasChanged(key?: string): boolean;
                                previous<A extends string>(
                                    key: A,
                                ): AcDbObjectAttrs[A] | null | undefined;
                                previousAttributes(): Partial<T>;
                                set<A extends string>(
                                    key: A,
                                    val?: AcDbObjectAttrs[A],
                                    options?: AcCmObjectOptions,
                                ): this;
                                set(key: Partial<T>, options?: AcCmObjectOptions): this;
                            };
                            database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                            extensionDictionary: string
                            | undefined;
                            isTemp: any;
                            modelSpace: {
                                attrs: {
                                    attributes: {
                                        blockInsertUnits?: (...) | (...);
                                        blockScaling?: (...) | (...);
                                        explodability?: (...) | (...);
                                        extensionDictionary?: (...) | (...);
                                        flags?: (...) | (...);
                                        layoutId?: (...) | (...);
                                        name?: (...) | (...);
                                        objectId?: (...) | (...);
                                        origin?: (...) | (...);
                                        ownerId?: (...) | (...);
                                        pathName?: (...) | (...);
                                        previewIcon?: (...) | (...);
                                        [key: string]: any;
                                    };
                                    changed: {
                                        blockInsertUnits?: (...)
                                        | (...);
                                        blockScaling?: (...) | (...);
                                        explodability?: (...) | (...);
                                        extensionDictionary?: (...) | (...);
                                        flags?: (...) | (...);
                                        layoutId?: (...) | (...);
                                        name?: (...) | (...);
                                        objectId?: (...) | (...);
                                        origin?: (...) | (...);
                                        ownerId?: (...) | (...);
                                        pathName?: (...) | (...);
                                        previewIcon?: (...) | (...);
                                        [key: string]: any;
                                    };
                                    events: {
                                        attrChanged: {
                                            addEventListener(listener: ...): ...;
                                            dispatch(payload?: ..., ...args: ...): ...;
                                            removeEventListener(listener: ...): ...;
                                            replaceEventListener(listener: ...): ...;
                                        };
                                        modelChanged: {
                                            addEventListener(listener: ...): ...;
                                            dispatch(payload?: ..., ...args: ...): ...;
                                            removeEventListener(listener: ...): ...;
                                            replaceEventListener(listener: ...): ...;
                                        };
                                    };
                                    changedAttributes(diff?: Partial<(...)>): Partial<T>;
                                    clone(): AcCmObject<AcDbBlockTableRecordAttrs>;
                                    get<A extends string>(key: A): (...)[(...)] | undefined;
                                    has(key: string): boolean;
                                    hasChanged(key?: string): boolean;
                                    previous<A extends string>(key: A): (...)[(...)] | null | undefined;
                                    previousAttributes(): Partial<T>;
                                    set<A extends string>(
                                        key: A,
                                        val?: (...)[(...)],
                                        options?: AcCmObjectOptions,
                                    ): this;
                                    set(key: Partial<T>, options?: AcCmObjectOptions): this;
                                };
                                blockInsertUnits: AcDbUnitsValue;
                                blockScaling: AcDbBlockScaling;
                                database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                                explodability: number;
                                extensionDictionary: string
                                | undefined;
                                flags: number;
                                isModelSapce: boolean;
                                isOverlayReference: boolean;
                                isPaperSapce: boolean;
                                isTemp: any;
                                isUnresolvedXref: boolean;
                                isXref: boolean;
                                layoutId: string;
                                name: string;
                                objectId: string;
                                origin: {
                                    x: number;
                                    y: number;
                                    z: number;
                                    "[iterator]"(): Generator<number, void, unknown>;
                                    add(v: AcGeVectorLike): this;
                                    addScalar(s: number): this;
                                    addScaledVector(v: AcGeVector3dLike, s: number): this;
                                    addVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                                    angleTo(v: AcGeVector3d): number;
                                    applyAxisAngle(axis: AcGeVector3dLike, angle: number): this;
                                    applyEuler(euler: AcGeEuler): this;
                                    applyMatrix3(m: AcGeMatrix2d): this;
                                    applyMatrix4(m: AcGeMatrix3d): this;
                                    applyNormalMatrix(m: AcGeMatrix2d): this;
                                    applyQuaternion(q: AcGeQuaternion): this;
                                    ceil(): this;
                                    clamp(min: AcGeVector3dLike, max: AcGeVector3dLike): this;
                                    clampLength(min: number, max: number): this;
                                    clampScalar(minVal: number, maxVal: number): this;
                                    clone(): AcGePoint3d;
                                    copy(v: AcGeVectorLike): this;
                                    cross(v: AcGeVector3dLike): this;
                                    crossVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                                    distanceTo(v: AcGeVector3dLike): number;
                                    distanceToSquared(v: AcGeVector3dLike): number;
                                    divide(v: AcGeVector3dLike): this;
                                    divideScalar(scalar: number): this;
                                    dot(v: AcGeVector3dLike): number;
                                    equals(v: AcGeVector3dLike): boolean;
                                    floor(): this;
                                    fromArray(array: number[], offset?: number): this;
                                    getComponent(index: number): number;
                                    isParallelTo(vec: AcGeVector3d): boolean;
                                    length(): number;
                                    lengthSq(): number;
                                    lerp(v: AcGeVector3dLike, alpha: number): this;
                                    lerpVectors(
                                        v1: AcGeVector3dLike,
                                        v2: AcGeVector3dLike,
                                        alpha: number,
                                    ): this;
                                    manhattanDistanceTo(v: AcGeVector3dLike): number;
                                    manhattanLength(): number;
                                    max(v: AcGeVector3dLike): this;
                                    min(v: AcGeVector3dLike): this;
                                    multiply(v: AcGeVector3dLike): this;
                                    multiplyScalar(scalar: number): this;
                                    multiplyVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                                    negate(): this;
                                    normalize(): this;
                                    projectOnPlane(planeNormal: AcGeVector3d): this;
                                    projectOnVector(v: AcGeVector3d): this;
                                    random(): this;
                                    randomDirection(): this;
                                    reflect(normal: AcGeVector3dLike): this;
                                    round(): this;
                                    roundToZero(): this;
                                    set(x: number, y: number, z: number): this;
                                    setComponent(index: number, value: number): this;
                                    setFromMatrix3Column(m: AcGeMatrix2d, index: number): this;
                                    setFromMatrixColumn(m: AcGeMatrix3d, index: number): this;
                                    setFromMatrixPosition(m: AcGeMatrix3d): this;
                                    setFromMatrixScale(m: AcGeMatrix3d): this;
                                    setLength(l: number): this;
                                    setScalar(scalar: number): this;
                                    setX(x: number): this;
                                    setY(y: number): this;
                                    setZ(z: number): this;
                                    sub(v: AcGeVector3dLike): this;
                                    subScalar(s: number): this;
                                    subVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                                    toArray(
                                        array?: (...)[] | Float32Array<(...)>,
                                        offset?: number,
                                    ): (...)[] | Float32Array<(...)>;
                                    transformDirection(m: AcGeMatrix3d): this;
                                };
                                ownerId: string;
                                pathName: string;
                                previewIcon: | {
                                    "[toStringTag]": "Uint8Array";
                                    buffer: (...)
                                    | (...);
                                    byteLength: number;
                                    byteOffset: number;
                                    BYTES_PER_ELEMENT: number;
                                    length: number;
                                    "[iterator]"(): ArrayIterator<(...)>;
                                    at(index: number): (...) | (...);
                                    copyWithin(target: number, start: number, end?: (...) | (...)): this;
                                    entries(): ArrayIterator<(...)>;
                                    every(
                                        predicate: (value: ..., index: ..., array: this) => ...,
                                        thisArg?: any,
                                    ): boolean;
                                    fill(value: number, start?: (...) | (...), end?: (...) | (...)): this;
                                    filter(
                                        predicate: (value: ..., index: ..., array: this) => ...,
                                        thisArg?: any,
                                    ): Uint8Array<(...)>;
                                    find(
                                        predicate: (value: ..., index: ..., obj: this) => ...,
                                        thisArg?: any,
                                    ): (...) | (...);
                                    findIndex(
                                        predicate: (value: ..., index: ..., obj: this) => ...,
                                        thisArg?: any,
                                    ): number;
                                    findLast<S extends number>(
                                        predicate: (
                                            value: ...,
                                            index: ...,
                                            array: this,
                                        ) => value is (...),
                                        thisArg?: any,
                                    ): (...) | (...);
                                    findLast(
                                        predicate: (value: ..., index: ..., array: this) => ...,
                                        thisArg?: any,
                                    ): (...) | (...);
                                    findLastIndex(
                                        predicate: (value: ..., index: ..., array: this) => ...,
                                        thisArg?: any,
                                    ): number;
                                    forEach(
                                        callbackfn: (value: ..., index: ..., array: this) => ...,
                                        thisArg?: any,
                                    ): void;
                                    includes(searchElement: number, fromIndex?: (...) | (...)): boolean;
                                    indexOf(searchElement: number, fromIndex?: (...) | (...)): number;
                                    join(separator?: (...) | (...)): string;
                                    keys(): ArrayIterator<(...)>;
                                    lastIndexOf(searchElement: number, fromIndex?: (...) | (...)): number;
                                    map(
                                        callbackfn: (value: ..., index: ..., array: this) => ...,
                                        thisArg?: any,
                                    ): Uint8Array<(...)>;
                                    reduce(
                                        callbackfn: (
                                            previousValue: ...,
                                            currentValue: ...,
                                            currentIndex: ...,
                                            array: this,
                                        ) => ...,
                                    ): number;
                                    reduce(
                                        callbackfn: (
                                            previousValue: ...,
                                            currentValue: ...,
                                            currentIndex: ...,
                                            array: this,
                                        ) => ...,
                                        initialValue: number,
                                    ): number;
                                    reduce<U>(
                                        callbackfn: (
                                            previousValue: ...,
                                            currentValue: ...,
                                            currentIndex: ...,
                                            array: this,
                                        ) => ...,
                                        initialValue: U,
                                    ): U;
                                    reduceRight(
                                        callbackfn: (
                                            previousValue: ...,
                                            currentValue: ...,
                                            currentIndex: ...,
                                            array: this,
                                        ) => ...,
                                    ): number;
                                    reduceRight(
                                        callbackfn: (
                                            previousValue: ...,
                                            currentValue: ...,
                                            currentIndex: ...,
                                            array: this,
                                        ) => ...,
                                        initialValue: number,
                                    ): number;
                                    reduceRight<U>(
                                        callbackfn: (
                                            previousValue: ...,
                                            currentValue: ...,
                                            currentIndex: ...,
                                            array: this,
                                        ) => ...,
                                        initialValue: U,
                                    ): U;
                                    reverse(): this;
                                    set(array: ArrayLike<(...)>, offset?: (...) | (...)): void;
                                    slice(start?: (...) | (...), end?: (...) | (...)): Uint8Array<(...)>;
                                    some(
                                        predicate: (value: ..., index: ..., array: this) => ...,
                                        thisArg?: any,
                                    ): boolean;
                                    sort(compareFn?: (...) | (...)): this;
                                    subarray(
                                        begin?: (...) | (...),
                                        end?: (...) | (...),
                                    ): Uint8Array<(...)>;
                                    toLocaleString(): string;
                                    toLocaleString(
                                        locales: (...) | (...),
                                        options?: (...) | (...),
                                    ): string;
                                    toReversed(): Uint8Array<(...)>;
                                    toSorted(compareFn?: (...) | (...)): Uint8Array<(...)>;
                                    toString(): string;
                                    valueOf(): this;
                                    values(): ArrayIterator<(...)>;
                                    with(index: number, value: number): Uint8Array<(...)>;
                                    [key: number]: number;
                                }
                                | undefined;
                                appendEntity(entity: AcDbEntity | AcDbEntity[]): void;
                                clone(): this;
                                clonePreservingIdentity(): this;
                                close(): void;
                                createExtensionDictionary(): string | undefined;
                                dxfIn(filer: AcDbDxfFiler): this;
                                dxfInFields(filer: AcDbDxfFiler): this;
                                dxfOut(...args: unknown[]): unknown;
                                dxfOutBlockBegin(filer: AcDbDxfFiler): this;
                                dxfOutBlockEnd(filer: AcDbDxfFiler): this;
                                dxfOutBlockRecord(filer: AcDbDxfFiler): this;
                                dxfOutFields(filer: AcDbDxfFiler): this;
                                getAttr(attrName: string): any;
                                getAttrWithoutException(attrName: string): any;
                                getIdAt(id: string): AcDbEntity | undefined;
                                getXData(appId: string): AcDbResultBuffer | undefined;
                                hasEntityId(id: string): boolean;
                                newIterator(): AcDbObjectIterator<AcDbEntity>;
                                removeEntity(objectId: string | string[]): boolean;
                                removeXData(appId: string): void;
                                restoreFrom(snapshot: this): void;
                                setAttr<A extends string>(
                                    attrName: A,
                                    val?: AcDbBlockTableRecordAttrs[A],
                                ): void;
                                setXData(resbuf: AcDbResultBuffer): void;
                            };
                            numEntries: number;
                            objectId: string;
                            ownerId: string;
                            add(record: AcDbBlockTableRecord): void;
                            clone(): this;
                            clonePreservingIdentity(): this;
                            close(): void;
                            createExtensionDictionary(): string | undefined;
                            dxfIn(filer: AcDbDxfFiler): this;
                            dxfInFields(_filer: AcDbDxfFiler): this;
                            dxfOut(...args: unknown[]): unknown;
                            dxfOutFields(filer: AcDbDxfFiler): this;
                            getAt(name: string): AcDbBlockTableRecord | undefined;
                            getAttr(attrName: string): any;
                            getAttrWithoutException(attrName: string): any;
                            getEntityById(id: string): AcDbEntity | undefined;
                            getIdAt(id: string): AcDbBlockTableRecord | undefined;
                            getOwnerIdAt(id: string): AcDbBlockTableRecord | undefined;
                            getUnresolvedXrefs(): AcDbBlockTableRecord[];
                            getXData(appId: string): AcDbResultBuffer | undefined;
                            getXrefs(): AcDbBlockTableRecord[];
                            has(name: string): boolean;
                            hasId(id: string): boolean;
                            newIterator(
                                iterateById?: boolean,
                            ): AcDbObjectIterator<AcDbBlockTableRecord>;
                            remove(name: string): boolean;
                            removeAll(): void;
                            removeEntity(objectId: string | string[]): boolean;
                            removeId(id: string): boolean;
                            removeXData(appId: string): void;
                            restoreFrom(snapshot: this): void;
                            setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                            setXData(resbuf: AcDbResultBuffer): void;
                        };
                        dimStyleTable: {
                            attrs: {
                                attributes: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                changed: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                events: {
                                    attrChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                    modelChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                };
                                changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                clone(): AcCmObject<AcDbObjectAttrs>;
                                get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                has(key: string): boolean;
                                hasChanged(key?: string): boolean;
                                previous<A extends string>(
                                    key: A,
                                ): AcDbObjectAttrs[A] | null | undefined;
                                previousAttributes(): Partial<T>;
                                set<A extends string>(
                                    key: A,
                                    val?: AcDbObjectAttrs[A],
                                    options?: AcCmObjectOptions,
                                ): this;
                                set(key: Partial<T>, options?: AcCmObjectOptions): this;
                            };
                            database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                            extensionDictionary: string
                            | undefined;
                            isTemp: any;
                            numEntries: number;
                            objectId: string;
                            ownerId: string;
                            add(record: AcDbDimStyleTableRecord): void;
                            clone(): this;
                            clonePreservingIdentity(): this;
                            close(): void;
                            createExtensionDictionary(): string | undefined;
                            dxfIn(filer: AcDbDxfFiler): this;
                            dxfInFields(_filer: AcDbDxfFiler): this;
                            dxfOut(...args: unknown[]): unknown;
                            dxfOutFields(filer: AcDbDxfFiler): this;
                            getAt(name: string): AcDbDimStyleTableRecord | undefined;
                            getAttr(attrName: string): any;
                            getAttrWithoutException(attrName: string): any;
                            getIdAt(id: string): AcDbDimStyleTableRecord | undefined;
                            getOwnerIdAt(id: string): AcDbDimStyleTableRecord | undefined;
                            getXData(appId: string): AcDbResultBuffer | undefined;
                            has(name: string): boolean;
                            hasId(id: string): boolean;
                            newIterator(
                                iterateById?: boolean,
                            ): AcDbObjectIterator<AcDbDimStyleTableRecord>;
                            remove(name: string): boolean;
                            removeAll(): void;
                            removeId(id: string): boolean;
                            removeXData(appId: string): void;
                            restoreFrom(snapshot: this): void;
                            setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                            setXData(resbuf: AcDbResultBuffer): void;
                        };
                        layerTable: {
                            attrs: {
                                attributes: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                changed: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                events: {
                                    attrChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                    modelChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                };
                                changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                clone(): AcCmObject<AcDbObjectAttrs>;
                                get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                has(key: string): boolean;
                                hasChanged(key?: string): boolean;
                                previous<A extends string>(
                                    key: A,
                                ): AcDbObjectAttrs[A] | null | undefined;
                                previousAttributes(): Partial<T>;
                                set<A extends string>(
                                    key: A,
                                    val?: AcDbObjectAttrs[A],
                                    options?: AcCmObjectOptions,
                                ): this;
                                set(key: Partial<T>, options?: AcCmObjectOptions): this;
                            };
                            database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                            extensionDictionary: string
                            | undefined;
                            isTemp: any;
                            numEntries: number;
                            objectId: string;
                            ownerId: string;
                            add(record: AcDbLayerTableRecord): void;
                            clone(): this;
                            clonePreservingIdentity(): this;
                            close(): void;
                            createExtensionDictionary(): string | undefined;
                            dxfIn(filer: AcDbDxfFiler): this;
                            dxfInFields(_filer: AcDbDxfFiler): this;
                            dxfOut(...args: unknown[]): unknown;
                            dxfOutFields(filer: AcDbDxfFiler): this;
                            getAt(name: string): AcDbLayerTableRecord | undefined;
                            getAttr(attrName: string): any;
                            getAttrWithoutException(attrName: string): any;
                            getIdAt(id: string): AcDbLayerTableRecord | undefined;
                            getOwnerIdAt(id: string): AcDbLayerTableRecord | undefined;
                            getXData(appId: string): AcDbResultBuffer | undefined;
                            has(name: string): boolean;
                            hasId(id: string): boolean;
                            newIterator(
                                iterateById?: boolean,
                            ): AcDbObjectIterator<AcDbLayerTableRecord>;
                            remove(name: string): boolean;
                            removeAll(): void;
                            removeId(id: string): boolean;
                            removeXData(appId: string): void;
                            restoreFrom(snapshot: this): void;
                            setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                            setXData(resbuf: AcDbResultBuffer): void;
                        };
                        linetypeTable: {
                            attrs: {
                                attributes: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                changed: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                events: {
                                    attrChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                    modelChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                };
                                changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                clone(): AcCmObject<AcDbObjectAttrs>;
                                get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                has(key: string): boolean;
                                hasChanged(key?: string): boolean;
                                previous<A extends string>(
                                    key: A,
                                ): AcDbObjectAttrs[A] | null | undefined;
                                previousAttributes(): Partial<T>;
                                set<A extends string>(
                                    key: A,
                                    val?: AcDbObjectAttrs[A],
                                    options?: AcCmObjectOptions,
                                ): this;
                                set(key: Partial<T>, options?: AcCmObjectOptions): this;
                            };
                            database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                            extensionDictionary: string
                            | undefined;
                            isTemp: any;
                            numEntries: number;
                            objectId: string;
                            ownerId: string;
                            add(record: AcDbLinetypeTableRecord): void;
                            clone(): this;
                            clonePreservingIdentity(): this;
                            close(): void;
                            createExtensionDictionary(): string | undefined;
                            dxfIn(filer: AcDbDxfFiler): this;
                            dxfInFields(_filer: AcDbDxfFiler): this;
                            dxfOut(...args: unknown[]): unknown;
                            dxfOutFields(filer: AcDbDxfFiler): this;
                            getAt(name: string): AcDbLinetypeTableRecord | undefined;
                            getAttr(attrName: string): any;
                            getAttrWithoutException(attrName: string): any;
                            getIdAt(id: string): AcDbLinetypeTableRecord | undefined;
                            getOwnerIdAt(id: string): AcDbLinetypeTableRecord | undefined;
                            getXData(appId: string): AcDbResultBuffer | undefined;
                            has(name: string): boolean;
                            hasId(id: string): boolean;
                            newIterator(
                                iterateById?: boolean,
                            ): AcDbObjectIterator<AcDbLinetypeTableRecord>;
                            remove(name: string): boolean;
                            removeAll(): void;
                            removeId(id: string): boolean;
                            removeXData(appId: string): void;
                            restoreFrom(snapshot: this): void;
                            setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                            setXData(resbuf: AcDbResultBuffer): void;
                        };
                        textStyleTable: {
                            attrs: {
                                attributes: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                changed: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                events: {
                                    attrChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                    modelChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                };
                                changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                clone(): AcCmObject<AcDbObjectAttrs>;
                                get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                has(key: string): boolean;
                                hasChanged(key?: string): boolean;
                                previous<A extends string>(
                                    key: A,
                                ): AcDbObjectAttrs[A] | null | undefined;
                                previousAttributes(): Partial<T>;
                                set<A extends string>(
                                    key: A,
                                    val?: AcDbObjectAttrs[A],
                                    options?: AcCmObjectOptions,
                                ): this;
                                set(key: Partial<T>, options?: AcCmObjectOptions): this;
                            };
                            database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                            extensionDictionary: string
                            | undefined;
                            fonts: string[];
                            isTemp: any;
                            numEntries: number;
                            objectId: string;
                            ownerId: string;
                            shapeFiles: {
                                attrs: {
                                    attributes: {
                                        bigFont?: ...;
                                        extendedFont?: ...;
                                        extensionDictionary?: ...;
                                        fixedTextHeight?: ...;
                                        font?: ...;
                                        lastHeight?: ...;
                                        name?: ...;
                                        objectId?: ...;
                                        obliqueAngle?: ...;
                                        ownerId?: ...;
                                        standardFlag?: ...;
                                        textGenerationFlag?: ...;
                                        widthFactor?: ...;
                                        [key: ...]: ...;
                                    };
                                    changed: {
                                        bigFont?: ...;
                                        extendedFont?: ...;
                                        extensionDictionary?: ...;
                                        fixedTextHeight?: ...;
                                        font?: ...;
                                        lastHeight?: ...;
                                        name?: ...;
                                        objectId?: ...;
                                        obliqueAngle?: ...;
                                        ownerId?: ...;
                                        standardFlag?: ...;
                                        textGenerationFlag?: ...;
                                        widthFactor?: ...;
                                        [key: ...]: ...;
                                    };
                                    events: { attrChanged: ...; modelChanged: ... };
                                    changedAttributes(diff?: (...) | (...)): Partial<(...)>;
                                    clone(): AcCmObject<(...)>;
                                    get<A extends string>(key: A): (...) | (...);
                                    has(key: string): boolean;
                                    hasChanged(key?: (...) | (...)): boolean;
                                    previous<A extends string>(key: A): (...) | (...) | (...);
                                    previousAttributes(): Partial<(...)>;
                                    set<A extends string>(
                                        key: A,
                                        val?: (...) | (...),
                                        options?: (...) | (...),
                                    ): this;
                                    set(key: Partial<(...)>, options?: (...) | (...)): this;
                                };
                                bigFontFileName: string;
                                database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                                extensionDictionary: string
                                | undefined;
                                fileName: string;
                                isShapeFile: boolean;
                                isTemp: any;
                                isVertical: boolean;
                                name: string;
                                objectId: string;
                                obliquingAngle: number;
                                ownerId: string;
                                priorSize: number;
                                textSize: number;
                                textStyle: {
                                    bigFont: string;
                                    extendedFont?: (...) | (...);
                                    fixedTextHeight: number;
                                    font: string;
                                    lastHeight: number;
                                    name: string;
                                    obliqueAngle: number;
                                    standardFlag: number;
                                    textGenerationFlag: number;
                                    widthFactor: number;
                                };
                                xScale: number;
                                clone(): this;
                                clonePreservingIdentity(): this;
                                close(): void;
                                createExtensionDictionary(): string | undefined;
                                dxfIn(filer: AcDbDxfFiler): this;
                                dxfInFields(filer: AcDbDxfFiler): this;
                                dxfOut(...args: unknown[]): unknown;
                                dxfOutFields(filer: AcDbDxfFiler): this;
                                getAttr(attrName: string): any;
                                getAttrWithoutException(attrName: string): any;
                                getXData(appId: string): AcDbResultBuffer | undefined;
                                removeXData(appId: string): void;
                                restoreFrom(snapshot: this): void;
                                setAttr<A extends string>(attrName: A, val?: (...)[(...)]): void;
                                setXData(resbuf: AcDbResultBuffer): void;
                            }[];
                            add(record: AcDbTextStyleTableRecord): void;
                            clone(): this;
                            clonePreservingIdentity(): this;
                            close(): void;
                            createExtensionDictionary(): string | undefined;
                            dxfIn(filer: AcDbDxfFiler): this;
                            dxfInFields(_filer: AcDbDxfFiler): this;
                            dxfOut(...args: unknown[]): unknown;
                            dxfOutFields(filer: AcDbDxfFiler): this;
                            getAt(name: string): AcDbTextStyleTableRecord | undefined;
                            getAttr(attrName: string): any;
                            getAttrWithoutException(attrName: string): any;
                            getIdAt(id: string): AcDbTextStyleTableRecord | undefined;
                            getOwnerIdAt(id: string): AcDbTextStyleTableRecord | undefined;
                            getXData(appId: string): AcDbResultBuffer | undefined;
                            has(name: string): boolean;
                            hasId(id: string): boolean;
                            newIterator(
                                iterateById?: boolean,
                            ): AcDbObjectIterator<AcDbTextStyleTableRecord>;
                            remove(name: string): boolean;
                            removeAll(): void;
                            removeId(id: string): boolean;
                            removeXData(appId: string): void;
                            resolveAt(name?: string): AcDbTextStyleTableRecord | undefined;
                            restoreFrom(snapshot: this): void;
                            setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                            setXData(resbuf: AcDbResultBuffer): void;
                        };
                        ucsTable: {
                            attrs: {
                                attributes: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                changed: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                events: {
                                    attrChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                    modelChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                };
                                changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                clone(): AcCmObject<AcDbObjectAttrs>;
                                get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                has(key: string): boolean;
                                hasChanged(key?: string): boolean;
                                previous<A extends string>(
                                    key: A,
                                ): AcDbObjectAttrs[A] | null | undefined;
                                previousAttributes(): Partial<T>;
                                set<A extends string>(
                                    key: A,
                                    val?: AcDbObjectAttrs[A],
                                    options?: AcCmObjectOptions,
                                ): this;
                                set(key: Partial<T>, options?: AcCmObjectOptions): this;
                            };
                            database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                            extensionDictionary: string
                            | undefined;
                            isTemp: any;
                            numEntries: number;
                            objectId: string;
                            ownerId: string;
                            add(record: AcDbUcsTableRecord): void;
                            clone(): this;
                            clonePreservingIdentity(): this;
                            close(): void;
                            createExtensionDictionary(): string | undefined;
                            dxfIn(filer: AcDbDxfFiler): this;
                            dxfInFields(_filer: AcDbDxfFiler): this;
                            dxfOut(...args: unknown[]): unknown;
                            dxfOutFields(filer: AcDbDxfFiler): this;
                            getAt(name: string): AcDbUcsTableRecord | undefined;
                            getAttr(attrName: string): any;
                            getAttrWithoutException(attrName: string): any;
                            getIdAt(id: string): AcDbUcsTableRecord | undefined;
                            getOwnerIdAt(id: string): AcDbUcsTableRecord | undefined;
                            getXData(appId: string): AcDbResultBuffer | undefined;
                            has(name: string): boolean;
                            hasId(id: string): boolean;
                            newIterator(
                                iterateById?: boolean,
                            ): AcDbObjectIterator<AcDbUcsTableRecord>;
                            remove(name: string): boolean;
                            removeAll(): void;
                            removeId(id: string): boolean;
                            removeXData(appId: string): void;
                            restoreFrom(snapshot: this): void;
                            setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                            setXData(resbuf: AcDbResultBuffer): void;
                        };
                        viewportTable: {
                            attrs: {
                                attributes: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                changed: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                events: {
                                    attrChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                    modelChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                };
                                changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                clone(): AcCmObject<AcDbObjectAttrs>;
                                get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                has(key: string): boolean;
                                hasChanged(key?: string): boolean;
                                previous<A extends string>(
                                    key: A,
                                ): AcDbObjectAttrs[A] | null | undefined;
                                previousAttributes(): Partial<T>;
                                set<A extends string>(
                                    key: A,
                                    val?: AcDbObjectAttrs[A],
                                    options?: AcCmObjectOptions,
                                ): this;
                                set(key: Partial<T>, options?: AcCmObjectOptions): this;
                            };
                            database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                            extensionDictionary: string
                            | undefined;
                            isTemp: any;
                            numEntries: number;
                            objectId: string;
                            ownerId: string;
                            add(record: AcDbViewportTableRecord): void;
                            clone(): this;
                            clonePreservingIdentity(): this;
                            close(): void;
                            createExtensionDictionary(): string | undefined;
                            dxfIn(filer: AcDbDxfFiler): this;
                            dxfInFields(_filer: AcDbDxfFiler): this;
                            dxfOut(...args: unknown[]): unknown;
                            dxfOutFields(filer: AcDbDxfFiler): this;
                            getActiveVport(): AcDbViewportTableRecord | undefined;
                            getActiveVportBox(
                                canvasAspectRatio: number,
                                drawingExtents?: AcGeBox2d,
                            ): AcGeBox2d | undefined;
                            getAt(name: string): AcDbViewportTableRecord | undefined;
                            getAttr(attrName: string): any;
                            getAttrWithoutException(attrName: string): any;
                            getIdAt(id: string): AcDbViewportTableRecord | undefined;
                            getOwnerIdAt(id: string): AcDbViewportTableRecord | undefined;
                            getXData(appId: string): AcDbResultBuffer | undefined;
                            has(name: string): boolean;
                            hasId(id: string): boolean;
                            newIterator(
                                iterateById?: boolean,
                            ): AcDbObjectIterator<AcDbViewportTableRecord>;
                            remove(name: string): boolean;
                            removeAll(): void;
                            removeId(id: string): boolean;
                            removeXData(appId: string): void;
                            restoreFrom(snapshot: this): void;
                            setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                            setXData(resbuf: AcDbResultBuffer): void;
                        };
                        viewTable: {
                            attrs: {
                                attributes: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                changed: {
                                    extensionDictionary?: string;
                                    objectId?: string;
                                    ownerId?: string;
                                    [key: string]: any;
                                };
                                events: {
                                    attrChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                    modelChanged: {
                                        addEventListener(listener: (payload: ...) => ...): void;
                                        dispatch(payload?: (...) | (...), ...args: (...)[]): void;
                                        removeEventListener(listener: (payload: ...) => ...): void;
                                        replaceEventListener(listener: (payload: ...) => ...): void;
                                    };
                                };
                                changedAttributes(diff?: Partial<AcDbObjectAttrs>): Partial<T>;
                                clone(): AcCmObject<AcDbObjectAttrs>;
                                get<A extends string>(key: A): AcDbObjectAttrs[A] | undefined;
                                has(key: string): boolean;
                                hasChanged(key?: string): boolean;
                                previous<A extends string>(
                                    key: A,
                                ): AcDbObjectAttrs[A] | null | undefined;
                                previousAttributes(): Partial<T>;
                                set<A extends string>(
                                    key: A,
                                    val?: AcDbObjectAttrs[A],
                                    options?: AcCmObjectOptions,
                                ): this;
                                set(key: Partial<T>, options?: AcCmObjectOptions): this;
                            };
                            database: { readonly transactionManager: { strictMode: boolean; startTransaction: () => AcDbDatabaseTransaction; currentTransaction: () => AcDbDatabaseTransaction | undefined; ... 20 more ...; flushPendingEntityModifiedEvents: () => void; }; ... 100 more ...; dxfInFields: (_filer: AcDbDxfFiler) => AcDbDatabase; };
                            extensionDictionary: string
                            | undefined;
                            isTemp: any;
                            numEntries: number;
                            objectId: string;
                            ownerId: string;
                            add(record: AcDbViewTableRecord): void;
                            clone(): this;
                            clonePreservingIdentity(): this;
                            close(): void;
                            createExtensionDictionary(): string | undefined;
                            dxfIn(filer: AcDbDxfFiler): this;
                            dxfInFields(_filer: AcDbDxfFiler): this;
                            dxfOut(...args: unknown[]): unknown;
                            dxfOutFields(filer: AcDbDxfFiler): this;
                            getAt(name: string): AcDbViewTableRecord | undefined;
                            getAttr(attrName: string): any;
                            getAttrWithoutException(attrName: string): any;
                            getIdAt(id: string): AcDbViewTableRecord | undefined;
                            getOwnerIdAt(id: string): AcDbViewTableRecord | undefined;
                            getXData(appId: string): AcDbResultBuffer | undefined;
                            has(name: string): boolean;
                            hasId(id: string): boolean;
                            newIterator(
                                iterateById?: boolean,
                            ): AcDbObjectIterator<AcDbViewTableRecord>;
                            remove(name: string): boolean;
                            removeAll(): void;
                            removeId(id: string): boolean;
                            removeXData(appId: string): void;
                            restoreFrom(snapshot: this): void;
                            setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                            setXData(resbuf: AcDbResultBuffer): void;
                        };
                    };
                    textstyle: string;
                    thumbnailImage: | {
                        "[toStringTag]": "Uint8Array";
                        buffer: | {
                            "[toStringTag]": "ArrayBuffer";
                            byteLength: number;
                            detached: boolean;
                            maxByteLength: number;
                            resizable: boolean;
                            resize(newByteLength?: number): void;
                            slice(begin?: number, end?: number): ArrayBuffer;
                            transfer(newByteLength?: number): ArrayBuffer;
                            transferToFixedLength(newByteLength?: number): ArrayBuffer;
                        }
                        | {
                            "[toStringTag]": "SharedArrayBuffer";
                            byteLength: number;
                            growable: boolean;
                            maxByteLength: number;
                            grow(newByteLength?: number): void;
                            slice(begin?: number, end?: number): SharedArrayBuffer;
                        };
                        byteLength: number;
                        byteOffset: number;
                        BYTES_PER_ELEMENT: number;
                        length: number;
                        "[iterator]"(): ArrayIterator<number>;
                        at(index: number): number | undefined;
                        copyWithin(target: number, start: number, end?: number): this;
                        entries(): ArrayIterator<[number, number]>;
                        every(
                            predicate: (value: number, index: number, array: this) => unknown,
                            thisArg?: any,
                        ): boolean;
                        fill(value: number, start?: number, end?: number): this;
                        filter(
                            predicate: (value: number, index: number, array: this) => any,
                            thisArg?: any,
                        ): Uint8Array<ArrayBuffer>;
                        find(
                            predicate: (value: number, index: number, obj: this) => boolean,
                            thisArg?: any,
                        ): number | undefined;
                        findIndex(
                            predicate: (value: number, index: number, obj: this) => boolean,
                            thisArg?: any,
                        ): number;
                        findLast<S extends number>(
                            predicate: (value: number, index: number, array: this) => value is S,
                            thisArg?: any,
                        ): S | undefined;
                        findLast(
                            predicate: (value: number, index: number, array: this) => unknown,
                            thisArg?: any,
                        ): number | undefined;
                        findLastIndex(
                            predicate: (value: number, index: number, array: this) => unknown,
                            thisArg?: any,
                        ): number;
                        forEach(
                            callbackfn: (value: number, index: number, array: this) => void,
                            thisArg?: any,
                        ): void;
                        includes(searchElement: number, fromIndex?: number): boolean;
                        indexOf(searchElement: number, fromIndex?: number): number;
                        join(separator?: string): string;
                        keys(): ArrayIterator<number>;
                        lastIndexOf(searchElement: number, fromIndex?: number): number;
                        map(
                            callbackfn: (value: number, index: number, array: this) => number,
                            thisArg?: any,
                        ): Uint8Array<ArrayBuffer>;
                        reduce(
                            callbackfn: (
                                previousValue: number,
                                currentValue: number,
                                currentIndex: number,
                                array: this,
                            ) => number,
                        ): number;
                        reduce(
                            callbackfn: (
                                previousValue: number,
                                currentValue: number,
                                currentIndex: number,
                                array: this,
                            ) => number,
                            initialValue: number,
                        ): number;
                        reduce<U>(
                            callbackfn: (
                                previousValue: U,
                                currentValue: number,
                                currentIndex: number,
                                array: this,
                            ) => U,
                            initialValue: U,
                        ): U;
                        reduceRight(
                            callbackfn: (
                                previousValue: number,
                                currentValue: number,
                                currentIndex: number,
                                array: this,
                            ) => number,
                        ): number;
                        reduceRight(
                            callbackfn: (
                                previousValue: number,
                                currentValue: number,
                                currentIndex: number,
                                array: this,
                            ) => number,
                            initialValue: number,
                        ): number;
                        reduceRight<U>(
                            callbackfn: (
                                previousValue: U,
                                currentValue: number,
                                currentIndex: number,
                                array: this,
                            ) => U,
                            initialValue: U,
                        ): U;
                        reverse(): this;
                        set(array: ArrayLike<number>, offset?: number): void;
                        slice(start?: number, end?: number): Uint8Array<ArrayBuffer>;
                        some(
                            predicate: (value: number, index: number, array: this) => unknown,
                            thisArg?: any,
                        ): boolean;
                        sort(compareFn?: (a: number, b: number) => number): this;
                        subarray(begin?: number, end?: number): Uint8Array<ArrayBufferLike>;
                        toLocaleString(): string;
                        toLocaleString(
                            locales: string | string[],
                            options?: NumberFormatOptions,
                        ): string;
                        toReversed(): Uint8Array<ArrayBuffer>;
                        toSorted(
                            compareFn?: (a: number, b: number) => number,
                        ): Uint8Array<ArrayBuffer>;
                        toString(): string;
                        valueOf(): this;
                        values(): ArrayIterator<number>;
                        with(index: number, value: number): Uint8Array<ArrayBuffer>;
                        [key: number]: number;
                    }
                    | undefined;
                    tilemode: boolean;
                    transactionManager: {
                        strictMode: boolean;
                        abortTransaction(): void;
                        cancelUndoMark(): void;
                        canRedo(): boolean;
                        canUndo(): boolean;
                        clearUndoStack(): void;
                        commitTransaction(): void;
                        currentTransaction(): AcDbDatabaseTransaction | undefined;
                        endUndoMark(): void;
                        flushPendingEntityModifiedEvents(): void;
                        flushPendingLayerModifiedEvents(): void;
                        hasTransaction(): boolean;
                        isApplyingUndoRedo(): boolean;
                        isOpenedForWriteInTransaction(objectId: string): boolean;
                        isRecording(): boolean;
                        recordAppend(container: AcDbChangeContainer, object: AcDbObject): void;
                        recordRemove(container: AcDbChangeContainer, object: AcDbObject): void;
                        recordSysvar(name: string, before: unknown): void;
                        redo(): boolean;
                        resolveSymbolTableName(table: { objectId: string }): string;
                        runUndoable<T>(label: string, fn: (tr: AcDbDatabaseTransaction) => T): T;
                        startTransaction(): AcDbDatabaseTransaction;
                        startUndoMark(label?: string): void;
                        undo(): boolean;
                    };
                    unitmode: number;
                    version: {
                        capabilities: {
                            supportsBlockRecordTable: boolean;
                            supportsClassesSection: boolean;
                            supportsHandles: boolean;
                            supportsLineWeight: boolean;
                            supportsLwPolyline: boolean;
                            supportsObjectsSection: boolean;
                            supportsSubclassMarkers: boolean;
                            supportsTransparency: boolean;
                            supportsTrueColor: boolean;
                            supportsUtf8CodePage: boolean;
                        };
                        name: string;
                        value: number;
                    };
                    adoptExternalHandle(object: AcDbObject, preferredId: string): string;
                    beginEventBatch(): void;
                    clone(): this;
                    clonePreservingIdentity(): this;
                    close(): void;
                    commitObjectHandle(
                        object: AcDbObject,
                        hasId?: (id: string) => boolean,
                    ): void;
                    createDefaultData(options?: AcDbCreateDefaultDataOptions): void;
                    createExtensionDictionary(): string | undefined;
                    dxfIn(filer: AcDbDxfFiler): this;
                    dxfInFields(_filer: AcDbDxfFiler): this;
                    dxfOut(
                        _fileName?: string,
                        precision?: number,
                        version?: string | number | AcDbDwgVersion,
                        optionsOrThumbnail?:
                            | boolean
                            | { format?: "ascii"
                            | "binary"; saveThumbnailImage?: boolean },
                    ): string | Uint8Array<ArrayBufferLike>;
                    dxfOutFields(_filer: AcDbDxfFiler): this;
                    endEventBatch(): void;
                    endEventBatchChunked(
                        chunkSize: number,
                        onChunk?: (flushed: number, total: number) => void | Promise<void>,
                    ): Promise<void>;
                    ensureEntityStyleDefaults(entity: AcDbEntity): void;
                    ensureTextStyleDefaults(): void;
                    generateHandle(): string;
                    generateUniqueHandle(): string;
                    getAttr(attrName: string): any;
                    getAttrWithoutException(attrName: string): any;
                    getObjectById(
                        id: string,
                        _openErased?: boolean,
                    ): AcDbObject<AcDbObjectAttrs> | undefined;
                    getRootDictionaries(): AcDbDictionary<AcDbObject<AcDbObjectAttrs>>[];
                    getXData(appId: string): AcDbResultBuffer | undefined;
                    initializeHandleSeed(seed: string): void;
                    isEventBatched(): boolean;
                    isHandleTaken(
                        objectId: string,
                        except?: AcDbObject<AcDbObjectAttrs>,
                    ): boolean;
                    isLayerDrawable(layerName: string): boolean;
                    isUndoRecording(): boolean;
                    notifyDictObjectErased(object: AcDbObject, key: string): void;
                    notifyDictObjectSet(object: AcDbObject, key: string): void;
                    notifyEntityAppended(entity: AcDbEntity | AcDbEntity[]): void;
                    notifyEntityErased(entity: AcDbEntity | AcDbEntity[]): void;
                    openEntityForRead(
                        entityOrId: string | AcDbEntity,
                    ): AcDbEntity | undefined;
                    openEntityForWrite(
                        entityOrId: string | AcDbEntity,
                    ): AcDbEntity | undefined;
                    openObjectForRead<T extends AcDbObject<AcDbObjectAttrs>>(
                        objectId: string,
                    ): T | undefined;
                    openObjectForWrite<T extends AcDbObject<AcDbObjectAttrs>>(
                        objectId: string,
                    ): T | undefined;
                    openUri(url: string, options: AcDbOpenDatabaseOptions): Promise<void>;
                    read(
                        data: ArrayBuffer,
                        options: AcDbOpenDatabaseOptions,
                        fileType?: string,
                    ): Promise<void>;
                    regen(): Promise<void>;
                    registerObjectHandle(object: AcDbObject): void;
                    releaseObjectHandle(object: AcDbObject): void;
                    removeXData(appId: string): void;
                    restoreFrom(snapshot: this): void;
                    runDatabaseEdit(label: string, fn: () => void): void;
                    setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                    setDwgName(value: string): void;
                    setXData(resbuf: AcDbResultBuffer): void;
                    updateMaxHandle(handle: string): void;
                };
                dxfPaperSpace: boolean;
                dxfTypeName: string;
                extensionDictionary: string
                | undefined;
                geometricExtents: {
                    center: {
                        x: number;
                        y: number;
                        z: number;
                        "[iterator]"(): Generator<number, void, unknown>;
                        add(v: AcGeVectorLike): this;
                        addScalar(s: number): this;
                        addScaledVector(v: AcGeVector3dLike, s: number): this;
                        addVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                        angleTo(v: AcGeVector3d): number;
                        applyAxisAngle(axis: AcGeVector3dLike, angle: number): this;
                        applyEuler(euler: AcGeEuler): this;
                        applyMatrix3(m: AcGeMatrix2d): this;
                        applyMatrix4(m: AcGeMatrix3d): this;
                        applyNormalMatrix(m: AcGeMatrix2d): this;
                        applyQuaternion(q: AcGeQuaternion): this;
                        ceil(): this;
                        clamp(min: AcGeVector3dLike, max: AcGeVector3dLike): this;
                        clampLength(min: number, max: number): this;
                        clampScalar(minVal: number, maxVal: number): this;
                        clone(): AcGeVector3d;
                        copy(v: AcGeVectorLike): this;
                        cross(v: AcGeVector3dLike): this;
                        crossVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                        distanceTo(v: AcGeVector3dLike): number;
                        distanceToSquared(v: AcGeVector3dLike): number;
                        divide(v: AcGeVector3dLike): this;
                        divideScalar(scalar: number): this;
                        dot(v: AcGeVector3dLike): number;
                        equals(v: AcGeVector3dLike): boolean;
                        floor(): this;
                        fromArray(array: number[], offset?: number): this;
                        getComponent(index: number): number;
                        isParallelTo(vec: AcGeVector3d): boolean;
                        length(): number;
                        lengthSq(): number;
                        lerp(v: AcGeVector3dLike, alpha: number): this;
                        lerpVectors(
                            v1: AcGeVector3dLike,
                            v2: AcGeVector3dLike,
                            alpha: number,
                        ): this;
                        manhattanDistanceTo(v: AcGeVector3dLike): number;
                        manhattanLength(): number;
                        max(v: AcGeVector3dLike): this;
                        min(v: AcGeVector3dLike): this;
                        multiply(v: AcGeVector3dLike): this;
                        multiplyScalar(scalar: number): this;
                        multiplyVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                        negate(): this;
                        normalize(): this;
                        projectOnPlane(planeNormal: AcGeVector3d): this;
                        projectOnVector(v: AcGeVector3d): this;
                        random(): this;
                        randomDirection(): this;
                        reflect(normal: AcGeVector3dLike): this;
                        round(): this;
                        roundToZero(): this;
                        set(x: number, y: number, z: number): this;
                        setComponent(index: number, value: number): this;
                        setFromMatrix3Column(m: AcGeMatrix2d, index: number): this;
                        setFromMatrixColumn(m: AcGeMatrix3d, index: number): this;
                        setFromMatrixPosition(m: AcGeMatrix3d): this;
                        setFromMatrixScale(m: AcGeMatrix3d): this;
                        setLength(l: number): this;
                        setScalar(scalar: number): this;
                        setX(x: number): this;
                        setY(y: number): this;
                        setZ(z: number): this;
                        sub(v: AcGeVector3dLike): this;
                        subScalar(s: number): this;
                        subVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                        toArray(
                            array?: number[] | Float32Array<ArrayBufferLike>,
                            offset?: number,
                        ): number[] | Float32Array<ArrayBufferLike>;
                        transformDirection(m: AcGeMatrix3d): this;
                    };
                    max: {
                        x: number;
                        y: number;
                        z: number;
                        "[iterator]"(): Generator<number, void, unknown>;
                        add(v: AcGeVectorLike): this;
                        addScalar(s: number): this;
                        addScaledVector(v: AcGeVector3dLike, s: number): this;
                        addVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                        angleTo(v: AcGeVector3d): number;
                        applyAxisAngle(axis: AcGeVector3dLike, angle: number): this;
                        applyEuler(euler: AcGeEuler): this;
                        applyMatrix3(m: AcGeMatrix2d): this;
                        applyMatrix4(m: AcGeMatrix3d): this;
                        applyNormalMatrix(m: AcGeMatrix2d): this;
                        applyQuaternion(q: AcGeQuaternion): this;
                        ceil(): this;
                        clamp(min: AcGeVector3dLike, max: AcGeVector3dLike): this;
                        clampLength(min: number, max: number): this;
                        clampScalar(minVal: number, maxVal: number): this;
                        clone(): AcGeVector3d;
                        copy(v: AcGeVectorLike): this;
                        cross(v: AcGeVector3dLike): this;
                        crossVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                        distanceTo(v: AcGeVector3dLike): number;
                        distanceToSquared(v: AcGeVector3dLike): number;
                        divide(v: AcGeVector3dLike): this;
                        divideScalar(scalar: number): this;
                        dot(v: AcGeVector3dLike): number;
                        equals(v: AcGeVector3dLike): boolean;
                        floor(): this;
                        fromArray(array: number[], offset?: number): this;
                        getComponent(index: number): number;
                        isParallelTo(vec: AcGeVector3d): boolean;
                        length(): number;
                        lengthSq(): number;
                        lerp(v: AcGeVector3dLike, alpha: number): this;
                        lerpVectors(
                            v1: AcGeVector3dLike,
                            v2: AcGeVector3dLike,
                            alpha: number,
                        ): this;
                        manhattanDistanceTo(v: AcGeVector3dLike): number;
                        manhattanLength(): number;
                        max(v: AcGeVector3dLike): this;
                        min(v: AcGeVector3dLike): this;
                        multiply(v: AcGeVector3dLike): this;
                        multiplyScalar(scalar: number): this;
                        multiplyVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                        negate(): this;
                        normalize(): this;
                        projectOnPlane(planeNormal: AcGeVector3d): this;
                        projectOnVector(v: AcGeVector3d): this;
                        random(): this;
                        randomDirection(): this;
                        reflect(normal: AcGeVector3dLike): this;
                        round(): this;
                        roundToZero(): this;
                        set(x: number, y: number, z: number): this;
                        setComponent(index: number, value: number): this;
                        setFromMatrix3Column(m: AcGeMatrix2d, index: number): this;
                        setFromMatrixColumn(m: AcGeMatrix3d, index: number): this;
                        setFromMatrixPosition(m: AcGeMatrix3d): this;
                        setFromMatrixScale(m: AcGeMatrix3d): this;
                        setLength(l: number): this;
                        setScalar(scalar: number): this;
                        setX(x: number): this;
                        setY(y: number): this;
                        setZ(z: number): this;
                        sub(v: AcGeVector3dLike): this;
                        subScalar(s: number): this;
                        subVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                        toArray(
                            array?: number[] | Float32Array<ArrayBufferLike>,
                            offset?: number,
                        ): number[] | Float32Array<ArrayBufferLike>;
                        transformDirection(m: AcGeMatrix3d): this;
                    };
                    min: {
                        x: number;
                        y: number;
                        z: number;
                        "[iterator]"(): Generator<number, void, unknown>;
                        add(v: AcGeVectorLike): this;
                        addScalar(s: number): this;
                        addScaledVector(v: AcGeVector3dLike, s: number): this;
                        addVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                        angleTo(v: AcGeVector3d): number;
                        applyAxisAngle(axis: AcGeVector3dLike, angle: number): this;
                        applyEuler(euler: AcGeEuler): this;
                        applyMatrix3(m: AcGeMatrix2d): this;
                        applyMatrix4(m: AcGeMatrix3d): this;
                        applyNormalMatrix(m: AcGeMatrix2d): this;
                        applyQuaternion(q: AcGeQuaternion): this;
                        ceil(): this;
                        clamp(min: AcGeVector3dLike, max: AcGeVector3dLike): this;
                        clampLength(min: number, max: number): this;
                        clampScalar(minVal: number, maxVal: number): this;
                        clone(): AcGeVector3d;
                        copy(v: AcGeVectorLike): this;
                        cross(v: AcGeVector3dLike): this;
                        crossVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                        distanceTo(v: AcGeVector3dLike): number;
                        distanceToSquared(v: AcGeVector3dLike): number;
                        divide(v: AcGeVector3dLike): this;
                        divideScalar(scalar: number): this;
                        dot(v: AcGeVector3dLike): number;
                        equals(v: AcGeVector3dLike): boolean;
                        floor(): this;
                        fromArray(array: number[], offset?: number): this;
                        getComponent(index: number): number;
                        isParallelTo(vec: AcGeVector3d): boolean;
                        length(): number;
                        lengthSq(): number;
                        lerp(v: AcGeVector3dLike, alpha: number): this;
                        lerpVectors(
                            v1: AcGeVector3dLike,
                            v2: AcGeVector3dLike,
                            alpha: number,
                        ): this;
                        manhattanDistanceTo(v: AcGeVector3dLike): number;
                        manhattanLength(): number;
                        max(v: AcGeVector3dLike): this;
                        min(v: AcGeVector3dLike): this;
                        multiply(v: AcGeVector3dLike): this;
                        multiplyScalar(scalar: number): this;
                        multiplyVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                        negate(): this;
                        normalize(): this;
                        projectOnPlane(planeNormal: AcGeVector3d): this;
                        projectOnVector(v: AcGeVector3d): this;
                        random(): this;
                        randomDirection(): this;
                        reflect(normal: AcGeVector3dLike): this;
                        round(): this;
                        roundToZero(): this;
                        set(x: number, y: number, z: number): this;
                        setComponent(index: number, value: number): this;
                        setFromMatrix3Column(m: AcGeMatrix2d, index: number): this;
                        setFromMatrixColumn(m: AcGeMatrix3d, index: number): this;
                        setFromMatrixPosition(m: AcGeMatrix3d): this;
                        setFromMatrixScale(m: AcGeMatrix3d): this;
                        setLength(l: number): this;
                        setScalar(scalar: number): this;
                        setX(x: number): this;
                        setY(y: number): this;
                        setZ(z: number): this;
                        sub(v: AcGeVector3dLike): this;
                        subScalar(s: number): this;
                        subVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                        toArray(
                            array?: number[] | Float32Array<ArrayBufferLike>,
                            offset?: number,
                        ): number[] | Float32Array<ArrayBufferLike>;
                        transformDirection(m: AcGeMatrix3d): this;
                    };
                    size: {
                        x: number;
                        y: number;
                        z: number;
                        "[iterator]"(): Generator<number, void, unknown>;
                        add(v: AcGeVectorLike): this;
                        addScalar(s: number): this;
                        addScaledVector(v: AcGeVector3dLike, s: number): this;
                        addVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                        angleTo(v: AcGeVector3d): number;
                        applyAxisAngle(axis: AcGeVector3dLike, angle: number): this;
                        applyEuler(euler: AcGeEuler): this;
                        applyMatrix3(m: AcGeMatrix2d): this;
                        applyMatrix4(m: AcGeMatrix3d): this;
                        applyNormalMatrix(m: AcGeMatrix2d): this;
                        applyQuaternion(q: AcGeQuaternion): this;
                        ceil(): this;
                        clamp(min: AcGeVector3dLike, max: AcGeVector3dLike): this;
                        clampLength(min: number, max: number): this;
                        clampScalar(minVal: number, maxVal: number): this;
                        clone(): AcGeVector3d;
                        copy(v: AcGeVectorLike): this;
                        cross(v: AcGeVector3dLike): this;
                        crossVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                        distanceTo(v: AcGeVector3dLike): number;
                        distanceToSquared(v: AcGeVector3dLike): number;
                        divide(v: AcGeVector3dLike): this;
                        divideScalar(scalar: number): this;
                        dot(v: AcGeVector3dLike): number;
                        equals(v: AcGeVector3dLike): boolean;
                        floor(): this;
                        fromArray(array: number[], offset?: number): this;
                        getComponent(index: number): number;
                        isParallelTo(vec: AcGeVector3d): boolean;
                        length(): number;
                        lengthSq(): number;
                        lerp(v: AcGeVector3dLike, alpha: number): this;
                        lerpVectors(
                            v1: AcGeVector3dLike,
                            v2: AcGeVector3dLike,
                            alpha: number,
                        ): this;
                        manhattanDistanceTo(v: AcGeVector3dLike): number;
                        manhattanLength(): number;
                        max(v: AcGeVector3dLike): this;
                        min(v: AcGeVector3dLike): this;
                        multiply(v: AcGeVector3dLike): this;
                        multiplyScalar(scalar: number): this;
                        multiplyVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                        negate(): this;
                        normalize(): this;
                        projectOnPlane(planeNormal: AcGeVector3d): this;
                        projectOnVector(v: AcGeVector3d): this;
                        random(): this;
                        randomDirection(): this;
                        reflect(normal: AcGeVector3dLike): this;
                        round(): this;
                        roundToZero(): this;
                        set(x: number, y: number, z: number): this;
                        setComponent(index: number, value: number): this;
                        setFromMatrix3Column(m: AcGeMatrix2d, index: number): this;
                        setFromMatrixColumn(m: AcGeMatrix3d, index: number): this;
                        setFromMatrixPosition(m: AcGeMatrix3d): this;
                        setFromMatrixScale(m: AcGeMatrix3d): this;
                        setLength(l: number): this;
                        setScalar(scalar: number): this;
                        setX(x: number): this;
                        setY(y: number): this;
                        setZ(z: number): this;
                        sub(v: AcGeVector3dLike): this;
                        subScalar(s: number): this;
                        subVectors(a: AcGeVector3dLike, b: AcGeVector3dLike): this;
                        toArray(
                            array?: number[] | Float32Array<ArrayBufferLike>,
                            offset?: number,
                        ): number[] | Float32Array<ArrayBufferLike>;
                        transformDirection(m: AcGeMatrix3d): this;
                    };
                    applyMatrix4(matrix: AcGeMatrix3d): this;
                    clampPoint(point: AcGeVector3dLike, target: AcGeVector3d): AcGeVector3d;
                    clone(): AcGeBox3d;
                    containsBox(box: AcGeBox3d): boolean;
                    containsPoint(point: AcGeVector3dLike): boolean;
                    copy(box: AcGeBox3d): this;
                    distanceToPoint(point: AcGeVector3dLike): number;
                    equals(box: AcGeBox3d): boolean;
                    expandByPoint(point: AcGeVector3dLike): this;
                    expandByScalar(scalar: number): this;
                    expandByVector(vector: AcGeVector3dLike): this;
                    getCenter(target: AcGeVector3d): AcGeVector3d;
                    getParameter(point: AcGeVector3dLike, target: AcGeVector3d): AcGeVector3d;
                    getSize(target: AcGeVector3d): AcGeVector3d;
                    intersect(box: AcGeBox3d): this;
                    intersectsBox(box: AcGeBox3d): boolean;
                    intersectsPlane(plane: AcGePlane): boolean;
                    isEmpty(): boolean;
                    makeEmpty(): this;
                    set(min: AcGeVector3dLike, max: AcGeVector3dLike): this;
                    setFromArray(array: number[]): this;
                    setFromCenterAndSize(
                        center: AcGeVector3dLike,
                        size: AcGeVector3dLike,
                    ): this;
                    setFromPoints(points: AcGeVector3dLike[]): this;
                    translate(offset: AcGeVector3dLike): this;
                    union(box: AcGeBox3d): this;
                };
                isTemp: any;
                layer: string;
                lineStyle: {
                    description: string;
                    name: string;
                    pattern?: {
                        elementLength: number;
                        elementTypeFlag: number;
                        offsetX?: number;
                        offsetY?: number;
                        rotation?: number;
                        scale?: number;
                        shapeNumber?: number;
                        styleObjectId?: string;
                        text?: string;
                    }[];
                    standardFlag: number;
                    totalPatternLength: number;
                    type: AcGiStyleType;
                };
                lineType: string;
                linetypeScale: number;
                lineWeight: AcGiLineWeight;
                objectId: string;
                ownerId: string;
                properties: {
                    groups: {
                        groupName: string;
                        properties: {
                            accessor: { set?: (...)
                            | (...); get(): unknown };
                            editable?: boolean;
                            itemSchema?: { properties: ... };
                            name: string;
                            options?: (...)[];
                            skipTranslation?: boolean;
                            type: AcDbEntityPropertyType;
                        }[];
                    }[];
                    type: string;
                };
                resolvedColor: {
                    blue: number
                    | undefined;
                    colorIndex: number | undefined;
                    colorMethod: AcCmColorMethod;
                    colorName: string | undefined;
                    cssColor: string | undefined;
                    green: number | undefined;
                    hexColor: string | undefined;
                    isByACI: boolean;
                    isByBlock: boolean;
                    isByColor: boolean;
                    isByLayer: boolean;
                    isForeground: boolean;
                    red: number | undefined;
                    RGB: number | undefined;
                    clone(): AcCmColor;
                    copy(other: AcCmColor): this;
                    cssColorAlpha(alpha: number): string | undefined;
                    equals(other: AcCmColor): boolean;
                    setByBlock(value?: number): this;
                    setByLayer(value?: number): this;
                    setForeground(): this;
                    setRGB(r: number, g: number, b: number): this;
                    setRGBFromCss(cssString: string): this;
                    setRGBValue(value: number | null | undefined): this;
                    setScalar(scalar: number): this;
                    toString(): string;
                };
                transparency: {
                    alpha: number;
                    isByAlpha: boolean;
                    isByBlock: boolean;
                    isByLayer: boolean;
                    isClear: boolean;
                    isInvalid: boolean;
                    isSolid: boolean;
                    method: AcCmTransparencyMethod;
                    percentage: number
                    | undefined;
                    clone(): AcCmTransparency;
                    equals(other: AcCmTransparency): boolean;
                    serialize(): number;
                    toString(): string;
                };
                type: string;
                visibility: boolean;
                clone(): this;
                clonePreservingIdentity(): this;
                close(): void;
                createExtensionDictionary(): string | undefined;
                dxfIn(filer: AcDbDxfFiler): this;
                dxfInFields(filer: AcDbDxfFiler): this;
                dxfOut(...args: unknown[]): unknown;
                dxfOutFields(filer: AcDbDxfFiler): this;
                erase(): boolean;
                getAttr(attrName: string): any;
                getAttrWithoutException(attrName: string): any;
                getXData(appId: string): AcDbResultBuffer | undefined;
                removeXData(appId: string): void;
                resolveEffectiveProperties(): void;
                restoreFrom(snapshot: this): void;
                setAttr<A extends string>(attrName: A, val?: AcDbObjectAttrs[A]): void;
                setXData(resbuf: AcDbResultBuffer): void;
                subGetGripPoints(): AcGePoint3d[];
                subGetOsnapPoints(
                    osnapMode: AcDbOsnapMode,
                    pickPoint: AcGePoint3dLike,
                    lastPoint: AcGePoint3dLike,
                    snapPoints: AcGePoint3dLike[],
                    gsMark?: any,
                    insertionMat?: AcGeMatrix3d,
                ): void;
                subMoveGripPointsAt(indices: number[], offset: AcGeVector3dLike): this;
                subWorldDraw(
                    renderer: AcGiRenderer,
                    delay?: boolean,
                ): AcGiEntity | undefined;
                transformBy(matrix: AcGeMatrix3d): this;
                worldDraw(renderer: AcGiRenderer, delay?: boolean): AcGiEntity | undefined;
            }
            | null,
        >

        The hovered CAD entity object (null if none)

      • hovered: Ref<boolean, boolean>

        Whether an entity is currently hovered

      • id: Ref<string | null, string | null>

        Object ID of the hovered entity

      • mouse: Ref<
            { x: number; y: number },
            { x: number; y: number } | { x: number; y: number },
        >

        Current mouse coordinates during hover

      import { useHover } from '@/composables/useHover'
      import { computed } from 'vue'
      import { colorName, entityName } from '@/locale'

      export default {
      setup() {
      const { hovered, entity, mouse } = useHover()

      // Example: compute entity info for display
      const info = computed(() => {
      if (!entity.value) return null
      return {
      type: entityName(entity.value),
      color: colorName(entity.value.color.toString()),
      layer: entity.value.layer,
      lineType: entity.value.lineType
      }
      })

      // Example: compute tooltip position
      const tooltipStyle = computed(() => ({
      left: `${mouse.value.x + 10}px`,
      top: `${mouse.value.y + 10}px`
      }))

      return { hovered, info, tooltipStyle }
      }
      }