import { Point3d } from "@itwin/core-geometry";
import type { DecorateContext, GraphicBuilder } from "@itwin/core-frontend";
import { StyleSet } from "./GraphicStyle.js";
import type { TextEntry } from "./TextMarker.js";
import { TextMarker } from "./TextMarker.js";
export declare class Polygon {
    isSelected: boolean;
    drawMarker: boolean;
    drawFillArea: boolean;
    private _worldScale;
    private _points;
    private _perimeter;
    private _area;
    private _areaXY;
    private _overrideText?;
    private _textMarker;
    private _styleSet;
    get points(): Point3d[];
    get perimeter(): number;
    get area(): number;
    get areaXY(): number;
    get overrideText(): string[] | TextEntry[] | undefined;
    set overrideText(text: string[] | TextEntry[] | undefined);
    get center(): Point3d;
    get textMarker(): TextMarker;
    get styleSet(): StyleSet;
    set styleSet(value: StyleSet);
    set worldScale(scale: number | undefined);
    get worldScale(): number;
    constructor(points: Point3d[], copyPoints?: boolean, styleSet?: StyleSet, worldScale?: number);
    recomputeFromPoints(): void;
    setPoints(points: Point3d[], copyPts?: boolean, recompute?: boolean): void;
    private setTextToMarker;
    private copyPoints;
    drawTextMarker(context: DecorateContext): void;
    addToGraphicBuilder(gBuilder: GraphicBuilder, styleOverride?: string): void;
    makeSelectable(isSelectable: boolean): void;
    private getCenter;
    private calculatePerimeter;
}
//# sourceMappingURL=Polygon.d.ts.map