import { AABB } from '../math'; import { Stroke } from '../renderable'; export declare enum TesselationMethod { EARCUT = "earcut", LIBTESS = "libtess" } /** * It is the generic element to define a shape. All the basic shapes can be created with a path element. * @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/path */ export declare class Path { static getGeometryBounds(path: Partial, computed?: Partial): AABB; static getRenderBounds(path: Path, computed: ComputedPoints, stroke?: Stroke): AABB; /** * Defines a path to be drawn. * * @see https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/d */ d: string; /** * The fill rule to use for rendering the path. * * Default to `nonzero`. * @see https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/fill-rule */ fillRule: CanvasFillRule; /** * The tesselation method to use for rendering the path. * * Default to `earcut`. */ tessellationMethod: TesselationMethod; constructor(props?: Partial); } export declare class ComputedPoints { /** * Sampled points of the path. */ points: [number, number][][]; /** * Account for stroke alignment. */ shiftedPoints: [number, number][]; }