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';
export declare function createSVGMatrix(): DOMMatrix;
export * from './common';
export declare class Canvas extends CanvasBase {
    _ready: boolean;
    private _2dContext;
    private _webglContext;
    private _webgl2Context;
    private _canvas;
    private _didPause;
    private _contextType;
    private _is2D;
    private _isBatch;
    constructor();
    get android(): any;
    get clientWidth(): any;
    get clientHeight(): any;
    _drawingBufferHeight: number;
    get drawingBufferHeight(): number;
    _drawingBufferWidth: number;
    get drawingBufferWidth(): number;
    get width(): any;
    set width(value: any);
    get height(): any;
    set height(value: any);
    static createCustomView(): Canvas;
    createNativeView(): any;
    initNativeView(): void;
    onUnloaded(): void;
    onLoaded(): void;
    disposeNativeView(): void;
    toDataURL(type?: string, encoderOptions?: number): any;
    snapshot(flip?: boolean): ImageSource | null;
    _layoutNative(): void;
    get __native__context(): any;
    get native(): any;
    _didLayout: boolean;
    getContext(type: string, options?: any): CanvasRenderingContext2D | WebGLRenderingContext | WebGL2RenderingContext | 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;
}
