import { Entity } from './Entity.js'; import { CadObject } from '../CadObject.js'; import { ObjectType } from '../Types/ObjectType.js'; import { HatchGradientPattern } from './HatchGradientPattern.js'; import { HatchPattern } from './HatchPattern.js'; import { HatchPatternType } from './HatchPatternType.js'; import { HatchStyleType } from './HatchStyleType.js'; import { BoundaryPathFlags } from './BoundaryPathFlags.js'; import { BoundingBox } from '../Math/BoundingBox.js'; import { XYZ } from '../Math/XYZ.js'; import { XY } from '../Math/XY.js'; export declare enum EdgeType { Polyline = 0, Line = 1, CircularArc = 2, EllipticArc = 3, Spline = 4 } export declare abstract class HatchBoundaryPathEdge { abstract get type(): EdgeType; abstract applyTransform(transform: unknown): void; clone(): HatchBoundaryPathEdge; abstract getBoundingBox(): BoundingBox | null; abstract toEntity(): Entity; } export declare class HatchBoundaryPathArc extends HatchBoundaryPathEdge { center: XY; counterClockWise: boolean; endAngle: number; radius: number; startAngle: number; get type(): EdgeType; applyTransform(transform: unknown): void; getBoundingBox(): BoundingBox | null; polygonalVertexes(precision: number): XYZ[]; toEntity(): Entity; } export declare class HatchBoundaryPathEllipse extends HatchBoundaryPathEdge { center: XY; counterClockWise: boolean; endAngle: number; majorAxisEndPoint: XY; minorToMajorRatio: number; startAngle: number; get type(): EdgeType; applyTransform(transform: unknown): void; getBoundingBox(): BoundingBox | null; polygonalVertexes(precision: number): XYZ[]; toEntity(): Entity; } export declare class HatchBoundaryPathLine extends HatchBoundaryPathEdge { end: XY; start: XY; get type(): EdgeType; applyTransform(transform: unknown): void; getBoundingBox(): BoundingBox; toEntity(): Entity; } export declare class HatchBoundaryPathPolyline extends HatchBoundaryPathEdge { get bulges(): number[]; get hasBulge(): boolean; isClosed: boolean; get type(): EdgeType; vertices: XYZ[]; applyTransform(transform: unknown): void; clone(): HatchBoundaryPathPolyline; getBoundingBox(): BoundingBox | null; toEntity(): Entity; } export declare class HatchBoundaryPathSpline extends HatchBoundaryPathEdge { controlPoints: XYZ[]; degree: number; endTangent: XY; fitPoints: XY[]; knots: number[]; isPeriodic: boolean; isRational: boolean; startTangent: XY; get weights(): number[]; get type(): EdgeType; applyTransform(transform: unknown): void; clone(): HatchBoundaryPathSpline; getBoundingBox(): BoundingBox | null; polygonalVertexes(precision: number): XYZ[]; toEntity(): Entity; } export declare class HatchBoundaryPath { edges: HatchBoundaryPathEdge[]; entities: Entity[]; get flags(): BoundaryPathFlags; set flags(value: BoundaryPathFlags); get isPolyline(): boolean; private _flags; constructor(edges?: HatchBoundaryPathEdge[]); applyTransform(transform: unknown): void; clone(): HatchBoundaryPath; getBoundingBox(): BoundingBox | null; getPoints(precision?: number): XYZ[]; updateEdges(): void; } export declare class Hatch extends Entity { elevation: number; gradientColor: HatchGradientPattern; isAssociative: boolean; isDouble: boolean; isSolid: boolean; normal: XYZ; get objectName(): string; get objectType(): ObjectType; paths: HatchBoundaryPath[]; pattern: HatchPattern; get patternAngle(): number; set patternAngle(value: number); get patternScale(): number; set patternScale(value: number); patternType: HatchPatternType; pixelSize: number; seedPoints: XY[]; style: HatchStyleType; get subclassMarker(): string; private _patternAngle; private _patternScale; applyTransform(transform: unknown): void; clone(): CadObject; explode(): IterableIterator; getBoundingBox(): BoundingBox | null; } export { HatchPattern } from './HatchPattern.js'; export { HatchStyleType } from './HatchStyleType.js'; export { HatchPatternType } from './HatchPatternType.js'; export { BoundaryPathFlags } from './BoundaryPathFlags.js'; export { HatchGradientPattern } from './HatchGradientPattern.js'; //# sourceMappingURL=Hatch.d.ts.map