import { Control, Rect, RectProps } from 'fabric'; import { IClip, ITrim } from '../types'; interface IDisplay { from: number; to: number; } export interface TrimmableBaseProps extends Pick { id: string; tScale: number; display: IDisplay; trim: ITrim; } export type TrimmableProps = TrimmableBaseProps & T; declare class Trimmable extends Rect { static type: string; id: string; resourceId: string; tScale: number; isSelected: boolean; display: IDisplay; trim: ITrim; duration: number; src: string; isTrimmable: boolean; static createControls(): { controls: Record; }; static ownDefaults: { rx: number; ry: number; objectCaching: boolean; borderColor: string; stroke: string; strokeWidth: number; fill: string; borderOpacityWhenMoving: number; hoverCursor: string; }; constructor(options: TrimmableProps); sync(itemDetail: IClip, tScale: number): void; _render(ctx: CanvasRenderingContext2D): void; setSelected(selected: boolean): void; updateSelected(ctx: CanvasRenderingContext2D): void; onResizeSnap(): void; setSrc(src: string): void; } export default Trimmable;