import type { MultiFn1O } from "@thi.ng/defmulti"; import type { IShape, IShape2, IShape3, SamplingOpts } from "./api.js"; import { Polyline } from "./api/polyline.js"; import { Polyline3 } from "./api/polyline3.js"; /** * Function overrides for {@link asPolyline}. */ export type AsPolylineFn = { (shape: T, opts?: number | Partial): Polyline[]; (shape: T, opts?: number | Partial): Polyline3[]; } & MultiFn1O, (Polyline | Polyline3)[]>; /** * Converts given shape boundary into an array of {@link Polyline}s or * {@link Polyline3}, optionally using provided * [`SamplingOpts`](https://docs.thi.ng/umbrella/geom/interfaces/SamplingOpts.html) * or number of target vertices. * * @remarks * If the shape has a `__samples` attribute, it will be removed in the results * to avoid recursive application. * * Currently implemented for: * * - {@link Arc} * - {@link Circle} * - {@link ComplexPolygon} * - {@link Cubic} * - {@link Ellipse} * - {@link Line} * - {@link Path} * - {@link Polygon} * - {@link Polygon3} * - {@link Polyline} * - {@link Polyline3} * - {@link Quad} * - {@link Quad3} * - {@link Quadratic} * - {@link Quadratic3} * - {@link Rect} * - {@link Triangle} * - {@link Triangle3} * * @param shape * @param opts */ export declare const asPolyline: AsPolylineFn; //# sourceMappingURL=as-polyline.d.ts.map