import type { CanvasConfigType, ICanvas, IContext2d, EnvType } from '../../interface';
export declare abstract class BaseCanvas implements ICanvas {
    static env: EnvType;
    protected _displayWidth: number;
    protected _displayHeight: number;
    protected _id: number | string;
    protected _pixelWidth: number;
    protected _pixelHeight: number;
    protected _x: number;
    protected _y: number;
    protected _dpr: number;
    protected _container?: HTMLElement | null;
    protected _nativeCanvas: HTMLCanvasElement;
    protected _context: IContext2d;
    protected _visiable: boolean;
    protected controled: boolean;
    get displayWidth(): number;
    get displayHeight(): number;
    get id(): number | string;
    get x(): number;
    set x(_x: number);
    get y(): number;
    set y(_y: number);
    get nativeCanvas(): HTMLCanvasElement;
    set nativeCanvas(nativeCanvas: HTMLCanvasElement);
    get width(): number;
    set width(width: number);
    get height(): number;
    set height(height: number);
    getContext(str?: string): IContext2d;
    get visiable(): boolean;
    set visiable(visiable: boolean);
    get dpr(): number;
    set dpr(dpr: number);
    constructor(params: CanvasConfigType);
    getNativeCanvas(): HTMLCanvasElement;
    hide(): void;
    show(): void;
    abstract init(params: CanvasConfigType): void;
    applyPosition(): void;
    resetStyle(params: Partial<CanvasConfigType>): void;
    resize(width: number, height: number): void;
    toDataURL(): string;
    toDataURL(mimeType: 'image/png'): string;
    toDataURL(mimeType: 'image/jpeg', quality: number): string;
    readPixels(x: number, y: number, w: number, h: number): ImageData | Promise<ImageData>;
    convertToBlob(options?: {
        type?: string | undefined;
        quality?: number | undefined;
    } | undefined): Promise<Blob>;
    transferToImageBitmap(): ImageBitmap;
    release(...params: any): void;
}
