import { CanvasBase } from './common';
import { DOMMatrix } from '../Canvas2D';
import { CanvasRenderingContext2D } from '../Canvas2D/CanvasRenderingContext2D';
import { WebGLRenderingContext } from '../WebGL/WebGLRenderingContext';
import { WebGL2RenderingContext } from '../WebGL2/WebGL2RenderingContext';
import { ImageSource } from '@nativescript/core';
import { GPUCanvasContext } from '../WebGPU';
export declare function createSVGMatrix(): DOMMatrix;
export * from './common';
export declare class Canvas extends CanvasBase {
    _ready: boolean;
    private _2dContext;
    private _webglContext;
    private _webgl2Context;
    private _gpuContext;
    private _canvas;
    private _didPause;
    private _contextType;
    private _is2D;
    private _isBatch;
    static useSurface: boolean;
    constructor(nativeInstance?: any);
    get android(): any;
    get clientWidth(): number;
    get clientHeight(): number;
    get drawingBufferHeight(): any;
    get drawingBufferWidth(): any;
    get width(): number;
    set width(value: number);
    get height(): number;
    set height(value: number);
    static createCustomView(): Canvas;
    createNativeView(): any;
    initNativeView(): void;
    disposeNativeView(): void;
    toDataURL(type?: string, encoderOptions?: number): any;
    snapshot(flip?: boolean): ImageSource | null;
    get __native__context(): any;
    get native(): any;
    getContext(type: string, contextAttributes?: any): CanvasRenderingContext2D | WebGLRenderingContext | WebGL2RenderingContext | GPUCanvasContext | null;
    private _jsBuffer;
    private get _boundingClientRect();
    getBoundingClientRect(): {
        x: number;
        y: number;
        width: number;
        height: number;
        top: number;
        right: number;
        bottom: number;
        left: number;
    };
    setPointerCapture(): void;
    releasePointerCapture(): void;
}
