import { DxfBaseReader, IGroup } from "../DxfBaseReader";
import IGeometry, { IEntity, IPoint, EntityType } from "./geomtry";
import { IVertexEntity } from "./vertex";
import type { DwgPolyline2dEntity } from "@mlightcad/libredwg-web";
export interface IPolylineEntity extends IEntity {
    vertices: IVertexEntity[];
    thickness: number;
    shape: boolean;
    includesCurveFitVertices: boolean;
    includesSplineFitVertices: boolean;
    is3dPolyline: boolean;
    is3dPolygonMesh: boolean;
    is3dPolygonMeshClosed: boolean;
    isPolyfaceMesh: boolean;
    hasContinuousLinetypePattern: boolean;
    extrusionDirection: IPoint;
}
export default class Polyline implements IGeometry {
    ForEntityType: EntityType;
    parseEntity(scanner: DxfBaseReader, curr: IGroup): IPolylineEntity;
    parseDwgEntity(entity: DwgPolyline2dEntity): IEntity;
}
/**
 * Dxf doesn't really has "POLYLINE2D", but libredwg has.
 */
export declare class Polyline2d extends Polyline {
    ForEntityType: "POLYLINE2D";
    parseEntity(scanner: DxfBaseReader, curr: IGroup): IPolylineEntity;
    parseDwgEntity(entity: DwgPolyline2dEntity): IEntity;
}
/**
 * Dxf doesn't really has "POLYLINE3D", but libredwg has.
 */
export declare class Polyline3d extends Polyline {
    ForEntityType: "POLYLINE3D";
    parseEntity(scanner: DxfBaseReader, curr: IGroup): IPolylineEntity;
    parseDwgEntity(entity: DwgPolyline2dEntity): IEntity;
}
