import type { _SCNGeometry } from "./SCNGeometry.js";
import type { _NSBezierPath } from "../AppKit/NSBezierPath.js";
import type { SCNChamferMode } from "./SCNChamferMode.js";
export declare class _SCNShape extends _SCNGeometry {
    static alloc(): _SCNShape;
    static new(): _SCNShape;
    init(): _SCNShape;
    /**
     * @method shapeWithPath:extrusionDepth: @abstract Creates and returns a 3D representation of the given shape with the given extrusion depth. @param path The cubic Bezier spline to extrude. @param extrusionDepth The extrusion depth.
     */
    static shapeWithPath$extrusionDepth$(path: _NSBezierPath | null, extrusionDepth: number): _SCNShape;
    /**
     * @property path @abstract The path defining the shape to be rendered. @discussion The path defines the outline of the shape. The path is filled using the even-odd rule. If the path is self-intersecting, the behavior is undefined.
     */
    path(): _NSBezierPath | null;
    setPath$(value: _NSBezierPath | null): void;
    /**
     * @property extrusionDepth @abstract The extrusion depth. Animatable. @discussion If the value is 0, we get a mono-sided, 2D version of the shape.
     */
    extrusionDepth(): number;
    setExtrusionDepth$(value: number): void;
    /**
     * @property chamferMode @abstract The sides of the text that are chamfered. @discussion The default value is SCNChamferModeBoth.
     */
    chamferMode(): SCNChamferMode;
    setChamferMode$(value: SCNChamferMode): void;
    /**
     * @property chamferRadius @abstract The chamfer radius. Animatable. @discussion Values are clamped to the range [0, extrusionDepth / 2]. The default value is 0.
     */
    chamferRadius(): number;
    setChamferRadius$(value: number): void;
    /**
     * @property chamferProfile @abstract Describes the profile used to when "chamferRadius" is not nil. When "chamferProfile" is nil we fallback on a path representing a quadrant. @discussion The profile should be a 2D curve beginning at (0,1) and ending at (1,0). The "flatness" property is also used to flatten this path. The default value is nil.
     */
    chamferProfile(): _NSBezierPath | null;
    setChamferProfile$(value: _NSBezierPath | null): void;
}
