import { GeometryType, Geometry, Surface, Curve } from "./internal"; /** * A planar surface defined by an exterior ring and zero or more interior ring. * Each ring is defined by a Curve instance. * @param curve type */ export declare class CurvePolygon extends Surface { /** * List of rings */ private _rings; constructor(); constructor(hasZ: boolean, hasM: boolean); constructor(rings: Array); constructor(ring: T); constructor(curvePolygon: CurvePolygon); constructor(type: GeometryType, hasZ: boolean, hasM: boolean); /** * Get the rings * @return rings */ get rings(): Array; /** * Set the rings * @param rings rings */ set rings(rings: Array); /** * Add a ring * @param ring ring */ addRing(ring: T): void; /** * Add rings * @param rings rings */ addRings(rings: Array): void; /** * Get the number of rings including exterior and interior * @return number of rings */ numRings(): number; /** * Returns the Nth ring where the exterior ring is at 0, interior rings * begin at 1 * @param n nth ring to return * @return ring */ getRing(n: number): Curve; /** * Get the exterior ring * * @return exterior ring */ getExteriorRing(): T; /** * Get the number of interior rings * * @return number of interior rings */ numInteriorRings(): number; /** * Returns the Nth interior ring for this Polygon * @param n interior ring number * @return interior ring */ getInteriorRing(n: number): T; /** * {@inheritDoc} */ copy(): Geometry; /** * {@inheritDoc} */ isEmpty(): boolean; /** * {@inheritDoc} */ isSimple(): boolean; /** * {@inheritDoc} */ equals(obj: Geometry): boolean; }