import type { IndexedGeomInfo } from "./api.mjs"; type Mapping = (x: { uvs: Float32Array; index: number; u: number; v: number; }) => void; interface EllipseOpts { sx: number; sy: number; radius: number; segments: number; innerSegments: number; theta: number; thetaOffset: number; mapping: Mapping; equation: (x: { rx: number; ry: number; cosTheta: number; sinTheta: number; t: number; }) => [number, number]; } export declare const ellipse: ({ sx, sy, radius, segments, innerSegments, theta, thetaOffset, mapping, equation, }?: Partial) => IndexedGeomInfo; export declare const reuleux: ({ radius, segments, innerSegments, theta, thetaOffset, mapping, n, }?: { radius?: number | undefined; segments?: number | undefined; innerSegments?: number | undefined; theta?: number | undefined; thetaOffset?: number | undefined; mapping?: Mapping | undefined; n?: number | undefined; }) => IndexedGeomInfo; export declare const squircle: ({ sx, sy, radius, segments, innerSegments, theta, thetaOffset, mapping, squareness, }?: { sx?: number | undefined; sy?: number | undefined; radius?: number | undefined; segments?: number | undefined; innerSegments?: number | undefined; theta?: number | undefined; thetaOffset?: number | undefined; mapping?: Mapping | undefined; squareness?: number | undefined; }) => IndexedGeomInfo; interface SuperEllipseOpts extends EllipseOpts { m: number; n: number; } export declare const superEllipse: ({ sx, sy, radius, segments, innerSegments, theta, thetaOffset, mapping, m, n, }?: Partial) => IndexedGeomInfo; export {};