import { fabric } from 'fabric'; declare const _default: (instance?: typeof fabric) => void; export default _default; declare module 'fabric' { namespace fabric { let animations: { [key: string]: (object: T, animation: CustomAnimation) => CustomAnimation; }; interface Object { __isAnimated: boolean; animations: CustomAnimation[]; __beforeAnimation?: Partial; __setAnimationsProxy(): void; __animationsProxySetHandler(callbacks: any[], animations: CustomAnimation[], index: number, animation: CustomAnimation, receiver: any): boolean; __animationsProxyDeleteHandler(callbacks: any[], animations: CustomAnimation[], index: number): boolean; __registerAnimation(callbacks: any[], animation: CustomAnimation, index: number): void; __unregisterAnimation(callbacks: any[], animation: CustomAnimation, index: number): void; __animate(animation: CustomAnimation): void; } interface CustomAnimation { name?: string; trigger?: 'mousedown' | 'mouseup' | 'mouseover' | 'dblclick' | 'tripleclick' | string; data?: any; from?: Partial; to?: Partial; delay?: number; duration?: number; times?: number; reverse?: boolean; preserve?: boolean; easing?: keyof IUtil['ease']; originX?: Object['originX']; originY?: Object['originY']; } interface IAnimationOptions { abort?(): boolean; } interface AnimationCtx { (): void; iteration: number; abort: boolean; from: Partial; to: Partial; object: T; } interface IUtil { registerAnimation(name: string, callback: (object: T, animation: CustomAnimation) => CustomAnimation): void; } } }