declare type Easing = (timeFraction: number) => number; declare function cubicBezier(x1: number, y1: number, x2: number, y2: number): Easing; declare type Point = { x: number; y: number; }; declare function calcCoordinatesFromAngle(radius: number, angle: number): Point; declare type Config = { container: HTMLElement; fromAngle?: number; toAngle?: number; animationDuration?: number; animationDelay?: number; lineWidth?: number; easing?: Easing; gaugeRadius?: number; color?: string; colors?: string[]; }; declare type GaugeItem = { element: SVGCircleElement; metadata: { relativeLeft: number; relativeTop: number; angle: number; }; }; declare type AnimationOptions = Pick; declare class Gauge { private readonly config; private readonly root; private readonly leftTopOffset; private readonly maxEasing; private isAnimating; private isDisposed; constructor(config: Config); private createRootSvgElement; private getAnimation; setValue(value: number, options?: AnimationOptions): Promise; insertAdjacentToRoot(where: InsertPosition, html: string): void; getElementAtValue(value: number): GaugeItem; private renderCircle; dispose(): void; } export { AnimationOptions, Config, Easing, Gauge, GaugeItem, Point, calcCoordinatesFromAngle, cubicBezier };