interface Obj { [key: string]: any; } interface Options { shapesPool?: string[]; colorPool?: string[]; shapeCount?: number; interval?: number; step?: number; minSize?: number; maxSize?: number; } declare class CanvasShapesBg { observer: ResizeObserver | null; dom: HTMLCanvasElement; ctx: CanvasRenderingContext2D; timerHandle: any; intervalHandle: any; shapesPool: string[]; shapes: any[]; actionCount: number; width: number; height: number; shapeCount: number; interval: number; step: number; minSize: number; maxSize: number; colorRed: string; colorPool: string[]; constructor(_element: HTMLCanvasElement | undefined | Options, _options: Options | undefined); createElement(): HTMLCanvasElement; debounce any>(func: T, delay: number): (...args: Parameters) => void; handleCanvasDimensionChange(entries: Obj[]): void; watch(): void; destroy(): void; start(count?: number): void; animate(): void; stop(): void; clearShapes(): void; loop(): void; renderShapes(): void; buildPosArrayFromText(_text: string, _options?: Obj): Obj[]; moveTo(_targetArr: Obj[], _options?: Obj): void; move(): void; capitalizeString(str: string): string; getRandomColor(): string; buildShapes(_count: number, typesPool?: string[]): void; buildShape(type: string): any; popShape(count: number): void; pushShape(obj: Obj, typesPool?: string[]): void; drawBubble(pos: Obj): void; drawBalloon(pos: Obj): void; drawLight(pos: Obj): void; drawHeart(pos: Obj): void; drawStar(pos: Obj): void; buildShapeBubble(color?: string): Obj; buildShapeBalloon(color?: string): Obj; buildShapeLight(color?: string): Obj; buildShapeHeart(color?: string): Obj; buildShapeStar(color?: string): Obj; } export default CanvasShapesBg;