import { fabric } from 'fabric'; export declare enum ControlPositions { TOP_LEFT = "tl", TOP = "t", TOP_RIGHT = "tr", RIGHT = "r", BOTTOM_RIGHT = "br", BOTTOM = "b", BOTTOM_LEFT = "bl", LEFT = "l" } export declare class StaticImageObject extends fabric.Image { static type: string; _editingMode: boolean; __editingImage: any; cornerLengthEditing: number; /** * Color of the corner stroke in editing mode. */ cornerStrokeColorEditing: string; /** * Size of the corner stroke in editing mode. */ cornerSizeEditing: number; registerEditingEvents(this: fabric.Image): void; enterEditingMode(this: fabric.Image): void; exitEditingMode(this: fabric.Image): void; __editingControls(this: fabric.Image): unknown[]; __createEditingControl(this: fabric.Image, position: ControlPositions): fabric.Control; __editingActionHandlerWrapper(this: fabric.Image, position: ControlPositions): (_event: MouseEvent, _transform: any, x: number, y: number) => boolean; __editingOnMoving(this: fabric.Image, event: fabric.IEvent): void; __editingSetCrop(this: fabric.Image, position: ControlPositions, x: number, y: number, resize?: boolean): void; __editingControlPositionHandler(this: fabric.Image, position: ControlPositions): fabric.Point; __renderEditingControl(this: fabric.Image, position: ControlPositions, ctx: CanvasRenderingContext2D, left: number, top: number): void; initialize(element: any, options: any): this; static fromObject(options: any, callback: Function): void; toObject(propertiesToInclude?: any[]): any; toJSON(propertiesToInclude?: any[]): any; } export interface StaticImageOptions extends fabric.IImageOptions { id: string; name?: string; description?: string; subtype: string; src: string; } declare module 'fabric' { namespace fabric { class StaticImage extends StaticImageObject { registerEditingEvents: () => void; constructor(element: any, options: any); } interface IUtil { isTouchEvent(event: Event): boolean; getPointer(event: Event, a?: any): Point; } interface Image { enterEditingMode(): void; exitEditingMode(): void; _editingMode: boolean; __editingImage: Image | null; __editingOnMoving: (event: IEvent) => void; cornerLengthEditing: number; cornerSizeEditing: number; cornerStrokeColorEditing: string; __editingControls(): { [key: string]: Control; }; __editingControlPositionHandler(position: ControlPositions): Point; __editingSetCrop(position: ControlPositions, x: number, y: number, resize?: boolean): void; __createEditingControl(position: ControlPositions): Control; __editingActionHandlerWrapper(position: ControlPositions): Control['actionHandler']; } } }