import { MarkupEntity, MarkupEntityConstructorArgs } from './MarkupEntity';
import { MarkupSheet2D } from './MarkupSheet2D';
import { Vertex3 } from '../../math';
import { MarkupStyle } from '../MarkupEntityTypes';
import { MergableObjectEventArgs } from '../../MergableSet';
import { Color4 } from '../../loader/babylonjs-import';
/**
 * Style for the markup arr.
 */
export interface MarkupCircleStyle {
    /** Background color for the markup circle */
    backgroundColor: Color4;
}
/**
 * Class representing a markup circle in the markup API.
 */
export declare class MarkupCircle extends MarkupEntity implements MarkupStyle<MarkupCircleStyle> {
    circlePoint: Vertex3;
    radiusPoint: Vertex3;
    lineThickness: number;
    style: {
        backgroundColor: Color4;
    };
    /**
     * Do not use. Use {@link MarkupSheet2D.add} instead.
     * @hidden
     */
    constructor({ id, sheet, properties, circlePoint, radiusPoint, lineThickness, style }: MarkupEntityConstructorArgs & {
        circlePoint: Vertex3;
        radiusPoint: Vertex3;
        lineThickness: number;
        style: MarkupCircleStyle;
    });
    /**
     * Copy the circle to another markup sheet.
     * @param sheet Markup sheet to copy the circle to.
     * @returns The new markup circle entity.
     */
    copyTo(sheet: MarkupSheet2D): MarkupCircle;
    onUpdate(o: MergableObjectEventArgs<MarkupCircle>): void;
    copyFrom(circle: MarkupCircle): void;
    isEqual(o: MarkupCircle): boolean;
    clone(): MarkupCircle;
}
//# sourceMappingURL=MarkupCircle.d.ts.map