import { Geometry } from './geometry';
import { Coordinates, GeometryOptions } from './types';
import { Point } from './point';
import { Polygon as GeoJSONPolygon } from 'geojson';

export declare class Polygon extends Geometry {
    exteriorRing: Point[];
    interiorRings: Point[][];
    constructor(exteriorRing?: Point[], interiorRings?: Point[][], srid?: number);
    static Z(exteriorRing?: Point[], interiorRings?: Point[][], srid?: number): Polygon;
    static M(exteriorRing?: Point[], interiorRings?: Point[][], srid?: number): Polygon;
    static ZM(exteriorRing?: Point[], interiorRings?: Point[][], srid?: number): Polygon;
    toWkt(isNested?: boolean): string;
    private toInnerWkt;
    toWkb(parentOptions?: GeometryOptions): Buffer;
    toTwkb(previousPoint?: Point, isNested?: boolean): Buffer;
    getWkbSize(): number;
    toGeoJSON(): GeoJSONPolygon;
    toGeoJSON(isNested: true): Coordinates<GeoJSONPolygon>;
}
//# sourceMappingURL=polygon.d.ts.map