import { Base } from "./base-inputs";
export declare namespace JSCAD {
    type JSCADEntity = any;
    class PolylinePropertiesDto {
        /**
         * Provide options without default values
         */
        constructor(points?: Base.Point3[], isClosed?: boolean);
        /**
         * Points of the polyline
         */
        points: Base.Point3[];
        /**
         * Can contain is closed information
         */
        isClosed?: boolean;
        /**
         * Can contain color information
         */
        color?: string | number[];
    }
    enum solidCornerTypeEnum {
        /**
         * Edges will meet at a corner
         */
        edge = "edge",
        /**
         * Edges will be rounded on the corner
         */
        round = "round",
        /**
         * Edges will be chamfered on the corner
         */
        chamfer = "chamfer"
    }
    enum jscadTextAlignEnum {
        /**
         * Aligns text to the left
         */
        left = "left",
        /**
         * Aligns text to the center
         */
        center = "center",
        /**
         * Aligns text to the right
         */
        right = "right"
    }
    class DrawSolidMeshDto<T> {
        /**
         * Provide options without default values
         */
        constructor(mesh?: JSCADEntity, opacity?: number, colours?: string | string[], updatable?: boolean, hidden?: boolean, jscadMesh?: T);
        /**
         * Solid Jscad mesh
         */
        mesh: JSCADEntity;
        /**
         * Value between 0 and 1
         * @default 1
         * @minimum 0
         * @maximum 1
         * @step 0.1
         */
        opacity: number;
        /**
         * Hex colour string
         * @default #444444
         */
        colours: string | string[];
        /**
         * Indicates wether this solid will be transformed in time
         * @default false
         */
        updatable: boolean;
        /**
         * Hidden
         * @default false
         */
        hidden: boolean;
        /**
         * Solid mesh variable in case it already exists and needs updating
         * @default undefined
         * @optional true
         * @ignore true
         */
        jscadMesh?: T;
    }
    class DrawSolidMeshesDto<T> {
        /**
         * Provide options without default values
         */
        constructor(meshes?: JSCADEntity[], opacity?: number, colours?: string | string[], updatable?: boolean, hidden?: boolean, jscadMesh?: T);
        /**
         * Solid Jscad meshes
         * @default undefined
         * @optional true
         */
        meshes: JSCADEntity[];
        /**
         * Value between 0 and 1
         * @default 1
         * @minimum 0
         * @maximum 1
         * @step 0.1
         */
        opacity: number;
        /**
         * Hex colour string
         * @default #444444
         */
        colours: string | string[];
        /**
         * Indicates wether this solid will be transformed in time
         * @default false
         */
        updatable: boolean;
        /**
         * Should be hidden
         * @default false
         */
        hidden: boolean;
        /**
         * Solid mesh variable in case it already exists and needs updating
         * @default undefined
         * @optional true
         * @ignore true
         */
        jscadMesh?: T;
    }
    class DrawPathDto<T> {
        /**
         * Provide options without default values
         */
        constructor(path?: JSCADEntity, colour?: string, opacity?: number, width?: number, updatable?: boolean, pathMesh?: T);
        /**
         * 2D Path to draw
         * @default undefined
         */
        path: JSCADEntity;
        /**
         * Colour of the path
         * @default #444444
         */
        colour: string;
        /**
         * Opacity of the path
         * @default 1
         * @minimum 0
         * @maximum 1
         * @step 0.1
         */
        opacity: number;
        /**
         * Width of the path
         * @default 10
         * @minimum 0
         * @maximum Infinity
         * @step 1
         */
        width: number;
        /**
         * Indicates wether the path will change in time
         * @default false
         */
        updatable: boolean;
        /**
         * Path mesh variable that will be updated if updatable property is set to true
         * @default undefined
         * @optional true
         * @ignore true
         */
        pathMesh?: T;
    }
    class TransformSolidsDto {
        constructor(meshes?: JSCADEntity[], transformation?: Base.TransformMatrixes);
        /**
         * Solids to be transformed
         * @default undefined
         */
        meshes: JSCADEntity[];
        /**
         * Transformation matrix or a list of transformation matrixes
         * @default undefined
         */
        transformation: Base.TransformMatrixes;
    }
    class TransformSolidDto {
        constructor(mesh?: JSCADEntity, transformation?: Base.TransformMatrixes);
        /**
         * Solid to be transformed
         * @default undefined
         */
        mesh: JSCADEntity;
        /**
         * Transformation matrix or a list of transformation matrixes
         * @default undefined
         */
        transformation: Base.TransformMatrixes;
    }
    class DownloadSolidDto {
        constructor(mesh?: JSCADEntity, fileName?: string);
        /**
         * Solid to be downloaded
         * @default undefined
         */
        mesh: JSCADEntity;
        /**
         * File name
         * @default undefined
         */
        fileName: string;
    }
    class DownloadGeometryDto {
        constructor(geometry?: JSCADEntity | JSCADEntity[], fileName?: string, options?: any);
        /**
         * Solid or path to be downloaded, also supports multiple geometries in array
         * @default undefined
         */
        geometry: JSCADEntity | JSCADEntity[];
        /**
         * File name
         * @default jscad-geometry
         */
        fileName: string;
        /**
         * Options
         * @default undefined
         * @optional true
         */
        options: any;
    }
    class DownloadSolidsDto {
        constructor(meshes?: JSCADEntity[], fileName?: string);
        /**
         * Solids to be downloaded
         * @default undefined
         */
        meshes: JSCADEntity[];
        /**
         * File name
         * @default undefined
         */
        fileName: string;
    }
    class ColorizeDto {
        constructor(geometry?: JSCADEntity, color?: string);
        /**
         * Solid to be colorized
         * @default undefined
         */
        geometry: JSCADEntity | JSCADEntity[];
        /**
         * Hex color string
         * @default #0000ff
         */
        color: string;
    }
    class BooleanObjectsDto {
        constructor(meshes?: JSCADEntity[]);
        /**
         * Contains solid Jscad mesh objects that will be used to perform boolean operation
         * @default undefined
         */
        meshes: JSCADEntity[];
    }
    class BooleanTwoObjectsDto {
        constructor(first?: JSCADEntity, second?: JSCADEntity);
        /**
         * Contains Jscad Solid
         * @default undefined
         */
        first: JSCADEntity;
        /**
         * Contains Jscad Solid
         * @default undefined
         */
        second: JSCADEntity;
    }
    class BooleanObjectsFromDto {
        constructor(from?: JSCADEntity, meshes?: JSCADEntity[]);
        /**
         * Contains Jscad Solid
         * @default undefined
         */
        from: JSCADEntity;
        /**
         * Contains Jscad Solid
         * @default undefined
         */
        meshes: JSCADEntity[];
    }
    class ExpansionDto {
        constructor(geometry?: JSCADEntity, delta?: number, corners?: solidCornerTypeEnum, segments?: number);
        /**
         * Can contain various Jscad entities from Solid category
         * @default undefined
         */
        geometry: JSCADEntity;
        /**
         * Delta (+/-) of expansion
         * @default 0.1
         * @minimum -Infinity
         * @maximum Infinity
         * @step 0.1
         */
        delta: number;
        /**
         * Type of corner to create during of expansion; edge, chamfer, round
         * @default edge
         */
        corners: solidCornerTypeEnum;
        /**
         * Integer number of segments when creating round corners
         * @default 24
         * @minimum 0
         * @maximum Infinity
         * @step 1
         */
        segments: number;
    }
    class OffsetDto {
        constructor(geometry?: JSCADEntity, delta?: number, corners?: solidCornerTypeEnum, segments?: number);
        /**
         * Can contain various Jscad entities from Solid category
         * @default undefined
         */
        geometry: JSCADEntity;
        /**
         * Delta (+/-) of offset
         * @default 0.1
         * @minimum -Infinity
         * @maximum Infinity
         * @step 0.1
         */
        delta: number;
        /**
         * Type of corner to create during the offset; edge, chamfer, round.
         * @default edge
         */
        corners: solidCornerTypeEnum;
        /**
         * Integer number of segments when creating round corners
         * @default 24
         * @minimum 0
         * @maximum Infinity
         * @step 1
         */
        segments: number;
    }
    class ExtrudeLinearDto {
        constructor(geometry?: JSCADEntity, height?: number, twistAngle?: number, twistSteps?: number);
        /**
         * Geometry to extrude
         * @default undefined
         */
        geometry: JSCADEntity;
        /**
         * Height of linear extrude
         * @default 1
         * @minimum -Infinity
         * @maximum Infinity
         * @step 0.1
         */
        height: number;
        /**
         * Twist angle in degrees
         * @default 90
         * @minimum -Infinity
         * @maximum Infinity
         * @step 1
         */
        twistAngle: number;
        /**
         * Number of twist steps
         * @default 15
         * @minimum 0
         * @maximum Infinity
         * @step 1
         */
        twistSteps: number;
    }
    class HullDto {
        constructor(meshes?: JSCADEntity[]);
        /**
         * Geometries to use in hull
         * @default undefined
         */
        meshes: JSCADEntity[];
    }
    class ExtrudeRectangularDto {
        constructor(geometry?: JSCADEntity, height?: number, size?: number);
        /**
         * Geometry to extrude
         * @default undefined
         */
        geometry: JSCADEntity;
        /**
         * Height of linear extrude
         * @default 1
         * @minimum 0
         * @maximum Infinity
         * @step 0.1
         */
        height: number;
        /**
         * Size of the rectangle
         * @default 1
         * @minimum 0
         * @maximum Infinity
         * @step 0.1
         */
        size: number;
    }
    class ExtrudeRectangularPointsDto {
        constructor(points?: Base.Point3[], height?: number, size?: number);
        /**
         * Points for a path
         * @default undefined
         */
        points: Base.Point3[];
        /**
         * Height of linear extrude
         * @default 1
         * @minimum 0
         * @maximum Infinity
         * @step 0.1
         */
        height: number;
        /**
         * Size of the rectangle
         * @default 1
         * @minimum 0
         * @maximum Infinity
         * @step 0.1
         */
        size: number;
    }
    class ExtrudeRotateDto {
        constructor(polygon?: JSCADEntity, angle?: number, startAngle?: number, segments?: number);
        /**
         * Polygon to extrude
         * @default undefined
         */
        polygon: JSCADEntity;
        /**
         * Angle in degrees
         * @default 90
         * @minimum -Infinity
         * @maximum Infinity
         * @step 1
         */
        angle: number;
        /**
         * Start angle in degrees
         * @default 0
         * @minimum -Infinity
         * @maximum Infinity
         * @step 1
         */
        startAngle: number;
        /**
         * Number of segments
         * @default 24
         * @minimum 0
         * @maximum Infinity
         * @step 1
         */
        segments: number;
    }
    class PolylineDto {
        constructor(polyline?: PolylinePropertiesDto);
        /**
         * Polyline with points
         */
        polyline: PolylinePropertiesDto;
    }
    class CurveDto {
        constructor(curve?: any);
        /**
         * Nurbs curve
         */
        curve: any;
    }
    class PointsDto {
        constructor(points?: Base.Point3[]);
        /**
         * Points
         */
        points: Base.Point3[];
    }
    class PathDto {
        constructor(path?: JSCADEntity);
        /**
         * 2D path
         * @default undefined
         */
        path: JSCADEntity;
    }
    class PathFromPointsDto {
        constructor(points?: Base.Point2[], closed?: boolean);
        /**
         * Points through which to create a path
         * @default undefined
         */
        points: Base.Point2[];
        /**
         * Indicates wether we want to create a closed path
         * @default false
         */
        closed: boolean;
    }
    class PathsFromPointsDto {
        constructor(pointsLists?: Base.Point3[][] | Base.Point2[][]);
        /**
         * Points
         * @default undefined
         */
        pointsLists: Base.Point3[][] | Base.Point2[][];
    }
    class PathFromPolylineDto {
        constructor(polyline?: PolylinePropertiesDto, closed?: boolean);
        /**
         * Polyline
         * @default undefined
         */
        polyline: PolylinePropertiesDto;
        /**
         * Indicates wether we want to create a closed path
         * @default false
         */
        closed: boolean;
    }
    class PathAppendCurveDto {
        constructor(curve?: JSCADEntity, path?: JSCADEntity);
        /**
         * Verb Nurbs curve
         * @default undefined
         */
        curve: JSCADEntity;
        /**
         * Path to append the curve to
         * @default undefined
         */
        path: JSCADEntity;
    }
    class PathAppendPointsDto {
        constructor(points?: Base.Point2[], path?: JSCADEntity);
        /**
         * Points to append
         * @default undefined
         */
        points: Base.Point2[];
        /**
         * Path to append the points to
         * @default undefined
         */
        path: JSCADEntity;
    }
    class PathAppendPolylineDto {
        constructor(polyline?: PolylinePropertiesDto, path?: JSCADEntity);
        /**
         * Polyline to append
         * @default undefined
         */
        polyline: PolylinePropertiesDto;
        /**
         * Path to append the polyline to
         * @default undefined
         */
        path: JSCADEntity;
    }
    class PathAppendArcDto {
        constructor(path?: JSCADEntity, endPoint?: Base.Point2, xAxisRotation?: number, clockwise?: boolean, large?: boolean, segments?: number, radiusX?: number, radiusY?: number);
        /**
         * Path to append the arc to
         * @default undefined
         */
        path: JSCADEntity;
        /**
         * End point of an arc
         * @default [1, 1]
         */
        endPoint: Base.Point2;
        /**
         * Rotation (degrees) of the X axis of the arc with respect to the X axis of the coordinate system
         * @default 90
         * @minimum -Infinity
         * @maximum Infinity
         * @step 1
         */
        xAxisRotation: number;
        /**
         * Draw an arc clockwise with respect to the center point
         * @default true
         */
        clockwise: boolean;
        /**
         * Draw an arc longer than PI radians
         * @default false
         */
        large: boolean;
        /**
         * Number of segments for the arc
         * @default 24
         * @minimum 0
         * @maximum Infinity
         * @step 1
         */
        segments: number;
        /**
         * X radius of an arc
         * @default 1
         * @minimum -Infinity
         * @maximum Infinity
         * @step 0.1
         */
        radiusX: number;
        /**
         * Y radius of an arc
         * @default 1
         * @minimum -Infinity
         * @maximum Infinity
         * @step 0.1
         */
        radiusY: number;
    }
    class CircleDto {
        constructor(center?: Base.Point2, radius?: number, segments?: number);
        /**
         * Center of the circle
         * @default [0, 0]
         */
        center: Base.Point2;
        /**
         * Radius of the circle
         * @default 1
         * @minimum -Infinity
         * @maximum Infinity
         * @step 0.1
         */
        radius: number;
        /**
         * Segment number
         * @default 24
         * @minimum 0
         * @maximum Infinity
         * @step 1
         */
        segments: number;
    }
    class EllipseDto {
        constructor(center?: Base.Point2, radius?: Base.Point2, segments?: number);
        /**
         * Center of the circle
         * @default [0, 0]
         */
        center: Base.Point2;
        /**
         * Radius of the circle in [x, y] form
         * @default [1, 2]
         */
        radius: Base.Point2;
        /**
         * Segment number
         * @default 24
         * @minimum 0
         * @maximum Infinity
         * @step 1
         */
        segments: number;
    }
    class SquareDto {
        constructor(center?: Base.Point2, size?: number);
        /**
         * Center of the 2D square
         * @default [0, 0]
         */
        center: Base.Point2;
        /**
         * Size of the square
         * @default 1
         * @minimum -Infinity
         * @maximum Infinity
         * @step 0.1
         */
        size: number;
    }
    class RectangleDto {
        constructor(center?: Base.Point2, width?: number, length?: number);
        /**
         * Center of the 2D rectangle
         * @default [0, 0]
         */
        center: Base.Point2;
        /**
         * Width of the rectangle
         * @default 1
         * @minimum -Infinity
         * @maximum Infinity
         * @step 0.1
         */
        width: number;
        /**
         * Length of the rectangle
         * @default 1
         * @minimum -Infinity
         * @maximum Infinity
         * @step 0.1
         */
        length: number;
    }
    class RoundedRectangleDto {
        constructor(center?: Base.Point2, roundRadius?: number, segments?: number, width?: number, length?: number);
        /**
         * Center of the 2D rectangle
         * @default [0, 0]
         */
        center: Base.Point2;
        /**
         * The radius to round the rectangle edge
         * @default 0.2
         * @minimum -Infinity
         * @maximum Infinity
         * @step 0.1
         */
        roundRadius: number;
        /**
         * Number of segments for corners
         * @default 24
         * @minimum 0
         * @maximum Infinity
         * @step 1
         */
        segments: number;
        /**
         * Width of the rectangle
         * @default 1
         * @minimum -Infinity
         * @maximum Infinity
         * @step 0.1
         */
        width: number;
        /**
         * Length of the rectangle
         * @default 1
         * @minimum -Infinity
         * @maximum Infinity
         * @step 0.1
         */
        length: number;
    }
    class StarDto {
        constructor(center?: Base.Point2, vertices?: number, density?: number, outerRadius?: number, innerRadius?: number, startAngle?: number);
        /**
         * Center of the 2D star
         * @default [0, 0]
         */
        center: Base.Point2;
        /**
         * Number of vertices on the star
         * @default 10
         * @minimum 0
         * @maximum Infinity
         * @step 1
         */
        vertices: number;
        /**
         * Density of the star
         * @default 1
         * @minimum 0
         * @maximum Infinity
         * @step 0.1
         */
        density: number;
        /**
         * Outer radius of the star
         * @default 2
         * @minimum 0
         * @maximum Infinity
         * @step 0.1
         */
        outerRadius: number;
        /**
         * Inner radius of the star
         * @default 1
         * @minimum 0
         * @maximum Infinity
         * @step 0.1
         */
        innerRadius: number;
        /**
         * Starting angle for first vertice, in degrees
         * @default 0
         * @minimum -Infinity
         * @maximum Infinity
         * @step 1
         */
        startAngle: number;
    }
    class CubeDto {
        constructor(center?: Base.Point3, size?: number);
        /**
         * Center coordinates of the cube
         * @default [0, 0, 0]
         */
        center: Base.Point3;
        /**
         * Size of the cube
         * @default 1
         * @minimum -Infinity
         * @maximum Infinity
         * @step 0.1
         */
        size: number;
    }
    class CubeCentersDto {
        constructor(centers?: Base.Point3[], size?: number);
        /**
         * Center coordinates of the cubes
         * @default undefined
         */
        centers: Base.Point3[];
        /**
         * Size of the cube
         * @default 1
         * @minimum 0
         * @maximum Infinity
         * @step 0.1
         */
        size: number;
    }
    class CuboidDto {
        constructor(center?: Base.Point3, width?: number, length?: number, height?: number);
        /**
         * Center coordinates of the cubod
         * @default [0, 0, 0]
         */
        center: Base.Point3;
        /**
         * Width of the cuboid
         * @default 1
         * @minimum 0
         * @maximum Infinity
         * @step 0.1
         */
        width: number;
        /**
         * Length of the cuboid
         * @default 1
         * @minimum 0
         * @maximum Infinity
         * @step 0.1
         */
        length: number;
        /**
         * Height of the cuboid
         * @default 1
         * @minimum 0
         * @maximum Infinity
         * @step 0.1
         */
        height: number;
    }
    class CuboidCentersDto {
        constructor(centers?: Base.Point3[], width?: number, length?: number, height?: number);
        /**
         * Center coordinates of the cuboids
         * @default undefined
         */
        centers: Base.Point3[];
        /**
         * Width of the cuboids
         * @default 1
         * @minimum 0
         * @maximum Infinity
         * @step 0.1
         */
        width: number;
        /**
         * Length of the cuboids
         * @default 1
         * @minimum 0
         * @maximum Infinity
         * @step 0.1
         */
        length: number;
        /**
         * Height of the cuboids
         * @default 1
         * @minimum 0
         * @maximum Infinity
         * @step 0.1
         */
        height: number;
    }
    class RoundedCuboidDto {
        constructor(center?: Base.Point3, roundRadius?: number, width?: number, length?: number, height?: number, segments?: number);
        /**
         * Center coordinates of the cubod
         * @default [0, 0, 0]
         */
        center: Base.Point3;
        /**
         * Radius for rounding edges
         * @default 0.1
         * @minimum 0
         * @maximum Infinity
         * @step 0.1
         */
        roundRadius: number;
        /**
         * Width of the cuboid
         * @default 1
         * @minimum 0
         * @maximum Infinity
         * @step 0.1
         */
        width: number;
        /**
         * Length of the cuboid
         * @default 1
         * @minimum 0
         * @maximum Infinity
         * @step 0.1
         */
        length: number;
        /**
         * Height of the cuboid
         * @default 1
         * @minimum 0
         * @maximum Infinity
         * @step 0.1
         */
        height: number;
        /**
         * Segments of rounded edges
         * @default 24
         * @minimum 0
         * @maximum Infinity
         * @step 1
         */
        segments: number;
    }
    class RoundedCuboidCentersDto {
        constructor(centers?: Base.Point3[], roundRadius?: number, width?: number, length?: number, height?: number, segments?: number);
        /**
         * Center coordinates of the cuboids
         * @default undefined
         */
        centers: Base.Point3[];
        /**
         * Radius for rounding edges
         * @default 0.1
         * @minimum 0
         * @maximum Infinity
         * @step 0.1
         */
        roundRadius: number;
        /**
         * Width of the cuboids
         * @default 1
         * @minimum 0
         * @maximum Infinity
         * @step 0.1
         */
        width: number;
        /**
         * Length of the cuboids
         * @default 1
         * @minimum 0
         * @maximum Infinity
         * @step 0.1
         */
        length: number;
        /**
         * Height of the cuboids
         * @default 1
         * @minimum 0
         * @maximum Infinity
         * @step 0.1
         */
        height: number;
        /**
         * Segments of rounded edges
         * @default 24
         * @minimum 0
         * @maximum Infinity
         * @step 1
         */
        segments: number;
    }
    class CylidnerEllipticDto {
        constructor(center?: Base.Point3, height?: number, startRadius?: Base.Point2, endRadius?: Base.Point2, segments?: number);
        /**
         * Center of the cylinder
         * @default [0, 0, 0]
         */
        center: Base.Point3;
        /**
         * Height of the cylinder
         * @default 1
         * @minimum 0
         * @maximum Infinity
         * @step 0.1
         */
        height: number;
        /**
         * Start radius on X and Y directions
         * @default [1, 2]
         */
        startRadius: Base.Vector2;
        /**
         * End radius on X and Y directions
         * @default [2, 3]
         */
        endRadius: Base.Vector2;
        /**
         * Subdivision segments
         * @default 24
         * @minimum 0
         * @maximum Infinity
         * @step 1
         */
        segments: number;
    }
    class CylidnerCentersEllipticDto {
        constructor(centers?: Base.Point3[], height?: number, startRadius?: Base.Point2, endRadius?: Base.Point2, segments?: number);
        /**
         * Centers of the cylinders
         * @default undefined
         */
        centers: Base.Point3[];
        /**
         * Height of the cylinders
         * @default 1
         * @minimum 0
         * @maximum Infinity
         * @step 0.1
         */
        height: number;
        /**
         * Start radius on X and Y directions
         * @default [1, 2]
         */
        startRadius: Base.Point2;
        /**
         * End radius on X and Y directions
         * @default [2, 3]
         */
        endRadius: Base.Point2;
        /**
         * Subdivision segments
         * @default 24
         * @minimum 0
         * @maximum Infinity
         * @step 1
         */
        segments: number;
    }
    class CylidnerDto {
        constructor(center?: Base.Point3, height?: number, radius?: number, segments?: number);
        /**
         * Center of the cylinder
         * @default [0, 0, 0]
         */
        center: Base.Point3;
        /**
         * Height of the cylinder
         * @default 1
         * @minimum 0
         * @maximum Infinity
         * @step 0.1
         */
        height: number;
        /**
         * Radius of the cylinder
         * @default 1
         * @minimum 0
         * @maximum Infinity
         * @step 0.1
         */
        radius: number;
        /**
         * Subdivision segments
         * @default 24
         * @minimum 0
         * @maximum Infinity
         * @step 1
         */
        segments: number;
    }
    class RoundedCylidnerDto {
        constructor(center?: Base.Point3, roundRadius?: number, height?: number, radius?: number, segments?: number);
        /**
         * Center of the cylinder
         * @default [0, 0, 0]
         */
        center: Base.Point3;
        /**
         * Rounding radius
         * @default 0.1
         * @minimum 0
         * @maximum Infinity
         * @step 0.1
         */
        roundRadius: number;
        /**
         * Height of the cylinder
         * @default 1
         * @minimum 0
         * @maximum Infinity
         * @step 0.1
         */
        height: number;
        /**
         * Radius of the cylinder
         * @default 1
         * @minimum 0
         * @maximum Infinity
         * @step 0.1
         */
        radius: number;
        /**
         * Segment number
         * @default 24
         * @minimum 0
         * @maximum Infinity
         * @step 1
         */
        segments: number;
    }
    class EllipsoidDto {
        constructor(center?: Base.Point3, radius?: Base.Point3, segments?: number);
        /**
         * Center coordinates
         * @default [0, 0, 0]
         */
        center: Base.Point3;
        /**
         * Radius of the ellipsoid in [x, y, z] form
         * @default [1, 2, 3]
         */
        radius: Base.Point3;
        /**
         * Segment count for ellipsoid
         * @default 24
         * @minimum 0
         * @maximum Infinity
         * @step 1
         */
        segments: number;
    }
    class EllipsoidCentersDto {
        constructor(centers?: Base.Point3[], radius?: Base.Point3, segments?: number);
        /**
         * Center coordinates
         * @default undefined
         */
        centers: Base.Point3[];
        /**
         * Radius of the ellipsoid in [x, y, z] form
         * @default [1, 2, 3]
         */
        radius: Base.Point3;
        /**
         * Segment count for ellipsoid
         * @default 24
         * @minimum 0
         * @maximum Infinity
         * @step 1
         */
        segments: number;
    }
    class GeodesicSphereDto {
        constructor(center?: Base.Point3, radius?: number, frequency?: number);
        /**
         * Center coordinate of the geodesic sphere
         * @default [0, 0, 0]
         */
        center: Base.Point3;
        /**
         * Radius of the sphere
         * @default 1
         * @minimum 0
         * @maximum Infinity
         * @step 0.1
         */
        radius: number;
        /**
         * Subdivision count
         * @default 12
         * @minimum 0
         * @maximum Infinity
         * @step 1
         */
        frequency: number;
    }
    class GeodesicSphereCentersDto {
        constructor(centers?: Base.Point3[], radius?: number, frequency?: number);
        /**
         * Center coordinates of the geodesic spheres
         * @default undefined
         */
        centers: Base.Point3[];
        /**
         * Radius of the sphere
         * @default 1
         * @minimum 0
         * @maximum Infinity
         * @step 0.1
         */
        radius: number;
        /**
         * Subdivision count
         * @default 12
         * @minimum 0
         * @maximum Infinity
         * @step 0.1
         */
        frequency: number;
    }
    class CylidnerCentersDto {
        constructor(centers?: Base.Point3[], height?: number, radius?: number, segments?: number);
        /**
         * Centers of the cylinders
         * @default undefined
         */
        centers: Base.Point3[];
        /**
         * Height of the cylinders
         * @default 1
         * @minimum 0
         * @maximum Infinity
         * @step 0.1
         */
        height: number;
        /**
         * Radius of the cylinders
         * @default 1
         * @minimum 0
         * @maximum Infinity
         * @step 0.1
         */
        radius: number;
        /**
         * Subdivision segments
         * @default 24
         * @minimum 0
         * @maximum Infinity
         * @step 1
         */
        segments: number;
    }
    class RoundedCylidnerCentersDto {
        constructor(centers?: Base.Point3[], roundRadius?: number, height?: number, radius?: number, segments?: number);
        /**
         * Centers of the cylinders
         * @default undefined
         */
        centers: Base.Point3[];
        /**
         * Rounding radius
         * @default 0.1
         * @minimum 0
         * @maximum Infinity
         * @step 0.1
         */
        roundRadius: number;
        /**
         * Height of the cylinders
         * @default 1
         * @minimum 0
         * @maximum Infinity
         * @step 0.1
         */
        height: number;
        /**
         * Radius of the cylinders
         * @default 1
         * @minimum 0
         * @maximum Infinity
         * @step 0.1
         */
        radius: number;
        /**
         * Segment number
         * @default 24
         * @minimum 0
         * @maximum Infinity
         * @step 1
         */
        segments: number;
    }
    class SphereDto {
        constructor(center?: Base.Point3, radius?: number, segments?: number);
        /**
         * Center point of the sphere
         * @default [0, 0, 0]
         */
        center: Base.Point3;
        /**
         * Radius of the sphere
         * @default 1
         * @minimum 0
         * @maximum Infinity
         * @step 0.1
         */
        radius: number;
        /**
         * Segment count
         * @default 24
         * @minimum 0
         * @maximum Infinity
         * @step 1
         */
        segments: number;
    }
    class SphereCentersDto {
        constructor(centers?: Base.Point3[], radius?: number, segments?: number);
        /**
         * Center points of the spheres
         * @default undefined
         */
        centers: Base.Point3[];
        /**
         * Radius of the spheres
         * @default 1
         * @minimum 0
         * @maximum Infinity
         * @step 0.1
         */
        radius: number;
        /**
         * Segment count
         * @default 24
         * @minimum 0
         * @maximum Infinity
         * @step 1
         */
        segments: number;
    }
    class TorusDto {
        constructor(center?: Base.Point3, innerRadius?: number, outerRadius?: number, innerSegments?: number, outerSegments?: number, innerRotation?: number, outerRotation?: number, startAngle?: number);
        /**
         * Center coordinate
         * @default [0, 0, 0]
         */
        center: Base.Point3;
        /**
         * Inner radius
         * @default 1
         * @minimum 0
         * @maximum Infinity
         * @step 0.1
         */
        innerRadius: number;
        /**
         * Outer radius
         * @default 2
         * @minimum 0
         * @maximum Infinity
         * @step 0.1
         */
        outerRadius: number;
        /**
         * Number of inner segments
         * @default 24
         * @minimum 0
         * @maximum Infinity
         * @step 1
         */
        innerSegments: number;
        /**
         * Number of outer segments
         * @default 24
         * @minimum 0
         * @maximum Infinity
         * @step 1
         */
        outerSegments: number;
        /**
         * Inner rotation in degrees
         * @default 0
         * @minimum -Infinity
         * @maximum Infinity
         * @step 1
         */
        innerRotation: number;
        /**
         * Outer rotation in degrees
         * @default 360
         * @minimum -Infinity
         * @maximum Infinity
         * @step 1
         */
        outerRotation: number;
        /**
         * Start angle in degrees
         * @default 0
         * @minimum -Infinity
         * @maximum Infinity
         * @step 1
         */
        startAngle: number;
    }
    class TextDto {
        constructor(text?: string, segments?: number, xOffset?: number, yOffset?: number, height?: number, lineSpacing?: number, letterSpacing?: number, align?: jscadTextAlignEnum, extrudeOffset?: number);
        /**
         * Text to write
         * @default Hello World
         */
        text: string;
        /**
         * Number of segments
         * @default 24
         * @minimum 0
         * @maximum Infinity
         * @step 1
         */
        segments: number;
        /**
         * X offset of the text
         * @default 0
         * @minimum -Infinity
         * @maximum Infinity
         * @step 0.1
         */
        xOffset: number;
        /**
         * Y offset of the text
         * @default 0
         * @minimum -Infinity
         * @maximum Infinity
         * @step 0.1
         */
        yOffset: number;
        /**
         * Height of the text
         * @default 1
         * @minimum 0
         * @maximum Infinity
         * @step 0.1
         */
        height: number;
        /**
         * Space between lines
         * @default 1.4
         * @minimum -Infinity
         * @maximum Infinity
         * @step 0.1
         */
        lineSpacing: number;
        /**
         * Space between letters
         * @default 1
         * @minimum -Infinity
         * @maximum Infinity
         * @step 0.1
         */
        letterSpacing: number;
        /**
         * Align between left, center, right
         * @default center
         */
        align: jscadTextAlignEnum;
        /**
         * Offset the extrusion
         * @default 0
         * @minimum -Infinity
         * @maximum Infinity
         * @step 0.1
         */
        extrudeOffset: number;
    }
    class CylinderTextDto {
        constructor(text?: string, extrusionHeight?: number, extrusionSize?: number, segments?: number, xOffset?: number, yOffset?: number, height?: number, lineSpacing?: number, letterSpacing?: number, align?: jscadTextAlignEnum, extrudeOffset?: number);
        /**
         * Text to write
         * @default Hello World
         */
        text: string;
        /**
         * Height of the cylinder
         * @default 0.5
         * @minimum 0
         * @maximum Infinity
         * @step 0.1
         */
        extrusionHeight: number;
        /**
         * Radius of the cylinder
         * @default 0.1
         * @minimum 0
         * @maximum Infinity
         * @step 0.1
         */
        extrusionSize: number;
        /**
         * Segment subdivision for cylinder
         * @default 24
         * @minimum 0
         * @maximum Infinity
         * @step 1
         */
        segments: number;
        /**
         * X offset of the text
         * @default 0
         * @minimum -Infinity
         * @maximum Infinity
         * @step 0.1
         */
        xOffset: number;
        /**
         * Y offset of the text
         * @default 0
         * @minimum -Infinity
         * @maximum Infinity
         * @step 0.1
         */
        yOffset: number;
        /**
         * Height of the text
         * @default 1
         * @minimum 0
         * @maximum Infinity
         * @step 0.1
         */
        height: number;
        /**
         * Space between lines
         * @default 1.4
         * @minimum -Infinity
         * @maximum Infinity
         * @step 0.1
         */
        lineSpacing: number;
        /**
         * Space between letters
         * @default 1
         * @minimum -Infinity
         * @maximum Infinity
         * @step 0.1
         */
        letterSpacing: number;
        /**
         * Align between left, center, right
         * @default center
         */
        align: jscadTextAlignEnum;
        /**
         * Offset the extrusion
         * @default 0
         * @minimum -Infinity
         * @maximum Infinity
         * @step 0.1
         */
        extrudeOffset: number;
    }
    class SphereTextDto {
        constructor(text?: string, radius?: number, segments?: number, xOffset?: number, yOffset?: number, height?: number, lineSpacing?: number, letterSpacing?: number, align?: jscadTextAlignEnum, extrudeOffset?: number);
        /**
         * Text to write
         * @default Hello World
         */
        text: string;
        /**
         * Radius of the spheres
         * @default 0.1
         * @minimum 0
         * @maximum Infinity
         * @step 0.1
         */
        radius: number;
        /**
         * Segment subdivision for sphere
         * @default 24
         * @minimum 0
         * @maximum Infinity
         * @step 1
         */
        segments: number;
        /**
         * X offset of the text
         * @default 0
         * @minimum -Infinity
         * @maximum Infinity
         * @step 0.1
         */
        xOffset: number;
        /**
         * Y offset of the text
         * @default 0
         * @minimum -Infinity
         * @maximum Infinity
         * @step 0.1
         */
        yOffset: number;
        /**
         * Height of the text
         * @default 1
         * @minimum 0
         * @maximum Infinity
         * @step 0.1
         */
        height: number;
        /**
         * Space between lines
         * @default 1.4
         * @minimum -Infinity
         * @maximum Infinity
         * @step 0.1
         */
        lineSpacing: number;
        /**
         * Space between letters
         * @default 1
         * @minimum -Infinity
         * @maximum Infinity
         * @step 0.1
         */
        letterSpacing: number;
        /**
         * Align between left, center, right
         * @default center
         */
        align: jscadTextAlignEnum;
        /**
         * Offset the extrusion
         * @default 0
         * @minimum -Infinity
         * @maximum Infinity
         * @step 0.1
         */
        extrudeOffset: number;
    }
    class FromPolygonPoints {
        constructor(polygonPoints?: Base.Point3[][]);
        /**
         * Points describing polygons
         */
        polygonPoints?: Base.Point3[][];
    }
}
