echarts
Version:
Apache ECharts is a powerful, interactive charting and data visualization library for browser
1,287 lines (1,254 loc) • 382 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 | null;
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' | 'globalout';
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 WithThisType<Func extends (...args: any) => any, This> = (this: This, ...args: Parameters<Func>) => ReturnType<Func>;
interface GradientObject {
id?: number;
type: string;
colorStops: GradientColorStop[];
global?: boolean;
}
interface GradientColorStop {
offset: number;
color: string;
}
declare class Gradient {
id?: number;
type: string;
colorStops: GradientColorStop[];
global: boolean;
constructor(colorStops: GradientColorStop[]);
addColorStop(offset: number, color: string): void;
}
declare type ImagePatternRepeat = 'repeat' | 'repeat-x' | 'repeat-y' | 'no-repeat';
interface PatternObjectBase {
id?: number;
type?: 'pattern';
x?: number;
y?: number;
rotation?: number;
scaleX?: number;
scaleY?: number;
}
interface ImagePatternObject extends PatternObjectBase {
image: ImageLike | string;
repeat?: ImagePatternRepeat;
}
interface SVGPatternObject extends PatternObjectBase {
svgElement?: SVGElement;
svgWidth?: number;
svgHeight?: number;
}
declare type PatternObject = ImagePatternObject | SVGPatternObject;
declare const nativeSlice: (start?: number, end?: number) => any[];
declare function $override(name: string, fn: Function): void;
declare function guid(): number;
declare function logError(...args: any[]): void;
declare function clone$2<T extends any>(source: T): T;
declare function merge<T extends Dictionary<any>, S extends Dictionary<any>>(target: T, source: S, overwrite?: boolean): T & S;
declare function merge<T extends any, S extends any>(target: T, source: S, overwrite?: boolean): T | S;
declare function mergeAll(targetAndSources: any[], overwrite?: boolean): any;
declare function extend<T extends Dictionary<any>, S extends Dictionary<any>>(target: T, source: S): T & S;
declare function defaults<T extends Dictionary<any>, S extends Dictionary<any>>(target: T, source: S, overlay?: boolean): T & S;
declare const createCanvas: () => HTMLCanvasElement;
declare function indexOf<T>(array: T[] | readonly T[] | ArrayLike$1<T>, value: T): number;
declare function inherits(clazz: Function, baseClazz: Function): void;
declare function mixin<T, S>(target: T | Function, source: S | Function, override?: boolean): void;
declare function isArrayLike(data: any): data is ArrayLike$1<any>;
declare function each<I extends Dictionary<any> | any[] | readonly any[] | ArrayLike$1<any>, Context>(arr: I, cb: (this: Context, value: I extends (infer T)[] | readonly (infer T)[] | ArrayLike$1<infer T> ? T : I extends Dictionary<any> ? I extends Record<infer K, infer T> ? T : unknown : unknown, index?: I extends any[] | readonly any[] | ArrayLike$1<any> ? number : keyof I & string, arr?: I) => void, context?: Context): void;
declare function map<T, R, Context>(arr: readonly T[], cb: (this: Context, val: T, index?: number, arr?: readonly T[]) => R, context?: Context): R[];
declare function reduce<T, S, Context>(arr: readonly T[], cb: (this: Context, previousValue: S, currentValue: T, currentIndex?: number, arr?: readonly T[]) => S, memo?: S, context?: Context): S;
declare function filter<T, Context>(arr: readonly T[], cb: (this: Context, value: T, index: number, arr: readonly T[]) => boolean, context?: Context): T[];
declare function find<T, Context>(arr: readonly T[], cb: (this: Context, value: T, index?: number, arr?: readonly T[]) => boolean, context?: Context): T;
declare function keys<T extends object>(obj: T): (KeyOfDistributive<T> & string)[];
declare type Bind1<F, Ctx> = F extends (this: Ctx, ...args: infer A) => infer R ? (...args: A) => R : unknown;
declare type Bind2<F, Ctx, T1> = F extends (this: Ctx, a: T1, ...args: infer A) => infer R ? (...args: A) => R : unknown;
declare type Bind3<F, Ctx, T1, T2> = F extends (this: Ctx, a: T1, b: T2, ...args: infer A) => infer R ? (...args: A) => R : unknown;
declare type Bind4<F, Ctx, T1, T2, T3> = F extends (this: Ctx, a: T1, b: T2, c: T3, ...args: infer A) => infer R ? (...args: A) => R : unknown;
declare type Bind5<F, Ctx, T1, T2, T3, T4> = F extends (this: Ctx, a: T1, b: T2, c: T3, d: T4, ...args: infer A) => infer R ? (...args: A) => R : unknown;
declare type BindFunc<Ctx> = (this: Ctx, ...arg: any[]) => any;
interface FunctionBind {
<F extends BindFunc<Ctx>, Ctx>(func: F, ctx: Ctx): Bind1<F, Ctx>;
<F extends BindFunc<Ctx>, Ctx, T1 extends Parameters<F>[0]>(func: F, ctx: Ctx, a: T1): Bind2<F, Ctx, T1>;
<F extends BindFunc<Ctx>, Ctx, T1 extends Parameters<F>[0], T2 extends Parameters<F>[1]>(func: F, ctx: Ctx, a: T1, b: T2): Bind3<F, Ctx, T1, T2>;
<F extends BindFunc<Ctx>, Ctx, T1 extends Parameters<F>[0], T2 extends Parameters<F>[1], T3 extends Parameters<F>[2]>(func: F, ctx: Ctx, a: T1, b: T2, c: T3): Bind4<F, Ctx, T1, T2, T3>;
<F extends BindFunc<Ctx>, Ctx, T1 extends Parameters<F>[0], T2 extends Parameters<F>[1], T3 extends Parameters<F>[2], T4 extends Parameters<F>[3]>(func: F, ctx: Ctx, a: T1, b: T2, c: T3, d: T4): Bind5<F, Ctx, T1, T2, T3, T4>;
}
declare const bind: FunctionBind;
declare type Curry1<F, T1> = F extends (a: T1, ...args: infer A) => infer R ? (...args: A) => R : unknown;
declare type Curry2<F, T1, T2> = F extends (a: T1, b: T2, ...args: infer A) => infer R ? (...args: A) => R : unknown;
declare type Curry3<F, T1, T2, T3> = F extends (a: T1, b: T2, c: T3, ...args: infer A) => infer R ? (...args: A) => R : unknown;
declare type Curry4<F, T1, T2, T3, T4> = F extends (a: T1, b: T2, c: T3, d: T4, ...args: infer A) => infer R ? (...args: A) => R : unknown;
declare type CurryFunc = (...arg: any[]) => any;
declare function curry<F extends CurryFunc, T1 extends Parameters<F>[0]>(func: F, a: T1): Curry1<F, T1>;
declare function curry<F extends CurryFunc, T1 extends Parameters<F>[0], T2 extends Parameters<F>[1]>(func: F, a: T1, b: T2): Curry2<F, T1, T2>;
declare function curry<F extends CurryFunc, T1 extends Parameters<F>[0], T2 extends Parameters<F>[1], T3 extends Parameters<F>[2]>(func: F, a: T1, b: T2, c: T3): Curry3<F, T1, T2, T3>;
declare function curry<F extends CurryFunc, T1 extends Parameters<F>[0], T2 extends Parameters<F>[1], T3 extends Parameters<F>[2], T4 extends Parameters<F>[3]>(func: F, a: T1, b: T2, c: T3, d: T4): Curry4<F, T1, T2, T3, T4>;
declare function isArray(value: any): value is any[];
declare function isFunction(value: any): value is Function;
declare function isString(value: any): value is string;
declare function isStringSafe(value: any): value is string;
declare function isNumber(value: any): value is number;
declare function isObject<T = unknown>(value: T): value is (object & T);
declare function isBuiltInObject(value: any): boolean;
declare function isTypedArray(value: any): boolean;
declare function isDom(value: any): value is HTMLElement;
declare function isGradientObject(value: any): value is GradientObject;
declare function isImagePatternObject(value: any): value is ImagePatternObject;
declare function isRegExp(value: unknown): value is RegExp;
declare function eqNaN(value: any): boolean;
declare function retrieve<T>(...args: T[]): T;
declare function retrieve2<T, R>(value0: T, value1: R): T | R;
declare function retrieve3<T, R, W>(value0: T, value1: R, value2: W): T | R | W;
declare type SliceParams = Parameters<typeof nativeSlice>;
declare function slice<T>(arr: ArrayLike$1<T>, ...args: SliceParams): T[];
declare function normalizeCssArray(val: number | number[]): number[];
declare function assert(condition: any, message?: string): void;
declare function trim(str: string): string;
declare function setAsPrimitive(obj: any): void;
declare function isPrimitive(obj: any): boolean;
declare class HashMap<T, KEY extends string | number = string | number> {
data: {
[key in KEY]: T;
};
constructor(obj?: HashMap<T, KEY> | {
[key in KEY]?: T;
} | KEY[]);
get(key: KEY): T;
set(key: KEY, value: T): T;
each<Context>(cb: (this: Context, value?: T, key?: KEY) => void, context?: Context): void;
keys(): KEY[];
removeKey(key: KEY): void;
}
declare function createHashMap<T, KEY extends string | number = string | number>(obj?: HashMap<T, KEY> | {
[key in KEY]?: T;
} | KEY[]): HashMap<T, KEY>;
declare function concatArray<T, R>(a: ArrayLike$1<T>, b: ArrayLike$1<R>): ArrayLike$1<T | R>;
declare function createObject<T>(proto?: object, properties?: T): T;
declare function hasOwn(own: object, prop: string): boolean;
declare function noop(): void;
declare const util_d_curry: typeof curry;
declare const util_d_$override: typeof $override;
declare const util_d_guid: typeof guid;
declare const util_d_logError: typeof logError;
declare const util_d_merge: typeof merge;
declare const util_d_mergeAll: typeof mergeAll;
declare const util_d_extend: typeof extend;
declare const util_d_defaults: typeof defaults;
declare const util_d_createCanvas: typeof createCanvas;
declare const util_d_indexOf: typeof indexOf;
declare const util_d_inherits: typeof inherits;
declare const util_d_mixin: typeof mixin;
declare const util_d_isArrayLike: typeof isArrayLike;
declare const util_d_each: typeof each;
declare const util_d_map: typeof map;
declare const util_d_reduce: typeof reduce;
declare const util_d_filter: typeof filter;
declare const util_d_find: typeof find;
declare const util_d_keys: typeof keys;
type util_d_Bind1<F, Ctx> = Bind1<F, Ctx>;
type util_d_Bind2<F, Ctx, T1> = Bind2<F, Ctx, T1>;
type util_d_Bind3<F, Ctx, T1, T2> = Bind3<F, Ctx, T1, T2>;
type util_d_Bind4<F, Ctx, T1, T2, T3> = Bind4<F, Ctx, T1, T2, T3>;
type util_d_Bind5<F, Ctx, T1, T2, T3, T4> = Bind5<F, Ctx, T1, T2, T3, T4>;
declare const util_d_bind: typeof bind;
type util_d_Curry1<F, T1> = Curry1<F, T1>;
type util_d_Curry2<F, T1, T2> = Curry2<F, T1, T2>;
type util_d_Curry3<F, T1, T2, T3> = Curry3<F, T1, T2, T3>;
type util_d_Curry4<F, T1, T2, T3, T4> = Curry4<F, T1, T2, T3, T4>;
declare const util_d_isArray: typeof isArray;
declare const util_d_isFunction: typeof isFunction;
declare const util_d_isString: typeof isString;
declare const util_d_isStringSafe: typeof isStringSafe;
declare const util_d_isNumber: typeof isNumber;
declare const util_d_isObject: typeof isObject;
declare const util_d_isBuiltInObject: typeof isBuiltInObject;
declare const util_d_isTypedArray: typeof isTypedArray;
declare const util_d_isDom: typeof isDom;
declare const util_d_isGradientObject: typeof isGradientObject;
declare const util_d_isImagePatternObject: typeof isImagePatternObject;
declare const util_d_isRegExp: typeof isRegExp;
declare const util_d_eqNaN: typeof eqNaN;
declare const util_d_retrieve: typeof retrieve;
declare const util_d_retrieve2: typeof retrieve2;
declare const util_d_retrieve3: typeof retrieve3;
declare const util_d_slice: typeof slice;
declare const util_d_normalizeCssArray: typeof normalizeCssArray;
declare const util_d_assert: typeof assert;
declare const util_d_trim: typeof trim;
declare const util_d_setAsPrimitive: typeof setAsPrimitive;
declare const util_d_isPrimitive: typeof isPrimitive;
type util_d_HashMap<T, KEY extends string | number = string | number> = HashMap<T, KEY>;
declare const util_d_HashMap: typeof HashMap;
declare const util_d_createHashMap: typeof createHashMap;
declare const util_d_concatArray: typeof concatArray;
declare const util_d_createObject: typeof createObject;
declare const util_d_hasOwn: typeof hasOwn;
declare const util_d_noop: typeof noop;
declare namespace util_d {
export {
util_d_curry as curry,
util_d_$override as $override,
util_d_guid as guid,
util_d_logError as logError,
clone$2 as clone,
util_d_merge as merge,
util_d_mergeAll as mergeAll,
util_d_extend as extend,
util_d_defaults as defaults,
util_d_createCanvas as createCanvas,
util_d_indexOf as indexOf,
util_d_inherits as inherits,
util_d_mixin as mixin,
util_d_isArrayLike as isArrayLike,
util_d_each as each,
util_d_map as map,
util_d_reduce as reduce,
util_d_filter as filter,
util_d_find as find,
util_d_keys as keys,
util_d_Bind1 as Bind1,
util_d_Bind2 as Bind2,
util_d_Bind3 as Bind3,
util_d_Bind4 as Bind4,
util_d_Bind5 as Bind5,
util_d_bind as bind,
util_d_Curry1 as Curry1,
util_d_Curry2 as Curry2,
util_d_Curry3 as Curry3,
util_d_Curry4 as Curry4,
util_d_isArray as isArray,
util_d_isFunction as isFunction,
util_d_isString as isString,
util_d_isStringSafe as isStringSafe,
util_d_isNumber as isNumber,
util_d_isObject as isObject,
util_d_isBuiltInObject as isBuiltInObject,
util_d_isTypedArray as isTypedArray,
util_d_isDom as isDom,
util_d_isGradientObject as isGradientObject,
util_d_isImagePatternObject as isImagePatternObject,
util_d_isRegExp as isRegExp,
util_d_eqNaN as eqNaN,
util_d_retrieve as retrieve,
util_d_retrieve2 as retrieve2,
util_d_retrieve3 as retrieve3,
util_d_slice as slice,
util_d_normalizeCssArray as normalizeCssArray,
util_d_assert as assert,
util_d_trim as trim,
util_d_setAsPrimitive as setAsPrimitive,
util_d_isPrimitive as isPrimitive,
util_d_HashMap as HashMap,
util_d_createHashMap as createHashMap,
util_d_concatArray as concatArray,
util_d_createObject as createObject,
util_d_hasOwn as hasOwn,
util_d_noop as noop,
};
}
declare class Transformable {
parent: Transformable;
x: number;
y: number;
scaleX: number;
scaleY: number;
skewX: number;
skewY: number;
rotation: number;
originX: number;
originY: number;
globalScaleRatio: number;
transform: MatrixArray;
invTransform: MatrixArray;
getLocalTransform(m?: MatrixArray): MatrixArray;
setPosition(arr: number[]): void;
setScale(arr: number[]): void;
setSkew(arr: number[]): void;
setOrigin(arr: number[]): void;
needLocalTransform(): boolean;
updateTransform(): void;
private _resolveGlobalScaleRatio;
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;
copyTransform(source: Transformable): void;
static getLocalTransform(target: Transformable, m?: MatrixArray): MatrixArray;
private static initDefaultProps;
}
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 EventCallbackSingleParam<EvtParam = any> = EvtParam extends any ? (params: EvtParam) => boolean | void : never;
declare type EventCallback<EvtParams = any[]> = EvtParams extends any[] ? (...args: EvtParams) => boolean | void : never;
declare type EventQuery = string | Object;
declare type CbThis<Ctx, Impl> = unknown extends Ctx ? Impl : Ctx;
declare type DefaultEventDefinition = Dictionary<EventCallback<any[]>>;
interface EventProcessor<EvtDef = DefaultEventDefinition> {
normalizeQuery?: (query: EventQuery) => EventQuery;
filter?: (eventType: keyof EvtDef, query: EventQuery) => boolean;
afterTrigger?: (eventType: keyof EvtDef) => void;
}
declare class Eventful<EvtDef extends DefaultEventDefinition = DefaultEventDefinition> {
private _$handlers;
protected _$eventProcessor: EventProcessor<EvtDef>;
constructor(eventProcessors?: EventProcessor<EvtDef>);
on<Ctx, EvtNm extends keyof EvtDef>(event: EvtNm, handler: WithThisType<EvtDef[EvtNm], CbThis<Ctx, this>>, context?: Ctx): this;
on<Ctx, EvtNm extends keyof EvtDef>(event: EvtNm, query: EventQuery, handler: WithThisType<EvtDef[EvtNm], CbThis<Ctx, this>>, context?: Ctx): this;
isSilent(eventName: keyof EvtDef): boolean;
off(eventType?: keyof EvtDef, handler?: Function): this;
trigger<EvtNm extends keyof EvtDef>(eventType: EvtNm, ...args: Parameters<EvtDef[EvtNm]>): this;
triggerWithContext(type: keyof EvtDef, ...args: any[]): 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 _doneCbs;
private _onframeCbs;
private _abortedCbs;
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 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 | ImagePatternObject;
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, ZRenderType>, context?: Ctx): this;
on<Ctx>(eventName: string, eventHandler: WithThisType<EventCallback<any[]>, unknown extends Ctx ? ZRenderType : Ctx>, context?: Ctx): this;
off(eventName?: string, eventHandler?: EventCallback): 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.2.1";
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 GroupProps extends ElementProps {
}
declare class Group extends Element<GroupProps> {
readonly isGroup = true;
private _children;
constructor(opts?: GroupProps);
childrenRef(): Element<ElementProps>[];
children(): Element<ElementProps>[];
childAt(idx: number): Element;
childOfName(name: string): Element;
childCount(): number;
add(child: Element): Group;
addBefore(child: Element, nextSibling: Element): this;
replace(oldChild: Element, newChild: Element): this;
replaceAt(child: Element, index: number): this;
_doAdd(child: Element): void;
remove(child: Element): this;
removeAll(): this;
eachChild<Context>(cb: (this: Context, el: Element, index?: number) => void, context?: Context): this;
traverse<T>(cb: (this: T, el: Element) => boolean | void, context?: T): this;
addSelfToZr(zr: ZRenderType): void;
removeSelfFromZr(zr: ZRenderType): void;
getBoundingRect(includeChildren?: Element[]): BoundingRect;
}
interface GroupLike extends Element {
childrenRef(): Element[];
}
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' | 'none';
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> implements GroupLike {
type: string;
style: TextStyleProps;
overlap: 'hidden' | 'show' | 'blur';
innerTransformable: Transformable;
private _children;
private _childCursor;
private _defaultStyle;
constructor(opts?: TextProps);
childrenRef(): (ZRImage | Rect | TSpan)[];
update(): void;
updateTransform(): void;
getLocalTransform(m?: MatrixArray): MatrixArray;
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;
};
declare type ElementCalculateTextPosition = (out: TextPositionCalculationResult, style: ElementTextConfig, rect: RectLike) => TextPositionCalculationResult;
interface Element<Props extends ElementProps = ElementProps> extends Transformable, Eventful<{
[key in ElementEventName]: (e: ElementEvent) => void | boolean;
} & {
[key in string]: (...args: any) => void | boolean;
}>, ElementEventHandlerProps {
}
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 | undefined;
protected getInsideTextStroke(textFill: string): string | undefined;
protected getOutsideFill(): string | undefined;
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, forceUseHoverLayer?: boolean): ElementSt