import { RENDERINFO } from '../types/index';
/**
 * @func 绘制马赛克、设计与其他图形不同:马赛克改变的是底图像素点颜色配置
 * @desc
 * @param {}
 * @return {}
 */
declare class drawMosaic {
    record: Map<string, any>;
    baseImageCtx: CanvasRenderingContext2D | null;
    constructor();
    /**
     * @func 绘制马赛克
     * @desc 绘制的马赛克
     * @param {}
     * @return {}
     */
    draw(canvas: HTMLCanvasElement, image: HTMLCanvasElement | HTMLImageElement, drawList?: Array<RENDERINFO>): void;
    /**
     * 为一个位置添加马赛克
     *    实现思路：
     *      1. 获取鼠标划过路径区域的图像信息
     *      2. 将区域内的像素点绘制成周围相近的颜色
     * @param imageCtx 底图上下文
     * @param ctx 绘制执行上下文
     * @param x 当前鼠标X轴坐标
     * @param y 当前鼠标Y轴坐标
     * @param size 马赛克画笔大小
     */
    addMosaic(imageCtx: CanvasRenderingContext2D, ctx: CanvasRenderingContext2D, x: number, y: number, size: number): void;
    /**
     * @func 获取底图执行上下文,用于获取底图imageData
     * @desc
     * @param {}
     * @return {}
     */
    getImageCtx(image: HTMLCanvasElement | HTMLImageElement, width: number, height: number): CanvasRenderingContext2D;
    /**
     * 获取区域平均色
     * @param imgData 需要进行操作的图片
     * @param size 区域大小
     */
    private getAverageColor;
    /**
     * 设置图像指定坐标位置的颜色
     * @param imgData 需要进行操作的图片
     * @param x x点坐标
     * @param y y点坐标
     * @param colors 颜色数组
     */
    setAxisColor(imgData: ImageData, x: number, y: number, colors: Array<number>): void;
}
declare const _default: drawMosaic;
export default _default;
