import type { ReadonlyVec } from "@thi.ng/vectors";
import type { Attribs, CubicOpts, SamplingOpts } from "./api.js";
import { Polygon } from "./api/polygon.js";
import { Polyline } from "./api/polyline.js";
import { type AsPathOpts } from "./as-path.js";
/**
 * Creates a new polygon from given initial `points` and optional `attribs`. The
 * polygon is then first converted into a cubic path using `pathOpts` and then
 * back into a polygon by sampling the path using `polyOpts`. Returns that final
 * polygon result.
 *
 * @param points
 * @param attribs
 * @param pathOpts
 * @param polyOpts
 */
export declare const smoothPolygon: (points: ReadonlyVec[], attribs?: Attribs, pathOpts?: Partial<CubicOpts>, polyOpts?: Partial<SamplingOpts>) => Polygon;
/**
 * Like {@link smoothPolygon}, but for polylines.
 *
 * @param points
 * @param attribs
 * @param pathOpts
 * @param polyOpts
 */
export declare const smoothPolyline: (points: ReadonlyVec[], attribs?: Attribs, pathOpts?: Partial<AsPathOpts>, polyOpts?: Partial<SamplingOpts>) => Polyline;
//# sourceMappingURL=smooth-poly.d.ts.map