echarts
Version:
Apache ECharts is a powerful, interactive charting and data visualization library for browser
1,375 lines (1,341 loc) • 350 kB
TypeScript
declare type VectorArray = number[];
declare function create(x?: number, y?: number): VectorArray;
declare function copy<T extends VectorArray>(out: T, v: VectorArray): T;
declare function clone(v: VectorArray): VectorArray;
declare function set<T extends VectorArray>(out: T, a: number, b: number): T;
declare function add<T extends VectorArray>(out: T, v1: VectorArray, v2: VectorArray): T;
declare function scaleAndAdd<T extends VectorArray>(out: T, v1: VectorArray, v2: VectorArray, a: number): T;
declare function sub<T extends VectorArray>(out: T, v1: VectorArray, v2: VectorArray): T;
declare function len(v: VectorArray): number;
declare const length: typeof len;
declare function lenSquare(v: VectorArray): number;
declare const lengthSquare: typeof lenSquare;
declare function mul<T extends VectorArray>(out: T, v1: VectorArray, v2: VectorArray): T;
declare function div<T extends VectorArray>(out: T, v1: VectorArray, v2: VectorArray): T;
declare function dot(v1: VectorArray, v2: VectorArray): number;
declare function scale<T extends VectorArray>(out: T, v: VectorArray, s: number): T;
declare function normalize<T extends VectorArray>(out: T, v: VectorArray): T;
declare function distance(v1: VectorArray, v2: VectorArray): number;
declare const dist: typeof distance;
declare function distanceSquare(v1: VectorArray, v2: VectorArray): number;
declare const distSquare: typeof distanceSquare;
declare function negate<T extends VectorArray>(out: T, v: VectorArray): T;
declare function lerp<T extends VectorArray>(out: T, v1: VectorArray, v2: VectorArray, t: number): T;
declare function applyTransform<T extends VectorArray>(out: T, v: VectorArray, m: MatrixArray): T;
declare function min<T extends VectorArray>(out: T, v1: VectorArray, v2: VectorArray): T;
declare function max<T extends VectorArray>(out: T, v1: VectorArray, v2: VectorArray): T;
type vector_d_VectorArray = VectorArray;
declare const vector_d_create: typeof create;
declare const vector_d_copy: typeof copy;
declare const vector_d_clone: typeof clone;
declare const vector_d_set: typeof set;
declare const vector_d_add: typeof add;
declare const vector_d_scaleAndAdd: typeof scaleAndAdd;
declare const vector_d_sub: typeof sub;
declare const vector_d_len: typeof len;
declare const vector_d_length: typeof length;
declare const vector_d_lenSquare: typeof lenSquare;
declare const vector_d_lengthSquare: typeof lengthSquare;
declare const vector_d_mul: typeof mul;
declare const vector_d_div: typeof div;
declare const vector_d_dot: typeof dot;
declare const vector_d_scale: typeof scale;
declare const vector_d_normalize: typeof normalize;
declare const vector_d_distance: typeof distance;
declare const vector_d_dist: typeof dist;
declare const vector_d_distanceSquare: typeof distanceSquare;
declare const vector_d_distSquare: typeof distSquare;
declare const vector_d_negate: typeof negate;
declare const vector_d_lerp: typeof lerp;
declare const vector_d_applyTransform: typeof applyTransform;
declare const vector_d_min: typeof min;
declare const vector_d_max: typeof max;
declare namespace vector_d {
export {
vector_d_VectorArray as VectorArray,
vector_d_create as create,
vector_d_copy as copy,
vector_d_clone as clone,
vector_d_set as set,
vector_d_add as add,
vector_d_scaleAndAdd as scaleAndAdd,
vector_d_sub as sub,
vector_d_len as len,
vector_d_length as length,
vector_d_lenSquare as lenSquare,
vector_d_lengthSquare as lengthSquare,
vector_d_mul as mul,
vector_d_div as div,
vector_d_dot as dot,
vector_d_scale as scale,
vector_d_normalize as normalize,
vector_d_distance as distance,
vector_d_dist as dist,
vector_d_distanceSquare as distanceSquare,
vector_d_distSquare as distSquare,
vector_d_negate as negate,
vector_d_lerp as lerp,
vector_d_applyTransform as applyTransform,
vector_d_min as min,
vector_d_max as max,
};
}
declare type MatrixArray = number[];
declare function create$1(): MatrixArray;
declare function identity(out: MatrixArray): MatrixArray;
declare function copy$1(out: MatrixArray, m: MatrixArray): MatrixArray;
declare function mul$1(out: MatrixArray, m1: MatrixArray, m2: MatrixArray): MatrixArray;
declare function translate(out: MatrixArray, a: MatrixArray, v: VectorArray): MatrixArray;
declare function rotate(out: MatrixArray, a: MatrixArray, rad: number): MatrixArray;
declare function scale$1(out: MatrixArray, a: MatrixArray, v: VectorArray): MatrixArray;
declare function invert(out: MatrixArray, a: MatrixArray): MatrixArray;
declare function clone$1(a: MatrixArray): MatrixArray;
type matrix_d_MatrixArray = MatrixArray;
declare const matrix_d_identity: typeof identity;
declare const matrix_d_translate: typeof translate;
declare const matrix_d_rotate: typeof rotate;
declare const matrix_d_invert: typeof invert;
declare namespace matrix_d {
export {
matrix_d_MatrixArray as MatrixArray,
create$1 as create,
matrix_d_identity as identity,
copy$1 as copy,
mul$1 as mul,
matrix_d_translate as translate,
matrix_d_rotate as rotate,
scale$1 as scale,
matrix_d_invert as invert,
clone$1 as clone,
};
}
interface PointLike {
x: number;
y: number;
}
declare class Point {
x: number;
y: number;
constructor(x?: number, y?: number);
copy(other: PointLike): this;
clone(): Point;
set(x: number, y: number): this;
equal(other: PointLike): boolean;
add(other: PointLike): this;
scale(scalar: number): void;
scaleAndAdd(other: PointLike, scalar: number): void;
sub(other: PointLike): this;
dot(other: PointLike): number;
len(): number;
lenSquare(): number;
normalize(): this;
distance(other: PointLike): number;
distanceSquare(other: Point): number;
negate(): this;
transform(m: MatrixArray): this;
toArray(out: number[]): number[];
fromArray(input: number[]): void;
static set(p: PointLike, x: number, y: number): void;
static copy(p: PointLike, p2: PointLike): void;
static len(p: PointLike): number;
static lenSquare(p: PointLike): number;
static dot(p0: PointLike, p1: PointLike): number;
static add(out: PointLike, p0: PointLike, p1: PointLike): void;
static sub(out: PointLike, p0: PointLike, p1: PointLike): void;
static scale(out: PointLike, p0: PointLike, scalar: number): void;
static scaleAndAdd(out: PointLike, p0: PointLike, p1: PointLike, scalar: number): void;
static lerp(out: PointLike, p0: PointLike, p1: PointLike, t: number): void;
}
declare class BoundingRect {
x: number;
y: number;
width: number;
height: number;
constructor(x: number, y: number, width: number, height: number);
union(other: BoundingRect): void;
applyTransform(m: MatrixArray): void;
calculateTransform(b: RectLike): MatrixArray;
intersect(b: RectLike, mtv?: PointLike): boolean;
contain(x: number, y: number): boolean;
clone(): BoundingRect;
copy(other: RectLike): void;
plain(): RectLike;
isFinite(): boolean;
isZero(): boolean;
static create(rect: RectLike): BoundingRect;
static copy(target: RectLike, source: RectLike): void;
static applyTransform(target: RectLike, source: RectLike, m: MatrixArray): void;
}
declare type RectLike = {
x: number;
y: number;
width: number;
height: number;
};
declare type Dictionary<T> = {
[key: string]: T;
};
declare type ArrayLike$1<T> = {
[key: number]: T;
length: number;
};
declare type ImageLike = HTMLImageElement | HTMLCanvasElement | HTMLVideoElement;
declare type TextVerticalAlign = 'top' | 'middle' | 'bottom';
declare type TextAlign = 'left' | 'center' | 'right';
declare type BuiltinTextPosition = 'left' | 'right' | 'top' | 'bottom' | 'inside' | 'insideLeft' | 'insideRight' | 'insideTop' | 'insideBottom' | 'insideTopLeft' | 'insideTopRight' | 'insideBottomLeft' | 'insideBottomRight';
declare type ZREventProperties = {
zrX: number;
zrY: number;
zrDelta: number;
zrEventControl: 'no_globalout' | 'only_globalout';
zrByTouch: boolean;
};
declare type ZRRawMouseEvent = MouseEvent & ZREventProperties;
declare type ZRRawTouchEvent = TouchEvent & ZREventProperties;
declare type ZRRawPointerEvent = TouchEvent & ZREventProperties;
declare type ZRRawEvent = ZRRawMouseEvent | ZRRawTouchEvent | ZRRawPointerEvent;
declare type ElementEventName = 'click' | 'dblclick' | 'mousewheel' | 'mouseout' | 'mouseover' | 'mouseup' | 'mousedown' | 'mousemove' | 'contextmenu' | 'drag' | 'dragstart' | 'dragend' | 'dragenter' | 'dragleave' | 'dragover' | 'drop';
declare type PropType<TObj, TProp extends keyof TObj> = TObj[TProp];
declare type FunctionPropertyNames<T> = {
[K in keyof T]: T[K] extends Function ? K : never;
}[keyof T];
declare type MapToType<T extends Dictionary<any>, S> = {
[P in keyof T]: T[P] extends Dictionary<any> ? MapToType<T[P], S> : S;
};
declare type KeyOfDistributive<T> = T extends unknown ? keyof T : never;
declare type easingFunc = (percent: number) => number;
declare type AnimationEasing = keyof typeof easing | easingFunc | 'spline';
declare const easing: {
linear(k: number): number;
quadraticIn(k: number): number;
quadraticOut(k: number): number;
quadraticInOut(k: number): number;
cubicIn(k: number): number;
cubicOut(k: number): number;
cubicInOut(k: number): number;
quarticIn(k: number): number;
quarticOut(k: number): number;
quarticInOut(k: number): number;
quinticIn(k: number): number;
quinticOut(k: number): number;
quinticInOut(k: number): number;
sinusoidalIn(k: number): number;
sinusoidalOut(k: number): number;
sinusoidalInOut(k: number): number;
exponentialIn(k: number): number;
exponentialOut(k: number): number;
exponentialInOut(k: number): number;
circularIn(k: number): number;
circularOut(k: number): number;
circularInOut(k: number): number;
elasticIn(k: number): number;
elasticOut(k: number): number;
elasticInOut(k: number): number;
backIn(k: number): number;
backOut(k: number): number;
backInOut(k: number): number;
bounceIn(k: number): number;
bounceOut(k: number): number;
bounceInOut(k: number): number;
};
declare type EventCallback<Ctx, Impl, EvtParam = unknown> = (this: CbThis<Ctx, Impl>, eventParam: EvtParam, ...args: unknown[]) => boolean | void;
declare type EventQuery = string | Object;
declare type CbThis<Ctx, Impl> = unknown extends Ctx ? Impl : Ctx;
declare type DefaultEventDefinition = {
[eventName: string]: unknown;
};
interface EventProcessor<EvtDef = DefaultEventDefinition> {
normalizeQuery?: (query: EventQuery) => EventQuery;
filter?: (eventType: keyof EvtDef, query: EventQuery) => boolean;
afterTrigger?: (eventType: keyof EvtDef) => void;
}
declare class Eventful<EvtDef = DefaultEventDefinition> {
private _$handlers;
protected _$eventProcessor: EventProcessor<EvtDef>;
constructor(eventProcessors?: EventProcessor<EvtDef>);
on<Ctx, EvtNm extends keyof EvtDef>(event: EvtNm, handler: EventCallback<Ctx, this, EvtDef[EvtNm]>, context?: Ctx): this;
on<Ctx, EvtNm extends keyof EvtDef>(event: EvtNm, query: EventQuery, handler: EventCallback<Ctx, this, EvtDef[EvtNm]>, context?: Ctx): this;
isSilent(eventName: keyof EvtDef): boolean;
off(eventType?: keyof EvtDef, handler?: Function): this;
trigger(eventType: keyof EvtDef, eventParam?: EvtDef[keyof EvtDef], ...args: any[]): this;
triggerWithContext(type: keyof EvtDef): this;
}
interface Stage {
update?: () => void;
}
declare type OnframeCallback = (deltaTime: number) => void;
interface AnimationOption {
stage?: Stage;
onframe?: OnframeCallback;
}
declare class Animation extends Eventful {
stage: Stage;
onframe: OnframeCallback;
private _clipsHead;
private _clipsTail;
private _running;
private _time;
private _pausedTime;
private _pauseStart;
private _paused;
constructor(opts?: AnimationOption);
addClip(clip: Clip): void;
addAnimator(animator: Animator<any>): void;
removeClip(clip: Clip): void;
removeAnimator(animator: Animator<any>): void;
update(notTriggerFrameAndStageUpdate?: boolean): void;
_startLoop(): void;
start(): void;
stop(): void;
pause(): void;
resume(): void;
clear(): void;
isFinished(): boolean;
animate<T>(target: T, options: {
loop?: boolean;
}): Animator<T>;
}
declare type OnframeCallback$1 = (percent: number) => void;
declare type ondestroyCallback = () => void;
declare type onrestartCallback = () => void;
interface ClipProps {
life?: number;
delay?: number;
loop?: boolean;
gap?: number;
easing?: AnimationEasing;
onframe?: OnframeCallback$1;
ondestroy?: ondestroyCallback;
onrestart?: onrestartCallback;
}
declare class Clip {
private _life;
private _delay;
private _initialized;
private _startTime;
private _pausedTime;
private _paused;
animation: Animation;
loop: boolean;
gap: number;
easing: AnimationEasing;
next: Clip;
prev: Clip;
onframe: OnframeCallback$1;
ondestroy: ondestroyCallback;
onrestart: onrestartCallback;
constructor(opts: ClipProps);
step(globalTime: number, deltaTime: number): boolean;
private _restart;
pause(): void;
resume(): void;
}
declare type Keyframe = {
time: number;
value: unknown;
percent: number;
additiveValue?: unknown;
};
declare class Track {
keyframes: Keyframe[];
maxTime: number;
propName: string;
useSpline: boolean;
arrDim: number;
isValueColor: boolean;
interpolable: boolean;
private _finished;
private _needsSort;
private _isAllValueEqual;
private _additiveTrack;
private _additiveValue;
private _lastFrame;
private _lastFramePercent;
constructor(propName: string);
isFinished(): boolean;
setFinished(): void;
needsAnimate(): boolean;
getAdditiveTrack(): Track;
addKeyframe(time: number, value: unknown): {
time: number;
value: unknown;
percent: number;
};
prepare(additiveTrack?: Track): void;
step(target: any, percent: number): void;
private _addToTarget;
}
declare type DoneCallback = () => void;
declare type AbortCallback = () => void;
declare type OnframeCallback$2<T> = (target: T, percent: number) => void;
declare class Animator<T> {
animation?: Animation;
targetName?: string;
scope?: string;
__fromStateTransition?: string;
private _tracks;
private _trackKeys;
private _target;
private _loop;
private _delay;
private _maxTime;
private _paused;
private _started;
private _additiveAnimators;
private _doneList;
private _onframeList;
private _abortedList;
private _clip;
constructor(target: T, loop: boolean, additiveTo?: Animator<any>[]);
getTarget(): T;
changeTarget(target: T): void;
when(time: number, props: Dictionary<any>): this;
whenWithKeys(time: number, props: Dictionary<any>, propNames: string[]): this;
pause(): void;
resume(): void;
isPaused(): boolean;
private _doneCallback;
private _abortedCallback;
private _setTracksFinished;
private _getAdditiveTrack;
start(easing?: AnimationEasing, forceAnimate?: boolean): this;
stop(forwardToLast?: boolean): void;
delay(time: number): this;
during(cb: OnframeCallback$2<T>): this;
done(cb: DoneCallback): this;
aborted(cb: AbortCallback): this;
getClip(): Clip;
getTrack(propName: string): Track;
stopTracks(propNames: string[], forwardToLast?: boolean): boolean;
saveFinalToTarget(target: T, trackKeys?: readonly string[]): void;
__changeFinalValue(finalProps: Dictionary<any>, trackKeys?: readonly string[]): void;
}
interface CommonStyleProps {
shadowBlur?: number;
shadowOffsetX?: number;
shadowOffsetY?: number;
shadowColor?: string;
opacity?: number;
blend?: string;
}
interface DisplayableProps extends ElementProps {
style?: Dictionary<any>;
zlevel?: number;
z?: number;
z2?: number;
culling?: boolean;
cursor?: string;
rectHover?: boolean;
progressive?: boolean;
incremental?: boolean;
batch?: boolean;
invisible?: boolean;
}
declare type DisplayableKey = keyof DisplayableProps;
declare type DisplayablePropertyType = PropType<DisplayableProps, DisplayableKey>;
declare type DisplayableStatePropNames = ElementStatePropNames | 'style' | 'z' | 'z2' | 'invisible';
declare type DisplayableState = Pick<DisplayableProps, DisplayableStatePropNames> & ElementCommonState;
interface Displayable<Props extends DisplayableProps = DisplayableProps> {
animate(key?: '', loop?: boolean): Animator<this>;
animate(key: 'style', loop?: boolean): Animator<this['style']>;
getState(stateName: string): DisplayableState;
ensureState(stateName: string): DisplayableState;
states: Dictionary<DisplayableState>;
stateProxy: (stateName: string) => DisplayableState;
}
declare class Displayable<Props extends DisplayableProps = DisplayableProps> extends Element<Props> {
invisible: boolean;
z: number;
z2: number;
zlevel: number;
culling: boolean;
cursor: string;
rectHover: boolean;
incremental: boolean;
style: Dictionary<any>;
protected _normalState: DisplayableState;
protected _rect: BoundingRect;
protected _paintRect: BoundingRect;
protected _prevPaintRect: BoundingRect;
dirtyRectTolerance: number;
useHoverLayer?: boolean;
__hoverStyle?: CommonStyleProps;
__clipPaths?: Path[];
__canvasFillGradient: CanvasGradient;
__canvasStrokeGradient: CanvasGradient;
__canvasFillPattern: CanvasPattern;
__canvasStrokePattern: CanvasPattern;
__svgEl: SVGElement;
constructor(props?: Props);
protected _init(props?: Props): void;
beforeBrush(): void;
afterBrush(): void;
innerBeforeBrush(): void;
innerAfterBrush(): void;
shouldBePainted(viewWidth: number, viewHeight: number, considerClipPath: boolean, considerAncestors: boolean): boolean;
contain(x: number, y: number): boolean;
traverse<Context>(cb: (this: Context, el: this) => void, context?: Context): void;
rectContain(x: number, y: number): boolean;
getPaintRect(): BoundingRect;
setPrevPaintRect(paintRect: BoundingRect): void;
getPrevPaintRect(): BoundingRect;
animateStyle(loop: boolean): Animator<this["style"]>;
updateDuringAnimation(targetKey: string): void;
attrKV(key: DisplayableKey, value: DisplayablePropertyType): void;
setStyle(obj: Props['style']): this;
setStyle<T extends keyof Props['style']>(obj: T, value: Props['style'][T]): this;
dirtyStyle(): void;
dirty(): void;
styleChanged(): boolean;
styleUpdated(): void;
createStyle(obj?: Props['style']): Props["style"];
useStyle(obj: Props['style']): void;
isStyleObject(obj: Props['style']): any;
protected _innerSaveToNormal(toState: DisplayableState): void;
protected _applyStateObj(stateName: string, state: DisplayableState, normalState: DisplayableState, keepCurrentStates: boolean, transition: boolean, animationCfg: ElementAnimateConfig): void;
protected _mergeStates(states: DisplayableState[]): DisplayableState;
protected _mergeStyle(targetStyle: CommonStyleProps, sourceStyle: CommonStyleProps): CommonStyleProps;
getAnimationStyleProps(): MapToType<DisplayableProps, boolean>;
static STYLE_CHANGED_BIT: number;
protected static initDefaultProps: void;
}
interface ExtendedCanvasRenderingContext2D extends CanvasRenderingContext2D {
dpr?: number;
}
declare class PathProxy {
dpr: number;
data: number[] | Float32Array;
private _version;
private _saveData;
private _ctx;
private _xi;
private _yi;
private _x0;
private _y0;
private _len;
private _pathSegLen;
private _pathLen;
private _ux;
private _uy;
private _lineDash;
private _needsDash;
private _dashOffset;
private _dashIdx;
private _dashSum;
static CMD: {
M: number;
L: number;
C: number;
Q: number;
A: number;
Z: number;
R: number;
};
constructor(notSaveData?: boolean);
increaseVersion(): void;
getVersion(): number;
setScale(sx: number, sy: number, segmentIgnoreThreshold?: number): void;
setDPR(dpr: number): void;
setContext(ctx: ExtendedCanvasRenderingContext2D): void;
getContext(): ExtendedCanvasRenderingContext2D;
beginPath(): this;
reset(): void;
moveTo(x: number, y: number): this;
lineTo(x: number, y: number): this;
bezierCurveTo(x1: number, y1: number, x2: number, y2: number, x3: number, y3: number): this;
quadraticCurveTo(x1: number, y1: number, x2: number, y2: number): this;
arc(cx: number, cy: number, r: number, startAngle: number, endAngle: number, anticlockwise?: boolean): this;
arcTo(x1: number, y1: number, x2: number, y2: number, radius: number): this;
rect(x: number, y: number, w: number, h: number): this;
closePath(): this;
fill(ctx: CanvasRenderingContext2D): void;
stroke(ctx: CanvasRenderingContext2D): void;
setLineDash(lineDash: number[] | false): this;
setLineDashOffset(offset: number): this;
len(): number;
setData(data: Float32Array | number[]): void;
appendPath(path: PathProxy | PathProxy[]): void;
addData(cmd: number, a?: number, b?: number, c?: number, d?: number, e?: number, f?: number, g?: number, h?: number): void;
_expandData(): void;
_dashedLineTo(x1: number, y1: number): void;
_dashedBezierTo(x1: number, y1: number, x2: number, y2: number, x3: number, y3: number): void;
_dashedQuadraticTo(x1: number, y1: number, x2: number, y2: number): void;
toStatic(): void;
getBoundingRect(): BoundingRect;
private _calculateLength;
rebuildPath(ctx: PathRebuilder, percent: number): void;
private static initDefaultProps;
}
interface PathRebuilder {
moveTo(x: number, y: number): void;
lineTo(x: number, y: number): void;
bezierCurveTo(x: number, y: number, x2: number, y2: number, x3: number, y3: number): void;
quadraticCurveTo(x: number, y: number, x2: number, y2: number): void;
arc(cx: number, cy: number, r: number, startAngle: number, endAngle: number, anticlockwise: boolean): void;
ellipse(cx: number, cy: number, radiusX: number, radiusY: number, rotation: number, startAngle: number, endAngle: number, anticlockwise: boolean): void;
rect(x: number, y: number, width: number, height: number): void;
closePath(): void;
}
declare type CanvasPatternRepeat = 'repeat' | 'repeat-x' | 'repeat-y' | 'no-repeat';
interface PatternObject {
id?: number;
type: 'pattern';
image: ImageLike | string;
svgElement: SVGElement;
svgWidth: number;
svgHeight: number;
repeat: CanvasPatternRepeat;
x?: number;
y?: number;
rotation?: number;
scaleX?: number;
scaleY?: number;
__image?: ImageLike;
}
interface GradientObject {
id?: number;
type: string;
colorStops: GradientColorStop[];
__canvasGradient: CanvasGradient;
}
interface GradientColorStop {
offset: number;
color: string;
}
declare class Gradient {
id?: number;
type: string;
colorStops: GradientColorStop[];
__canvasGradient: CanvasGradient;
constructor(colorStops: GradientColorStop[]);
addColorStop(offset: number, color: string): void;
}
interface LinearGradientObject extends GradientObject {
type: 'linear';
x: number;
y: number;
x2: number;
y2: number;
global: boolean;
}
declare class LinearGradient extends Gradient {
type: 'linear';
x: number;
y: number;
x2: number;
y2: number;
global: boolean;
constructor(x: number, y: number, x2: number, y2: number, colorStops?: GradientColorStop[], globalCoord?: boolean);
}
interface RadialGradientObject extends GradientObject {
type: 'radial';
x: number;
y: number;
r: number;
global: boolean;
}
declare class RadialGradient extends Gradient {
type: 'radial';
x: number;
y: number;
r: number;
global: boolean;
constructor(x: number, y: number, r: number, colorStops?: GradientColorStop[], globalCoord?: boolean);
}
interface PathStyleProps extends CommonStyleProps {
fill?: string | PatternObject | LinearGradientObject | RadialGradientObject;
stroke?: string | PatternObject | LinearGradientObject | RadialGradientObject;
decal?: PatternObject;
strokePercent?: number;
strokeNoScale?: boolean;
fillOpacity?: number;
strokeOpacity?: number;
lineDash?: false | number[] | 'solid' | 'dashed' | 'dotted';
lineDashOffset?: number;
lineWidth?: number;
lineCap?: CanvasLineCap;
lineJoin?: CanvasLineJoin;
miterLimit?: number;
strokeFirst?: boolean;
}
interface PathProps extends DisplayableProps {
strokeContainThreshold?: number;
segmentIgnoreThreshold?: number;
subPixelOptimize?: boolean;
style?: PathStyleProps;
shape?: Dictionary<any>;
autoBatch?: boolean;
__value?: (string | number)[] | (string | number);
buildPath?: (ctx: PathProxy | CanvasRenderingContext2D, shapeCfg: Dictionary<any>, inBundle?: boolean) => void;
}
declare type PathKey = keyof PathProps;
declare type PathPropertyType = PropType<PathProps, PathKey>;
declare type PathStatePropNames = DisplayableStatePropNames | 'shape';
declare type PathState = Pick<PathProps, PathStatePropNames> & {
hoverLayer?: boolean;
};
interface Path<Props extends PathProps = PathProps> {
animate(key?: '', loop?: boolean): Animator<this>;
animate(key: 'style', loop?: boolean): Animator<this['style']>;
animate(key: 'shape', loop?: boolean): Animator<this['shape']>;
getState(stateName: string): PathState;
ensureState(stateName: string): PathState;
states: Dictionary<PathState>;
stateProxy: (stateName: string) => PathState;
}
declare class Path<Props extends PathProps = PathProps> extends Displayable<Props> {
path: PathProxy;
strokeContainThreshold: number;
segmentIgnoreThreshold: number;
subPixelOptimize: boolean;
style: PathStyleProps;
autoBatch: boolean;
private _rectWithStroke;
protected _normalState: PathState;
protected _decalEl: Path;
shape: Dictionary<any>;
constructor(opts?: Props);
update(): void;
getDecalElement(): Path<PathProps>;
protected _init(props?: Props): void;
protected getDefaultStyle(): Props['style'];
protected getDefaultShape(): {};
protected canBeInsideText(): boolean;
protected getInsideTextFill(): "#333" | "#ccc" | "#eee";
protected getInsideTextStroke(textFill?: string): string;
buildPath(ctx: PathProxy | CanvasRenderingContext2D, shapeCfg: Dictionary<any>, inBundle?: boolean): void;
pathUpdated(): void;
createPathProxy(): void;
hasStroke(): boolean;
hasFill(): boolean;
getBoundingRect(): BoundingRect;
contain(x: number, y: number): boolean;
dirtyShape(): void;
dirty(): void;
animateShape(loop: boolean): Animator<this["shape"]>;
updateDuringAnimation(targetKey: string): void;
attrKV(key: PathKey, value: PathPropertyType): void;
setShape(obj: Props['shape']): this;
setShape<T extends keyof Props['shape']>(obj: T, value: Props['shape'][T]): this;
shapeChanged(): boolean;
createStyle(obj?: Props['style']): Props["style"];
protected _innerSaveToNormal(toState: PathState): void;
protected _applyStateObj(stateName: string, state: PathState, normalState: PathState, keepCurrentStates: boolean, transition: boolean, animationCfg: ElementAnimateConfig): void;
protected _mergeStates(states: PathState[]): PathState;
getAnimationStyleProps(): MapToType<PathProps, boolean>;
isZeroArea(): boolean;
static extend<Shape extends Dictionary<any>>(defaultProps: {
type?: string;
shape?: Shape;
style?: PathStyleProps;
beforeBrush?: Displayable['beforeBrush'];
afterBrush?: Displayable['afterBrush'];
getBoundingRect?: Displayable['getBoundingRect'];
calculateTextPosition?: Element['calculateTextPosition'];
buildPath(this: Path, ctx: CanvasRenderingContext2D | PathProxy, shape: Shape, inBundle?: boolean): void;
init?(this: Path, opts: PathProps): void;
}): {
new (opts?: PathProps & {
shape: Shape;
}): Path;
};
static SHAPE_CHANGED_BIT: number;
protected static initDefaultProps: void;
}
declare class Transformable {
parent: Transformable;
x: number;
y: number;
scaleX: number;
scaleY: number;
rotation: number;
originX: number;
originY: number;
globalScaleRatio: number;
transform: MatrixArray;
invTransform: MatrixArray;
setPosition(arr: number[]): void;
setScale(arr: number[]): void;
setOrigin(arr: number[]): void;
needLocalTransform(): boolean;
updateTransform(): void;
private _resolveGlobalScaleRatio;
getLocalTransform(m?: MatrixArray): MatrixArray;
getComputedTransform(): MatrixArray;
setLocalTransform(m: VectorArray): void;
decomposeTransform(): void;
getGlobalScale(out?: VectorArray): VectorArray;
transformCoordToLocal(x: number, y: number): number[];
transformCoordToGlobal(x: number, y: number): number[];
getLineScale(): number;
static getLocalTransform(target: Transformable, m?: MatrixArray): MatrixArray;
private static initDefaultProps;
}
interface ImageStyleProps extends CommonStyleProps {
image?: string | ImageLike;
x?: number;
y?: number;
width?: number;
height?: number;
sx?: number;
sy?: number;
sWidth?: number;
sHeight?: number;
}
interface ImageProps extends DisplayableProps {
style?: ImageStyleProps;
onload?: (image: ImageLike) => void;
}
declare class ZRImage extends Displayable<ImageProps> {
style: ImageStyleProps;
__image: ImageLike;
__imageSrc: string;
onload: (image: ImageLike) => void;
createStyle(obj?: ImageStyleProps): ImageStyleProps;
private _getSize;
getWidth(): number;
getHeight(): number;
getAnimationStyleProps(): MapToType<ImageProps, boolean>;
getBoundingRect(): BoundingRect;
}
interface PainterBase {
type: string;
root: HTMLElement;
resize(width?: number | string, height?: number | string): void;
refresh(): void;
clear(): void;
getType: () => string;
getWidth(): number;
getHeight(): number;
dispose(): void;
getViewportRoot: () => HTMLElement;
getViewportRootOffset: () => {
offsetLeft: number;
offsetTop: number;
};
refreshHover(): void;
pathToImage(e: Path, dpr: number): ZRImage;
configLayer(zlevel: number, config: Dictionary<any>): void;
setBackgroundColor(backgroundColor: string | GradientObject | PatternObject): void;
}
interface HandlerProxyInterface extends Eventful {
handler: Handler;
dispose: () => void;
setCursor: (cursorStyle?: string) => void;
}
declare function shapeCompareFunc(a: Displayable, b: Displayable): number;
declare class Storage {
private _roots;
private _displayList;
private _displayListLen;
traverse<T>(cb: (this: T, el: Element) => void, context?: T): void;
getDisplayList(update?: boolean, includeIgnore?: boolean): Displayable[];
updateDisplayList(includeIgnore?: boolean): void;
private _updateAndAddDisplayable;
addRoot(el: Element): void;
delRoot(el: Element | Element[]): void;
delAllRoots(): void;
getRoots(): Element<ElementProps>[];
dispose(): void;
displayableSortFunc: typeof shapeCompareFunc;
}
declare class HoveredResult {
x: number;
y: number;
target: Displayable;
topTarget: Displayable;
constructor(x?: number, y?: number);
}
declare type HandlerName = 'click' | 'dblclick' | 'mousewheel' | 'mouseout' | 'mouseup' | 'mousedown' | 'mousemove' | 'contextmenu';
declare class Handler extends Eventful {
storage: Storage;
painter: PainterBase;
painterRoot: HTMLElement;
proxy: HandlerProxyInterface;
private _hovered;
private _gestureMgr;
private _draggingMgr;
_downEl: Element;
_upEl: Element;
_downPoint: [number, number];
constructor(storage: Storage, painter: PainterBase, proxy: HandlerProxyInterface, painterRoot: HTMLElement);
setHandlerProxy(proxy: HandlerProxyInterface): void;
mousemove(event: ZRRawEvent): void;
mouseout(event: ZRRawEvent): void;
resize(): void;
dispatch(eventName: HandlerName, eventArgs?: any): void;
dispose(): void;
setCursorStyle(cursorStyle: string): void;
dispatchToElement(targetInfo: {
target?: Element;
topTarget?: Element;
}, eventName: ElementEventName, event: ZRRawEvent): void;
findHover(x: number, y: number, exclude?: Displayable): HoveredResult;
processGesture(event: ZRRawEvent, stage?: 'start' | 'end' | 'change'): void;
click: (event: ZRRawEvent) => void;
mousedown: (event: ZRRawEvent) => void;
mouseup: (event: ZRRawEvent) => void;
mousewheel: (event: ZRRawEvent) => void;
dblclick: (event: ZRRawEvent) => void;
contextmenu: (event: ZRRawEvent) => void;
}
interface LayerConfig {
clearColor?: string | GradientObject | PatternObject;
motionBlur?: boolean;
lastFrameAlpha?: number;
}
interface TSpanStyleProps extends PathStyleProps {
x?: number;
y?: number;
text?: string;
font?: string;
textAlign?: CanvasTextAlign;
textBaseline?: CanvasTextBaseline;
}
interface TSpanProps extends DisplayableProps {
style?: TSpanStyleProps;
}
declare class TSpan extends Displayable<TSpanProps> {
style: TSpanStyleProps;
hasStroke(): boolean;
hasFill(): boolean;
createStyle(obj?: TSpanStyleProps): TSpanStyleProps;
setBoundingRect(rect: BoundingRect): void;
getBoundingRect(): BoundingRect;
protected static initDefaultProps: void;
}
/*!
* ZRender, a high performance 2d drawing library.
*
* Copyright (c) 2013, Baidu Inc.
* All rights reserved.
*
* LICENSE
* https://github.com/ecomfe/zrender/blob/master/LICENSE.txt
*/
declare type PainterBaseCtor = {
new (dom: HTMLElement, storage: Storage, ...args: any[]): PainterBase;
};
declare class ZRender {
dom: HTMLElement;
id: number;
storage: Storage;
painter: PainterBase;
handler: Handler;
animation: Animation;
private _sleepAfterStill;
private _stillFrameAccum;
private _needsRefresh;
private _needsRefreshHover;
private _darkMode;
private _backgroundColor;
constructor(id: number, dom: HTMLElement, opts?: ZRenderInitOpt);
add(el: Element): void;
remove(el: Element): void;
configLayer(zLevel: number, config: LayerConfig): void;
setBackgroundColor(backgroundColor: string | GradientObject | PatternObject): void;
getBackgroundColor(): string | GradientObject | PatternObject;
setDarkMode(darkMode: boolean): void;
isDarkMode(): boolean;
refreshImmediately(fromInside?: boolean): void;
refresh(): void;
flush(): void;
private _flush;
setSleepAfterStill(stillFramesCount: number): void;
wakeUp(): void;
addHover(el: Displayable): void;
removeHover(el: Path | TSpan | ZRImage): void;
clearHover(): void;
refreshHover(): void;
refreshHoverImmediately(): void;
resize(opts?: {
width?: number | string;
height?: number | string;
}): void;
clearAnimation(): void;
getWidth(): number;
getHeight(): number;
pathToImage(e: Path, dpr: number): ZRImage;
setCursorStyle(cursorStyle: string): void;
findHover(x: number, y: number): {
target: Displayable;
topTarget: Displayable;
};
on<Ctx>(eventName: ElementEventName, eventHandler: ElementEventCallback<Ctx, unknown>, context?: Ctx): this;
on<Ctx>(eventName: string, eventHandler: EventCallback<Ctx, unknown>, context?: Ctx): this;
off(eventName?: string, eventHandler?: EventCallback<unknown, unknown> | EventCallback<unknown, unknown, ElementEvent>): void;
trigger(eventName: string, event?: unknown): void;
clear(): void;
dispose(): void;
}
interface ZRenderInitOpt {
renderer?: string;
devicePixelRatio?: number;
width?: number | string;
height?: number | string;
useDirtyRect?: boolean;
}
declare function init(dom: HTMLElement, opts?: ZRenderInitOpt): ZRender;
declare function dispose(zr: ZRender): void;
declare function disposeAll(): void;
declare function getInstance(id: number): ZRender;
declare function registerPainter(name: string, Ctor: PainterBaseCtor): void;
declare const version = "5.0.4";
interface ZRenderType extends ZRender {
}
type zrender_d_ZRenderInitOpt = ZRenderInitOpt;
declare const zrender_d_init: typeof init;
declare const zrender_d_dispose: typeof dispose;
declare const zrender_d_disposeAll: typeof disposeAll;
declare const zrender_d_getInstance: typeof getInstance;
declare const zrender_d_registerPainter: typeof registerPainter;
declare const zrender_d_version: typeof version;
type zrender_d_ZRenderType = ZRenderType;
declare namespace zrender_d {
export {
zrender_d_ZRenderInitOpt as ZRenderInitOpt,
zrender_d_init as init,
zrender_d_dispose as dispose,
zrender_d_disposeAll as disposeAll,
zrender_d_getInstance as getInstance,
zrender_d_registerPainter as registerPainter,
zrender_d_version as version,
zrender_d_ZRenderType as ZRenderType,
};
}
declare class RectShape {
r?: number | number[];
x: number;
y: number;
width: number;
height: number;
}
interface RectProps extends PathProps {
shape?: Partial<RectShape>;
}
declare class Rect extends Path<RectProps> {
shape: RectShape;
constructor(opts?: RectProps);
getDefaultShape(): RectShape;
buildPath(ctx: CanvasRenderingContext2D, shape: RectShape): void;
isZeroArea(): boolean;
}
interface TextStylePropsPart {
text?: string;
fill?: string;
stroke?: string;
opacity?: number;
fillOpacity?: number;
strokeOpacity?: number;
lineWidth?: number;
lineDash?: false | number[];
lineDashOffset?: number;
borderDash?: false | number[];
borderDashOffset?: number;
font?: string;
textFont?: string;
fontStyle?: 'normal' | 'italic' | 'oblique';
fontWeight?: 'normal' | 'bold' | 'bolder' | 'lighter' | number;
fontFamily?: string;
fontSize?: number | string;
align?: TextAlign;
verticalAlign?: TextVerticalAlign;
lineHeight?: number;
width?: number | string;
height?: number;
tag?: string;
textShadowColor?: string;
textShadowBlur?: number;
textShadowOffsetX?: number;
textShadowOffsetY?: number;
backgroundColor?: string | {
image: ImageLike | string;
};
padding?: number | number[];
margin?: number;
borderColor?: string;
borderWidth?: number;
borderRadius?: number | number[];
shadowColor?: string;
shadowBlur?: number;
shadowOffsetX?: number;
shadowOffsetY?: number;
}
interface TextStyleProps extends TextStylePropsPart {
text?: string;
x?: number;
y?: number;
width?: number;
rich?: Dictionary<TextStylePropsPart>;
overflow?: 'break' | 'breakAll' | 'truncate';
lineOverflow?: 'truncate';
ellipsis?: string;
placeholder?: string;
truncateMinChar?: number;
}
interface TextProps extends DisplayableProps {
style?: TextStyleProps;
zlevel?: number;
z?: number;
z2?: number;
culling?: boolean;
cursor?: string;
}
declare type TextState = Pick<TextProps, DisplayableStatePropNames> & ElementCommonState;
declare type DefaultTextStyle = Pick<TextStyleProps, 'fill' | 'stroke' | 'align' | 'verticalAlign'> & {
autoStroke?: boolean;
};
interface ZRText {
animate(key?: '', loop?: boolean): Animator<this>;
animate(key: 'style', loop?: boolean): Animator<this['style']>;
getState(stateName: string): TextState;
ensureState(stateName: string): TextState;
states: Dictionary<TextState>;
stateProxy: (stateName: string) => TextState;
}
declare class ZRText extends Displayable<TextProps> {
type: string;
style: TextStyleProps;
overlap: 'hidden' | 'show' | 'blur';
attachedTransform: Transformable;
private _children;
private _childCursor;
private _defaultStyle;
constructor(opts?: TextProps);
childrenRef(): (ZRImage | TSpan | Rect)[];
update(): void;
getComputedTransform(): MatrixArray;
private _updateSubTexts;
addSelfToZr(zr: ZRenderType): void;
removeSelfFromZr(zr: ZRenderType): void;
getBoundingRect(): BoundingRect;
setDefaultTextStyle(defaultTextStyle: DefaultTextStyle): void;
setTextContent(textContent: never): void;
protected _mergeStyle(targetStyle: TextStyleProps, sourceStyle: TextStyleProps): TextStyleProps;
private _mergeRich;
getAnimationStyleProps(): MapToType<TextProps, boolean>;
private _getOrCreateChild;
private _updatePlainTexts;
private _updateRichTexts;
private _placeToken;
private _renderBackground;
static makeFont(style: TextStylePropsPart): string;
}
interface TextPositionCalculationResult {
x: number;
y: number;
align: TextAlign;
verticalAlign: TextVerticalAlign;
}
declare class PolylineShape {
points: VectorArray[];
percent?: number;
smooth?: number | 'spline';
smoothConstraint?: VectorArray[];
}
interface PolylineProps extends PathProps {
shape?: Partial<PolylineShape>;
}
declare class Polyline extends Path<PolylineProps> {
shape: PolylineShape;
constructor(opts?: PolylineProps);
getDefaultStyle(): {
stroke: string;
fill: string;
};
getDefaultShape(): PolylineShape;
buildPath(ctx: CanvasRenderingContext2D, shape: PolylineShape): void;
}
interface ElementAnimateConfig {
duration?: number;
delay?: number;
easing?: AnimationEasing;
during?: (percent: number) => void;
done?: Function;
aborted?: Function;
scope?: string;
force?: boolean;
additive?: boolean;
setToFinal?: boolean;
}
interface ElementTextConfig {
position?: BuiltinTextPosition | (number | string)[];
rotation?: number;
layoutRect?: RectLike;
offset?: number[];
origin?: (number | string)[] | 'center';
distance?: number;
local?: boolean;
insideFill?: string;
insideStroke?: string;
outsideFill?: string;
outsideStroke?: string;
inside?: boolean;
}
interface ElementTextGuideLineConfig {
anchor?: Point;
showAbove?: boolean;
candidates?: ('left' | 'top' | 'right' | 'bottom')[];
}
interface ElementEvent {
type: ElementEventName;
event: ZRRawEvent;
target: Element;
topTarget: Element;
cancelBubble: boolean;
offsetX: number;
offsetY: number;
gestureEvent: string;
pinchX: number;
pinchY: number;
pinchScale: number;
wheelDelta: number;
zrByTouch: boolean;
which: number;
stop: (this: ElementEvent) => void;
}
declare type ElementEventCallback<Ctx, Impl> = (this: CbThis$1<Ctx, Impl>, e: ElementEvent) => boolean | void;
declare type CbThis$1<Ctx, Impl> = unknown extends Ctx ? Impl : Ctx;
interface ElementEventHandlerProps {
onclick: ElementEventCallback<unknown, unknown>;
ondblclick: ElementEventCallback<unknown, unknown>;
onmouseover: ElementEventCallback<unknown, unknown>;
onmouseout: ElementEventCallback<unknown, unknown>;
onmousemove: ElementEventCallback<unknown, unknown>;
onmousewheel: ElementEventCallback<unknown, unknown>;
onmousedown: ElementEventCallback<unknown, unknown>;
onmouseup: ElementEventCallback<unknown, unknown>;
oncontextmenu: ElementEventCallback<unknown, unknown>;
ondrag: ElementEventCallback<unknown, unknown>;
ondragstart: ElementEventCallback<unknown, unknown>;
ondragend: ElementEventCallback<unknown, unknown>;
ondragenter: ElementEventCallback<unknown, unknown>;
ondragleave: ElementEventCallback<unknown, unknown>;
ondragover: ElementEventCallback<unknown, unknown>;
ondrop: ElementEventCallback<unknown, unknown>;
}
interface ElementProps extends Partial<ElementEventHandlerProps> {
name?: string;
ignore?: boolean;
isGroup?: boolean;
draggable?: boolean | 'horizontal' | 'vertical';
silent?: boolean;
ignoreClip?: boolean;
x?: number;
y?: number;
scaleX?: number;
scaleY?: number;
originX?: number;
originY?: number;
rotation?: number;
globalScaleRatio?: number;
textConfig?: ElementTextConfig;
textContent?: ZRText;
clipPath?: Path;
drift?: Element['drift'];
extra?: Dictionary<unknown>;
anid?: string;
}
declare const PRIMARY_STATES_KEYS: readonly ["x", "y", "scaleX", "scaleY", "originX", "originY", "rotation", "ignore"];
declare type ElementStatePropNames = (typeof PRIMARY_STATES_KEYS)[number] | 'textConfig';
declare type ElementState = Pick<ElementProps, ElementStatePropNames> & ElementCommonState;
declare type ElementCommonState = {
hoverLayer?: boolean;
};
interface Element<Props extends ElementProps = ElementProps> extends Transformable, Eventful, ElementEventHandlerProps {
on<Ctx>(event: ElementEventName, handler: ElementEventCallback<Ctx, this>, context?: Ctx): this;
on<Ctx>(event: string, handler: EventCallback<Ctx, this>, context?: Ctx): this;
on<Ctx>(event: ElementEventName, query: EventQuery, handler: ElementEventCallback<Ctx, this>, context?: Ctx): this;
on<Ctx>(event: string, query: EventQuery, handler: EventCallback<Ctx, this>, context?: Ctx): this;
}
declare class Element<Props extends ElementProps = ElementProps> {
id: number;
type: string;
name: string;
ignore: boolean;
silent: boolean;
isGroup: boolean;
draggable: boolean | 'horizontal' | 'vertical';
dragging: boolean;
parent: Group;
animators: Animator<any>[];
ignoreClip: boolean;
__hostTarget: Element;
__zr: ZRenderType;
__dirty: number;
__isRendered: boolean;
__inHover: boolean;
private _clipPath?;
private _textContent?;
private _textGuide?;
textConfig?: ElementTextConfig;
textGuideLineConfig?: ElementTextGuideLineConfig;
anid: string;
extra: Dictionary<unknown>;
currentStates?: string[];
prevStates?: string[];
states: Dictionary<ElementState>;
stateTransition: ElementAnimateConfig;
stateProxy?: (stateName: string, targetStates?: string[]) => ElementState;
protected _normalState: ElementState;
private _innerTextDefaultStyle;
constructor(props?: Props);
protected _init(props?: Props): void;
drift(dx: number, dy: number, e?: ElementEvent): void;
beforeUpdate(): void;
afterUpdate(): void;
update(): void;
updateInnerText(forceUpdate?: boolean): void;
protected canBeInsideText(): boolean;
protected getInsideTextFill(): string;
protected getInsideTextStroke(textFill: string): string;
protected getOutsideFill(): "#333" | "#ccc";
protected getOutsideStroke(textFill: string): string;
traverse<Context>(cb: (this: Context, el: Element<Props>) => void, context?: Context): void;
protected attrKV(key: string, value: unknown): void;
hide(): void;
show(): void;
attr(keyOrObj: Props): this;
attr<T extends keyof Props>(keyOrObj: T, value: Props[T]): this;
saveCurrentToNormalState(toState: ElementState): void;
protected _innerSaveToNormal(toState: ElementState): void;
protected _savePrimaryToNormal(toState: Dictionary<any>, normalState: Dictionary<any>, primaryKeys: readonly string[]): void;
hasState(): boolean;
getState(name: string): ElementState;
ensureState(name: string): ElementState;
clearStates(noAnimation?: boolean): void;
useState(stateName: string, keepCurrentStates?: boolean, noAnimation?: boolean): ElementState;
useStates(states: string[], noAnimation?: boolean): void;
private _updateAnimationTargets;
removeState(state: string): void;
replaceState(oldState: string, newState: string, forceAdd: boolean): void;
toggleState(state: string, enable: boolean): void;
protected _mergeStates(states: ElementState[]): ElementState;
protected _applyStateObj(stateName: string, state: ElementState, normalState: ElementState, keepCurrentStates: boolean, transition: boolean, animationCfg: ElementAnimateConfig): void;
private _attachComponent;
private _detachComponent;
getClipPath(): Path<PathProps>;
setClipPath(clipPath: Path): void;
removeClipPath(): void;
getTextContent(): ZRText;
setTextContent(textEl: ZRText): void;
setTextConfig(cfg: ElementTextConfig): void;
removeTextContent(): void;
getTextGuideLine(): Polyline;
setTextGuideLine(guideLine: Polyline): void;
removeTextGuideLine(): void;
markRedraw(): void;
dirty(): void;
private _toggleHoverLayerFlag;
addSelfToZr(zr: ZRenderType): void;
removeSelfFromZr(zr: ZRenderType): void;
animate(key?: string, loop?: boolean): Animator<any>;
addAnimator(animator: Animator<any>, key: string): void;
updateDuringAnimation(key: string): void;
stopAnimation(scope?: string, forwardToLast?: boolean): this;
animateTo(target: Props, cfg?: ElementAnimateConfig, animationProps?: MapToType<Props, boolean>): void;
animateFrom(target: Props, cfg: Omit<ElementAnimateConfig, 'setToFinal'>, animationProps?: MapToType<Props, boolean>): void;
protected _transitionState(stateName: string, target: Props, cfg?: ElementAnimateConfig, animationProps?: MapToType<Props, boolean>): void;
getBoundingRect(): BoundingRect;
getPaintRect(): BoundingRect;
calculateTextPosition: (out: TextPositionCalculationResult, style: ElementTextConfig, rect: RectL