import { Procedure, Terminable } from "@opendaw/lib-std";
import { Scale } from "./scale";
export declare class CanvasPainter implements Terminable {
    #private;
    constructor(canvas: HTMLCanvasElement, render: Procedure<CanvasPainter>);
    readonly requestUpdate: () => void;
    get isResized(): boolean;
    get devicePixelRatio(): number;
    get width(): number;
    get height(): number;
    get actualWidth(): number;
    get actualHeight(): number;
    get context(): CanvasRenderingContext2D;
    terminate(): void;
}
export declare class CanvasUnitPainter implements Terminable {
    #private;
    constructor(canvas: HTMLCanvasElement, xAxis: Scale, yAxis: Scale, render: Procedure<CanvasUnitPainter>);
    readonly requestUpdate: () => void;
    xToUnit(x: number): number;
    unitToX(value: number): number;
    yToUnit(y: number): number;
    unitToY(value: number): number;
    get context(): CanvasRenderingContext2D;
    get isResized(): boolean;
    get width(): number;
    get height(): number;
    get actualWidth(): number;
    get actualHeight(): number;
    terminate(): void;
}
//# sourceMappingURL=painter.d.ts.map