import type { Attribs } from "./api.js";
import type { Vec } from "@thi.ng/vectors";
import { Polygon } from "./api/polygon.js";
export declare const polygon: (pts?: Iterable<Vec>, attribs?: Attribs) => Polygon;
/**
 * Syntax sugar for {@link starWithCentroid}, using `[0,0]` as center.
 *
 * @param r
 * @param n
 * @param profile
 * @param attribs
 */
export declare const star: (r: number, n: number, profile: number[], attribs?: Attribs) => Polygon;
/**
 * Creates a new "star"-shaped polygon around `pos` with radius `r` and `n`
 * repetitions of `profile`. The latter is an array of radius scale values to
 * define the overall shape. The resulting polygon will have `n *
 * profile.length` vertices. To create an actual star-like shape, the profile
 * needs to contain at least 2 values, e.g. `[1, 0.5]`, meaning every other
 * vertex will be inset to 50% of the base radius.
 *
 * @example
 * ```ts tangle:../export/star-with-centroid.ts
 * import { starWithCentroid } from "@thi.ng/geom";
 *
 * console.log(
 *   starWithCentroid([100,200], 50, 5, [1, 0.5])
 * );
 * // Polygon {
 * //   points: [
 * //     [150.000, 200.000],
 * //     [120.225, 214.695],
 * //     [115.451, 247.553],
 * //     [92.275, 223.776],
 * //     [59.549, 229.389],
 * //     [75.000, 200.000],
 * //     [59.549, 170.611],
 * //     [92.275, 176.224],
 * //     [115.451, 152.447],
 * //     [120.225, 185.305]
 * //   ],
 * //   attribs: undefined
 * // }
 * ```
 *
 * @param pos
 * @param r
 * @param n
 * @param profile
 * @param attribs
 */
export declare const starWithCentroid: (pos: Vec, r: number, n: number, profile: number[], attribs?: Attribs) => Polygon;
//# sourceMappingURL=polygon.d.ts.map