import { DottingData, PanZoom } from "./types";
export declare abstract class BaseLayer {
    protected ctx: CanvasRenderingContext2D;
    protected element: HTMLCanvasElement;
    protected clonedElement: HTMLCanvasElement;
    protected dpr: number;
    protected panZoom: PanZoom;
    protected width: number;
    protected height: number;
    protected criterionDataForRendering: DottingData | null;
    protected rowKeyOrderMap: Map<number, number>;
    protected columnKeyOrderMap: Map<number, number>;
    protected topRowIndex: number;
    protected leftColumnIndex: number;
    constructor({ canvas }: {
        canvas: HTMLCanvasElement;
    });
    getContext(): CanvasRenderingContext2D;
    getElement(): HTMLCanvasElement;
    getRowKeyOrderMap(): Map<number, number>;
    getColumnKeyOrderMap(): Map<number, number>;
    setPanZoom(panZoom: PanZoom): void;
    setCriterionDataForRendering(criterionDataForRendering: DottingData): void;
    scale(x: number, y: number): void;
    setWidth(width: number, devicePixelRatio?: number): void;
    setHeight(height: number, devicePixelRatio?: number): void;
    setDpr(dpr: number): void;
    getWidth(): number;
    getHeight(): number;
    setSize(width: number, height: number, devicePixelRatio?: number): void;
    setTopRowIndex(topRowIndex: number): void;
    setLeftColumnIndex(leftColumnIndex: number): void;
    getTopRowIndex(): number;
    getLeftColumnIndex(): number;
    abstract render(): void;
}
