export declare class CanvasDrawer { private canvas; private ctx; private isDrawing; private shape; constructor(canvas: HTMLCanvasElement); private addListener; drawLine(x1: number, y1: number, x2: number, y2: number): void; drawRect(x: number, y: number, width: number, height: number, color?: string): void; drawCircle(x: number, y: number, radius: number, color?: string): void; drawEllipse(x: number, y: number, radius: number, color?: string): void; clearCanvas(): void; setProperties(color: string, lineWidth: number): void; drawText(text: string, x: number, y: number, color?: string, fontSize?: number): void; drawImage(image: CanvasImageSource, x: number, y: number, width?: number, height?: number): void; drawPoint(x: number, y: number, size: number, color?: string): void; drawSector(x: number, y: number, radius: number, startAngle: number, endAngle: number, color?: string): void; drawRoundedRect(x: number, y: number, width: number, height: number, radius: number, color?: string): void; drawTriangle(x1: number, y1: number, x2: number, y2: number, x3: number, y3: number, color?: string): void; drawPolygon(points: Array<{ x: number; y: number; }>, color?: string): void; drawSign(x: number, y: number, text: string, textColor: string, bgColor: string, size: number, icon?: string): void; drawSignWithArrow(x: number, y: number, text: string, textColor: string, bgColor: string, fontSize: number, icon?: string, arrowDirection?: 'up' | 'down' | 'left' | 'right'): void; drawSignWithArrow2(sourcePointX: number, sourcePointY: number, text: string, fontSize: number, textColor: string, bgColor: string, position?: 'leftTop' | 'top' | 'rightTop' | 'rightBottom' | 'bottom' | 'leftBottom', icon?: string): void; private drawArrow; private drawArrowHead; private autoDetectArrowDirection; drawPointerToSign(srcX: number, srcY: number, signX: number, signY: number, signWidth: number, signHeight: number, color?: string, pointerLength?: number): void; private drawPointerArrowHead; private signs; addSign(sign: { id: string; x: number; y: number; text: string; textColor: string; bgColor: string; size: number; icon?: string; }): void; moveSign(id: string, offsetX: number, offsetY: number): void; scaleSign(id: string, scale: number): void; rotateSign(id: string, angle: number): void; deleteSign(id: string): void; editSignText(id: string, newText: string): void; changeSignStyle(id: string, textColor: string, bgColor: string): void; private redrawSign; private redrawAllSigns; }