/// import { LightFlowPathProps } from '../type'; import { IColorObj } from '../../common/util/ColorUtil'; import { Tween } from '@tweenjs/tween.js'; type SvgObj = { html: string; svgNode: SVGSVGElement; }; type Point = { x: number; y: number; }; interface MLightFlowPathProps { wrapper: HTMLDivElement; refPathCtx: CanvasRenderingContext2D; refFlowPathCtx: CanvasRenderingContext2D; lightPathProps: LightFlowPathProps; } export default class LightFlowPath { flowPathConfig: MLightFlowPathProps; svgObj?: SvgObj; points: Point[]; flowPath: flowPath | null; renderFlowTimer: NodeJS.Timeout | null; constructor(comProps: MLightFlowPathProps); init(sizeChange?: boolean): Promise; update(lightPathProps: LightFlowPathProps): Promise; drawPath(): void; clearPath(): void; renderFlowPath(): void; getSvgPoint(): false | undefined; machinPoints(): false | undefined; setSvgObj(): Promise; destory(): void; } declare class flowPath { ctx: CanvasRenderingContext2D; points: Point[]; pathLength: number; config: LightFlowPathProps; length: number; speed: number; colorLerp?: ColorRange; delayTimer?: NodeJS.Timeout; offset: { value: number; }; tweenInstance: Tween<{ value: number; }> | null; animateId?: number; constructor(ctx: CanvasRenderingContext2D, points: Point[], config: LightFlowPathProps); init(): void; start(): void; cancelTweenAnimate(): void; animate(): void; render(): void; clear(): void; getColorRange(): void; destroy(): void; } declare class ColorRange { color: any; length: number; range: any; constructor(color: any, length: number); getRange(): void; get(i: number): any; getCurColor(start: any, inc: any): IColorObj; getIncrement(diff: any, val: any): IColorObj; getDiff(startColor: IColorObj, endColor: IColorObj): IColorObj; } export {};