/** Angular */
import * as ng from "@angular/core";
/** Core */
import { CoreComponent } from "cmf.core/src/core";
/** Nested modules */
import { ElementQuerySize } from "../../../directives/elementQuery/elementQuery";
import { VisualDataValue, VisualDataRangeInterval } from "../visualDataUtils";
/**
* @whatItDoes
* RadialGauge component
* This component is used to represent a radial gauge
*
* @howToUse
* This component is used with the inputs and outputs mentioned below.
*
* ### Inputs
* `number` : **value** - The value
* `number` : **delta** - The delta value
* `number` : **target** - The target value
* `string` : **units** - The value units
* `number` : **min** - The min value
* `number` : **max** - The max value
* `VisualDataValue[]` : **ranges** - The value ranges
* `boolean` : **showPrimaryLabel** - If primary label is visible
* `boolean` : **showSecondaryLabel** - If secondary label is visible
* `boolean` : **useSecondaryLabelAsName** - If secondary label will show the mainTitle instead
* `boolean` : **showUnits** - If units are visible
* `boolean` : **isExclusiveRanges** - If range intervals are exclusive
* `boolean` : **isAnimated** - If gauge transitions are animated
* `boolean` : **isReversedDeltaPercentage** - If calculation of delta percentage is reversed
* `number` : **valuesDecimalPlacesCount** - Value max decimal places
* `number` : **percentagesDecimalPlacesCount** - Percentages max decimal places
* `boolean` : **blurOnResize** - If chart is blurred when being resized
*
* ### Outputs
*
* ### Example
* To use the component, assume this HTML Template as an example:
*
* ```HTML
*
*
* ```
*
*/
export declare class RadialGauge extends CoreComponent implements ng.OnChanges, ng.OnDestroy, ng.AfterViewInit {
private zone;
private elementRef;
/**
* Canvas container
*/
private _canvasContainer;
/**
* Canvas element
*/
private _canvas;
/**
* Value and Units container
*/
private _valueAndUnits;
/**
* Delta and percentage container
*/
private _deltaAndPercentage;
/**
* Stores the element query
*/
private _elementQuery;
private _currentWidth;
private _currentHeight;
_sizeClass: ElementQuerySize;
value: number;
target: number;
min: number;
max: number;
ranges: Array;
isExclusiveRanges: boolean;
isReversedDeltaPercentage: boolean;
percentagesDecimalPlacesCount: number;
valuesDecimalPlacesCount: number;
mainTitle: string;
units: string;
showUnits: boolean;
isAnimated: boolean;
showPrimaryLabel: boolean;
showSecondaryLabel: boolean;
useSecondaryLabelAsName: boolean;
blurOnResize: boolean;
_blurred: boolean;
_pointerValue: number;
_value: number;
_valueDisplayed: string;
_delta: number;
_deltaPercentage: number;
_rangeIntervals: VisualDataRangeInterval[];
_primaryFontSize: string;
_secondaryFontSize: string;
_currentColor: string;
_mainTextColor: string;
private _valueTransitionAnimator;
private _onChangesDebounced;
/**
* Constructor
*/
constructor(zone: ng.NgZone, elementRef: ng.ElementRef);
/**
* On destroy
*/
ngOnDestroy(): void;
/**
* Get text align from angle
* @param angle
*/
private getTextAlignFromAngle;
/**
* Update canvas
*/
private updateCanvas;
/**
* Update font sizes
*/
private updateFontSizes;
/**
* After view init
*/
ngAfterViewInit(): void;
/**
* On Changes
*/
ngOnChanges(changes: ng.SimpleChanges): void;
/**
* On changes to debounce
*/
private onChanges;
}
export declare class RadialGaugeModule {
}