import { Point } from "../../../Core/Point";
import { Rect } from "../../../Core/Rect";
import { ESurfaceType } from "../../../types/SurfaceType";
import { WebGlRenderContext2D } from "../../Drawing/WebGlRenderContext2D";
import { CoordinateCalculatorBase } from "../../Numerics/CoordinateCalculators/CoordinateCalculatorBase";
import { ArcAnnotationBase, IArcAnnotationBaseOptions } from "./ArcAnnotationBase";
import { EAnnotationType } from "./IAnnotation";
export interface IArcAnnotationOptions extends IArcAnnotationBaseOptions {
    /**
     * takes values from 0 to 1
     */
    innerRadius?: number;
    /**
     * Height of the triangle. Negative values give an obtuse angle
     */
    height?: number;
}
export declare class ArcAnnotation extends ArcAnnotationBase {
    type: EAnnotationType;
    readonly surfaceTypes: ESurfaceType[];
    private innerRadiusProperty;
    private heightProperty;
    constructor(options?: IArcAnnotationOptions);
    get innerRadius(): number;
    set innerRadius(value: number);
    get height(): number;
    set height(value: number);
    drawWithContext(renderContext: WebGlRenderContext2D, xCalc: CoordinateCalculatorBase, yCalc: CoordinateCalculatorBase, seriesViewRect: Rect, surfaceViewRect: Rect, chartViewRect: Rect): void;
    calcDragDistance(xyValues: Point): void;
    toJSON(): {
        type: EAnnotationType;
        options: Required<Omit<import("./AnnotationBase").IAnnotationBaseOptions, never>>;
    };
    /**
     * Hit-test annotation clicked
     * @param xCoord
     * @param yCoord
     * @returns
     */
    protected checkIsClickedOnAnnotationInternal(xCoord: number, yCoord: number): boolean;
    private getCircleCenterDataCoords;
    private getCircleCenterXCoordinate;
    private getCircleCenterYCoordinate;
    private calcDataRadius;
    private getRadius;
    private getInnerRadius;
    private getAspectRatio;
    private calcStartEndAngles;
    private getDataValuesFromCoordinates;
}
