import type { IRenderer, TOptions, TUserOptions } from './types.js'; export declare const defaultEasing: TOptions['easing']; export declare const defaultOptions: TOptions; export declare class EasyPieChart { readonly el: HTMLElement; options: TOptions; /** Public so callers can reach `getCtx()`/`getCanvas()` to build gradients. */ renderer: IRenderer; private currentValue; private resizeObserver; private destroyed; /** The caller's own callbacks, so re-binding never wraps a wrapper. */ private rawCallbacks; constructor(el: HTMLElement, userOptions?: TUserOptions); /** * Track the host element and resize the chart to fit. The host must get its * size from CSS (or a parent) rather than from the canvas, otherwise the two * would size each other. */ private observeResize; /** Current value of the chart. */ get value(): number; /** * Update the value of the chart. Non-numeric values are ignored so a bad * update cannot wedge the chart for all future ones. */ update(newValue: number | string): this; /** * Replace options and rebuild the renderer. The current value is redrawn * without animation. */ setOptions(userOptions: TUserOptions): this; /** Stop a running animation, leaving the chart at the last drawn frame. */ stop(): this; disableAnimation(): this; enableAnimation(): this; /** Remove the canvas, stop observing resizes, cancel any running animation. */ destroy(): void; }