import { fabric } from 'fabric'; declare const _default: (instance?: typeof fabric) => void; export default _default; declare module 'fabric' { namespace fabric { let events: { [key: string]: (object: T, event: CustomEvent, e: IEvent) => void; }; interface Object { __eventListeners?: { [key: string]: ((event: IEvent) => void)[]; }; events: CustomEvent[]; __setEventsProxy(): void; __eventsProxySetHandler(callbacks: any[], events: CustomEvent[], index: number, event: CustomEvent, receiver: any): boolean; __registerEvent(callbacks: any[], index: number, event: CustomEvent): void; __eventsProxyDeleteHandler(callbacks: any[], events: CustomEvent[], index: number): boolean; __unregisterEvent(callbacks: any[], event: CustomEvent, index: number): void; } interface CustomEvent { name?: string; trigger: 'mousedown' | 'mouseup' | 'mouseover' | 'dblclick' | 'tripleclick' | string; data?: any; } interface IUtil { registerEvent(name: string, callback: (object: T, event: CustomEvent, e: IEvent) => void): void; } } }