import { AcEntity } from '../../angular-cesium/models/ac-entity';
import { EditPoint } from './edit-point';
import { AcLayerComponent } from '../../angular-cesium/components/ac-layer/ac-layer.component';
import { Cartesian3 } from '../../angular-cesium/models/cartesian3';
import { CircleEditOptions } from './circle-edit-options';
import { PointProps } from './point-edit-options';
import { PolylineProps } from './polyline-edit-options';
import { LabelProps } from './label-props';
import { EllipseProps } from './ellipse-edit-options';
export declare class EditableCircle extends AcEntity {
    private id;
    private circlesLayer;
    private pointsLayer;
    private arcsLayer;
    private options;
    private _center;
    private _radiusPoint;
    private _outlineArc;
    private doneCreation;
    private _enableEdit;
    private lastDraggedToPosition;
    private _circleProps;
    private _pointProps;
    private _polylineProps;
    private _labels;
    constructor(id: string, circlesLayer: AcLayerComponent, pointsLayer: AcLayerComponent, arcsLayer: AcLayerComponent, options: CircleEditOptions);
    get labels(): LabelProps[];
    set labels(labels: LabelProps[]);
    get polylineProps(): PolylineProps;
    set polylineProps(value: PolylineProps);
    get pointProps(): PointProps;
    set pointProps(value: PointProps);
    get circleProps(): EllipseProps;
    set circleProps(value: EllipseProps);
    get center(): EditPoint;
    get radiusPoint(): EditPoint;
    get enableEdit(): boolean;
    set enableEdit(value: boolean);
    setManually(center: Cartesian3, radiusPoint: Cartesian3, centerPointProp?: PointProps, radiusPointProp?: PointProps, circleProp?: EllipseProps): void;
    addPoint(position: Cartesian3): void;
    addLastPoint(position: Cartesian3): void;
    movePoint(toPosition: Cartesian3): void;
    moveCircle(dragStartPosition: Cartesian3, dragEndPosition: Cartesian3): void;
    endMovePolygon(): void;
    getRadius(): number;
    getRadiusCallbackProperty(): any;
    getCenter(): Cartesian3;
    getCenterCallbackProperty(): any;
    getRadiusPoint(): Cartesian3;
    dispose(): void;
    getId(): string;
    private updateCirclesLayer;
    private updatePointsLayer;
    private updateArcsLayer;
    private createOutlineArc;
}
