import { Color } from '@nativescript/core/color'; import { Observable } from '@nativescript/core/data/observable'; import { Canvas, CanvasView, Cap, Join, Paint, Style } from '../canvas'; export interface ShapePropertyOptions { converter?: Function; paintGetterName?: string; paintSetterName?: string; nonPaintProp?: boolean; paintSetter?: (paint: Paint, value: any) => void; } export declare function shapeProperty(converter: any, args: any): void | ((target: any, key?: string, descriptor?: PropertyDescriptor) => void); export declare function stringProperty(target: any, k?: any, desc?: PropertyDescriptor): any; export declare function stringProperty(options: ShapePropertyOptions): (target: any, k?: any, desc?: PropertyDescriptor) => any; export declare function colorProperty(target: any, k?: any, desc?: PropertyDescriptor): any; export declare function colorProperty(options: ShapePropertyOptions): (target: any, k?: any, desc?: PropertyDescriptor) => any; export declare function lengthProperty(target: any, k?: any, desc?: PropertyDescriptor): any; export declare function lengthProperty(options: ShapePropertyOptions): (target: any, k?: any, desc?: PropertyDescriptor) => any; export declare function percentLengthProperty(target: any, k?: any, desc?: PropertyDescriptor): any; export declare function percentLengthProperty(options: ShapePropertyOptions): (target: any, k?: any, desc?: PropertyDescriptor) => any; export declare function numberProperty(target: any, k?: any, desc?: PropertyDescriptor): any; export declare function numberProperty(options: ShapePropertyOptions): (target: any, k?: any, desc?: PropertyDescriptor) => any; export declare function booleanProperty(target: any, k?: any, desc?: PropertyDescriptor): any; export declare function booleanProperty(options: ShapePropertyOptions): (target: any, k?: any, desc?: PropertyDescriptor) => any; export interface Shadow { dx: number; dy: number; radius: number; color: Color; } export default abstract class Shape extends Observable { _paint: Paint; _parent: WeakRef; get paint(): Paint; log(...args: any[]): void; id: string; toString(): string; fillColor: Color; strokeColor: Color; color: Color; strokeWidth: number; dash: string; paintStyle: Style; strokeCap: Cap; strokeJoin: Join; textSize: number; fontSize: number; antiAlias: boolean; shadow: Shadow; abstract drawOnCanvas(canvas: Canvas, parent: CanvasView): void; drawMyShapeOnCanvas(canvas: Canvas, parent: CanvasView): void; }