import type { Arc } from './Arc'; import type { Bezier } from './Bezier'; import type { Quadratic } from './Quadratic'; import { Box } from './Box'; import { Matrix } from './Matrix'; import { Point } from './Point'; import { Segment } from './Segment'; import { Shape, ShapeTag } from './Shape'; export type Part = Segment | Arc | Bezier | Quadratic; /** * Class representing a path */ export declare class Path extends Shape { static EMPTY: Readonly; static fromPoints(points: Point[]): Path; parts: Part[]; private _length; private _box; /** * Path constructor. * PERF: The `.start` point of each part will be set to a reference to the previous part * `.end` point if both are equal. This allows faster rendering. */ constructor(parts: Part[]); get tag(): ShapeTag; get name(): string; /** * The bounding box */ get box(): Readonly; clone(): Path; /** * The total path length */ get length(): number; /** * Path center */ get center(): Point; contains(other: Shape): boolean; /** * Return new segment transformed using affine transformation matrix */ transform(matrix: Matrix): Path; /** * Point at a distance along the path. */ pointAtLength(length: number): Readonly; /** * Slice path at lengths `start` and `end`, returning a new path. */ slice(start: number, end: number): Path; } //# sourceMappingURL=Path.d.ts.map