declare const _default: (instance?: typeof import("fabric/fabric-impl")) => void; export default _default; declare module 'fabric' { namespace fabric { interface Object { __corner: string | undefined; controls: { [key: string]: Control; }; } interface IUtil { isTouchEvent(event: Event): boolean; getPointer(event: Event, a?: any): Point; } interface Polyline { _editingMode: boolean; toleranceFromLine: number; registerEditingEvents(): void; enterEditingMode(): void; exitEditingMode(): void; addPoint(point: Point, index: number): void; removePoint(event: IEvent): void; hasBordersEditing: Object['hasBorders']; cornerStyleEditing: Object['cornerStyle']; cornerColorEditing: Object['cornerColor']; __defaultFireClicks: { right: Canvas['fireRightClick']; middle: Canvas['fireMiddleClick']; contextMenu: Canvas['stopContextMenu']; }; __defaultControlOptions: { controls: Object['controls']; hasBorders: Object['hasBorders']; cornerStyle: Object['cornerStyle']; cornerColor: Object['cornerColor']; }; _setPositionDimensions(options: any): void; __createEditingControl(point: Point): Control; __editingControls(): { [key: string]: Control; }; __editingTransformPoint(point: Point): Point; __editingControlPositionHandler(point: Point): ReturnType>; __editingActionHandler(point: Point, eventData: MouseEvent, transform: any, x: number, y: number): ReturnType>; __editingPositionAfter(index: number): void; __findCLosestPointIndex(point: Point, tolerance?: number): number | undefined; setPositionByOrigin(point: Point, originX: string | number, originY: string | number): void; controls: { [key: string]: Control; }; } class Control { constructor(options: IControlOptions); visible: boolean; actionName: string; angle: number; x: number; y: number; offsetX: number; offsetY: number; cursorStyle: string; withConnection: boolean; actionHandler: (event: MouseEvent, transformData: any, x: number, y: number) => boolean; mouseDownHandler: (event: MouseEvent, transformData: any, object: Object) => any; mouseUpHandler: (event: MouseEvent, transformData: any, object: Object) => any; } interface IControlOptions extends Partial { getActionHandler?: (event: MouseEvent, transformData: any) => Function; getMouseDownHandler?: (event: MouseEvent, transformData: any, object: Object) => Function | undefined; getMouseUpHandler?: (event: MouseEvent, transformData: any, object: Object) => Function | undefined; cursorStyleHandler?: (event: MouseEvent, transformData: any, object: Object) => string; getActionName?: (event: MouseEvent, transformData: any, object: Object) => string; getVisibility?: (event: MouseEvent, transformData: any, object: Object) => boolean; setVisibility?: (visibility: boolean) => void; positionHandler?: (dimenions: any, matrix: any, object: Object, control: Control) => Point; render?: (ctx: CanvasRenderingContext2D, left: number, top: number, style: IObjectOptions, object: Object) => void; } } }