import { Entity } from './Entity.js'; import { CadObject } from '../CadObject.js'; import { CadDocument } from '../CadDocument.js'; import { DimensionStyle } from '../Tables/DimensionStyle.js'; import { BlockRecord } from '../Tables/BlockRecord.js'; import { DimensionType } from './DimensionType.js'; import { AttachmentPointType } from './AttachmentPointType.js'; import { LineSpacingStyleType } from './LineSpacingStyleType.js'; import { CollectionChangedEventArgs } from '../CollectionChangedEventArgs.js'; import { MText } from './MText.js'; import { Point } from './Point.js'; import { XYZ } from '../Math/XYZ.js'; export declare abstract class Dimension extends Entity { attachmentPoint: AttachmentPointType; get block(): BlockRecord | null; set block(value: BlockRecord | null); definitionPoint: XYZ; get flags(): DimensionType; /** @internal */ set flags(value: DimensionType); flipArrow1: boolean; flipArrow2: boolean; get hasStyleOverride(): boolean; horizontalDirection: number; insertionPoint: XYZ; get isAngular(): boolean; get isTextUserDefinedLocation(): boolean; set isTextUserDefinedLocation(value: boolean); lineSpacingFactor: number; lineSpacingStyle: LineSpacingStyleType; abstract get measurement(): number; normal: XYZ; get style(): DimensionStyle; set style(value: DimensionStyle); get subclassMarker(): string; text: string; textMiddlePoint: XYZ; textRotation: number; version: number; protected _block: BlockRecord | null; protected _flags: DimensionType; private _style; protected constructor(type: DimensionType); applyTransform(transform: unknown): void; clone(): CadObject; getActiveDimensionStyle(): DimensionStyle; getMeasurementText(style?: DimensionStyle): string; getStyleOverrideMap(): Map | null; setDimensionOverride(styleOverride: DimensionStyle): void; setStyleOverrideMap(map: Map | null): void; updateBlock(): void; /** @internal */ assignDocument(doc: CadDocument): void; /** @internal */ unassignDocument(): void; protected createBlock(): void; protected createDefinitionPoint(location: XYZ): Point; protected createTextEntity(insertPoint: XYZ, text: string): MText; protected populateBlock(lineSegments: Array, definitionPoints: XYZ[], textPoint?: XYZ): void; protected static angleBetweenVectors(first: XYZ, second: XYZ): number; protected static areParallel(first: XYZ, second: XYZ): boolean; protected isFinitePoint(point: XYZ): boolean; private _addBlockLine; protected static intersectLinesXY(firstStart: XYZ, firstEnd: XYZ, secondStart: XYZ, secondEnd: XYZ): XYZ; protected static isZeroVector(vector: XYZ, epsilon?: number): boolean; protected static subtractPoints(first: XYZ, second: XYZ): XYZ; protected _tableOnRemove(sender: unknown, e: CollectionChangedEventArgs): void; private _generateBlockName; private _formatMeasurement; } export { DimensionType } from './DimensionType.js'; //# sourceMappingURL=Dimension.d.ts.map