import { EnumObject } from '@eclipse-scout/core';
import { AbstractSvgChartRenderer, Chart } from '../index';
export declare class SpeedoChartRenderer extends AbstractSvgChartRenderer {
    segmentSelectorForAnimation: string;
    r: number;
    scaleWeight: number;
    my: number;
    parts: number;
    numSegmentsPerPart: number;
    segmentWidth: number;
    widthOfSegmentWithGap: number;
    animationTriggered: boolean;
    $filledParts: JQuery<SVGElement>[];
    $pointer: JQuery<SVGElement>;
    constructor(chart: Chart);
    static Position: {
        readonly LEFT: "left";
        readonly CENTER: "center";
        readonly RIGHT: "right";
    };
    static NUM_PARTS_GREEN_CENTER: number;
    static NUM_PARTS_GREEN_EDGE: number;
    static ONE_THOUSAND: number;
    static TEN_THOUSAND: number;
    static ONE_MILLION: number;
    static ARC_MIN: number;
    static ARC_MAX: number;
    static ARC_RANGE: number;
    static SEGMENT_GAP: number;
    protected _validate(): boolean;
    protected _renderInternal(): void;
    protected _getValuePercentage(value: number, minValue: number, maxValue: number): number;
    protected _getSegmentToPointAt(valuePercentage: number, numTotalSegments: number): number;
    protected _limitValue(value: number, maxValue: number): number;
    /**
     * Gets the percentage value in range [0,1] of the specified segment.
     */
    protected _getPercentageValueOfSegment(segmentIndexInPart: number, part: number): number;
    /**
     * Renders the pointer line and registers animation to move the pointer and the corresponding filling of the segments
     */
    protected _renderPointer(valuePercentage: number): void;
    /**
     * renders a single segment line.
     */
    protected _renderSegment(from: number, to: number, colorClass: string): JQuery<SVGElement>;
    protected _renderCirclePart(part: number): void;
    protected _renderLegend(minValue: number, value: number, maxValue: number, groupName: string): void;
    /**
     * returns the part index for the specified valuePercentage. The valuePercentage must be in the range [0,1].
     */
    protected _getPartForValue(valuePercentage: number): number;
    /**
     * Formats the speedo-values in a compact way:
     * 0 - 999: as is
     * 1 to 9'999: as is, with grouping separators
     * 10 to 999 thousand: 123k
     * >= 1 million: millions with max. two fraction digits -> 1.23M
     */
    protected _formatValue(value: number): string;
    /**
     * Updates the pointer position to point to the specified valuePercentage in range [0,1].
     */
    protected _updatePointer(valuePercentage: number): void;
    /**
     * Updates the filling of the 'filled' segments to be filled up to the specified valuePercentage in range [0,1].
     */
    protected _updatePartsFill(valuePercentage: number): void;
    /**
     * Calculates the positions (from, to) of a single segment line.
     * @param segmentIndexInPart the index of the segment line within the part.
     * @param part the part index.
     */
    protected _calcSegmentPos(segmentIndexInPart: number, part: number): {
        from: number;
        to: number;
    };
    protected _getColorForPart(part: number): string;
    /**
     * calculates the path-values to be used in the 'd' attribute of the path tag for a segment.
     */
    protected _pathSegment(start: number, end: number): string;
    /**
     * calculates the path-values to be used in the 'd' attribute of the path tag for the pointer
     */
    protected _pathPointer(valuePercentage: number): string;
    protected _removeAnimated(afterRemoveFunc: (chartAnimationStopping?: boolean) => void): void;
}
export type GreenAreaPosition = EnumObject<typeof SpeedoChartRenderer.Position>;
//# sourceMappingURL=SpeedoChartRenderer.d.ts.map