import { Canvas, Rect, RectF } from './canvas'; import { Property } from '@nativescript/core/ui/core/properties'; import { View } from '@nativescript/core/ui/core/view'; import { ObservableArray } from '@nativescript/core/data/observable-array'; import Shape from './shapes/shape'; declare module '@nativescript/core/ui/core/view' { interface View { _raiseLayoutChangedEvent(): any; _onSizeChanged(): any; } } export declare function createRect(x: number, y: number, w: number, h: number): Rect; export declare function createRectF(x: number, y: number, w: number, h: number): RectF; export declare const cachedProperty: Property; export declare const hardwareAcceleratedProperty: Property; export declare const densityProperty: Property; export declare const DEFAULT_SCALE: number; export declare abstract class CanvasBase extends View { protected _shapes: ObservableArray; get shapes(): ObservableArray; cached: boolean; density: number; hardwareAccelerated: boolean; drawFameRate: boolean; getOrCreateShapes(): ObservableArray; requestDrawShapes(): void; requestDrawShapesThrottled: (...args: any[]) => void; _onShapesContentsChanged(): void; toString(): string; addShape(shape: Shape): void; removeShape(shape: Shape): void; _addArrayFromBuilder(name: string, value: any[]): void; _addChildFromBuilder(name: string, value: any): void; _removeView(view: any): void; private onShapesCollectionChanged; onSizeChanged(w: number, h: number, oldw: number, oldh: number): void; onShapePropertyChange(): void; private addPropertyChangeHandler; private removePropertyChangeHandler; shapesCanvas: Canvas; drawShapes(): void; invalidate(): void; abstract redraw(): any; protected abstract onDraw(canvas: Canvas): any; }